]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blobdiff - util-linux/util-linux.nm
ding-libs: Fix running test suite
[people/stevee/ipfire-3.x.git] / util-linux / util-linux.nm
index 681de64672fc534fea3d7d29238a792c53338e3f..4d14b857cd5884843fd6790dcd45c492f540f630 100644 (file)
@@ -4,12 +4,15 @@
 ###############################################################################
 
 name       = util-linux
-version    = 2.19
-major_ver  = 2.19
-release    = 5
+major_ver  = 2.27
+minor_ver  = 
+version    = %{major_ver}
+#version    = %{major_ver}.%{minor_ver}
+release    = 1
 
+maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Base
-url        = http://kernel.org/~kzak/util-linux/
+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.
 
@@ -25,12 +28,18 @@ source_dl  = ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{major_ver}/
 build
        requires
                audit-devel
+               automake >= 1.15
+               coreutils >= 8.19
                gettext
                libcap-devel
+               libcap-ng-devel
                libselinux-devel
                libsepol-devel
+               libudev-devel
                ncurses-devel
                pam-devel
+               python3-devel
+               systemd-devel >= 215
                zlib-devel
        end
 
@@ -40,18 +49,22 @@ build
                -D_FILE_OFFSET_BITS=64
 
        configure_options += \
-               --bindir=/bin \
-               --sbindir=/sbin \
+               --with-systemdsystemunitdir=%{unitdir} \
                --disable-wall \
+               --enable-eject \
                --enable-kill \
-               --enable-login-utils \
                --enable-partx \
                --enable-write \
-               --enable-libmount-mount \
+               --enable-runuser \
+               --enable-su \
+               --with-systemd \
                --with-selinux \
                --with-audit \
+               --with-udev \
                --disable-makeinstall-chown \
-               --disable-static
+               --disable-static \
+               --disable-rpath \
+               --with-python=3
 
        prepare_cmds
                sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
@@ -64,34 +77,35 @@ build
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/sbin \
+               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}/sbin
+               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}/{sbin,usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \
-                       %{BUILDROOT}/usr/{,s}bin/{chkdupexe,newgrp,vi{gr,pw}} \
-                       %{BUILDROOT}/sbin/{sln,shutdown} %{BUILDROOT}/bin/{line,pg}
+               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
 
-               # Create /etc/mtab symlink
-               mkdir -pv %{BUILDROOT}/etc
-               ln -svf /proc/mounts %{BUILDROOT}/etc/mtab
-       end
-end
+               # 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
 
-# This symlink is allowed to be absolute.
-quality-agent
-       whitelist_symlink
-               /etc/mtab
+               # su (set right capabilities)
+               chmod -v u-s %{BUILDROOT}%{bindir}/su
+               setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su
        end
 end
 
@@ -103,13 +117,45 @@ packages
                        /etc/pam.d/system-auth
                end
 
-               filter_requires = /proc/.*/mounts
+               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
+               obsoletes
+                       util-linux-ng
+                       eject <= 2.1.5
+               end
 
                conflicts
-                       setup<3.0-2
+                       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
 
@@ -120,9 +166,11 @@ packages
                        This is the block device identification library,
                        part of util-linux.
                end
-       
+
+               conflicts = filesystem < 002
+
                files
-                       /lib/libblkid.*
+                       %{libdir}/libblkid.*
                end
        end
 
@@ -130,12 +178,16 @@ packages
        package libblkid-devel
                summary =  Development library and header of libblkid.
                description = %{summary}
-       
+
+               requires
+                       libuuid-devel
+               end
+
                files
-                       /usr/include/blkid/
-                       /usr/lib/libblkid.*
-                       /usr/lib/pkgconfig/blkid.pc
-                       /usr/share/man/man3/*blkid*
+                       %{includedir}/blkid/
+                       %{libdir}/libblkid.so
+                       %{libdir}/pkgconfig/blkid.pc
+                       %{mandir}/man3/*blkid*
                end
        end
 
@@ -146,9 +198,15 @@ packages
                        This is the universally unique ID library,
                        part of util-linux.
                end
-       
+
+               requires
+                       uuidd=%{thisver}
+               end
+
+               conflicts = filesystem < 002
+
                files
-                       /lib/libuuid.*
+                       %{libdir}/libuuid.*
                end
        end
 
@@ -156,12 +214,12 @@ packages
        package libuuid-devel
                summary =  Development library and header of libuuid.
                description = %{summary}
-       
+
                files
-                       /usr/include/uuid/
-                       /usr/lib/libuuid.*
-                       /usr/lib/pkgconfig/uuid.pc
-                       /usr/share/man/man3/*uuid*
+                       %{includedir}/uuid/
+                       %{libdir}/libuuid.so
+                       %{libdir}/pkgconfig/uuid.pc
+                       %{mandir}/man3/*uuid*
                end
        end
 
@@ -172,9 +230,11 @@ packages
                        This is the device mounting library,
                        part of util-linux.
                end
-       
+
+               conflicts = filesystem < 002
+
                files
-                       /lib/libmount.*
+                       %{libdir}/libmount.*
                end
        end
 
@@ -182,12 +242,96 @@ packages
        package libmount-devel
                summary =  Development library and header of libmount.
                description = %{summary}
-       
+
+               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 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
-                       /usr/include/mount/
-                       /usr/lib/libmount.*
-                       /usr/lib/pkgconfig/mount.pc
-                       /usr/share/man/man3/*mount*
+                       %{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