Opened 11 years ago
Last modified 10 years ago
#40364 new defect
mongodb can't install into userdir — at Initial Version
Reported by: | posita (Matt Bogosian) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.0 |
Keywords: | Cc: | ryandesign@… | |
Port: | mongodb |
Description
Much like ticket # 40360, mongodb Staging mongodb fails on attempt to set group in non-root install. main.log is attached. Relevant part:
:debug:destroot Executing proc-post-org.macports.destroot-destroot-0 :info:destroot xinstall: chdir([__MACPORTS_ROOT__]/var/macports/build/[__MACPORTS_ROOT__]_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mongodb/mongodb/work/mongodb-src-r2.4.6) :info:destroot xinstall: mongobridge -> [__MACPORTS_ROOT__]/var/macports/build/[__MACPORTS_ROOT__]_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mongodb/mongodb/work/destroot[__MACPORTS_ROOT__]/bin/mongobridge :error:destroot org.macports.destroot for port mongodb returned: xinstall: Unknown group _mongo :debug:destroot Error code: NONE :debug:destroot Backtrace: xinstall: Unknown group _mongo while executing "$post $targetname"
The Portfile
does not appear to offer a +no_root
variant. The following work-around seems to get it built and installed:
--- [__MACPORTS_ROOT__]/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/mongodb/Portfile.orig 2013-08-29 16:01:28.000000000 -0700 +++ [__MACPORTS_ROOT__]/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/mongodb/Portfile 2013-09-03 08:41:20.000000000 -0700 @@ -84,8 +84,8 @@ set dbdir ${prefix}/var/db/mongodb set logdir ${prefix}/var/log/mongodb -set mongouser _mongo -add_users ${mongouser} group=${mongouser} realname=MongoDB\ Server +set mongouser [__USER__] +#add_users ${mongouser} group=${mongouser} realname=MongoDB\ Server post-destroot { if {[variant_isset universal]} { @@ -102,7 +102,7 @@ } startupitem.create yes -startupitem.executable sudo -u ${mongouser} ${prefix}/bin/mongod --dbpath ${dbdir} --logpath ${logdir}/mongodb.log --logappend +startupitem.executable ${prefix}/bin/mongod --dbpath ${dbdir} --logpath ${logdir}/mongodb.log --logappend if {${os.platform} eq "darwin" && ${os.major} < 10} { depends_build
(Where "[__USER__]
" is the installer's username. See .../devel/dbus/Portfile as a decent example of supporting +no_root with LaunchDaemons.)
Note: See
TracTickets for help on using
tickets.
var/macports/logs/.../mongodb/main.log