# Template file for 'util-linux'
pkgname=util-linux
version=2.24.1
revision=2
short_desc="Miscellaneous linux utilities"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://userweb.kernel.org/~kzak/util-linux-ng"
license="GPL-2"
distfiles="${KERNEL_SITE}/utils/${pkgname}/v2.24/${pkgname}-${version}.tar.xz"
checksum=835eb6232cfab0118ef2e4fd649de0ba9f5bd1b8cbf9a7d4d84594541dec8410

hostmakedepends="pkg-config"
makedepends="zlib-devel ncurses-devel pam-devel>=1.1.6_3 libcap-ng-devel"
depends="coreutils shadow>=4.1.5.1_3"
# Create uuidd system account for uuidd.
system_accounts="uuidd"
uuidd_homedir="/run/uuidd"
systemd_services="uuidd.socket on"
conf_files="
	/etc/pam.d/chfn
	/etc/pam.d/chsh
	/etc/pam.d/su
	/etc/pam.d/su-l
	/etc/pam.d/login"
conflicts="chroot-util-linux>=0 coreutils<8.21_3 shadow<4.1.5.1_14"
replaces="util-linux-ng>=0 e2fsprogs<=1.41.14_1 eject>=0 shadow<4.1.5.1_3"
provides="eject-${version}"

if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" libtool"
	pre_configure() {
		libtoolize -f
	}
fi

do_configure() {
	./configure ${configure_args} \
		--exec-prefix=/usr --libdir=/usr/lib \
		--bindir=/usr/bin --sbindir=/usr/sbin \
		--enable-libuuid --disable-makeinstall-chown \
		--enable-libblkid --enable-fsck --disable-rpath \
		--enable-fs-paths-extra=/usr/sbin:/usr/bin \
		--disable-vipw --enable-newgrp --enable-chfn-chsh \
		--with-systemdsystemunitdir=/usr/lib/systemd/system \
		--without-udev --enable-write \
		--enable-socket-activation \
		SUID_CFLAGS="-fPIE" SUID_LDFLAGS="-pie"
}

do_build() {
	make ${makejobs}
}

do_install() {
	make DESTDIR=${DESTDIR} install

	# Correct perms for newgrp, chfn, chsh, wall and write.
	chmod u+s $DESTDIR/usr/bin/{newgrp,chsh,chfn}

	# pam login utils.
	vinstall $FILESDIR/login.pam 644 etc/pam.d login
	vinstall $FILESDIR/su.pam 644 etc/pam.d su
	vinstall $FILESDIR/su.pam 644 etc/pam.d su-l
	vinstall $FILESDIR/common.pam 644 etc/pam.d chfn
	vinstall $FILESDIR/common.pam 644 etc/pam.d chsh

	# Provide sg(1) symlink.
	ln -sfr ${DESTDIR}/usr/bin/newgrp ${DESTDIR}/usr/bin/sg
}

libmount_package() {
	short_desc="A mount(8) library"
	pkg_install() {
		vmove "usr/lib/libmount.so.*"
	}
}

libmount-devel_package() {
	depends="libblkid-devel-${version}_${revision} libmount-${version}_${revision}"
	short_desc="mount(8) library development files"
	pkg_install() {
		vmove usr/lib/libmount.a
		vmove usr/lib/libmount.so
		vmove "usr/lib/pkgconfig/*mount*"
		vmove usr/include/libmount
	}
}

libblkid_package() {
	short_desc="Library to handle device identification"
	pkg_install() {
		vmove "usr/lib/libblkid.so.*"
	}
}

libblkid-devel_package() {
	depends="zlib-devel libuuid-devel-${version}_${revision} libblkid-${version}_${revision}"
	short_desc="libblkid development files"
	pkg_install() {
		vmove usr/include/blkid
		vmove usr/lib/libblkid.a
		vmove usr/lib/libblkid.so
		vmove usr/lib/pkgconfig/blkid.pc
		vmove usr/share/man/man3/libblkid.3
	}
}

libuuid_package() {
	short_desc="UUID library"
	pkg_install() {
		vmove "usr/lib/libuuid.so.*"
	}
}

libuuid-devel_package() {
	depends="libuuid-${version}_${revision}"
	short_desc="UUID library development files"
	pkg_install() {
		vmove usr/lib/libuuid.a
		vmove usr/lib/libuuid.so
		vmove usr/lib/pkgconfig
		vmove usr/include
		vmove usr/share/man/man3
	}
}
