ipfire-3.x/util-linux/util-linux.nm

357 lines
7.5 KiB
Plaintext

###############################################################################
# IPFire.org - An Open Source Firewall Solution #
# Copyright (C) - IPFire Development Team <info@ipfire.org> #
###############################################################################
name = util-linux
version = 2.34
release = 2
maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
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