summaryrefslogtreecommitdiff
path: root/mail/majordomo/Makefile
blob: 0fd94518ca7524dfc5c8f798d588020edf6b1fc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# $NetBSD: Makefile,v 1.48 2013/07/12 10:44:57 jperkin Exp $

DISTNAME=		majordomo-1.94.5
PKGREVISION=		18
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"