pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: New courier packages
It suspect the problem building courier-mta is related to these two lines in
the Makefile:
[mail/courier-mta/Makefile]
CONFIGURE_ARGS+= --with-mailuid=${PKG_UID.${COURIER_USER}}
CONFIGURE_ARGS+= --with-mailgid=${PKG_GID.${COURIER_GROUP}}
because if I replace them with
CONFIGURE_ARGS+= --with-mailuid=1005
CONFIGURE_ARGS+= --with-mailgid=1005
the build completes. However, "bmake install" then fails as follows:
...
===> Installing for courier-mta-0.65.0
=> Running PRE-INSTALL script actions
===========================================================================
The following groups need to be created for courier-mta-0.65.0:
mail (gid = 8)
===========================================================================
===========================================================================
The following users need to be created for courier-mta-0.65.0:
courier (uid = 1008): mail, /nonexistent, /bin/false
===========================================================================
*** Error code 1
Stop.
bmake: stopped in /v/build/pkgsrc/mail/courier-mta
*** Error code 1
Stop.
bmake: stopped in /v/build/pkgsrc/mail/courier-mta
*** Error code 1
Stop.
bmake: stopped in /v/build/pkgsrc/mail/courier-mta
However I already *do* have that group and user on my system, with those
ids:
$ grep mail /etc/group
mail:x:8:
$ grep courier /etc/passwd
courier:x:1008:8:courier-authlib courier user:/nonexistent:/bin/false
$
This suggests a problem with user_exists() and group_exists() in
mk/pkginstall/usergroupfuncs.
I'm building --unprivileged.
I notice that courier-imap managed to work OK, picking up my login
username:group instead of courier:mail
$ grep COURIER_ mail/courier-imap/work/.pkgdb/+BUILD_INFO
COURIER_GROUP=candlerb
COURIER_GROUP=candlerb
COURIER_USER=candlerb
COURIER_USER=candlerb
although I haven't been able to workout from the makefiles how COURIER_USER
is actually getting set to candlerb, nor whether PKG_UID.candlerb is being
set.
I found these snippets:
[security/courier-authlib/Makefile.common]
COURIER_USER?= courier
COURIER_GROUP?= mail
...
PKG_GROUPS= ${COURIER_GROUP}
PKG_USERS= ${COURIER_USER}:${COURIER_GROUP}
[mk/pkginstall/bsd.pkginstall.mk]
.for _entry_ in ${PKG_USERS}
. for e in ${_entry_:C/\:.*//}
. if defined(USERGROUP_PHASE)
# Determine the numeric UID of each user.
USE_TOOLS+= perl
PKG_UID.${e}_cmd= \
if ${TEST} ! -x ${PERL5}; then ${ECHO} ""; exit 0; fi; \
${PERL5} -le 'print scalar getpwnam shift' ${e}
PKG_UID.${e}?= ${PKG_UID.${e}_cmd:sh:M*}
. endif
_PKG_USERS+=
${_entry_}:${PKG_UID.${e}}:${PKG_GECOS.${e}:Q}:${PKG_HOME.${e}:Q}:${PKG_SHELL.${e}:Q}
. endfor
.endfor
but there's a bit too much bmake magic in there for me :-(
Perl is installed and working though:
$ ~/pkg/bin/perl5.10.1 -le 'print scalar getpwnam shift' candlerb
1005
Regards,
Brian.
Home |
Main Index |
Thread Index |
Old Index