aboutsummaryrefslogblamecommitdiffstats
path: root/main/heimdal/APKBUILD
blob: 7e904965985fe535e3fc8881a6ad2cecd39997a7 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                     
                                                    
               
          
        
                                         
          

                         
        
                                              

                                                                            
        

                                                                     
                                                                                



                                
                          
                      
 
 

                                    
           

                                                                                           
                       
        




                                           
 


                                                                         


                                                                              
 
                                   
 
 
         
                       
                                                   
                          

                                   

                                     
                                    


                                                               

                                                 
                        


           
                       



                                                                                

                                 




                                                                                          
                                             


                                                               
 












                                                                                                               


                                                    

                           













                                                         


                                     
                                                             


                             


                                                                  

























                                                                 

 














                                                         
                                                             



                                                                  
                                                            
                                                         
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
pkgname=heimdal
pkgver=1.4
pkgrel=9
pkgdesc="An implementation of Kerberos 5"
arch="all"
url="http://www.h5l.org/"
license="BSD"
depends=
depends_dev="openssl-dev e2fsprogs-dev db-dev"
makedepends="autoconf automake db-dev e2fsprogs-dev>=1.41.9-r2 gawk libtool 
	openssl-dev pkgconfig readline-dev sqlite-dev"
install=
subpackages="$pkgname-doc $pkgname-dev $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
001_all_heimdal-no_libedit.patch
002_all_heimdal-fPIC.patch
003_all_heimdal-rxapps.patch
005_all_heimdal-suid_fix.patch
014_all_heimdal-path.patch
heimdal-1.4-make.patch
"

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

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

	cd "$_builddir"
	
	for i in ../*.patch
	do
		msg "Applying patch $i"
		patch -p0 -i $i || return 1
	done

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

	sh ./autogen.sh || return 1
}

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

	./configure --prefix=/usr \
		--enable-shared=yes \
		--without-x \
		--with-berkeley-db \
		--with-readline-lib=/usr/lib \
		--with-readline-include=/usr/include/readline \
		--with-openssl=/usr
	# workarount a parallell build issue
	make -C lib/kadm5 kadm5_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 -m644 -D krb5.conf ${pkgdir}/etc/krb5.conf || return 1
	install -m755 -D ../../heimdal-kadmind.init ${pkgdir}/etc/init.d/heimdal-kadmind
	install -m755 -D ../../heimdal-kdc.init ${pkgdir}/etc/init.d/heimdal-kdc
	install -m755 -D ../../heimdal-kpasswdd.init ${pkgdir}/etc/init.d/heimdal-kpasswdd

	# Remove editline, we use libreadline
	#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
	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
}

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="31d08bbf47a77827fe97ef3f52b4c9c4  heimdal-1.4.tar.gz
98e28f11f906c967aac22d6184102c9e  001_all_heimdal-no_libedit.patch
6d5571bdedba2e2423b90bccdbac2c0a  002_all_heimdal-fPIC.patch
2feec3924ee5230b54175b4d4000c872  003_all_heimdal-rxapps.patch
45aeb207f360f9f4e9e0fabc8bfeecbc  005_all_heimdal-suid_fix.patch
8208ae8c0b6ff5ab4f64af1693e9e396  014_all_heimdal-path.patch
fa1753ec676029cd59a3ef24da55c144  heimdal-1.4-make.patch"