### this file is sourced not run
PKGVER=4.2.1
PKGBUILD=1

TARBALL=shadow-$PKGVER.tar.xz
MD5SUM=2bfafe7d4962682d31b5eba65dba4fc8
SRC_URL=http://distro.ibiblio.org/fatdog/source/710/clfs-packages-3.0.0.tar
BUNDLE=clfs-packages-3.0.0.tar

SLACKREQ=
SLACKDESC="shadow: shadow $PKGVER (shadow password library)  
shadow:  
shadow: The Shadow package contains programs for handling passwords in a 
shadow: secure way.  
shadow: 
shadow: 
shadow: 
shadow: 
shadow: 
shadow: 
shadow:
"


### override download for LFS sources bundle
# $1-src-dir $2-tarball 
pkg_download() {
	echo downloading $BUNDLE for $TARBALL
	wget -P $1 $SRC_URL
	tar -xf $1/$BUNDLE --strip-components=1 -C $1 
	rm $1/$BUNDLE
}

### prepare
pkg_prepare() {
	pkg_prepare_default &&
	cd tmp/shadow* &&
	patch -Np1 -i ../pkg/fix-su-tty-problem.patch
}

### default pkg_package
### build
pkg_build() {
	cd /tmp/shadow*
	
	# disable 'groups' and nologin program (will come from coreutils/util-linux)
	sed -i src/Makefile.in \
	  -e 's/groups$(EXEEXT) //' -e 's/= nologin$(EXEEXT)/= /'
	find man -name Makefile.in -exec sed -i \
	  -e 's/man1\/groups\.1 //' -e 's/man8\/nologin\.8 //' '{}' \;
	
	# use sha-512 by default, use /var/mail - this isn't compatible with busybox
	#sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
    #   -e 's@/var/spool/mail@/var/mail@' etc/login.defs

	# use sha-256 by default, use /var/mail - works with busybox
	sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA256@' \
       -e 's@/var/spool/mail@/var/mail@' etc/login.defs
    
    # build
    CC="gcc ${BUILD64}" ./configure --sysconfdir=/etc &&
    make $MAKEFLAGS &&
    make install &&
    
    # FHS
    mv -v /usr/bin/passwd /bin && # sh &&

	# Fatdog specific - we want to adjust path, and keep login/passwd/su out of reach
	# (we will use busybox versions). "su" is especially complicated because we have many
	# assumptions of how "su" works which is only valid for busybox su.
	sed -i  -e 's|^ENV_SUPATH.*|ENV_SUPATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin|' \
			-e 's|^ENV_PATH.*|ENV_PATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin|' \
			/etc/login.defs &&
    mv /bin/su{,-FULL} &&
    mv /bin/passwd{,-FULL} &&
    mv /bin/login{,-FULL} &&
    
	pkg_build_slackdesc
}
