# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=util-linux
pkgver=2.27.1

case $pkgver in
	*.*.*) _v=${pkgver%.*};;
	*.*) _v=$pkgver;;
esac

pkgrel=0
pkgdesc="Random collection of Linux utilities"
url="http://kernel.org/~kzak/util-linux/"
arch="all"
license="GPL2 GPL2+ LGPL2+ BSD Public Domain"
depends=
# use GNU sed til bb sed is fixed. Also GNU tar is needed
makedepends="zlib-dev sed ncurses-dev tar autoconf automake libtool python-dev linux-headers eudev-dev"
install=
options="suid"
source="http://www.kernel.org/pub/linux/utils/util-linux/v${_v}/util-linux-$pkgver.tar.xz
	ttydefaults.h
	"
subpackages="$pkgname-doc $pkgname-dev libuuid libblkid libmount
	libsmartcols libfdisk sfdisk cfdisk
	mcookie blkid py-libmount:_py"
replaces="e2fsprogs util-linux-ng"

_builddir="$srcdir/util-linux-$pkgver"
prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
	cp "$srcdir"/ttydefaults.h include/
	libtoolize --force && aclocal -I m4 && autoconf \
		&& automake --add-missing
}

build() {
	cd "$_builddir"

	# login utils are provided by shadow (with PAM) or busybox (no PAM) --nenolod
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-raw \
		--disable-uuidd \
		--disable-nls \
		--disable-tls \
		--disable-kill \
		--with-ncurses \
		--disable-login \
		--disable-last \
		--disable-sulogin \
		--disable-su \
		--enable-chsh \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make -j1 install DESTDIR="$pkgdir"
	# use pkg-config
}

dev() {
	default_dev
	replaces="e2fsprogs-dev util-linux-ng-dev"
}

blkid() {
	pkgdesc="block device identification tool"
	replaces="util-linux-ng"
	depends=
	mkdir -p "$subpkgdir"/sbin
	mv "$pkgdir"/sbin/blkid "$subpkgdir"/sbin/
}

libuuid() {
	pkgdesc="DCE compatible Universally Unique Identifier library"
	depends=
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/libuuid* "$subpkgdir"/lib/
}

libblkid() {
	pkgdesc="Block device identification library from util-linux"
	depends=
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/libblkid* "$subpkgdir"/lib/
}

libmount() {
	pkgdesc="Block device identification library from util-linux"
	depends=
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/libmount.so.* "$subpkgdir"/lib/
}

libsmartcols() {
	pkgdesc="Formatting library for ls-like programs."
	depends=
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/libsmartcols.so.* "$subpkgdir"/lib/
}

libfdisk() {
	pkgdesc="Partitioning library for fdisk-like programs"
	depends=
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/libfdisk.so.* "$subpkgdir"/lib/
}
sfdisk() {
	pkgdesc="Partition table manipulator from util-linux"
	depends=
	mkdir -p "$subpkgdir"/sbin
	mv "$pkgdir"/sbin/sfdisk "$subpkgdir"/sbin/
}


cfdisk() {
	pkgdesc="Curses based partition table manipulator from util-linux"
	depends=
	mkdir -p "$subpkgdir"/sbin
	mv "$pkgdir"/sbin/cfdisk "$subpkgdir"/sbin/
}

mcookie() {
	pkgdesc="mcookie from util-linux"
	replaces="util-linux-ng"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/mcookie "$subpkgdir"/usr/bin/
}

_py() {
	pkgdesc="python bindings to libmount"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
}

md5sums="3cd2698d1363a2c64091c2dadc974647  util-linux-2.27.1.tar.xz
6196f1ce853dfaf717569c1e35555d6d  ttydefaults.h"
sha256sums="0a818fcdede99aec43ffe6ca5b5388bff80d162f2f7bd4541dca94fecb87a290  util-linux-2.27.1.tar.xz
46faf1198bd884d12c5d45019a5fec8dfdefeae6721d8c9f3da89921acdb2a6d  ttydefaults.h"
sha512sums="a450a0c2d26a6deaf5e53b8f6bddf59409aefb1f0aaf07393f68a418408fbc62c5da353c8ba53c7cac8ea6e3dddfad59161753d888c31f5ccea445e81accbad8  util-linux-2.27.1.tar.xz
876bb9041eca1b2cca1e9aac898f282db576f7860aba690a95c0ac629d7c5b2cdeccba504dda87ff55c2a10b67165985ce16ca41a0694a267507e1e0cafd46d9  ttydefaults.h"