--- ChangeLog.old 2006-03-09 14:29:34.000000000 -0500 +++ ChangeLog 2006-03-09 14:25:50.000000000 -0500 @@ -1,6 +1,11 @@ # ChangeLog for mail-mta/qmail-ldap # $Header $ +09 mar 2006; Ed Cates + Falador on the forums pointed out that Gentoo 2006.0 does not have the + qmail system users by default. I've updated the ebuild to add them, + using the old Gentoo System IDs. + 07 Mar 2006; Ed Cates qmail-ldap-1.0.3-r6.ebuild Updated to use qmail-ldap-20060201 patch --- Manifest.old 2006-03-09 14:29:34.000000000 -0500 +++ Manifest 2006-03-09 14:27:17.000000000 -0500 @@ -1,4 +1,4 @@ -MD5 98eef7933928139796633f2c2eb2242b ChangeLog 6230 +MD5 f3e7a3441fb85000b96d1257dc92f50c ChangeLog 6457 MD5 fd098ab9ede9c74f209bf16e168ab185 files/1.03-r5/conf-common 2328 MD5 596c31eed1e948682630056cf46dd5fc files/1.03-r5/conf-pop3d 1271 MD5 52892cdf994815c6767ffbafc49df454 files/1.03-r5/conf-qmqpd 465 @@ -53,7 +53,7 @@ MD5 5749d97cc782c24eb876804095500505 files/control/Makefile 487 MD5 deff0413b2173ad217eca5bc5c7d7408 files/control/smtpplugins 648 MD5 1b11b4377782dc992c67e39043a20210 files/digest-qmail-ldap-1.03-r5 229 -MD5 207c7a38d7c9e6a054fd52b1cfb895d1 files/digest-qmail-ldap-1.03-r6 227 +MD5 98364989dcf951549fa4a59532f4daa0 files/digest-qmail-ldap-1.03-r6 227 MD5 b4f71781143dbefb10e0943eb8d446d6 files/dirmaker 110 MD5 c378c5845848ee31d70f0d05cbcf86be files/dot_qmail 12 MD5 0452985e25c0b8c14d9405c10600a06b files/qmail-config-system 1087 @@ -68,4 +68,4 @@ MD5 9709a485d0c2187a4e22faa276bd2c76 files/tcprules/tcp.smtp.sample 1837 MD5 c07e4481988f254eed6c443fe156f2ca metadata.xml 487 MD5 dc2c75f0d62603303366b549b275ce4a qmail-ldap-1.03-r5.ebuild 19593 -MD5 4c3ac56e6d3a7d0b960e384498afd6e7 qmail-ldap-1.03-r6.ebuild 23283 +MD5 6f198fceac9ea0a21966fc331ef4b3cd qmail-ldap-1.03-r6.ebuild 25337 --- qmail-ldap-1.03-r6.ebuild.old 2006-03-09 14:29:34.000000000 -0500 +++ qmail-ldap-1.03-r6.ebuild 2006-03-09 14:27:08.000000000 -0500 @@ -40,20 +40,6 @@ # Where the rules for tcpserver will be kept: TCPRULES_DIR=/etc/tcprules.d -if use vmail ; then - # Set up this way so we can get $VMAILUSER during - # pkg_config without having to pass more environtment - # variables. This text will appear in the "comment" - # field for $VMAILUSER in /etc/passwd - vmailgecos="Virtual Mail user for qmail-ldap" -fi - -pkg_setup() { - - ! use readvars && [[ -z $LDAPFLAGS ]] && [[ -z $VMAILUSER ]] \ - && [[ -z $VDOMAINS ]] && explain_vars -} - explain_vars() { echo "" ewarn "This ebuild comes with some environment variables you can set" @@ -132,6 +118,25 @@ exit 1 } +! use readvars && [[ -z $LDAPFLAGS ]] && [[ -z $VMAILUSER ]] \ + && [[ -z $VDOMAINS ]] && explain_vars +pkg_setup() { + # Gentoo 2006.0 doesn't have qmail system users by default + # Thanks to Falador on the forums for pointing this out! + + # These apparently need to be here because the qmail code checks for some + # of these while compiling. Yay! :-P + einfo "Creating users and groups for qmail system users if necessary ..." + enewgroup qmail 201 + enewgroup nofiles 200 + enewuser alias 200 /bin/true /var/qmail/alias nofiles "-cSystem account for qmail alias" + enewuser qmaild 201 /bin/true /var/qmail nofiles "-cSystem account for qmail" + enewuser qmaill 202 /bin/true /var/qmail nofiles "-cSystem account for qmail" + enewuser qmailp 203 /bin/true /var/qmail nofiles "-cSystem account for qmail" + enewuser qmailq 204 /bin/true /var/qmail qmail "-cSystem account for qmail queue" + enewuser qmailr 205 /bin/true /var/qmail qmail "-cSystem account for qmail" + enewuser qmails 206 /bin/true /var/qmail qmail "-cSystem account for qmail" +} src_unpack() { @@ -142,6 +147,10 @@ # What user/group name to use for the virtual user: [ -z "${VMAILUSER}" ] && VMAILUSER="vmail" + + + # What user/group name to use for the virtual user: + [ -z "${VMAILUSER}" ] && VMAILUSER="vmail" # The home directory for $VMAILUSER. All user mail # will be kept in a subdirectory of $VMAILHOME @@ -267,10 +276,6 @@ einfo "Modifying qmail-ldap to work with virtual mail accounts" sed -i -e 's/"homeDirectory"/"notreallyahomeDirectory"/' ${S}/qmail-ldap.h - echo "11184" > ${WORKDIR}/ldapuid - echo "2110" > ${WORKDIR}/ldapgid - echo "${VMAILHOME}" > ${WORKDIR}/ldapmessagestore - if [ -n "${VDOMAINS}" ] ; then EPATCH_SINGLE_MSG="Applying patch to allow vpopmail-style virtual domains" \ @@ -444,11 +449,6 @@ use spp && doins ${FILESDIR}/control/smtpplugins newins ${FILESDIR}/dot_qmail defaultdelivery use ssl && doins ${FILESDIR}/${PVR}/servercert.cnf - if use vmail; then - doins ${WORKDIR}/ldapuid - doins ${WORKDIR}/ldapgid - doins ${WORKDIR}/ldapmessagestore - fi einfo "Adding qmail.schema to OpenLDAP's schema directory" diropts -o root -g root -m 0755 @@ -566,10 +566,24 @@ eerror "You may have already moved them, but please check." echo fi - + + # Gentoo 2006.0 doesn't have qmail system users by default + # Thanks to Falador on the forums for pointing this out! + einfo "Creating users and groups for qmail system users if necessary ..." + enewgroup qmail 201 + enewgroup nofiles 200 + enewuser alias 200 /bin/true /var/qmail/alias nofiles "-cSystem account for qmail alias" + enewuser qmaild 201 /bin/true /var/qmail nofiles "-cSystem account for qmail" + enewuser qmaill 202 /bin/true /var/qmail nofiles "-cSystem account for qmail" + enewuser qmailp 203 /bin/true /var/qmail nofiles "-cSystem account for qmail" + enewuser qmailq 204 /bin/true /var/qmail qmail "-cSystem account for qmail queue" + enewuser qmailr 205 /bin/true /var/qmail qmail "-cSystem account for qmail" + enewuser qmails 206 /bin/true /var/qmail qmail "-cSystem account for qmail" + if use vmail ; then + einfo "Creating user and group for ${VMAILUSER} account ..." enewgroup ${VMAILUSER} 2110 - enewuser "${VMAILUSER}" 11184 /bin/bash "${VMAILHOME}" "${VMAILUSER}" "-c${vmailgecos}" + enewuser "${VMAILUSER}" 11184 /bin/bash "${VMAILHOME}" "${VMAILUSER}" "-cVirtual Mail user for qmail-ldap" diropts -m0770 -o ${VMAILUSER} -g ${VMAILUSER} keepdir ${VMAILHOME} fi @@ -605,9 +619,6 @@ if ! use notlsbeforeauth ; then einfo "Enabling STARTTLS before SMTP AUTH" no_relay_string="${no_relay_string},SMTPAUTH=\"TLSREQUIRED\"" - #else - # ewarn "Enabling SMTP AUTH **WITHOUT** STARTTLS" - # no_relay_string="${no_relay_string},SMTPAUTH=\"\"" fi else ewarn "Enabling SMTP AUTH **WITHOUT** STARTTLS" @@ -681,5 +692,18 @@ [ ! -f ${ROOT}var/qmail/control/ldaprebind ] && \ einfo "Allowing qmail-ldap to rebind to the LDAP server (allows for stricter ACLs on passwords)" && \ echo "1" > ${ROOT}var/qmail/control/ldaprebind - + if use vmail ; then + local `bzgrep ^VMAILUSER /var/db/pkg/${CATEGORY}/${PF}/environment.bz2` + varray=( `egetent passwd ${VMAILUSER} |awk -F : {'print $3" "$4" "$6'}` ) + + [ ! -f ${ROOT}var/qmail/control/ldapuid ] && \ + einfo "Setting ${VMAILUSER}'s uid in ${ROOT}var/qmail/control/ldapuid" + echo "${varray[0]}" > ${ROOT}var/qmail/control/ldapuid + [ ! -f ${ROOT}var/qmail/control/ldapgid ] && \ + einfo "Setting ${VMAILUSER}'s gid in ${ROOT}var/qmail/control/ldapgid" + echo "${varray[1]}" > ${ROOT}var/qmail/control/ldapgid + [ ! -f ${ROOT}var/qmail/control/ldapmessagestore ] && \ + einfo "Setting ${VMAILUSER}'s home directory in ${ROOT}var/qmail/control/ldapmessagestore" + echo "${varray[2]}" > ${ROOT}var/qmail/control/ldapmessagestore + fi } --- files/digest-qmail-ldap-1.03-r6.old 2006-03-09 14:29:34.000000000 -0500 +++ files/digest-qmail-ldap-1.03-r6 2006-03-09 14:27:17.000000000 -0500 @@ -1,3 +1,3 @@ -MD5 2f6ba8c2c4ab7eb5cdf74603086174a7 qmail-1.03-ldap-1.03-20060201-spp-0.41.diff 13197 +MD5 dd73e3b5edfbccbc5621667b5d0cc3b0 qmail-1.03-ldap-1.03-20060201-spp-0.41.diff 13195 MD5 622f65f982e380dbe86e6574f3abcb7c qmail-1.03.tar.gz 220668 MD5 55fa135415ee011f3f4234d7d52a3565 qmail-ldap-1.03-20060201.patch.gz 270788