MongoDB 2.6.0 was released on 8th of April. It's a new major release contains a lot of new features. Reproducible: Always
Yes indeed mate, I've been on vacation and tried packaging it before going away but unfortunately they broke the scons building again :( I'll have to investigate... this takes some time. @Johan : help would be great if you can spare the time as well, cheers ;)
@ultrabug: Sure, I'll have a look. Who doesn't like to scour through 1500 lines of Scons? :-D
I have a working version, but it dies while linking. See upstream issue here https://jira.mongodb.org/browse/SERVER-13829
Created attachment 376444 [details] mongodb-2.6.1.ebuild Gentle(wo)men: In spirit of The Collaborative Effort, here's a work in progress. ## Changes in ebuild: - 2.6.0 -> 2.6.1 - Rebaked -fix-scons.patch. Removed our manual LIBS append since upstream seems to handle this properly now. - Remove spidermonkey engine. Dropped upstream. - Add memory check (1G is roughly what was consumed while compiling). - Lowered build disk dize check (Mine never surpassed 1G). - Changed USR disk space check to VAR, and lowered it. The journal is now considerably smaller on first run, at least for me: ``` # du -d1 -h /var/lib/mongodb/ 4.0K /var/lib/mongodb/_tmp 20K /var/lib/mongodb/journal 81M /var/lib/mongodb/ ``` Perhaps remove check altogether? - Split out two more dependencies: snowball-stemmer and yaml-cpp. I've additionally contacted graaff (stemmer maintainer) and asked for a newer version snapshot since current is from 2009. - Applied fix to build as referenced in above jira bug . ## Todo/questions: - USR -> VAR disk req check: Am I misunderstanding something? Also, verify my check requirements (I'm ~amd64). - Need to test IUSE="mms-agent". Also, shouldn't this be hosted via upstream? - Consider adding IUSE="debug"? - How much do we care about user upgrade path? This is – according to what I've read so far – a bit hairy. - Still haven't dwelled into FEATURES=test. Should we also potentially do specific check-reqs for this? - src_install seems to do some building/linking, for instance bsondump, mongooplog, etc. From my end, the bigger issue that I really don't use mongodb for anything production-wise, which potentially can affect ebuild quality/my ability to maintain. As always, Ultrabug is a great maintainer and will probably do the hard work!
Created attachment 376448 [details, diff] mongodb-2.6.1-fix-scons.patch
Update. Just ran the test suite without any errors (!). Here's a disk layout before src_install: 72M /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/src 428K /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/debian 164K /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/docs 1008M /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/build 7.2M /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/jstests 36K /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/site_scons 3.7M /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/.scons 104K /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/rpm 4.8M /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/buildscripts 72K /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/distsrc 2.3G /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1/unittest 3.7G /var/tmp/portage/dev-db/mongodb-2.6.1/work/mongodb-src-r2.6.1 ..as you can see, we don't need much more than 1,1G to build without test suite and an additional 2.3 if FEATURES=test is run. Not sure if check-reqs should be conditional, but it at least is relevant.
Additional todo: - if IUSE=mms-agent, we need to make sure that python:2.x is installed. - the init script of mms-agent uses env python while it should really use python2 - Rewrite init scripts (mongodb, mongos, mms-agent) to use the modern, simpler syntax (start_stop_daemon_args, command, et al)
Additional TODO: Get rid of /etc/conf.d/mongodb, and instead point mongodb toward the config file in /etc. Install a default config file that uses the new upstream-preferred YAML support.
IMO we additionally need a lot of post_install stuff if we're to remove conf.d/mongodb as well as fence against the upgrade. We'd want to summarise steps taken to upgrade and link to upstream as well as making sure people double and triple check that migrating their potential conf.d configs into yaml is correct.
Hi Ok guys, I think I've taken all your (good) points into account and I think I'm done with the bump. I've pushed 2.6.1 in my overlay : ultrabug Can you please review it and comment if something is not good enough please ? I'd like your input before committing to tree Thanks
(In reply to Ultrabug from comment #10) > Hi > > Ok guys, I think I've taken all your (good) points into account and I think > I'm done with the bump. > > I've pushed 2.6.1 in my overlay : ultrabug > > Can you please review it and comment if something is not good enough please > ? I'd like your input before committing to tree > > Thanks Great job! Compiling/testing now. A few things while we wait: - pkg_postint: if [[ ${REPLACING_VERSIONS} < 3.6 ]]; then ~~~ <- should be 2.6? ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}": potentially add .conf to filenames? - check reqs: CHECKREQS_DISK_BUILD="2400M" <- is this still relevant? see my above comment CHECKREQS_DISK_USR="512M" <- what do we store in /usr? Shouldn't this be DISK_VAR? - snowball-stemmer: potentially dep on the newer version in tree - mongodb.conf-r2: potentially handle pidfiles ourselves? processManagement.pidFilePath
src_install still seems to do some building/linking. mongotop, mongos, mongos, etc. Not saying this is a bug at our place (I dislike scons not really having build steps modelled like this), but it's something that bothers me. File upstream bug?
(In reply to Johan Bergström from comment #11) > - pkg_postint: > > if [[ ${REPLACING_VERSIONS} < 3.6 ]]; then > ~~~ <- should be 2.6? > > ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML > standard in /etc/${PN}": potentially add .conf to filenames? > Yes, test value and typo, fixed on my local ebuild > > - check reqs: > > CHECKREQS_DISK_BUILD="2400M" <- is this still relevant? see my above > comment > CHECKREQS_DISK_USR="512M" <- what do we store in /usr? Shouldn't this > be DISK_VAR? > No, see https://bugs.gentoo.org/show_bug.cgi?id=495242 please, it's been already discussed and ack'ed > - snowball-stemmer: potentially dep on the newer version in tree > Doesn't seem to be a problem, any version is okay > - mongodb.conf-r2: potentially handle pidfiles ourselves? > processManagement.pidFilePath For s-s-d sake, I'll leave it as it is
(In reply to Johan Bergström from comment #12) > src_install still seems to do some building/linking. mongotop, mongos, > mongos, etc. Not saying this is a bug at our place (I dislike scons not > really having build steps modelled like this), but it's something that > bothers me. File upstream bug? Sure mate be my guest but this shouldn't prevent us from bumping should it ?
I'd encourage a bump soon, so long as you've gotten rid of the conf.d file and now ship a default config file in the yaml format.
Just looked in your overlay. Looks great. Ship it!
(In reply to Ultrabug from comment #14) > (In reply to Johan Bergström from comment #12) > > src_install still seems to do some building/linking. mongotop, mongos, > > mongos, etc. Not saying this is a bug at our place (I dislike scons not > > really having build steps modelled like this), but it's something that > > bothers me. File upstream bug? > > Sure mate be my guest but this shouldn't prevent us from bumping should it ? Of course not! I'm good with current state, feel free to commit. Thanks for all the help.
Thanks a lot for your help and feedback guys, I'm pleased to announce it's in tree now :) +*mongodb-2.6.1 (14 May 2014) + + 14 May 2014; Ultrabug <ultrabug@gentoo.org> +mongodb-2.6.1.ebuild, + +files/mongodb-2.6.1-fix-scons.patch, +files/mms-agent.initd-r2, + +files/mongodb.conf-r2, +files/mongodb.confd-r2, +files/mongodb.initd-r2, + +files/mongos.conf-r2, +files/mongos.confd-r2, +files/mongos.initd-r2: + version 2.6.x bump fix #508190 thx to Mike Limansky, Johan Bergstrom and + Jason A. Donenfeld +