The main reason (in addition to several improvements, bug fixes, etc) is that 2.6 versions of MongoDB server comes with a new format for configuration files, based on YAML, much more flexible and powerful. I would be a great improvement.
I'm working on it already 2 months, but the issue is that it contains a few problematic third-party software bundles which are hard to package separately (licensing issues in upstream etc.). Maybe I should first create all-in-one mongodb package and then slowly cut it down and create less-problematic separate packages.
Is there any way we can help? Possibly do a review, or anything? Posting a src.rpm and letting us know which 3rd party packages to remove.
Well, I've decided to first do the all-in-one build. Right now I've commited the big changes to dist git and I'm running a scratch build for rawhide (I've done only one build in mock in tmpfs - 40 minutes on i7-3520M CPU @ 2.90GHz). It's not tested - I'll do the testing after first successful build for f20. You can take a look on my numerous comments/FIXMEs to get some impression about the separation of mongo client lib (currently mongo-cxx-driver) and third-party SW like stemmer. I've archived some of my work on mongo-cxx-driver on https://jpacner.fedorapeople.org/mongo-cxx-driver_error/ .
(In reply to jpacner from comment #3) > Well, I've decided to first do the all-in-one build. Right now I've commited > the big changes to dist git and I'm running a scratch build for rawhide > (I've done only one build in mock in tmpfs - 40 minutes on i7-3520M CPU @ > 2.90GHz). It's not tested - I'll do the testing after first successful build > for f20. That sounds good, thanks. But you are not planning to upgrade to 2.6 in F20, are you? That would probably cause many issues, since as I understand the versioning, 2.4 and 2.6 are not compatible. F21 should be fine though, since the Alpha deadline was postponed. > You can take a look on my numerous comments/FIXMEs to get some impression > about the separation of mongo client lib (currently mongo-cxx-driver) and > third-party SW like stemmer. I've archived some of my work on > mongo-cxx-driver on https://jpacner.fedorapeople.org/mongo-cxx-driver_error/ > . I'm not sure if I understand your plan -- would you like to provide the C++ client library in a different component, detached from the server, and link the server's binaries against it? That seems like good approach to me, in case upstream supports it this way (link from the spec does not seem to be working any more: http://dochub.mongodb.org/core/build-cpp-driver). Anyway, I just quickly looked at the new packaging and saw these (most probably) issues/notes: * __SCL_SCRIPTS__/service-environment in http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb-shard.init#n142 * %tmpfiles_create %{pkg_name}.conf at http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n262 -- I'm not sure where this macro came from and if it is a proper way to install tmpfiles.d configs, can you point me where is this described, please? * I'd rather use %if 0%{?fedora} >=15 at http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n291 * %{prefix} could be used instead of %{_libdir}/.. at http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n358 * I haven't checked SELinux, but it should be changed to correspond with the new services names
(In reply to Honza Horak from comment #4) > That sounds good, thanks. But you are not planning to upgrade to 2.6 in F20, > are you? No, I'm not, but I'd like to do a build for my system to test it, because I don't know about any better/faster way of testing. > I'm not sure if I understand your plan -- would you like to provide the C++ > client library in a different component, detached from the server, and link > the server's binaries against it? Then new mongodb separated the client library from the server and renamed the client library to mongo-cxx-driver. Therefore yes, I'd like to make a separate component/package. Also I'd like to remove the third-party SW from the upstream mongodb bundle and provide it in separate packages (e.g. the snowball stemmer) and then compile mongodb against them. >That seems like good approach to me, in > case upstream supports it this way This was decided in upstream way long time ago and in 2.6 it was made reality. >(link from the spec does not seem to be > working any more: http://dochub.mongodb.org/core/build-cpp-driver) Indeed, but it seems one is getting forwarded to a right wiki page. > * __SCL_SCRIPTS__/service-environment in > http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb-shard.init#n142 Thanks, will be adjusted. > * %tmpfiles_create %{pkg_name}.conf at > http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n262 -- I'm > not sure where this macro came from and if it is a proper way to install > tmpfiles.d configs, can you point me where is this described, please? Enjoy the macro hell with all it's fuziness and untenability! Anyway, it should have become an official macro for this purpose (see http://cgit.freedesktop.org/systemd/systemd/plain/src/core/macros.systemd.in https://bugzilla.redhat.com/show_bug.cgi?id=1112016), but it seems it was recently rejected https://fedorahosted.org/fpc/ticket/439 . I'll do it manually then as suggested in the ticket. > * I'd rather use %if 0%{?fedora} >=15 at > http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n291 Good point. > * %{prefix} could be used instead of %{_libdir}/.. at > http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n358 For compatibility with SCL I'd rather let it this way. > * I haven't checked SELinux, but it should be changed to correspond with the > new services names I'll check it ASAP.
(In reply to jpacner from comment #5) > (In reply to Honza Horak from comment #4) > > > That sounds good, thanks. But you are not planning to upgrade to 2.6 in F20, > > are you? > > No, I'm not, but I'd like to do a build for my system to test it, because I > don't know about any better/faster way of testing. Yeah, that's a good idea. > Enjoy the macro hell with all it's fuziness and untenability! Anyway, it > should have become an official macro for this purpose (see > http://cgit.freedesktop.org/systemd/systemd/plain/src/core/macros.systemd.in > https://bugzilla.redhat.com/show_bug.cgi?id=1112016), but it seems it was > recently rejected https://fedorahosted.org/fpc/ticket/439 . I'll do it > manually then as suggested in the ticket. Thanks for the info. > > * %{prefix} could be used instead of %{_libdir}/.. at > > http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n358 > > For compatibility with SCL I'd rather let it this way. I do think SCL would be fine even with %{prefix}, which should always extract to the same path as %{_libdir}/.. but it is not so important, so whatever works.
It seems to work, but selinux-policy is slightly broken (see https://bugzilla.redhat.com/show_bug.cgi?id=1132504). I'd though recommend to test it more properly, possibly with some existing mongo application, but I don't know about any suitable.