blob: 7e3e6c7eab22bcafbe01620f0574e5f3336e610c (
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
# 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.37.4
case $pkgver in
*.*.*) _v=${pkgver%.*};;
*.*) _v=$pkgver;;
esac
pkgrel=0
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 AND GPL-2.0-or-later AND GPL-2.0-only AND
LGPL-2.1-or-later AND BSD-3-Clause AND BSD-4-Clause-UC AND Public-Domain"
makedepends_build="
autoconf
automake
libtool
"
makedepends_host="
libcap-ng-dev
linux-headers
ncurses-dev
zlib-dev
"
options="suid"
source="https://www.kernel.org/pub/linux/utils/util-linux/v$_v/util-linux-$pkgver.tar.xz
ttydefaults.h
rfkill.confd
rfkill.initd
"
subpackages="
$pkgname-bash-completion:bashcomp:noarch
$pkgname-dev
$pkgname-doc
$pkgname-openrc
libblkid:_mv_lib
libfdisk:_mv_lib
libmount:_mv_lib
libsmartcols:_mv_lib
libuuid:_mv_lib
blkid:_mv_bin
cfdisk:_mv_bin
findmnt:_mv_bin
flock:_mv_bin
hexdump:_mv_bin
logger:_mv_bin
lsblk:_mv_bin
mcookie:_mv_bin
partx:_mv_bin
setpriv:_mv_bin
sfdisk:_mv_bin
uuidgen:_mv_bin
wipefs:_mv_bin
"
if [ -z "$BOOTSTRAP" ]; then
makedepends_build="$makedepends_build asciidoctor"
makedepends_host="$makedepends_host linux-pam-dev python3-dev libeconf-dev"
subpackages="$subpackages py3-libmount:_py3 runuser:_mv_bin"
_bootstrap_config="--enable-runuser --with-python=3 --with-econf"
else
_bootstrap_config="--without-python --without-econf --disable-asciidoc"
fi
subpackages="$subpackages $pkgname-misc"
makedepends="$makedepends_build $makedepends_host"
# secfixes:
# 2.37.4-r0:
# - CVE-2022-0563
# 2.37.3-r0:
# - CVE-2021-3995
# - CVE-2021-3996
# 2.37.2-r0:
# - CVE-2021-37600
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 \
--disable-chfn-chsh \
--enable-raw \
--disable-uuidd \
--disable-nls \
--disable-tls \
--disable-kill \
--disable-login \
--disable-last \
--disable-sulogin \
--disable-su \
--with-vendordir=/usr/lib \
$_bootstrap_config
make
}
package() {
make -j1 DESTDIR="$pkgdir" -C "$builddir" install
# use pkg-config
install -D -m755 "$srcdir"/rfkill.initd "$pkgdir"/etc/init.d/rfkill
install -D -m644 "$srcdir"/rfkill.confd "$pkgdir"/etc/conf.d/rfkill
}
_mv_bin() {
local _bin=$subpkgname
pkgdesc="$_bin from util-linux"
depends=
install_if="$pkgname=$pkgver-r$pkgrel"
case "$_bin" in
blkid) pkgdesc="Block device identification tool from util-linux";;
cfdisk) pkgdesc="Curses based partition table manipulator from util-linux";;
findfmt) pkgdesc="findfmt from util-linux";;
flock) pkgdesc="File locker from util-linux";;
hexdump) pkgdesc="hexdump from util-linux";;
logger) pkgdesc="Logger from util-linux";;
lsblk) pkgdesc="Block device list tool from util-linux";;
mcookie) pkgdesc="mcookie tool from util-linux";;
partx) pkgdesc="partx tool from util-linux";;
runuser) pkgdesc="Run a program with substitute user and group ID";;
setpriv) pkgdesc="Run a program with different Linux privilege settings";;
sfdisk) pkgdesc="Partition table manipulator from util-linux";;
uuidgen) pkgdesc="UUID generator from util-linux";;
wipefs) pkgdesc="wipefs from util-linux";;
*);;
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
libblkid) pkgdesc="Block device identification library from util-linux";;
libfdisk) pkgdesc="Partitioning library for fdisk-like programs";;
libmount) pkgdesc="Block device identification library from util-linux";;
libsmartcols) pkgdesc="Formatting library for ls-like programs.";;
libuuid) pkgdesc="DCE compatible Universally Unique Identifier library";;
esac
mkdir -p "$subpkgdir"/lib
mv "$pkgdir"/lib/$_lib.so.* "$subpkgdir"/lib/
rmdir --ignore-fail-on-non-empty "$pkgdir"/lib
}
misc() {
pkgdesc="Misc binaries for $pkgname"
depends=
install_if="$pkgname=$pkgver-r$pkgrel"
local _path; for _path in usr/bin usr/sbin bin sbin; do
if [ -e "$pkgdir"/$_path ]; then
amove "$_path"
fi
done
# Move rev to /bin to overwrite busybox's version.
mv "$subpkgdir"/usr/bin/rev "$subpkgdir"/bin
}
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/
rmdir --ignore-fail-on-non-empty "$pkgdir"/usr/lib
}
sha512sums="
ada2629b0a8e83ea83513e04f7b1ccceb3b8ab82acd119c5d8389d1abc48c92d0b591f39fb34b1fd65db3ab630f03a672a9f3dacf1a6e4f124bdb083fc1be6d7 util-linux-2.37.4.tar.xz
876bb9041eca1b2cca1e9aac898f282db576f7860aba690a95c0ac629d7c5b2cdeccba504dda87ff55c2a10b67165985ce16ca41a0694a267507e1e0cafd46d9 ttydefaults.h
401d2ccbdbfb0ebd573ac616c1077e2c2b79ff03e9221007759d8ac25eb522c401f705abbf7daac183d5e8017982b8ec5dd0a5ebad39507c5bb0a9f31f04ee97 rfkill.confd
c4e7ba6d257496c99934add2ca532db16fb070ea2367554587c9fb4e24ab1d80b8ba3fd0fd4fdd5ef1374c3ec6414007369b292ee334ef23171d0232ef709db2 rfkill.initd
"
|