### this file is sourced not run
PKGVER=1.5.2
PKGBUILD=1
PKGARCH=x86_64

# source: BLFS 11.3
TARBALL=Linux-PAM-$PKGVER.tar.xz
MD5SUM=895e8adfa14af334f679bbeb28503f66
SRC_URL=https://github.com/linux-pam/linux-pam/releases/download/v${PKGVER}/$TARBALL
BUNDLE=

DOC_TARBALL=Linux-PAM-$PKGVER-docs.tar.xz
DOC_MD5SUM=ceb3dc248cb2f49a40904b93cb91db1b
DOC_URL=https://github.com/linux-pam/linux-pam/releases/download/v${PKGVER}/$DOC_TARBALL

SLACKREQ='libtirpc libnsl'
SLACKDESC="linux-pam: linux-pam $PKGVER (Pluggable Authetication Modules)
linux-pam: 
linux-pam: The Linux PAM package contains Pluggable Authentication Modules used 
linux-pam: by the local system administrator to control how application programs 
linux-pam: authenticate users.
linux-pam: 
linux-pam: https://github.com/linux-pam/linux-pam
linux-pam: 
linux-pam: 
linux-pam: 
linux-pam: 
"

### default pkg_download

pkg_prepare() {
	pkg_prepare_default &&
	
	TARBALL=$DOC_TARBALL SRC_URL=$DOC_URL MD5SUM=$DOC_MD5SUM &&
	pkg_check $SRC_DIR $TARBALL $MD5SUM &&
	tar -xf $SRC_DIR/$TARBALL --strip-components=1 -C tmp/Linux-PAM* &&
	true
}

### default pkg_package
### build
pkg_build() {
	cd /tmp/Linux-PAM*

	# BLFS 11.3: prevent installation of unneeded systemd file
	sed -e /service_DATA/d \
		-i modules/pam_namespace/Makefile.am &&
	autoreconf &&

	CONFFLAGS="$CONFFLAGS \
		--sbindir=/usr/sbin                  \
		--enable-securedir=/usr/$LIBDIR/security \
		--docdir=/usr/share/doc/Linux-PAM-$PKGVER \
	" &&
	pkg_build_autoconf &&
	chmod -v 4755 /usr/sbin/unix_chkpwd &&

	# BLFS: default configuration
	install -vdm755 /etc/pam.d &&
	
	cat > /etc/pam.d/system-account << "EOF" &&
# Begin /etc/pam.d/system-account

account   required    pam_unix.so

# End /etc/pam.d/system-account
EOF

	cat > /etc/pam.d/system-auth << "EOF" &&
# Begin /etc/pam.d/system-auth

auth      required    pam_unix.so

# End /etc/pam.d/system-auth
EOF

	cat > /etc/pam.d/system-session << "EOF" &&
# Begin /etc/pam.d/system-session

session   required    pam_unix.so

# End /etc/pam.d/system-session
EOF

	cat > /etc/pam.d/system-password << "EOF" &&
# Begin /etc/pam.d/system-password

# use sha512 hash for encryption, use shadow, and try to use any previously
# defined authentication token (chosen password) set by any prior module.
# Use the same number of rounds as shadow.
password  required    pam_unix.so       sha512 shadow try_first_pass \
                                        rounds=500000

# End /etc/pam.d/system-password
EOF

	# BLFS:  restrictive /etc/pam.d/other, programs that are PAM aware
	# will not run unless a configuration file specifically for that application exists.
	cat > /etc/pam.d/other << "EOF" &&
# Begin /etc/pam.d/other

auth        required        pam_warn.so
auth        required        pam_deny.so
account     required        pam_warn.so
account     required        pam_deny.so
password    required        pam_warn.so
password    required        pam_deny.so
session     required        pam_warn.so
session     required        pam_deny.so

# End /etc/pam.d/other
EOF

	pkg_build_slackdesc
}


