default in mk/defaults/mk.conf remove the non-shared defaults and put in the setting that actually gets used by more than one package (namely, MAJORDOMO_HOMEDIR) don't make the majordom user own more than it actually needs to make resend, archive, request-answer and medit honor the MAJORDOMO_CF environment variable over the command line option, so that someone calling these via the wrapper (which sets the environment variable) can't make the majordom user execute random perl code by specifying it as config file. Thanks to salo for finding this issue.
156 lines
5.4 KiB
Makefile
156 lines
5.4 KiB
Makefile
# $NetBSD: Makefile,v 1.41 2011/01/29 17:16:33 spz Exp $
|
|
|
|
DISTNAME= majordomo-1.94.5
|
|
PKGREVISION= 11
|
|
CATEGORIES= mail
|
|
MASTER_SITES= ftp://ftp.sgi.com/other/majordomo/1.94.5/ \
|
|
ftp://ftp-europe.sgi.com/other/majordomo/1.94.5/
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= spz@NetBSD.org
|
|
HOMEPAGE= http://www.greatcircle.com/majordomo/
|
|
COMMENT= The Majordomo mailing list manager
|
|
|
|
LICENSE= majordomo-license
|
|
|
|
PKG_DESTDIR_SUPPORT= destdir
|
|
MAKE_JOBS_SAFE= NO
|
|
|
|
RESTRICTED= No distribution of modified binary packages to the general public
|
|
NO_BIN_ON_FTP= ${RESTRICTED}
|
|
NO_BIN_ON_CDROM= ${RESTRICTED}
|
|
|
|
CONFLICTS+= bounce-[0-9]*
|
|
|
|
USE_TOOLS+= perl:run
|
|
|
|
BUILD_TARGET= wrapper
|
|
INSTALL_TARGET= install install-wrapper
|
|
MAKE_FILE= Makefile.netbsd
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
PKG_SYSCONFSUBDIR= majordomo
|
|
CONF_FILES+= ${EXAMPLEDIR}/aliases.majordomo ${PKG_SYSCONFDIR}/aliases
|
|
CONF_FILES+= ${EXAMPLEDIR}/majordomo.cf ${MAJORDOMO_CF}
|
|
|
|
MAJORDOMO_HOMEDIR?= ${VARBASE}/majordomo
|
|
MAJORDOMO_TMPDIR?= ${VARBASE}/majordomo/tmp
|
|
MAJORDOMO_CF?= ${PKG_SYSCONFDIR}/majordomo.cf
|
|
MAJORDOMO_USER?= majordom
|
|
MAJORDOMO_GROUP?= majordom
|
|
|
|
PKG_GECOS.${MAJORDOMO_USER}= Majordomo Mailinglist Manager
|
|
PKG_HOME.${MAJORDOMO_USER}= ${MAJORDOMO_HOMEDIR}
|
|
|
|
PKG_GROUPS_VARS+= MAJORDOMO_GROUP
|
|
PKG_USERS_VARS+= MAJORDOMO_USER
|
|
|
|
MESSAGE_SUBST+= HOME=${MAJORDOMO_HOMEDIR} \
|
|
MAJORDOMO_CF=${MAJORDOMO_CF} \
|
|
MAJORDOMO_USER=${MAJORDOMO_USER} \
|
|
MAJORDOMO_GROUP=${MAJORDOMO_GROUP}
|
|
|
|
DOCDIR= ${PREFIX}/share/doc/majordomo
|
|
DOCFILES= Changelog FUTURE INSTALL LICENSE NEWLIST README
|
|
DOCDOCFILES= FAQ README.sequencer list-owner-info \
|
|
majordomo-faq.html majordomo.lisa6.ps majordomo.ora
|
|
|
|
EXAMPLEDIR= ${PREFIX}/share/examples/majordomo
|
|
EXDIRS= archives archives/example-l digests \
|
|
digests/example-l-digest lists
|
|
EXFILES= example-l.passwd example-l.info
|
|
EXLISTS= example-l example-l-digest
|
|
|
|
BUILD_DEFS+= MAJORDOMO_TMPDIR
|
|
BUILD_DEFS+= MAJORDOMO_HOMEDIR
|
|
BUILD_DEFS+= MAJORDOMO_CF
|
|
BUILD_DEFS+= VARBASE
|
|
|
|
USERGROUP_PHASE= configure
|
|
PKG_GROUPS= ${MAJORDOMO_GROUP}
|
|
PKG_USERS= ${MAJORDOMO_USER}:${MAJORDOMO_GROUP}
|
|
OWN_DIRS_PERMS+= ${MAJORDOMO_HOMEDIR} \
|
|
${MAJORDOMO_USER} ${MAJORDOMO_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${MAJORDOMO_HOMEDIR}/archives \
|
|
${MAJORDOMO_USER} ${MAJORDOMO_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${MAJORDOMO_HOMEDIR}/digests \
|
|
${MAJORDOMO_USER} ${MAJORDOMO_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${MAJORDOMO_HOMEDIR}/lists \
|
|
${MAJORDOMO_USER} ${MAJORDOMO_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${MAJORDOMO_TMPDIR} \
|
|
${MAJORDOMO_USER} ${MAJORDOMO_GROUP} 0755
|
|
|
|
CONFIGURE_SED= -e "s|@PREFIX@|${PREFIX}|g" \
|
|
-e "s|@PERL@|${PERL5}|g" \
|
|
-e "s|@HOME@|${MAJORDOMO_HOMEDIR}|g" \
|
|
-e "s|@MAJORDOMO_CF@|${MAJORDOMO_CF}|g" \
|
|
-e "s|@MAJORDOMO_USER@|${MAJORDOMO_USER}|g" \
|
|
-e "s|@MAJORDOMO_GROUP@|${MAJORDOMO_GROUP}|g" \
|
|
-e "s|@TMPDIR@|${MAJORDOMO_TMPDIR}|g"
|
|
|
|
MESSAGE_SED= -e 's|$${PREFIX}|${PREFIX}|g' \
|
|
-e 's|$${HOME}|${HOME}|g' \
|
|
-e 's|$${MAJORDOMO_CF}|${MAJORDOMO_CF}|g' \
|
|
-e 's|$${MAJORDOMO_USER}|${MAJORDOMO_USER}|g' \
|
|
-e 's|$${MAJORDOMO_GROUP}|${MAJORDOMO_GROUP}|g'
|
|
|
|
MAKE_DIRS+= ${PKG_SYSCONFDIR}
|
|
|
|
INSTALLATION_DIRS+= ${PREFIX}/bin
|
|
INSTALLATION_DIRS+= ${PREFIX}/libexec/majordomo
|
|
INSTALLATION_DIRS+= ${PKGMANDIR}/man1
|
|
INSTALLATION_DIRS+= ${PKGMANDIR}/man8
|
|
|
|
do-configure:
|
|
${SED} ${CONFIGURE_SED} ${WRKSRC}/Makefile > ${WRKSRC}/Makefile.netbsd
|
|
|
|
post-build:
|
|
${SED} ${CONFIGURE_SED} ${WRKSRC}/sample.cf > ${WRKSRC}/majordomo.cf
|
|
${SED} ${CONFIGURE_SED} ${FILESDIR}/aliases.majordomo \
|
|
> ${WRKSRC}/aliases.majordomo
|
|
${SED} -e 's|$${PREFIX}|${PREFIX}|g' \
|
|
-e 's|$${HOME}|${HOME}|g' \
|
|
-e 's|$${MAJORDOMO_CF}|${MAJORDOMO_CF}|g' \
|
|
-e 's|$${MAJORDOMO_USER}|${MAJORDOMO_USER}|g' \
|
|
-e 's|$${MAJORDOMO_GROUP}|${MAJORDOMO_GROUP}|g' \
|
|
${PKGDIR}/MESSAGE > ${WRKSRC}/post-install-notes
|
|
|
|
post-install:
|
|
${LN} -sf archive2.pl ${DESTDIR}${PREFIX}/libexec/majordomo/archive
|
|
${INSTALL_DATA_DIR} ${DESTDIR}${DOCDIR}
|
|
.for file in ${DOCFILES}
|
|
${INSTALL_DATA} ${WRKSRC}/${file} ${DESTDIR}${DOCDIR}/${file}
|
|
.endfor
|
|
.for file in ${DOCDOCFILES}
|
|
${INSTALL_DATA} ${WRKSRC}/Doc/${file} ${DESTDIR}${DOCDIR}/${file}
|
|
.endfor
|
|
${INSTALL_DATA} ${WRKSRC}/post-install-notes ${DESTDIR}${DOCDIR}/post-install-notes
|
|
${INSTALL} -d -m 755 -o ${MAJORDOMO_USER} -g ${MAJORDOMO_GROUP} ${DESTDIR}${EXAMPLEDIR}
|
|
.for dir in ${EXDIRS}
|
|
${INSTALL} -d -m 755 -o ${MAJORDOMO_USER} -g ${MAJORDOMO_GROUP} ${DESTDIR}${EXAMPLEDIR}/${dir}
|
|
.endfor
|
|
${INSTALL_DATA} ${WRKSRC}/aliases.majordomo \
|
|
${DESTDIR}${EXAMPLEDIR}/aliases.majordomo
|
|
${INSTALL} -m 644 -o ${MAJORDOMO_USER} -g ${MAJORDOMO_GROUP} \
|
|
${FILESDIR}/keep_me ${DESTDIR}${EXAMPLEDIR}/archives/example-l/.keep_me
|
|
${INSTALL} -m 644 -o ${MAJORDOMO_USER} -g ${MAJORDOMO_GROUP} \
|
|
${FILESDIR}/keep_me ${DESTDIR}${EXAMPLEDIR}/digests/example-l-digest/.keep_me
|
|
.for file in ${EXFILES}
|
|
${INSTALL} -m 644 -o ${MAJORDOMO_USER} -g ${MAJORDOMO_GROUP} \
|
|
${FILESDIR}/${file} ${DESTDIR}${EXAMPLEDIR}/lists/${file}
|
|
.endfor
|
|
.for file in ${EXLISTS}
|
|
${INSTALL} -m 644 -o ${MAJORDOMO_USER} -g ${MAJORDOMO_GROUP} \
|
|
/dev/null ${DESTDIR}${EXAMPLEDIR}/lists/${file}
|
|
.endfor
|
|
${LN} -sf example-l.info ${DESTDIR}${EXAMPLEDIR}/lists/example-l-digest.info
|
|
${LN} -sf example-l.passwd ${DESTDIR}${EXAMPLEDIR}/lists/example-l-digest.passwd
|
|
${INSTALL_DATA} ${WRKSRC}/majordomo.cf \
|
|
${DESTDIR}${EXAMPLEDIR}/majordomo.cf
|
|
|
|
# verify installation; requires interaction
|
|
test: install
|
|
${DESTDIR}${PREFIX}/libexec/majordomo/wrapper config-test
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|