Source: mongodb Severity: wishlist Version: 3.4.7-1 Tags: patch User: [email protected] Usertags: origin-ubuntu bionic ubuntu-patch
Hi, I've uploaded the following patch to Ubuntu. This provides a mongodb-server-core package that ships the binaries only, and mongodb-server now depends on that instead of shipping the packages instead. This allows a different type of consumption by dependent packages and users: to use the binaries directly without packaging-managed configuration in /var/lib/mongodb and the related service. This is useful because a consuming dependent app (whether in the archive or not) can make use of mongodb in its own private space in /var/lib (or /var/local etc. when not in the archive) without interfering with anything else on the system or what the user is doing with mongodb directly. In Ubuntu, I did this to facilitate a request from Juju, which is not packaged in Debian. I'm not aware of a use case for Debian that is needed right now. Further, Juju upstream intends to change how it uses mongodb in the future, so it is likely that we will drop the patch in Ubuntu within a release or two. However, this use case is provided for in MySQL and MariaDB packaging already using the same pattern, so I thought I'd present it to you in case you find it useful to maintain in the future. Feel free to wontfix this if you don't want it. Since we don't intend to maintain this long term in Ubuntu, it makes little odds to me either way. Thank you for your consideration. Here's what I just uploaded to Ubuntu, which I think should apply to Debian equally: diff --git a/debian/changelog b/debian/changelog index b8be094..d1f3258 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +mongodb (1:3.4.7-1ubuntu3) bionic; urgency=medium + + * Break out mongodb-server-core to provide binaries only as a separate + package (LP: #1756432). This allows users (such as Juju) to use the mongodb + binaries only for use in non-system-wide databases without conflict with + what a user on the same system may be doing. This follows the same pattern + already established with MySQL and MariaDB packaging. + + -- Robie Basak <[email protected]> Tue, 13 Feb 2018 11:35:01 +0000 + mongodb (1:3.4.7-1ubuntu2) bionic; urgency=high * No change rebuild against openssl1.1. diff --git a/debian/control b/debian/control index f112ae2..12f9d01 100644 --- a/debian/control +++ b/debian/control @@ -59,6 +59,31 @@ Description: object/document-oriented database (metapackage) the server, the clients and the development files (headers and library). Package: mongodb-server +Architecture: all +Depends: + mongodb-server-core, + ${misc:Depends} +Description: object/document-oriented database (server management package) + MongoDB is a high-performance, open source, schema-free + document-oriented data store that's easy to deploy, manage + and use. It's network accessible, written in C++ and offers + the following features: + . + * Collection oriented storage - easy storage of object-style data + * Full index support, including on inner objects + * Query profiling + * Replication and fail-over support + * Efficient storage of binary data including large objects (e.g. videos) + * Auto-sharding for cloud-level scalability + . + High performance, scalability, and reasonable depth of + functionality are the goals for the project. + . + This package provides the server functionality, including the system + service, management of a mongodb user/group and management of the daemon + running against /var/lib/mongodb. + +Package: mongodb-server-core Architecture: amd64 arm64 ppc64el s390x Depends: mongodb-clients, @@ -66,9 +91,12 @@ Depends: lsb-base (>= 3.0-6), ${misc:Depends}, ${shlibs:Depends} +Breaks: + mongodb-server (<= 1:3.4.7-1ubuntu2) Replaces: - mongodb (<= 1:1.4.2-2) -Description: object/document-oriented database (server package) + mongodb (<= 1:1.4.2-2), + mongodb-server (<= 1:3.4.7-1ubuntu2) +Description: object/document-oriented database (server binary package) MongoDB is a high-performance, open source, schema-free document-oriented data store that's easy to deploy, manage and use. It's network accessible, written in C++ and offers @@ -84,7 +112,7 @@ Description: object/document-oriented database (server package) High performance, scalability, and reasonable depth of functionality are the goals for the project. . - This package contains the server itself (mongod) and the sharding + This package contains the server binaries (mongod) and the sharding server/load-balancer (mongos). Package: mongodb-clients diff --git a/debian/mongodb-server-core.install b/debian/mongodb-server-core.install new file mode 100644 index 0000000..c941ce1 --- /dev/null +++ b/debian/mongodb-server-core.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/mongod +debian/tmp/usr/bin/mongos diff --git a/debian/mongodb-server.install b/debian/mongodb-server.install index 9d6e113..c28cc4e 100644 --- a/debian/mongodb-server.install +++ b/debian/mongodb-server.install @@ -1,3 +1 @@ debian/mongodb.conf etc -debian/tmp/usr/bin/mongod -debian/tmp/usr/bin/mongos
signature.asc
Description: PGP signature

