aboutsummaryrefslogtreecommitdiffstats
path: root/main/util-linux/APKBUILD
blob: 9192ddc4e08175ef2b21e917df4cd14395f18f9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=util-linux
pkgver=2.35.2

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

pkgrel=1
pkgdesc="Random collection of Linux utilities"
url="https://git.kernel.org/cgit/utils/util-linux/util-linux.git"
arch="all"
license="GPL-3.0-or-later GPL-2.0-or-later GPL-2.0-only LGPL-2.1-or-later BSD-3-Clause BSD-4-Clause-UC" # Some code is also Public Domain
depends="blkid setpriv findmnt mcookie hexdump lsblk sfdisk cfdisk"
makedepends_build="autoconf automake libtool"
makedepends_host="zlib-dev ncurses-dev linux-headers libcap-ng-dev linux-pam-dev"
options="suid"
source="https://www.kernel.org/pub/linux/utils/util-linux/v$_v/util-linux-$pkgver.tar.xz
	ttydefaults.h
	"
subpackages="$pkgname-doc $pkgname-dev $pkgname-bash-completion:bashcomp:noarch
	libblkid:_mv_lib
	libfdisk:_mv_lib
	libmount:_mv_lib
	libsmartcols:_mv_lib
	libuuid:_mv_lib

	lsblk:_mv_bin
	blkid:_mv_bin
	cfdisk:_mv_bin
	findmnt:_mv_bin
	hexdump:_mv_bin
	mcookie:_mv_bin
	setpriv:_mv_bin
	sfdisk:_mv_bin
	runuser:_mv_bin
	"
if [ -z "$BOOTSTRAP" ]; then
	makedepends_host="$makedepends_host python3-dev"
	subpackages="$subpackages py3-libmount:_py3"
else
	_bootstrap_config="--without-python"
fi
makedepends="$makedepends_build $makedepends_host"

prepare() {
	default_prepare

	cp "$srcdir"/ttydefaults.h include/
	libtoolize --force && aclocal -I m4 && autoconf \
		&& automake --add-missing
}

build() {
	# login utils are provided by shadow (with PAM) or busybox (no PAM) --nenolod
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--with-sysroot=$CBUILDROOT \
		--prefix=/usr \
		--enable-runuser \
		--disable-chfn-chsh \
		--enable-raw \
		--disable-uuidd \
		--disable-nls \
		--disable-tls \
		--disable-kill \
		--disable-login \
		--disable-last \
		--disable-sulogin \
		--disable-su \
		--with-python=3 \
		$_bootstrap_config
	make
}

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

_mv_bin() {
	local _bin=$subpkgname
	pkgdesc="$_bin from util-linux"
	depends=
	case "$_bin" in
		blkid) pkgdesc="Block device identification tool from util-linux";;
		sfdisk) pkgdesc="Partition table manipulator from util-linux";;
		cfdisk) pkgdesc="Curses based partition table manipulator from util-linux";;
		setpriv) pkgdesc="Run a program with different Linux privilege settings";;
		runuser) pkgdesc="Run a program with substitute user and group ID";;
		*);;
	esac
	local _path; for _path in usr/bin usr/sbin bin sbin; do
		if [ -e "$pkgdir"/$_path/$_bin ]; then
			mkdir -p "$subpkgdir"/$_path
			mv "$pkgdir"/$_path/$_bin "$subpkgdir"/$_path/
			return 0
		fi
	done
	return 1
}

_mv_lib() {
	local _lib="$subpkgname"
	depends=
	case "$_lib" in
		libuuid) pkgdesc="DCE compatible Universally Unique Identifier library";;
		libblkid) pkgdesc="Block device identification library from util-linux";;
		libmount) pkgdesc="Block device identification library from util-linux";;
		libsmartcols) pkgdesc="Formatting library for ls-like programs.";;
		libfdisk) pkgdesc="Partitioning library for fdisk-like programs";;
	esac
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/$_lib.so.* "$subpkgdir"/lib/
}

dev() {
	depends_dev="$depends_dev util-linux=$pkgver-r$pkgrel"
	default_dev
}

bashcomp() {
	pkgdesc="Bash completions for $pkgname"
	depends=""
	install_if="$pkgname=$pkgver-r$pkgrel bash-completion"

	mkdir -p "$subpkgdir"/usr/share/
	mv "$pkgdir"/usr/share/bash-completion \
		"$subpkgdir"/usr/share/
}

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

sha512sums="59e038ba71aa74c9af6f927b357483a965f675ab3ffcd25cf0c1b043656312d2d2d07c55659fd3da69ede165bec313e0ae7e1cd73758e49681ae610604b399a2  util-linux-2.35.2.tar.xz
876bb9041eca1b2cca1e9aac898f282db576f7860aba690a95c0ac629d7c5b2cdeccba504dda87ff55c2a10b67165985ce16ca41a0694a267507e1e0cafd46d9  ttydefaults.h"