############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = util-linux version = 2.34 release = 2 maintainer = Stefan Schantl groups = System/Base url = https://github.com/karelzak/util-linux license = GPLv2 and GPLv2+ and BSD with advertising and Public Domain summary = A collection of basic system utilities. description The util-linux package contains a large variety of low-level system utilities that are necessary for a Linux system to function. Among others, Util-linux contains the fdisk configuration tool and the login program. end source_dl = https://www.kernel.org/pub/linux/utils/%{name}/v%{version}/ build requires autoconf >= 1.16 automake >= 1.15 coreutils >= 8.19 gettext libcap-devel libcap-ng-devel libudev-devel ncurses-devel pam-devel python3-devel systemd-devel >= 215 zlib-devel end CFLAGS += \ -D_LARGEFILE_SOURCE \ -D_LARGEFILE64_SOURCE \ -D_FILE_OFFSET_BITS=64 configure_options += \ --with-systemdsystemunitdir=%{unitdir} \ --disable-wall \ --enable-eject \ --enable-kill \ --enable-partx \ --enable-write \ --enable-runuser \ --enable-su \ --with-systemd \ --with-udev \ --disable-makeinstall-chown \ --disable-static \ --disable-rpath \ --with-python=3 prepare_cmds sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \ -i $(grep -rl '/etc/adjtime' .) end # Build nolodin build_cmds gcc %{CFLAGS} %{LDFLAGS} -o nologin %{DIR_SOURCE}/nologin.c end install_cmds mkdir -pv \ %{BUILDROOT}/var/lib/libuuid \ %{BUILDROOT}/var/lib/hwclock \ %{BUILDROOT}/usr/share/man/man8 \ %{BUILDROOT}/run/uuidd \ %{BUILDROOT}/var/log install -m 755 %{DIR_APP}/nologin %{BUILDROOT}%{sbindir} install -m 644 %{DIR_SOURCE}/nologin.8 %{BUILDROOT}/usr/share/man/man8/ touch %{BUILDROOT}/var/log/lastlog # Remove deprecated commands rm -fv %{BUILDROOT}/{%{sbindir},usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \ %{BUILDROOT}{%{bindir},%{sbindir}}/{chkdupexe,newgrp,vi{gr,pw}} \ %{BUILDROOT}%{sbindir}/{sln,shutdown} %{BUILDROOT}%{bindir}/{line,pg} rm -fv %{BUILDROOT}/usr/share/man/man1/{chkdupexe,line,pg,newgrp}.* \ %{BUILDROOT}/usr/share/man/man8/{vipw,vigr}.* rm -fv %{BUILDROOT}/usr/share/getopt/*.tcsh # Set capabilities chmod -v -s %{BUILDROOT}%{bindir}/mount setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/mount chmod -v -s %{BUILDROOT}%{bindir}/umount setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/umount # su (set right capabilities) chmod -v u-s %{BUILDROOT}%{bindir}/su setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su end end packages package %{name} groups += Base requires /etc/pam.d/system-auth end provides eject = %{thisver} /bin/dmesg /bin/eject /bin/kill /bin/more /bin/mount /bin/su /bin/umount /sbin/blkid /sbin/blockdev /sbin/findfs /sbin/fsck /sbin/nologin /sbin/runuser end obsoletes util-linux-ng eject <= 2.1.5 end conflicts filesystem < 002 bash-completion <= 2.1-2 coreutils < 8.19 setup < 3.0-2 util-linux-ng sysvinit <= 2.86-6 end preprequires += coreutils script postin touch /var/log/lastlog # mtab symlink rm -f /etc/mtab ln -s /proc/mounts /etc/mtab end end # Package information for libblkid package libblkid summary = Block device ID library. description This is the block device identification library, part of util-linux. end conflicts = filesystem < 002 files %{libdir}/libblkid.* end end # Package information for libblkid-devel package libblkid-devel summary = Development library and header of libblkid. description = %{summary} requires libuuid-devel end files %{includedir}/blkid/ %{libdir}/libblkid.so %{libdir}/pkgconfig/blkid.pc %{mandir}/man3/*blkid* end end # Package information for libuuid package libuuid summary = Universally unique ID library. description This is the universally unique ID library, part of util-linux. end requires uuidd=%{thisver} end conflicts = filesystem < 002 files %{libdir}/libuuid.* end end # Package information for libuuid-devel package libuuid-devel summary = Development library and header of libuuid. description = %{summary} files %{includedir}/uuid/ %{libdir}/libuuid.so %{libdir}/pkgconfig/uuid.pc %{mandir}/man3/*uuid* end end # Package information for libmount package libmount summary = Device mounting library. description This is the device mounting library, part of util-linux. end conflicts = filesystem < 002 files %{libdir}/libmount.* end end # Package information for libmount-devel package libmount-devel summary = Development library and header of libmount. description = %{summary} requires libblkid-devel = %{thisver} end files %{includedir}/libmount/ %{libdir}/libmount.so %{libdir}/pkgconfig/mount.pc %{mandir}/man3/*mount* end end # Package information for libsmartcols. package libsmartcols summary = Formatting library for ls-like programs. description This is a library for ls-like terminal programs, part of util-linux. end files %{libdir}/libsmartcols.* end end # Package information for libsmartcols-devel. package libsmartcols-devel summary = Development library and header of libsmartcols. description = %{summary} files %{includedir}/libsmartcols/* %{libdir}/libsmartcols.so %{libdir}/pkgconfig/smartcols.pc end end # Package information for libfdisk. package libfdisk summary = Partitioning library for fdisk-like programs. description = %{summary} files %{libdir}/libfdisk.* end end # Package information for libfdisk-devel. package libfidsk-devel summary = Development library and headers of libfdisk. description = %{summary} files %{includedir}/libfdisk/* %{libdir}/libfdisk.so %{libdir}/pkgconfig/fdisk.pc end end package uuidd summary = Helper daemon to guarantee uniqueness of time-based UUIDs. description The uuidd package contains a userspace daemon (uuidd) which guarantees uniqueness of time-based UUID generation even at very high rates on SMP systems. end groups += Base files %{sbindir}/uuidd %{mandir}/man8/uuidd.8* %{sharedstatedir}/libuuid %{unitdir}/uuidd* /run/uuidd end prerequires += shadow-utils requires systemd-libs >= 215 end script prein getent group uuidd >/dev/null || groupadd -r uuidd getent passwd uuidd >/dev/null || \ useradd -r -g uuidd -d %{sharedstatedir}/libuuid -s /sbin/nologin \ -c "UUID generator helper daemon" uuidd end script postin systemctl daemon-reload >/dev/null 2>&1 || : systemctl enable uuidd.service >/dev/null 2>&1 || : end script preun systemctl --no-reload disable uuidd.service >/dev/null 2>&1 || : systemctl stop uuidd.service >/dev/null 2>&1 || : end script postun systemctl daemon-reload >/dev/null 2>&1 || : end script postup systemctl daemon-reload >/dev/null 2>&1 || : systemctl try-restart uuidd.service >/dev/null 2>&1 || : end end package python3-libmount template PYTHON3 end package %{name}-debuginfo template DEBUGINFO end end