# Template file for 'util-linux'
pkgname=util-linux
version=2.31
revision=2
short_desc="Miscellaneous linux utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="https://www.kernel.org/pub/linux/utils/util-linux/"
license="GPL-2"
distfiles="${KERNEL_SITE}/utils/${pkgname}/v${version}/${pkgname}-${version}.tar.xz"
checksum=f9be7cdcf4fc5c5064a226599acdda6bdf3d86c640152ba01ea642d91108dc8a

hostmakedepends="automake gettext-devel libtool pkg-config bison"
makedepends="zlib-devel readline-devel pam-devel libcap-ng-devel"
# Create uuidd system account for uuidd.
system_accounts="uuidd"
uuidd_homedir="/run/uuidd"
conf_files="/etc/pam.d/*"
provides="eject-${version}_1 rfkill-${version}_1"
replaces="rfkill>=0"

# XXX musl needs this for switch_root(8).
CFLAGS="-D_DIRENT_HAVE_D_TYPE"

alternatives="
 logger:logger:/usr/bin/${pkgname}-logger
 logger:logger.1:/usr/share/man/man1/${pkgname}-logger.1
"

pre_configure() {
	NOCONFIGURE=1 ./autogen.sh
}
do_configure() {
	./configure ${configure_args} \
		--exec-prefix=/usr --libdir=/usr/lib \
		--bindir=/usr/bin --sbindir=/usr/bin \
		--enable-libuuid --disable-makeinstall-chown \
		--enable-libblkid --enable-fsck --disable-rpath \
		--enable-fs-paths-extra=/usr/sbin:/usr/bin \
		--enable-vipw --enable-newgrp --enable-chfn-chsh \
		--with-systemdsystemunitdir=no \
		--without-udev --without-python \
		--enable-write
}
do_build() {
	make ${makejobs}
}
do_install() {
	make usrsbin_execdir=/usr/bin DESTDIR=${DESTDIR} install

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

	mv ${DESTDIR}/usr/bin/{logger,${pkgname}-logger}
	mv ${DESTDIR}/usr/share/man/man1/{logger,${pkgname}-logger}.1
	# 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

	vsv uuidd
}

libfdisk_package() {
	short_desc="A fdisk(8) library"
	pkg_install() {
		vmove "usr/lib/libfdisk.so.*"
	}
}
libfdisk-devel_package() {
	depends="libblkid-devel-${version}_${revision} libfdisk-${version}_${revision}"
	short_desc="fdisk(8) library development files"
	pkg_install() {
		vmove usr/lib/libfdisk.a
		vmove usr/lib/libfdisk.so
		vmove "usr/lib/pkgconfig/*fdisk*"
		vmove usr/include/libfdisk
	}
}
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/uuid
		vmove usr/share/man/man3/uuid*
	}
}
libsmartcols-devel_package() {
	depends="libsmartcols>=${version}_${revision}"
	short_desc="Table or Tree library from util-linux - development files"
	pkg_install() {
		vmove usr/lib/libsmartcols.a
		vmove usr/lib/libsmartcols.so
		vmove usr/include/libsmartcols
		vmove usr/lib/pkgconfig/smartcols*
	}
}
libsmartcols_package() {
	short_desc="Table or Tree library from util-linux"
	pkg_install() {
		vmove usr/lib/libsmartcols.so.*
	}
}

