PKGBUILDs/core/heimdal/PKGBUILD

128 lines
4.6 KiB
Bash

# Maintainer: Krzysztof "hiciu" Warzecha <kwarzecha7@gmail.com>
#
### Attention: remove old pkg before building - it links against itself! ###
#
pkgname=heimdal
pkgver=1.2.1
pkgrel=4
pkgdesc="Implementation of Kerberos V5 libraries"
arch=('arm')
url="http://www.h5l.org/"
license=('custom')
depends=('db>=4.7' 'openssl' 'e2fsprogs' 'sqlite3')
backup=(etc/krb5.conf)
options=('!libtool' '!emptydirs')
source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz
001_all_heimdal-no_libedit.patch
002_all_heimal-fPIC.patch
003_all_heimdal-rxapps.patch
005_all_heimdal-suid_fix.patch
012_all_heimdal-berkdb.patch
013_all_heimdal-pthread-lib.patch
014_all_heimdal-path.patch
022_all_heimdal-as-needed.patch
heimdal-system_sqlite.patch
heimdal-r23235-kb5-libwind_la.patch
heimdal-r23238-kb5_locl_h-wind_h.patch
heimdal-kdc.rc
kadmind.rc
kpasswd.rc)
md5sums=('6e5028077e2a6b101a4a72801ba71b9e'
'98e28f11f906c967aac22d6184102c9e'
'6d5571bdedba2e2423b90bccdbac2c0a'
'2feec3924ee5230b54175b4d4000c872'
'45aeb207f360f9f4e9e0fabc8bfeecbc'
'56f5d10d0ec40f2fda82ef144ffac1e0'
'1b8665b771c4eb6b56ea8582c96e56e3'
'8208ae8c0b6ff5ab4f64af1693e9e396'
'd7649e078c87d2ca997080f0deb527c0'
'949a389ebe7652861b2e178a7e0f1ed9'
'072f6b2550693adb30117394b1dd354e'
'7b4537b0e8bde95214211091e55eacf5'
'e59650992b9541a30dfce727a194f6e0'
'1f2f86a67bbfddb7af581d35fdca9627'
'f8f1eca95b9d3f2b4ebf2417b71b81cf')
build() {
[ -e /usr/lib/libasn1.so ] && echo "## remove old heimdal pkg first ##" && return 1
cd ${srcdir}/heimdal-${pkgver}
patch -Np0 -i ${srcdir}/001_all_heimdal-no_libedit.patch || return 1
patch -Np0 -i ${srcdir}/002_all_heimal-fPIC.patch || return 1
patch -Np0 -i ${srcdir}/003_all_heimdal-rxapps.patch || return 1
patch -Np0 -i ${srcdir}/005_all_heimdal-suid_fix.patch || return 1
patch -Np1 -i ${srcdir}/012_all_heimdal-berkdb.patch || return 1
patch -Np1 -i ${srcdir}/013_all_heimdal-pthread-lib.patch || return 1
patch -Np0 -i ${srcdir}/014_all_heimdal-path.patch || return 1
patch -Np0 -i ${srcdir}/022_all_heimdal-as-needed.patch || return 1
patch -Np0 -i ${srcdir}/heimdal-system_sqlite.patch || return 1
patch -Np2 -i ${srcdir}/heimdal-r23235-kb5-libwind_la.patch || return 1
patch -Np2 -i ${srcdir}/heimdal-r23238-kb5_locl_h-wind_h.patch || return 1
sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in \
doc/setup.texi doc/heimdal.info kadmin/kadmind.8 kdc/kdc.8 \
lib/hdb/hdb.h lib/krb5/krb5.conf.5 lib/krb5/krb5.conf.cat5
libtoolize --force || return 1
aclocal -I cf || return 1
autoconf || return 1
automake || return 1
export LDFLAGS="${LDFLAGS} -Wl,--as-needed"
./configure --prefix=/usr --enable-shared=yes --without-x \
--sysconfdir=/etc --mandir=/usr/share/man \
--datadir=/var/lib/heimdal \
--localstatedir=/var/lib/heimdal \
--with-openssl=/usr \
--with-readline-lib=/usr/lib \
--with-readline-include=/usr/include/readline \
--libexecdir=/usr/sbin
make || return 1
make DESTDIR=${pkgdir} install || return 1
# Remove editline, we use libreadline. This library is broken anyways, so nobody misses it after removal
rm ${pkgdir}/usr/lib/libeditline.* || return 1
rm ${pkgdir}/usr/include/editline.h || return 1
rm ${pkgdir}/usr/share/man/man3/editline.* || 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
rm -rf ${pkgdir}/usr/share/man/cat{1,3,5,8}
# Arch could be a KDC too
install -d ${pkgdir}/etc/rc.d
install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc/ || return 1
for i in heimdal-kdc kadmind kpasswd; do
install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i} || return 1
done
# Remove conflicts
rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages
rm ${pkgdir}/usr/share/info/dir
rm ${pkgdir}/usr/bin/compile_et
rm ${pkgdir}/usr/lib/libcom_err*
# 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
}