[SERVER-963] Separate os packages into multiple packages Created: 05/Apr/10  Updated: 26/Oct/15  Resolved: 13/Oct/13

Status: Closed
Project: Core Server
Component/s: Build, Packaging
Affects Version/s: None
Fix Version/s: 2.5.3

Type: New Feature Priority: Major - P3
Reporter: Evan Wies Assignee: Ernie Hershey
Resolution: Done Votes: 12
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian, Ubuntu, Redhat, CentOS, Fedora, Amazon Linux


Issue Links:
Duplicate
is duplicated by SERVER-4747 Break out mongo-server and mongo-clie... Closed
Related
related to SERVER-3748 Add init scripts for mongos and confi... Closed
related to SERVER-4100 Please provide Windows mongodb client... Closed
is related to DOCS-2745 Update docs to reference new split pa... Closed
Backwards Compatibility: Minor Change
Participants:

 Description   

The Linux packages should be split into multiple packages rather than one monolithic package. Other databases in Debian follow this model.

For example:
mongodb-server (mongod, mongos, etc.)
libmongodb (libraries)
mongodb-dev (headers)
mongodb-tools (mongo, mongoimport)

Use case: A site wants to have a fleet of mongo machines without servers installed, only client libraries and tools. Installing the existing package necessitates the server installation and its burdens (mongodb user, storage path, etc.)



 Comments   
Comment by auto [ 12/Oct/13 ]

Author:

{u'username': u'ehershey', u'name': u'Ernie Hershey', u'email': u'ernie.hershey@10gen.com'}

Message: SERVER-963 split enterprise package rpm spec file
Branch: master
https://github.com/mongodb/mongo/commit/2b413fa86b435986771e50a6c0de48a127422f30

Comment by auto [ 12/Oct/13 ]

Author:

{u'username': u'ehershey', u'name': u'Ernie Hershey', u'email': u'ernie.hershey@10gen.com'}

Message: SERVER-963 Separate enterprise and community debian rules and control files
Branch: master
https://github.com/mongodb/mongo/commit/31713e0af43e23ba6a46f44684d41877bebf0fde

Comment by auto [ 12/Oct/13 ]

Author:

{u'username': u'ehershey', u'name': u'Ernie Hershey', u'email': u'ernie.hershey@10gen.com'}

Message: SERVER-963 Externalize enterprise packaging spec files
Branch: master
https://github.com/mongodb/mongo/commit/b57a0b403ef86071c2d8d8e8c32f54abb8907a75

Comment by auto [ 17/Sep/13 ]

Author:

{u'username': u'ehershey', u'name': u'Ernie Hershey', u'email': u'ernie.hershey@10gen.com'}

Message: SERVER-963 move debian postinst file to server package
Branch: master
https://github.com/mongodb/mongo/commit/f0e336263bd18c0b1ba64c842509efe1e4e9d1f6

Comment by auto [ 26/Jul/13 ]

Author:

{u'username': u'ehershey', u'name': u'Ernie Hershey', u'email': u'ernie.hershey@10gen.com'}

Message: SERVER-963 Split and externalize Linux packages

This includes splitting rpm and .deb packages into sub-packages and
externalizing the spec and control files to be maintained as static
files.
Branch: master
https://github.com/mongodb/mongo/commit/51a46c5f9a42dc68ca5a05c7771440f509b7a742

Comment by Martin Lazarov [ 21/May/12 ]

I think this can be helpful for any who uses centos (it's made for v6.2):

https://github.com/mlazarov/centos-spec/blob/master/SPECS/mongodb.spec

This .spec file makes four packages:
mongodb
mongodb-config
mongodb-router
mongodb-shard

Also mongodb.spec makes needed init.d and config scripts.

Comment by Scott Hernandez (Inactive) [ 09/Sep/10 ]

Once mongos works as a general proxy (for a remote mongod, or replicaset) it can be deployed as part of the client connectivity. For things that don't have support for connection pooling (cgi, node.js, etc.), dumb drivers which aren't so aware of master/non-master nodes, or to delegate slave-ok queries to non-masters it would be handy to have on the client, without requiring mongod (or the mongodb startup scripts which come with the server package).

Comment by Eliot Horowitz (Inactive) [ 09/Sep/10 ]

I think a separate package for mongos might be ok, though I'm not sure why it wouldn't be ok in the server package?

Comment by Scott Hernandez (Inactive) [ 09/Sep/10 ]

Can we put mongos into both the server and clients packages?

Maybe it is better as a sep. package (that the server package depends on, but not the clients).

Comment by Evan Wies [ 11/May/10 ]

And the packages are:

mongodb-server (the server)
mongodb-clients (client tools like mongo and mongodump)
mondodb-dev (headers and libs)
mongodb (installs all)

Comment by Evan Wies [ 11/May/10 ]

The package has passed Debian's NEW queue and should be on Debian sid tomorrow.

The Debian mongodb repo is here:
http://github.com/bobek/mongo-debian

Comment by Evan Wies [ 08/May/10 ]

That is definitely the intention. I think we're gonna do that once it makes it through the first phases of the Debian process. I'll make a fork on github... probably all will be ready by the end of weekend.

Comment by Eliot Horowitz (Inactive) [ 08/May/10 ]

Is is possible to push the changes back into our repo so we can start doing that everywhere?

Comment by Evan Wies [ 08/May/10 ]

There has been some progress on this ticket. Roberto split out the packages, Antonin reviewed and submitted the packages to Debian.

http://ftp-master.debian.org/new/mongodb_1:1.4.2-2.html

Comment by Eliot Horowitz (Inactive) [ 09/Apr/10 ]

That would be great. Would love to be able to get versions pushed up sooner.

Comment by Evan Wies [ 09/Apr/10 ]

We use Ubuntu. However, when we do packaging work we do it at the Debian level so that all the derivatives get the love. It's like an open-source group hug

We are already working on it and will update you (probably with patches) in a week or two. We are also asking the existing Debian maintainer if he'd mind a co-maintainer.

Comment by Eliot Horowitz (Inactive) [ 09/Apr/10 ]

Are you using debian or ubuntu, or?
We definitely could use packaging help

Comment by Eliot Horowitz (Inactive) [ 05/Apr/10 ]

I think this change makes sense. If you can help would make it happen much faster.

Comment by Evan Wies [ 05/Apr/10 ]

We maintain and sponsor many Debian packages. If you are on-board with this, we can help implement this change.

Generated at Thu Feb 08 02:55:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.