Bug 1123660 - REQUEST: Update mongodb-server package to version 2.6.x
Summary: REQUEST: Update mongodb-server package to version 2.6.x
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: mongodb
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Marek Skalický
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1132504
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-27 20:18 UTC by q2dg
Modified: 2015-01-21 10:26 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-21 10:26:05 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description q2dg 2014-07-27 20:18:42 UTC
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.

Comment 1 jpacner 2014-07-30 06:53:10 UTC
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.

Comment 2 Troy Dawson 2014-07-30 22:39:33 UTC
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.

Comment 3 jpacner 2014-08-05 15:17:32 UTC
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/ .

Comment 4 Honza Horak 2014-08-05 16:15:40 UTC
(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

Comment 5 jpacner 2014-08-07 09:54:58 UTC
(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.

Comment 6 Honza Horak 2014-08-07 12:40:02 UTC
(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.

Comment 7 jpacner 2014-08-22 07:55:39 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.