]> git.ipfire.org Git - ipfire-3.x.git/blob - util-linux/util-linux.nm
pcengines-firmware: update to 4.9.0.7
[ipfire-3.x.git] / util-linux / util-linux.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = util-linux
7 version = 2.34
8 release = 2
9
10 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
11 groups = System/Base
12 url = https://github.com/karelzak/util-linux
13 license = GPLv2 and GPLv2+ and BSD with advertising and Public Domain
14 summary = A collection of basic system utilities.
15
16 description
17 The util-linux package contains a large variety of low-level system
18 utilities that are necessary for a Linux system to function. Among
19 others, Util-linux contains the fdisk configuration tool and the login
20 program.
21 end
22
23 source_dl = https://www.kernel.org/pub/linux/utils/%{name}/v%{version}/
24
25 build
26 requires
27 autoconf >= 1.16
28 automake >= 1.15
29 coreutils >= 8.19
30 gettext
31 libcap-devel
32 libcap-ng-devel
33 libudev-devel
34 ncurses-devel
35 pam-devel
36 python3-devel
37 systemd-devel >= 215
38 zlib-devel
39 end
40
41 CFLAGS += \
42 -D_LARGEFILE_SOURCE \
43 -D_LARGEFILE64_SOURCE \
44 -D_FILE_OFFSET_BITS=64
45
46 configure_options += \
47 --with-systemdsystemunitdir=%{unitdir} \
48 --disable-wall \
49 --enable-eject \
50 --enable-kill \
51 --enable-partx \
52 --enable-write \
53 --enable-runuser \
54 --enable-su \
55 --with-systemd \
56 --with-udev \
57 --disable-makeinstall-chown \
58 --disable-static \
59 --disable-rpath \
60 --with-python=3
61
62 prepare_cmds
63 sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
64 -i $(grep -rl '/etc/adjtime' .)
65 end
66
67 # Build nolodin
68 build_cmds
69 gcc %{CFLAGS} %{LDFLAGS} -o nologin %{DIR_SOURCE}/nologin.c
70 end
71
72 install_cmds
73 mkdir -pv \
74 %{BUILDROOT}/var/lib/libuuid \
75 %{BUILDROOT}/var/lib/hwclock \
76 %{BUILDROOT}/usr/share/man/man8 \
77 %{BUILDROOT}/run/uuidd \
78 %{BUILDROOT}/var/log
79
80 install -m 755 %{DIR_APP}/nologin %{BUILDROOT}%{sbindir}
81 install -m 644 %{DIR_SOURCE}/nologin.8 %{BUILDROOT}/usr/share/man/man8/
82
83 touch %{BUILDROOT}/var/log/lastlog
84
85 # Remove deprecated commands
86 rm -fv %{BUILDROOT}/{%{sbindir},usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \
87 %{BUILDROOT}{%{bindir},%{sbindir}}/{chkdupexe,newgrp,vi{gr,pw}} \
88 %{BUILDROOT}%{sbindir}/{sln,shutdown} %{BUILDROOT}%{bindir}/{line,pg}
89 rm -fv %{BUILDROOT}/usr/share/man/man1/{chkdupexe,line,pg,newgrp}.* \
90 %{BUILDROOT}/usr/share/man/man8/{vipw,vigr}.*
91 rm -fv %{BUILDROOT}/usr/share/getopt/*.tcsh
92
93 # Set capabilities
94 chmod -v -s %{BUILDROOT}%{bindir}/mount
95 setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/mount
96 chmod -v -s %{BUILDROOT}%{bindir}/umount
97 setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/umount
98
99 # su (set right capabilities)
100 chmod -v u-s %{BUILDROOT}%{bindir}/su
101 setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su
102 end
103 end
104
105 packages
106 package %{name}
107 groups += Base
108
109 requires
110 /etc/pam.d/system-auth
111 end
112
113 provides
114 eject = %{thisver}
115 /bin/dmesg
116 /bin/eject
117 /bin/kill
118 /bin/more
119 /bin/mount
120 /bin/su
121 /bin/umount
122 /sbin/blkid
123 /sbin/blockdev
124 /sbin/findfs
125 /sbin/fsck
126 /sbin/nologin
127 /sbin/runuser
128 end
129
130 obsoletes
131 util-linux-ng
132 eject <= 2.1.5
133 end
134
135 conflicts
136 filesystem < 002
137 bash-completion <= 2.1-2
138 coreutils < 8.19
139 setup < 3.0-2
140 util-linux-ng
141 sysvinit <= 2.86-6
142 end
143
144 preprequires += coreutils
145
146 script postin
147 touch /var/log/lastlog
148
149 # mtab symlink
150 rm -f /etc/mtab
151 ln -s /proc/mounts /etc/mtab
152 end
153 end
154
155 # Package information for libblkid
156 package libblkid
157 summary = Block device ID library.
158 description
159 This is the block device identification library,
160 part of util-linux.
161 end
162
163 conflicts = filesystem < 002
164
165 files
166 %{libdir}/libblkid.*
167 end
168 end
169
170 # Package information for libblkid-devel
171 package libblkid-devel
172 summary = Development library and header of libblkid.
173 description = %{summary}
174
175 requires
176 libuuid-devel
177 end
178
179 files
180 %{includedir}/blkid/
181 %{libdir}/libblkid.so
182 %{libdir}/pkgconfig/blkid.pc
183 %{mandir}/man3/*blkid*
184 end
185 end
186
187 # Package information for libuuid
188 package libuuid
189 summary = Universally unique ID library.
190 description
191 This is the universally unique ID library,
192 part of util-linux.
193 end
194
195 requires
196 uuidd=%{thisver}
197 end
198
199 conflicts = filesystem < 002
200
201 files
202 %{libdir}/libuuid.*
203 end
204 end
205
206 # Package information for libuuid-devel
207 package libuuid-devel
208 summary = Development library and header of libuuid.
209 description = %{summary}
210
211 files
212 %{includedir}/uuid/
213 %{libdir}/libuuid.so
214 %{libdir}/pkgconfig/uuid.pc
215 %{mandir}/man3/*uuid*
216 end
217 end
218
219 # Package information for libmount
220 package libmount
221 summary = Device mounting library.
222 description
223 This is the device mounting library,
224 part of util-linux.
225 end
226
227 conflicts = filesystem < 002
228
229 files
230 %{libdir}/libmount.*
231 end
232 end
233
234 # Package information for libmount-devel
235 package libmount-devel
236 summary = Development library and header of libmount.
237 description = %{summary}
238
239 requires
240 libblkid-devel = %{thisver}
241 end
242
243 files
244 %{includedir}/libmount/
245 %{libdir}/libmount.so
246 %{libdir}/pkgconfig/mount.pc
247 %{mandir}/man3/*mount*
248 end
249 end
250
251 # Package information for libsmartcols.
252 package libsmartcols
253 summary = Formatting library for ls-like programs.
254 description
255 This is a library for ls-like terminal
256 programs, part of util-linux.
257 end
258
259 files
260 %{libdir}/libsmartcols.*
261 end
262 end
263
264 # Package information for libsmartcols-devel.
265 package libsmartcols-devel
266 summary = Development library and header of libsmartcols.
267 description = %{summary}
268
269 files
270 %{includedir}/libsmartcols/*
271 %{libdir}/libsmartcols.so
272 %{libdir}/pkgconfig/smartcols.pc
273 end
274 end
275
276 # Package information for libfdisk.
277 package libfdisk
278 summary = Partitioning library for fdisk-like programs.
279 description = %{summary}
280
281 files
282 %{libdir}/libfdisk.*
283 end
284 end
285
286 # Package information for libfdisk-devel.
287 package libfidsk-devel
288 summary = Development library and headers of libfdisk.
289 description = %{summary}
290
291 files
292 %{includedir}/libfdisk/*
293 %{libdir}/libfdisk.so
294 %{libdir}/pkgconfig/fdisk.pc
295 end
296 end
297
298 package uuidd
299 summary = Helper daemon to guarantee uniqueness of time-based UUIDs.
300 description
301 The uuidd package contains a userspace daemon (uuidd) which guarantees
302 uniqueness of time-based UUID generation even at very high rates on
303 SMP systems.
304 end
305
306 groups += Base
307
308 files
309 %{sbindir}/uuidd
310 %{mandir}/man8/uuidd.8*
311 %{sharedstatedir}/libuuid
312 %{unitdir}/uuidd*
313 /run/uuidd
314 end
315
316 prerequires += shadow-utils
317
318 requires
319 systemd-libs >= 215
320 end
321
322 script prein
323 getent group uuidd >/dev/null || groupadd -r uuidd
324 getent passwd uuidd >/dev/null || \
325 useradd -r -g uuidd -d %{sharedstatedir}/libuuid -s /sbin/nologin \
326 -c "UUID generator helper daemon" uuidd
327 end
328
329 script postin
330 systemctl daemon-reload >/dev/null 2>&1 || :
331 systemctl enable uuidd.service >/dev/null 2>&1 || :
332 end
333
334 script preun
335 systemctl --no-reload disable uuidd.service >/dev/null 2>&1 || :
336 systemctl stop uuidd.service >/dev/null 2>&1 || :
337 end
338
339 script postun
340 systemctl daemon-reload >/dev/null 2>&1 || :
341 end
342
343 script postup
344 systemctl daemon-reload >/dev/null 2>&1 || :
345 systemctl try-restart uuidd.service >/dev/null 2>&1 || :
346 end
347 end
348
349 package python3-libmount
350 template PYTHON3
351 end
352
353 package %{name}-debuginfo
354 template DEBUGINFO
355 end
356 end