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
|
# $NetBSD: Makefile,v 1.10 2000/10/18 16:32:57 wennmach Exp $
#
DISTNAME= arla-0.34.5
CATEGORIES= net security
MASTER_SITES= ftp://ftp.stacken.kth.se/pub/arla/
MAINTAINER= wennmach@netbsd.org
HOMEPAGE= http://www.stacken.kth.se/project/arla/
DEPENDS+= kth-krb4-1.0.1:../../security/kth-krb4
OSVERSION_SPECIFIC= yes
GNU_CONFIGURE= yes
INFO_FILES= arla.info
.include "../../mk/bsd.prefs.mk"
.if !exists(/sys/lib/libkern/libkern.h)
.if exists(${BSDSRCDIR}/sys/lib/libkern/libkern.h)
CONFIGURE_ARGS+= --with-sys=${BSDSRCDIR}/sys
.else
IGNORE= "${PKGNAME} requires kernel sources available under \$$BSDSRCDIR/sys (or /sys)"
.endif
.endif
CONFIGURE_ARGS+= --with-krb4=${PREFIX}
.if defined(ARLA_CACHE)
CONFIGURE_ARGS+= --with-arlacachedir=${ARLA_CACHE}
.endif
PLIST_SRC= ${WRKDIR}/PLIST
MESSAGE_FILE= ${WRKDIR}/MESSAGE
.if defined(ARLA_CACHE)
CACHEDIR= ${ARLA_CACHE}
.else
CACHEDIR= ${LOCALBASE}/cache
.endif
post-patch:
# This is ugly. Utterly ugly. Sigh.
# kth-krb4 and arla both have their own, different, versions or libroken.
# To resolve this conflict, which manifests in the inability to recompile
# kth-krb4 once it is installed, we rename arla's roken to arla-roken.
@${ECHO} "===> Applying more NetBSD patches for ${DISTNAME}"
@${ECHO} -n "=> Patching configure,"
@${MV} ${WRKSRC}/configure ${WRKSRC}/configure.old
# Notice, the following sed produces some funny comments in configure :-)
@${SED} -e 's/roken/arla-roken/g' ${WRKSRC}/configure.old > ${WRKSRC}/configure
@${CHMOD} 755 ${WRKSRC}/configure
@${ECHO} -n " Makefile.in,"
@for file in `${FIND} ${WRKSRC} -name Makefile.in -print`; { \
${MV} $$file $$file.old; \
${SED} -e 's/roken/arla-roken/g' $$file.old > $$file; \
}
@${ECHO} -n " .c files,"
@for file in `${FIND} ${WRKSRC} -name "*.c" -print`; { \
${MV} $$file $$file.old; \
${SED} -e 's/roken.h/arla-roken.h/g' $$file.old > $$file; \
}
@${ECHO} -n " .h files,"
@for file in `${FIND} ${WRKSRC} -name "*.h" -print`; { \
${MV} $$file $$file.old; \
${SED} -e 's/roken.h/arla-roken.h/g' $$file.old > $$file; \
}
@${ECHO} -n " .y files,"
@for file in `${FIND} ${WRKSRC} -name "*.y" -print`; { \
${MV} $$file $$file.old; \
${SED} -e 's/roken.h/arla-roken.h/g' $$file.old > $$file; \
}
@${ECHO} -n " .l files"
@for file in `${FIND} ${WRKSRC} -name "*.l" -print`; { \
${MV} $$file $$file.old; \
${SED} -e 's/roken.h/arla-roken.h/g' $$file.old > $$file; \
}
@${ECHO} "."
@${MV} ${WRKSRC}/lib/roken/roken.h ${WRKSRC}/lib/roken/arla-roken.h
@${MV} ${WRKSRC}/lib/roken ${WRKSRC}/lib/arla-roken
do-configure:
# *Sometimes* it's bad to try to be too smart:
# pkgsrc's LDFLAGS choice is completely inadequate for arla, since
# arla's configure uses $LDFLAGS as flags for $LD, whereas
# pkgsrc's LDFLAGS are conceived to be used with $CC
# So, basically, bsd.pkg.mk sets LDFLAGS=-Wl,-R${LOCALBASE}
# while arla expects LDFLAGS=-R${LOCALBASE}
@(LDFLAGS= ; cd ${WRKSRC}; ./configure ${CONFIGURE_ARGS})
pre-install:
@${SED} -e 's|@ARLA_CACHE@|${CACHEDIR}|g' \
<${PKGDIR}/PLIST \
>${PLIST_SRC}
@${SED} -e 's|@PREFIX@|${PREFIX}|g' \
-e 's|@ARLA_CACHE@|${CACHEDIR}|g' \
<${PKGDIR}/MESSAGE \
>${MESSAGE_FILE}
post-install:
@${ECHO} " "
@if [ -e ${CACHEDIR} ]; then \
${ECHO} "Arla cache dir (${CACHEDIR}) already exists"; \
else \
${ECHO} "Creating arla cache directory ${CACHEDIR}"; \
${MKDIR} ${CACHEDIR}; \
${CHMOD} 700 ${CACHEDIR}; \
${CHOWN} root ${CACHEDIR}; \
fi
@if [ -e /sbin/mount_xfs ]; then \
${ECHO} "/sbin/mount_xfs already exists"; \
else \
${ECHO} "Creating /sbin/mount_xfs"; \
${LN} -s ${PREFIX}/bin/mount_xfs /sbin/mount_xfs; \
fi
@-${MKDIR} ${PREFIX}/share/examples/arla
@${SED} -e 's|@PREFIX@|${PREFIX}|g' \
< ${FILESDIR}/lkm.conf \
> ${PREFIX}/share/examples/arla/lkm.conf
@${INSTALL} -c -o root -g wheel -m 444 \
${FILESDIR}/services ${PREFIX}/share/examples/arla
@${INSTALL} -c -o root -g wheel -m 444 \
${FILESDIR}/fstab ${PREFIX}/share/examples/arla
@${SED} -e 's|@PREFIX@|${PREFIX}|' ${FILESDIR}/arlad.sh \
> ${PREFIX}/etc/rc.d/arlad.sh
@${ECHO} " "
.include "../../mk/bsd.pkg.mk"
|