aboutsummaryrefslogtreecommitdiffstats
path: root/main/heimdal/APKBUILD
blob: d5a71f30970313d366b7ab6b3b4b944768fde988 (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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
pkgname=heimdal
pkgver=1.5.2
pkgrel=7
pkgdesc="An implementation of Kerberos 5"
arch="all"
url="http://www.h5l.org/"
license="BSD"
depends="krb5-conf"
depends_dev="openssl-dev e2fsprogs-dev db-dev"
makedepends="$depends_dev autoconf automake bash gawk libtool
	ncurses-dev perl readline-dev sqlite-dev texinfo"
install=
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs
	$pkgname-ftp $pkgname-telnet $pkgname-su $pkgname-rsh $pkgname-rcp
	$pkgname-pagsh $pkgname-kf"
source="http://ftp4.de.freesbie.org/pub/misc/heimdal/src/$pkgname-$pkgver.tar.gz
	heimdal-kadmind.initd
	heimdal-kdc.initd
	heimdal-kpasswdd.initd

	003_all_heimdal-rxapps.patch
	005_all_heimdal-suid_fix.patch
	014_all_heimdal-path.patch
	telnetd.patch
	heimdal_missing-include.patch
	heimdal_missing_symbols.patch
	heimdal-1.5-use-perl-Getopt_Std.patch
	heimdal_texinfo-5.patch
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	[ -e /usr/lib/libasn1.so ] && echo "## remove old heimdal pkg first ##" && return 1

	cd "$_builddir"
	
	for i in $source; do
		case $i in
		*.patch) msg "Applying patch $i"; patch -p0 -i "$srcdir"/$i || return 1;;
		esac
	done

	# name clash with ruserpass in netdb.h
	sed -i -e 's/ruserpass/ruserpw/g' appl/ftp/ftp/*.[ch] || return 1

	sh ./autogen.sh || return 1
}

build() {
	cd "$_builddir"
	export LDFLAGS="${LDFLAGS} -Wl,--as-needed"
	export LIBS="-ldb"

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-shared=yes \
		--without-x \
		--with-berkeley-db \
		--with-readline-lib=/usr/lib \
		--with-readline-include=/usr/include/readline \
		--with-sqlite3=/usr \
		--with-openssl=/usr \
		|| return 1

	# make sure we use system version
	rm -r lib/sqlite lib/com_err

	# workarount a parallell build issue
	make -C lib/asn1 der-protos.h der-private.h || return 1
	make -C lib/kadm5 kadm5-protos.h kadm5-private.h kadm5_err.h || return 1
	make -C lib/krb5 krb5-protos.h krb5-private.h krb5_err.h krb_err.h \
		heim_err.h k524_err.h || return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" exec_prefix=/usr sysconfdir=/etc \
	mandir=/usr/share/man infodir=/usr/share/info datadir=/var/lib/heimdal \
	localstatedir=/var/lib/heimdal libexecdir=/usr/sbin install

	rm "$pkgdir"/usr/lib/*.la

	install -m755 -D "$srcdir"/heimdal-kadmind.initd \
		"$pkgdir"/etc/init.d/heimdal-kadmind || return 1
	install -m755 -D "$srcdir"/heimdal-kdc.initd \
		"$pkgdir"/etc/init.d/heimdal-kdc || return 1
	install -m755 -D "$srcdir"/heimdal-kpasswdd.initd \
		"$pkgdir"/etc/init.d/heimdal-kpasswdd || return 1

	# Rename daemons and their manpages
	for i in telnetd ftpd rshd; do
		mv ${pkgdir}/usr/share/man/man8/${i}.8 ${pkgdir}/usr/share/man/man8/k${i}.8 || return 1
		mv ${pkgdir}/usr/sbin/${i} ${pkgdir}/usr/sbin/k${i} || return 1
	done

	# Rename clients and their manpages
	for i in rcp rsh telnet ftp su login; do
		if [ -f ${pkgdir}/usr/share/man/man1/${i}.1 ]; then
			mv ${pkgdir}/usr/share/man/man1/${i}.1 ${pkgdir}/usr/share/man/man1/k${i}.1 || return 1
		fi
		mv ${pkgdir}/usr/bin/${i} ${pkgdir}/usr/bin/k${i} || return 1
	done
	for i in 1 3 5 8; do
		rm -rf "$pkgdir"/usr/share/man/cat$i
	done

	# Remove conflicts 
	# e2fsprogs
	rm -f "$pkgdir"/usr/bin/compile_et \
		"$pkgdir"/usr/share/man/man1/compile_et.1
	# man-page
	rm "$pkgdir"/usr/share/man/man5/ftpusers.5*
	# openssl
	rm "$pkgdir"/usr/share/man/man3/DES*
	rm "$pkgdir"/usr/share/man/man3/DH*
	rm "$pkgdir"/usr/share/man/man3/EVP*
	rm "$pkgdir"/usr/share/man/man3/OpenSSL*
	rm "$pkgdir"/usr/share/man/man3/RAND*
	rm "$pkgdir"/usr/share/man/man3/RSA*
	# erlang
  	rm "$pkgdir"/usr/share/man/man3/os.3*

	# Compress info pages
	for page in heimdal hx509; do
		gzip -9 "$pkgdir"/usr/share/info/${page}.info
	done

	# Install the license
	install -d "$pkgdir"/usr/share/licenses/$pkgname
	install -D -m644 "$srcdir"/$pkgname-$pkgver/LICENSE \
		"$pkgdir"/usr/share/licenses/$pkgname/ || return 1
}

libs() {
	pkgdesc="Heimdal libraries"
	replaces="heimdal"
	depends="krb5-conf"
	mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/sbin
	mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ || return 1
	mv "$pkgdir"/usr/bin/string2key \
		"$pkgdir"/usr/bin/verify_krb5_conf \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/sbin/kdigest \
		"$pkgdir"/usr/sbin/digest-service \
		"$subpkgdir"/usr/sbin/ || return 1

}

ftp() {
	mkdir -p $subpkgdir/usr/bin/
	mv $pkgdir/usr/bin/kftp $subpkgdir/usr/bin/kftp
	mkdir -p $subpkgdir/usr/sbin/
	mv $pkgdir/usr/sbin/kftpd $subpkgdir/usr/sbin/kftpd
}

telnet() {
	mkdir -p $subpkgdir/usr/bin/
	mv $pkgdir/usr/bin/ktelnet $subpkgdir/usr/bin/ktelnet
	mkdir -p $subpkgdir/usr/sbin/
	mv $pkgdir/usr/sbin/ktelnetd $subpkgdir/usr/sbin/ktelnetd
}

su() {
	mkdir -p $subpkgdir/usr/bin/
	mv $pkgdir/usr/bin/ksu $subpkgdir/usr/bin/ksu
}

rsh() {
	mkdir -p $subpkgdir/usr/bin/
	mv $pkgdir/usr/bin/krsh $subpkgdir/usr/bin/krsh
	mkdir -p $subpkgdir/usr/sbin/
	mv $pkgdir/usr/sbin/krshd $subpkgdir/usr/sbin/krshd
}

rcp() {
        mkdir -p $subpkgdir/usr/bin/
	mv $pkgdir/usr/bin/krcp $subpkgdir/usr/bin/krcp
}

pagsh() {
        mkdir -p $subpkgdir/usr/bin/
        mv $pkgdir/usr/bin/pagsh $subpkgdir/usr/bin/pagsh
}

kf() {
        mkdir -p $subpkgdir/usr/bin/
        mv $pkgdir/usr/bin/kf $subpkgdir/usr/bin/kf
}

md5sums="bb23d9dbdafd395d816f7abc598481a1  heimdal-1.5.2.tar.gz
43aa0e59d7c25aca2d362e1b980a90ee  heimdal-kadmind.initd
2be6ab7b49a076e078f34913d65bcaad  heimdal-kdc.initd
f4811d443f68fe11946a031ada8ce125  heimdal-kpasswdd.initd
2feec3924ee5230b54175b4d4000c872  003_all_heimdal-rxapps.patch
45aeb207f360f9f4e9e0fabc8bfeecbc  005_all_heimdal-suid_fix.patch
8208ae8c0b6ff5ab4f64af1693e9e396  014_all_heimdal-path.patch
f320b91692b872e28f446f9cf1bc68bf  telnetd.patch
8e127440fe11380c65fda40283326a46  heimdal_missing-include.patch
a14b9001271c3b794b083c25936ebe21  heimdal_missing_symbols.patch
dbe4106d1ca938587c948ee34121c020  heimdal-1.5-use-perl-Getopt_Std.patch
53201e2a953c47a7437ce0222c4fb80d  heimdal_texinfo-5.patch"
sha256sums="22603f282f31173533b939d289f3374258aa1ccccbe51ee088d7568d321279ec  heimdal-1.5.2.tar.gz
0fb8800c421a0a129c9c23c74498a9fbaaaf89d5730b186795ce325d8fcfc294  heimdal-kadmind.initd
ad51a116ec8a7d3cab7632335e76f99732b8115d929584c5fce6f0ed5b010d64  heimdal-kdc.initd
2fa5e47a6a9cbaafa5689f1771b5aa68fd614114e7d6cc6724f003ce58cbccff  heimdal-kpasswdd.initd
b9b3204bc533c5865eb12174004bd0b1bf70397c603bd51c0e4ba6b2e9b0591d  003_all_heimdal-rxapps.patch
c83c04822f5178556b4c3b0973f56c9ede328378bc2bbbbf5e180d6798a38754  005_all_heimdal-suid_fix.patch
e9b5ca5bab430500b25ff5191d3bb2fd85133c5b4649c21cbc51f6c7d9151e5e  014_all_heimdal-path.patch
6efb369eb42dcaaf20b9d0fa267b09c3096b9a7403fb9ad5364ad588e4659a62  telnetd.patch
1ad9d71d01776e2d2dd49da5951f6f02630ce137be910ff8484968e8327837c3  heimdal_missing-include.patch
0620144d5f4c8a477276da487875e573c2bab4f5ea056c70b1eec2e13cffed58  heimdal_missing_symbols.patch
1a3d06b306fb30e5ce947d612901b2b246d2b6af3e7234c6b10c13f29c376349  heimdal-1.5-use-perl-Getopt_Std.patch
fb77b0c0dd4e5b55e65f16e2ddac99ece9bd20f505e2cef9c4d795224b6e0d86  heimdal_texinfo-5.patch"
sha512sums="a04abb6f6ad3b1d6c366d9c4e6d92f5c2ca00ae0261c7acbfb1a5782d1bab4b3c498c4fa4b114867cb7e09291cee663cf4fd5c25afca8deb425a8e5112308957  heimdal-1.5.2.tar.gz
ce48a30fea02c630e94a25214fa792d107a66f4703c81fa924467f67e909d830732e92b3433b049bd4683591276b3e13e6637b8c217577fa1964fb152342539e  heimdal-kadmind.initd
aecad5b194522d032ff56b65d878548d0f6502757f5e802f7f8616bc7686a540079f812f652b0c219c7514a04cec9e7dcaadecaa1666a325fa2f10d6f95f34bf  heimdal-kdc.initd
784c1d8d08742509b1a074d623abd8f0e2d2a862ea1b76afd34e381d60b6510e0bc97d7d53c42e670657e29187809b1f19e4562fbd4dc8abc1a738b79f94bd65  heimdal-kpasswdd.initd
cf5c785f33a7ee81f47c0a3b457deab0b65d0ccfb6eff51fd61ecc61706f515910351ed820eaba90715d4ce6ceb139cebe44bc4c0afd87dc4cdf927815090ffa  003_all_heimdal-rxapps.patch
fc0b28aa34e1df1dd2d43628f460120311bbf242e00e7a978f8663fb9168e62e97a990f1ff045c3c2c440ac4db3eea9a0c9325dd69eaf5dd053a114923868c86  005_all_heimdal-suid_fix.patch
45180ac9968491ddc1ea271a00befdf917dc48648ee38b192a849e4e878fd2845fc5ed8b8b7f09071de12661e17e570f67ad1b099e8e133422f6948270a36191  014_all_heimdal-path.patch
eb6ec2606556c004d83cc52d3537f8a42dace7992c05dc474de44b66333442b218bbdd4408ee86b65692f8d8b10e37a51efb41cefd26a3db713b471217cd6bb8  telnetd.patch
18f4a5b0c74ae11fbd8874d2954639f36d480655d978af2b2dd19a8ec2b206057ef4be5861d8daca0725926b295604daeaa895b6024b2098922cd189d3e4484b  heimdal_missing-include.patch
af3ce21d6fe2e5b8902167a556bc48c29f544da2556ef0635308bdc0f9c9538b8afe7a6f3964c4a4f1d87db09da01a2d8c777e1339c28933b758f71d786b5bf7  heimdal_missing_symbols.patch
07bfcc27dc7d15cdd282770ad1e91d0aeaecdb6f4c2463b75352550b7ec116399fca00445d800bfb6ce825e58c05ec0c81c0d3e92ffde037bf3d774b4a2f2500  heimdal-1.5-use-perl-Getopt_Std.patch
12abf4837c0daff6e51e8728dcf55752407e3616c8d657409d159119d60133a268e664a7eb1a6ad8632f17ef194933fac035c2856299ba4c4fb6053208cd1608  heimdal_texinfo-5.patch"