annotate core/util-linux/util-linux.sh @ 1218:57dc83a39b13

misc: switch back to standard FHS
author David Demelier <markand@malikania.fr>
date Thu, 30 Sep 2021 08:58:34 +0200
parents 6710613b88b9
children 337f950c30f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1115
297b5eef115e vanilla: change shebangs to /bin/sh
David Demelier <markand@malikania.fr>
parents: 1107
diff changeset
1 #!/bin/sh
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
1035
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
18 #
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
19 # User notes
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
20 # ----------
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
21 #
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
22 # This package provides both libraries and utilities. Some libraries like
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
23 # libuuid, libblkid are dependencies of other packages. Vanilla does not split
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
24 # util-linux in different packages like many distribution do.
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
25 #
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
26 # Since util-linux tools override busybox utilities, users who only want
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
27 # util-linux libraries may specify the COMPONENTS option to either "no" or a
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
28 # space-separated list of individual components to build.
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
29 #
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
30 # Example:
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
31 #
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
32 # COMPONENTS="no" (only build libraries)
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
33 # COMPONENTS="fdisk mountpoint" (will build libraries, fdisk and mountpoint)
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
34 # COMPONENTS="yes" (will build almost everything, the default)
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
35 #
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
36
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
37 PKGNAME=util-linux
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
38 PKGVERSION=2.33.1
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
39 PKGREVISION=1
1107
7791d3dbfecf vanilla: consolidate licenses and many options
David Demelier <markand@malikania.fr>
parents: 1035
diff changeset
40 PKGLICENSE="GPLv20+"
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
41 PKGSUMMARY="standard Linux utilities"
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
42 PKGDOWNLOAD="https://mirrors.edge.kernel.org/pub/linux/utils/$PKGNAME/v2.33/$PKGNAME-$PKGVERSION.tar.xz"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
43 PKGOPTIONS="AUDIT COLORS COMPONENTS NCURSES NLS PYTHON SELINUX"
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
44
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 : ${CHOST:=$(uname -m)-linux-musl}
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 : ${CBUILD:=$(uname -m)-linux-musl}
391
bdad6c7981e7 core: convert packages to clang
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
47 : ${CC:=clang}
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 : ${CFLAGS:=-O2}
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
49 : ${LDFLAGS:=}
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
50 : ${LIBS:=}
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
51 : ${AUDIT:=no}
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
52 : ${COLORS:=yes}
1035
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
53 : ${COMPONENTS:=yes}
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
54 : ${NCURSES:=yes}
129
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
55 : ${NLS:=yes}
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
56 : ${PYTHON:=yes}
1035
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
57 : ${SELINUX:=no} # TODO: add dependencies once selinux is available.
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
58
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
59 if [ "$AUDIT" = "yes" ]; then
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
60 with_audit="--with-audit"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
61 else
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
62 with_audit="--without-audit"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
63 fi
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
64
1035
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
65 case $COMPONENTS in
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
66 "yes")
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
67 with_components="--enable-all-programs"
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
68 ;;
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
69 "no")
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
70 with_components="--disable-all-programs"
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
71 ;;
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
72 *)
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
73 with_components="--disable-all-programs"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
74
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
75 for c in $COMPONENTS; do
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
76 with_components="$with_components --enable-$c"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
77 done
1035
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
78 esac
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
79
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
80 if [ "$COLORS" = "yes" ]; then
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
81 with_colors="--enable-colors-default"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
82 else
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
83 with_colors="--disable-colors-default"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
84 fi
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
129
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
86 if [ "$NLS" = "yes" ]; then
902
a133976e0783 vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents: 831
diff changeset
87 PKGDEPENDS="gettext $PKGDEPENDS"
129
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
88 with_nls="--enable-nls"
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 else
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 with_nls="--disable-nls"
129
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
91 fi
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
92
129
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
93 if [ "$PYTHON" = "yes" ]; then
902
a133976e0783 vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents: 831
diff changeset
94 PKGDEPENDS="python $PKGDEPENDS"
129
f55c9ef41a9a vanilla: multiple fixes
David Demelier <markand@malikania.fr>
parents: 83
diff changeset
95 with_python="--with-python=3"
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 else
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 with_python="--without-python"
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 fi
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
99
397
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
100 if [ "$SELINUX" = "yes" ]; then
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
101 with_selinux="--with-selinux"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
102 else
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
103 with_selinux="--without-selinux"
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
104 fi
b24a931a5da5 core/util-linux: add more options
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
105
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
106 rm -rf $PKGNAME-$PKGVERSION
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
107 tar xvf $PKGNAME-$PKGVERSION.tar.xz
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
108 cd $PKGNAME-$PKGVERSION
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
110 # All these tools are provided by shadow instead:
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
111 # --disable-chfn-chsh
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
112 # --disable-chsh
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
113 # --disable-login
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
114 # --disable-nologin
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
115 # --disable-su
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
116 # --disable-vipw
1035
885652bb25c2 core/util-linux: add more documentation
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
117
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
118 # The configure.ac script has hardcoded /sbin checks.
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
119 sed -i -e 's|/sbin|/bin|' configure.ac
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
120 autoreconf -vif
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
121 CC="$CC" \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
122 CFLAGS="$CFLAGS" \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
123 LDFLAGS="$LDFLAGS" \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
124 LIBS="$LIBS" \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
125 ./configure \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
126 --build=$CBUILD \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
127 --host=$CHOST \
1218
57dc83a39b13 misc: switch back to standard FHS
David Demelier <markand@malikania.fr>
parents: 1216
diff changeset
128 --prefix=/usr \
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
129 --bindir=/bin \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
130 --libdir=/lib \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
131 --sbindir=/bin \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
132 --disable-chfn-chsh \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
133 --disable-gtk-doc \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
134 --disable-login \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
135 --disable-nologin \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
136 --disable-su \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
137 --disable-vipw \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
138 --enable-libblkid \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
139 --enable-libmount \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
140 --enable-libsmartcols \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
141 --enable-libuuid \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
142 --enable-shared \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
143 --without-systemd \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
144 $with_audit \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
145 $with_colors \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
146 $with_components \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
147 $with_nls \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
148 $with_python \
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
149 $with_selinux
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
150 make
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
151 make install DESTDIR=$DESTDIR
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
152 find $DESTDIR -type f -name "*.la" -delete
83
5511fb992e74 core/util-linux: initial import, closes #1060
David Demelier <markand@malikania.fr>
parents:
diff changeset
153
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
154 cd ..
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
155 rm -rf $PKGNAME-$PKGVERSION