]> git.ipfire.org Git - people/arne_f/ipfire-3.x.git/blobdiff - util-linux/util-linux.nm
util-linux: Update to 2.30.1
[people/arne_f/ipfire-3.x.git] / util-linux / util-linux.nm
index 879423317d73491872feae2c062d3840525836c0..9d4c1a4475f3f197143cd2dea0377991e593a439 100644 (file)
@@ -4,12 +4,15 @@
 ###############################################################################
 
 name       = util-linux
-version    = 2.19
-major_ver  = 2.19
-release    = 4
+major_ver  = 2.30
+minor_ver  = 1
+#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.
 
@@ -20,17 +23,20 @@ description
        program.
 end
 
-source_dl  = ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{major_ver}/
+source_dl  = https://www.kernel.org/pub/linux/utils/%{name}/v%{major_ver}/
 
 build
        requires
-               audit-devel
+               automake >= 1.15
+               coreutils >= 8.19
                gettext
                libcap-devel
-               libselinux-devel
-               libsepol-devel
+               libcap-ng-devel
+               libudev-devel
                ncurses-devel
                pam-devel
+               python3-devel
+               systemd-devel >= 215
                zlib-devel
        end
 
@@ -40,18 +46,20 @@ 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 \
-               --with-selinux \
-               --with-audit \
+               --enable-runuser \
+               --enable-su \
+               --with-systemd \
+               --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' \
@@ -60,36 +68,39 @@ build
 
        # Build nolodin
        build_cmds
-               gcc %{CFLAGS} -o nologin %{DIR_SOURCE}/nologin.c
+               gcc %{CFLAGS} %{LDFLAGS} -o nologin %{DIR_SOURCE}/nologin.c
        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/bin/chkdupexe %{BUILDROOT}/usr/bin/vi{gr,pw} \
-                       %{BUILDROOT}/sbin/{sln,shutdown} %{BUILDROOT}/bin/{line,newgrp,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
 
@@ -101,16 +112,48 @@ 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
-       
+
        # Package information for libblkid
        package libblkid
                summary =  Block device ID library.
@@ -118,25 +161,31 @@ packages
                        This is the block device identification library,
                        part of util-linux.
                end
-       
+
+               conflicts = filesystem < 002
+
                files
-                       /lib/libblkid.*
+                       %{libdir}/libblkid.*
                end
        end
-       
+
        # Package information for libblkid-devel
-       package libblikid-devel
+       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
-       
+
        # Package information for libuuid
        package libuuid
                summary =  Universally unique ID library.
@@ -144,25 +193,31 @@ 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
-       
+
        # Package information for libuuid-devel
        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
-       
+
        # Package information for libmount
        package libmount
                summary =  Device mounting library.
@@ -170,22 +225,130 @@ packages
                        This is the device mounting library,
                        part of util-linux.
                end
-       
+
+               conflicts = filesystem < 002
+
                files
-                       /lib/libmount.*
+                       %{libdir}/libmount.*
                end
        end
-       
+
        # Package information for libmount-devel
        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 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
-                       /usr/include/mount/
-                       /usr/lib/libmount.*
-                       /usr/lib/pkgconfig/mount.pc
-                       /usr/share/man/man3/*mount*
+                       %{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