942 lines
26 KiB
RPMSpec
942 lines
26 KiB
RPMSpec
#
|
|
# spec file for package util-linux
|
|
#
|
|
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%bcond_without sysvinit_tools
|
|
%bcond_without enable_su
|
|
%bcond_without enable_eject
|
|
%bcond_with enable_last
|
|
|
|
Name: util-linux
|
|
BuildRequires: audit-devel
|
|
BuildRequires: binutils-devel
|
|
BuildRequires: fdupes
|
|
BuildRequires: gettext-devel
|
|
# Use rpmbuild -D 'VERIFY_SIG 1' to verify signature during build or run
|
|
# one-shot check by
|
|
# xzcat util-linux-*.tar.xz | \
|
|
# sh -x gpg-offline --verify --package=util-linux *.tar.sign -
|
|
%if 0%{?VERIFY_SIG}
|
|
BuildRequires: gpg-offline
|
|
%endif
|
|
BuildRequires: libselinux-devel
|
|
BuildRequires: libsepol-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: pam-devel
|
|
BuildRequires: pkg-config
|
|
BuildRequires: readline-devel
|
|
%if 0%{?suse_version} <= 1230
|
|
BuildRequires: pkgconfig(systemd)
|
|
%else
|
|
BuildRequires: systemd-rpm-macros
|
|
%endif
|
|
BuildRequires: utempter-devel
|
|
BuildRequires: zlib-devel
|
|
Version: 2.24
|
|
Release: 0
|
|
# util-linux is a base package and uuidd pre-requiring pwdutils pulls
|
|
# that into the core build cycle. pwdutils also pulls in the whole
|
|
# ldap stack into it. Avoid this whole mess which is done only to
|
|
# make the rpm install check of uuidd happy which has support to work without
|
|
# these tools as well
|
|
#!BuildIgnore: pwdutils
|
|
Url: https://www.kernel.org/pub/linux/utils/util-linux/
|
|
Supplements: filesystem(minix)
|
|
Provides: fsck-with-dev-lock = %{version}
|
|
# bnc#651598:
|
|
Provides: util-linux(fake+no-canonicalize)
|
|
PreReq: %install_info_prereq permissions
|
|
Recommends: %{name}-lang = %{version}
|
|
Summary: A collection of basic system utilities
|
|
License: GPL-2.0+
|
|
Group: System/Base
|
|
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.24/%{name}-%{version}.tar.xz
|
|
Source1: util-linux-rpmlintrc
|
|
# XXX: make nologin part of util-linux upstream
|
|
Source2: nologin.c
|
|
Source3: nologin.8
|
|
Source4: raw.init
|
|
Source5: etc.raw
|
|
Source6: etc_filesystems
|
|
Source7: baselibs.conf
|
|
Source8: login.pamd
|
|
Source9: remote.pamd
|
|
Source10: su.pamd
|
|
Source11: su.default
|
|
Source12: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.24/%{name}-%{version}.tar.sign
|
|
Source13: %{name}.keyring
|
|
# TODO: split to separate package
|
|
Source40: klogconsole.tar.bz2
|
|
# XXX: Run a program in a new session and with controlling tty
|
|
Source22: setctsid.c
|
|
Source23: setctsid.8
|
|
# XXX: ppc specific, still needed?
|
|
Source28: mkzimage_cmdline.8
|
|
Source29: mkzimage_cmdline.c
|
|
Source31: addnote.c
|
|
#
|
|
Source26: README.raw
|
|
Source30: README.largedisk
|
|
Source50: uuidd.rc
|
|
Source51: blkid.conf
|
|
##
|
|
## util-linux patches
|
|
##
|
|
# 241372 - remove legacy warnings from fdisk
|
|
Patch1: util-linux-2.24-fdisk_remove_bogus_warnings.patch
|
|
Patch2: util-linux-2.23.1-eject-fpie.patch
|
|
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
|
|
Patch4: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
|
|
# disable encryption
|
|
Patch12: util-linux-2.23.1-noenc-suse.diff
|
|
# PATCH-FIX-UPSTREAM blkdiscard-BLKSSZGET-fills-in-an-int.patch tytso@mit.edu
|
|
Patch13: blkdiscard-BLKSSZGET-fills-in-an-int.patch
|
|
# PATCH-FIX-SUSE -- better support of S390 in agetty
|
|
Patch14: tty3270-on-serial-line-of-s390.patch
|
|
# PATCH-FIX-SUSE -- Let agetty not be fooled by locked termios srtucture
|
|
Patch15: agetty-fooled-on-serial-line-due-plymouth.patch
|
|
# PATCH-FIX-SUSE -- Let agetty detect /dev/3270/tty1 as device not as baud rate
|
|
Patch16: agetty-on-s390-on-dev-3270-tty1-line.patch
|
|
|
|
# hack for boot.localfs
|
|
Patch20: util-linux-HACK-boot.localfs.diff
|
|
|
|
##
|
|
## klogconsole
|
|
##
|
|
Patch55: klogconsole-quiet.patch
|
|
Patch56: klogconsole.diff
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
PreReq: %insserv_prereq %fillup_prereq /bin/sed
|
|
#
|
|
%if %{with enable_eject}
|
|
Provides: eject = 2.1.0-166.8
|
|
%endif
|
|
Provides: login = 4.0-33.7
|
|
%if %{with enable_eject}
|
|
# File conflict of eject (up to 12.3 and SLE11).
|
|
Obsoletes: eject < 2.1.0-166.8
|
|
%endif
|
|
# File conflict of login (up to 12.1 and SLE11).
|
|
Obsoletes: login < 4.0-33.7
|
|
%if %{with enable_su}
|
|
# File conflict of su and kill (up to 12.3 and SLE11).
|
|
# It should be coreutils < 8.21-4, but coreutils provide Release-less symbol.
|
|
Conflicts: coreutils < 8.21
|
|
%endif
|
|
%if %{with sysvinit_tools}
|
|
# File conflict of sulogin and utmpdump (up to 12.3 and SLE11).
|
|
Conflicts: sysvinit-tools < 2.88+-87
|
|
%endif
|
|
#
|
|
# Using "Requires" here would lend itself to help upgrading, but since
|
|
# util-linux is in the initial bootstrap, that is not a good thing to do:
|
|
#
|
|
Recommends: adjtimex
|
|
Recommends: time
|
|
Recommends: which
|
|
|
|
%description
|
|
This package contains a large variety of low-level system utilities
|
|
that are necessary for a Linux system to function. It contains the
|
|
mount program, the fdisk configuration tool, and more.
|
|
|
|
%package -n libblkid1
|
|
Summary: Filesystem detection library
|
|
Group: System/Filesystems
|
|
|
|
%description -n libblkid1
|
|
Library for filesystem detection.
|
|
|
|
%package -n libblkid-devel
|
|
Summary: Development files for the filesystem detection library
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libblkid1 = %{version}
|
|
|
|
%description -n libblkid-devel
|
|
Files needed to develop applications using the library for filesystem
|
|
detection.
|
|
|
|
%package -n uuidd
|
|
Summary: Helper daemon to guarantee uniqueness of time-based UUIDs
|
|
Group: System/Filesystems
|
|
PreReq: %fillup_prereq
|
|
PreReq: %insserv_prereq
|
|
PreReq: permissions
|
|
PreReq: pwdutils
|
|
|
|
%description -n uuidd
|
|
The uuidd package contains a userspace daemon (uuidd) which guarantees
|
|
uniqueness of time-based UUID generation even at very high rates on
|
|
SMP systems.
|
|
|
|
%package -n libuuid1
|
|
Summary: Library to generate UUIDs
|
|
Group: System/Filesystems
|
|
|
|
%description -n libuuid1
|
|
A library to generate universally unique IDs (UUIDs).
|
|
|
|
%package -n libuuid-devel
|
|
Summary: Development files for libuuid1
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libuuid1 = %{version}
|
|
|
|
%description -n libuuid-devel
|
|
Files to develop applications using the library to generate universally
|
|
unique IDs (UUIDs).
|
|
|
|
%package -n libmount1
|
|
Summary: Device mount library
|
|
Group: System/Filesystems
|
|
|
|
%description -n libmount1
|
|
Library designed to be used in low-level utils like
|
|
mount(8) and /usr/sbin/mount.<type> helpers.
|
|
|
|
%package -n libmount-devel
|
|
Summary: Development files for libmount1
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libmount1 = %{version}
|
|
|
|
%description -n libmount-devel
|
|
Files to develop applications using the libmount library.
|
|
|
|
%lang_package
|
|
%prep
|
|
%if 0%{?VERIFY_SIG}
|
|
xzcat %{S:0} | %gpg_verify %{S:12} -
|
|
%endif
|
|
%setup -q -n %{name}-%{version} -b 40
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch4 -p1
|
|
%patch12 -p1
|
|
%patch13 -p1
|
|
%patch14 -p0
|
|
%patch15 -p0
|
|
%patch16 -p0
|
|
#
|
|
%patch20 -p1
|
|
#
|
|
# setctsid
|
|
cp -p %{S:22} %{S:23} .
|
|
# nologin
|
|
cp -p %{S:2} %{S:3} %{S:26} %{S:30} .
|
|
|
|
pushd ../klogconsole
|
|
%patch55 -p1
|
|
%patch56 -p1
|
|
popd
|
|
|
|
%build
|
|
pushd ../klogconsole
|
|
# klogconsole build
|
|
make %{?_smp_mflags} CFLAGS="%{optflags}" CC="%{__cc}"
|
|
popd
|
|
# setctsid build
|
|
rm -f setctsid
|
|
make %{?_smp_mflags} setctsid CFLAGS="%{optflags}" CC="%{__cc}"
|
|
#
|
|
# Version check for libutempter
|
|
#
|
|
uhead=$(find %_includedir -name utempter.h 2>/dev/null)
|
|
if test -n "$uhead" && grep -q utempter_add_record "$uhead"
|
|
then
|
|
uhead=--with-utempter
|
|
else
|
|
uhead=--without-utempter
|
|
fi
|
|
#
|
|
# util-linux itself
|
|
#
|
|
autoreconf -fi
|
|
export SUID_CFLAGS="-fpie"
|
|
export SUID_LDFLAGS="-pie"
|
|
# override default localstatedir to /run
|
|
# only used for volatile data
|
|
%configure \
|
|
--localstatedir=/run \
|
|
--docdir=%{_docdir}/%{name} \
|
|
--with-audit \
|
|
--with-gnu-ld \
|
|
--with-ncurses \
|
|
--with-selinux \
|
|
$uhead \
|
|
--with-systemdsystemunitdir=%_unitdir \
|
|
--with-bashcompletiondir=%{_datadir}/bash-completion \
|
|
--enable-mesg \
|
|
--enable-partx \
|
|
--enable-raw \
|
|
--enable-write \
|
|
--enable-line \
|
|
--enable-new-mount \
|
|
--enable-login-utils \
|
|
--enable-tunelp \
|
|
%if %{with enable_last}
|
|
--enable-last \
|
|
%else
|
|
--disable-last \
|
|
%endif
|
|
--enable-logger \
|
|
%if %{with enable_eject}
|
|
--enable-eject \
|
|
%else
|
|
--disable-eject \
|
|
%endif
|
|
%if %{with sysvinit_tools}
|
|
--enable-sulogin \
|
|
--enable-sulogin-emergency-mount \
|
|
--enable-mountpoint \
|
|
%else
|
|
--disable-sulogin \
|
|
--disable-mountpoint \
|
|
%endif
|
|
%if %{with enable_su}
|
|
--enable-kill \
|
|
--enable-su \
|
|
%else
|
|
--disable-su \
|
|
--disable-kill \
|
|
%endif
|
|
--disable-use-tty-group \
|
|
--disable-static \
|
|
--disable-silent-rules \
|
|
--disable-rpath
|
|
#
|
|
make %{?_smp_mflags}
|
|
#
|
|
%{__cc} -fwhole-program %{optflags} -o nologin nologin.c
|
|
%{__cc} -fwhole-program %{optflags} -o mkzimage_cmdline %{S:29}
|
|
%{__cc} -fwhole-program %{optflags} -o chrp-addnote %{SOURCE31}
|
|
|
|
%check
|
|
if ! make check; then
|
|
echo "cat test diffs:"
|
|
find tests/diff -type f | xargs -r cat
|
|
#exit 1
|
|
fi
|
|
|
|
%install
|
|
mkdir -p %{buildroot}{%{_sysconfdir}/{init.d,pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}}
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid/
|
|
mkdir -p %{buildroot}/run/uuidd/
|
|
install -m 744 %{SOURCE50} %{buildroot}%{_initddir}/uuidd
|
|
install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
|
|
install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login
|
|
install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote
|
|
%if %{with enable_su}
|
|
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su
|
|
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l
|
|
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su
|
|
%endif
|
|
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
|
|
pushd ../klogconsole
|
|
# klogconsole install
|
|
make install DEST=%{buildroot}
|
|
popd
|
|
#
|
|
# util-linux install
|
|
#
|
|
%make_install
|
|
#UsrMerge
|
|
%if %{with enable_su}
|
|
ln -s %{_bindir}/kill %{buildroot}/bin
|
|
ln -s %{_bindir}/su %{buildroot}/bin
|
|
%endif
|
|
ln -s %{_bindir}/logger %{buildroot}/bin
|
|
ln -s %{_bindir}/dmesg %{buildroot}/bin
|
|
ln -s %{_bindir}/more %{buildroot}/bin
|
|
ln -s %{_bindir}/mount %{buildroot}/bin
|
|
ln -s %{_bindir}/umount %{buildroot}/bin
|
|
ln -s %{_bindir}/findmnt %{buildroot}/bin
|
|
ln -s %{_bindir}/lsblk %{buildroot}/bin
|
|
ln -s %{_sbindir}/agetty %{buildroot}/sbin
|
|
ln -s %{_sbindir}/blockdev %{buildroot}/sbin
|
|
ln -s %{_sbindir}/cfdisk %{buildroot}/sbin
|
|
ln -s %{_sbindir}/ctrlaltdel %{buildroot}/sbin
|
|
ln -s %{_sbindir}/fdisk %{buildroot}/sbin
|
|
ln -s %{_sbindir}/fsck.minix %{buildroot}/sbin
|
|
ln -s %{_sbindir}/fsck.cramfs %{buildroot}/sbin
|
|
ln -s %{_sbindir}/hwclock %{buildroot}/sbin
|
|
ln -s %{_sbindir}/losetup %{buildroot}/sbin
|
|
ln -s %{_sbindir}/mkfs %{buildroot}/sbin
|
|
ln -s %{_sbindir}/mkfs.bfs %{buildroot}/sbin
|
|
ln -s %{_sbindir}/mkfs.minix %{buildroot}/sbin
|
|
ln -s %{_sbindir}/mkfs.cramfs %{buildroot}/sbin
|
|
ln -s %{_sbindir}/mkswap %{buildroot}/sbin
|
|
ln -s %{_sbindir}/pivot_root %{buildroot}/sbin
|
|
ln -s %{_sbindir}/raw %{buildroot}/sbin
|
|
ln -s %{_sbindir}/sfdisk %{buildroot}/sbin
|
|
ln -s %{_sbindir}/swapoff %{buildroot}/sbin
|
|
ln -s %{_sbindir}/swapon %{buildroot}/sbin
|
|
ln -s %{_sbindir}/blkid %{buildroot}/sbin
|
|
ln -s %{_sbindir}/findfs %{buildroot}/sbin
|
|
ln -s %{_sbindir}/fsck %{buildroot}/sbin
|
|
ln -s %{_sbindir}/switch_root %{buildroot}/sbin
|
|
ln -s %{_sbindir}/wipefs %{buildroot}/sbin
|
|
ln -s %{_sbindir}/fsfreeze %{buildroot}/sbin
|
|
ln -s %{_sbindir}/swaplabel %{buildroot}/sbin
|
|
ln -s %{_sbindir}/fstrim %{buildroot}/sbin
|
|
ln -s %{_sbindir}/chcpu %{buildroot}/sbin
|
|
#EndUsrMerge
|
|
install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/filesystems
|
|
install -m 755 nologin %{buildroot}/%{_sbindir}
|
|
#UsrMerge
|
|
ln -s %{_sbindir}/nologin %{buildroot}/sbin
|
|
#EndUsrMerge
|
|
rm -f %{buildroot}/%{_libdir}/libblkid.la
|
|
rm -f %{buildroot}/%{_libdir}/libuuid.la
|
|
rm -f %{buildroot}/%{_libdir}/libmount.la
|
|
%ifnarch ppc ppc64
|
|
install -m 755 mkzimage_cmdline %{buildroot}/%{_bindir}
|
|
install -m 644 %{S:28} %{buildroot}%{_mandir}/man8
|
|
install -m 755 chrp-addnote %{buildroot}/%{_bindir}
|
|
%endif
|
|
install -m 644 nologin.8 %{buildroot}%{_mandir}/man8
|
|
# setctsid install
|
|
install -m 755 setctsid %{buildroot}/%{_sbindir}
|
|
install -m 444 setctsid.8 %{buildroot}%{_mandir}/man8/
|
|
echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > %{buildroot}%{_sbindir}/flushb
|
|
chmod 755 %{buildroot}%{_sbindir}/flushb
|
|
# Install scripts to configure raw devices at boot time
|
|
install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw
|
|
install -m 755 $RPM_SOURCE_DIR/raw.init %{buildroot}%{_initddir}/raw
|
|
ln -sf ../..%{_sysconfdir}/init.d/raw %{buildroot}%{_sbindir}/rcraw
|
|
# upstream moved getopt examples from datadir to docdir but we keep
|
|
# the old location because we would need to fix the manpage first
|
|
mv %{buildroot}%{_docdir}/%{name}/getopt %{buildroot}%{_datadir}/
|
|
# Stupid hack so we don't have a tcsh dependency
|
|
chmod 644 %{buildroot}%{_datadir}/getopt/getopt*.tcsh
|
|
# Following files we don't want to package, so remove them
|
|
rm -f %{buildroot}%{_bindir}/pg
|
|
rm -f %{buildroot}%{_mandir}/man1/pg.1*
|
|
# Do not package these files to get rid of the perl dependency
|
|
rm -f %{buildroot}%{_bindir}/chkdupexe
|
|
rm -f %{buildroot}%{_mandir}/man1/chkdupexe.1
|
|
# we use this tools from pwdutils
|
|
rm -f %{buildroot}/%{_bindir}/{chfn,chsh,newgrp}
|
|
rm -f %{buildroot}/%{_sbindir}/{vigr,vipw}
|
|
rm -f %{buildroot}/%{_mandir}/man1/{chfn.1*,chsh.1*,newgrp.1*}
|
|
rm -f %{buildroot}/%{_mandir}/man8/{vigr.8*,vipw.8*}
|
|
# login is always and only in /bin
|
|
mv %{buildroot}/%{_bindir}/login %{buildroot}/bin/
|
|
# arch dependent
|
|
%ifarch s390 s390x
|
|
rm -f %{buildroot}%{_sysconfdir}/fdprm
|
|
rm -f %{buildroot}%{_bindir}/cytune
|
|
rm -f %{buildroot}%{_sbindir}/fdformat
|
|
rm -f %{buildroot}%{_sbindir}/hwclock
|
|
#UsrMerge
|
|
rm -f %{buildroot}/sbin/hwclock
|
|
#EndUsrMerge
|
|
rm -f %{buildroot}%{_sbindir}/klogconsole
|
|
rm -f %{buildroot}%{_bindir}/setterm
|
|
rm -f %{buildroot}%{_sbindir}/tunelp
|
|
rm -f %{buildroot}/%{_mandir}/man8/cytune.8*
|
|
rm -f %{buildroot}/%{_mandir}/man8/fdformat.8*
|
|
rm -f %{buildroot}/%{_mandir}/man8/hwclock.8*
|
|
rm -f %{buildroot}/%{_mandir}/man8/klogconsole.8*
|
|
rm -f %{buildroot}/%{_mandir}/man8/tunelp.8*
|
|
%endif
|
|
%ifarch ia64 %sparc m68k
|
|
rm -f %{buildroot}/%{_mandir}/man8/cfdisk.8*
|
|
rm -f %{buildroot}/%{_mandir}/man8/sfdisk.8*
|
|
rm -f %{buildroot}%{_sbindir}/cfdisk
|
|
#UsrMerge
|
|
rm -f %{buildroot}/sbin/cfdisk
|
|
#EndUsrMerge
|
|
rm -f %{buildroot}%{_sbindir}/sfdisk
|
|
#UsrMerge
|
|
rm -f %{buildroot}/sbin/sfdisk
|
|
#EndUsrMerge
|
|
%endif
|
|
%ifarch ia64 m68k
|
|
rm -f %{buildroot}%{_sbindir}/fdisk
|
|
#UsrMerge
|
|
rm -f %{buildroot}/sbin/fdisk
|
|
#EndUsrMerge
|
|
rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
|
|
%endif
|
|
%find_lang %{name} %{name}.lang
|
|
# create list of setarch(8) symlinks
|
|
find %{buildroot}%{_bindir}/ -regextype posix-egrep -type l \
|
|
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \
|
|
-printf "%{_bindir}/%f\n" >> %{name}.files
|
|
find %{buildroot}%{_mandir}/man8 -regextype posix-egrep \
|
|
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \
|
|
-printf "%{_mandir}/man8/%f*\n" >> %{name}.files
|
|
# clock.txt from uuidd is a ghost file
|
|
touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
|
|
# rcuuidd helper
|
|
ln -sf ../..%{_sysconfdir}/init.d/uuidd %{buildroot}%{_sbindir}/rcuuidd
|
|
# remove duplicate manpages
|
|
%fdupes -s %{buildroot}/%{_mandir}
|
|
|
|
%post
|
|
%{fillup_and_insserv raw}
|
|
%set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount
|
|
%if %{with enable_su}
|
|
%set_permissions %{_bindir}/su
|
|
# Safely migrate PAM files from coreutils to util-linux
|
|
# (openSUSE 12.3->13.1, SLE11->SLE12)
|
|
#
|
|
# coreutils with su were upgraded (and su removed) before util-linux
|
|
# with su was installed (see the Conflicts above). If the admin edited
|
|
# the PAM file, the seemingly no more used modified file was saved as
|
|
# .rpmsave and the new clean file was installed. As we want
|
|
# "noreplace" upgrade, and the contents of the clean file contents has
|
|
# no changes, we should restore admin modification, and rename the
|
|
# clean file to .rpmnew, as it would happen if the file was not moved
|
|
# from one package to another.
|
|
for PAM_FILE in default/su pam.d/su pam.d/su-l ; do
|
|
if test -f %{_sysconfdir}/$PAM_FILE.rpmsave ; then
|
|
mv %{_sysconfdir}/$PAM_FILE %{_sysconfdir}/$PAM_FILE.rpmnew
|
|
mv %{_sysconfdir}/$PAM_FILE.rpmsave %{_sysconfdir}/$PAM_FILE
|
|
fi
|
|
done
|
|
%endif
|
|
%if %{with enable_eject}
|
|
%set_permissions %{_bindir}/eject
|
|
%endif
|
|
|
|
# mount option 'code=' is now called 'codepage=' so change fstab
|
|
if [ -f etc/fstab ]; then
|
|
sed -i 's:code=:codepage=:' etc/fstab
|
|
fi
|
|
|
|
%postun
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ipc.info.gz
|
|
%{insserv_cleanup}
|
|
|
|
%verifyscript
|
|
%verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount
|
|
%if %{with enable_su}
|
|
%verify_permissions -e %{_bindir}/su
|
|
%endif
|
|
|
|
%post -n libblkid1 -p /sbin/ldconfig
|
|
|
|
%postun -n libblkid1 -p /sbin/ldconfig
|
|
|
|
%post -n libmount1 -p /sbin/ldconfig
|
|
|
|
%postun -n libmount1 -p /sbin/ldconfig
|
|
|
|
%pre -n uuidd
|
|
%{_sbindir}/groupadd -r uuidd 2>/dev/null || :
|
|
%{_sbindir}/useradd -r -g uuidd -c "User for uuidd" \
|
|
-d /var/run/uuidd uuidd 2>/dev/null || :
|
|
|
|
%preun -n uuidd
|
|
%{stop_on_removal uuidd}
|
|
|
|
%post -n uuidd
|
|
%{fillup_and_insserv -n uuidd}
|
|
%set_permissions %{_sbindir}/uuidd
|
|
|
|
%postun -n uuidd
|
|
%{restart_on_update uuidd}
|
|
%{insserv_cleanup}
|
|
|
|
%post -n libuuid1 -p /sbin/ldconfig
|
|
|
|
%postun -n libuuid1 -p /sbin/ldconfig
|
|
|
|
%verifyscript -n uuidd
|
|
%verify_permissions -e %{_sbindir}/uuidd
|
|
|
|
%files lang -f %{name}.lang
|
|
|
|
%files -f %{name}.files
|
|
# Common files for all archs
|
|
%defattr(-,root,root)
|
|
# util-linux documentation files
|
|
%doc Documentation/blkid.txt
|
|
%doc Documentation/cal.txt
|
|
%doc Documentation/cfdisk.txt
|
|
%doc Documentation/col.txt
|
|
%doc Documentation/deprecated.txt
|
|
%doc Documentation/fdisk.txt
|
|
%doc Documentation/getopt.txt
|
|
%doc Documentation/howto-debug.txt
|
|
%doc Documentation/hwclock.txt
|
|
%doc Documentation/modems-with-agetty.txt
|
|
%doc Documentation/mount.txt
|
|
%doc Documentation/pg.txt
|
|
%doc Documentation/sfdisk.txt
|
|
%config %attr(744,root,root) %{_sysconfdir}/init.d/raw
|
|
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw
|
|
%config(noreplace) %{_sysconfdir}/filesystems
|
|
%config(noreplace) %{_sysconfdir}/blkid.conf
|
|
%config(noreplace) %{_sysconfdir}/pam.d/login
|
|
%config(noreplace) %{_sysconfdir}/pam.d/remote
|
|
%if %{with enable_su}
|
|
%config(noreplace) %{_sysconfdir}/pam.d/su
|
|
%config(noreplace) %{_sysconfdir}/pam.d/su-l
|
|
%config(noreplace) %{_sysconfdir}/default/su
|
|
%endif
|
|
#UsrMerge
|
|
%if %{with enable_su}
|
|
/bin/kill
|
|
/bin/su
|
|
%endif
|
|
/bin/dmesg
|
|
/bin/more
|
|
/bin/mount
|
|
/bin/umount
|
|
/bin/findmnt
|
|
/bin/logger
|
|
/bin/login
|
|
/bin/lsblk
|
|
/sbin/agetty
|
|
/sbin/blockdev
|
|
/sbin/ctrlaltdel
|
|
/sbin/fsck.minix
|
|
/sbin/fsck.cramfs
|
|
/sbin/losetup
|
|
/sbin/mkfs
|
|
/sbin/mkfs.bfs
|
|
/sbin/mkfs.minix
|
|
/sbin/mkfs.cramfs
|
|
/sbin/mkswap
|
|
/sbin/nologin
|
|
/sbin/pivot_root
|
|
/sbin/raw
|
|
/sbin/swapoff
|
|
/sbin/swapon
|
|
/sbin/blkid
|
|
/sbin/findfs
|
|
/sbin/fsck
|
|
/sbin/switch_root
|
|
/sbin/wipefs
|
|
/sbin/fsfreeze
|
|
/sbin/swaplabel
|
|
/sbin/fstrim
|
|
/sbin/chcpu
|
|
#EndUsrMerge
|
|
%if %{with enable_su}
|
|
%{_bindir}/kill
|
|
%{_bindir}/su
|
|
%endif
|
|
%if %{with enable_eject}
|
|
%if 0%{?suse_version} <= 1310
|
|
%verify(not mode) %attr(4750,root,audio) %{_bindir}/eject
|
|
%else
|
|
%{_bindir}/eject
|
|
%endif
|
|
%endif
|
|
%{_bindir}/cal
|
|
%{_bindir}/chrt
|
|
%{_bindir}/col
|
|
%{_bindir}/colcrt
|
|
%{_bindir}/colrm
|
|
%{_bindir}/column
|
|
%{_bindir}/dmesg
|
|
%{_bindir}/fallocate
|
|
%{_bindir}/findmnt
|
|
%{_bindir}/flock
|
|
%{_bindir}/getopt
|
|
%{_bindir}/hexdump
|
|
%{_bindir}/ionice
|
|
%{_bindir}/ipcmk
|
|
%{_bindir}/ipcrm
|
|
%{_bindir}/ipcs
|
|
%{_bindir}/isosize
|
|
%if %{with enable_last}
|
|
%{_bindir}/last
|
|
%{_bindir}/lastb
|
|
%endif
|
|
%{_bindir}/line
|
|
%{_bindir}/logger
|
|
%{_bindir}/look
|
|
%{_bindir}/lsblk
|
|
%{_bindir}/lscpu
|
|
%{_bindir}/lslocks
|
|
%{_bindir}/mcookie
|
|
%{_bindir}/mesg
|
|
%{_bindir}/more
|
|
%{_bindir}/mount
|
|
%{_bindir}/namei
|
|
%{_bindir}/nsenter
|
|
%{_bindir}/prlimit
|
|
%{_bindir}/rename
|
|
%{_bindir}/renice
|
|
%{_bindir}/rev
|
|
%{_bindir}/script
|
|
%{_bindir}/scriptreplay
|
|
%{_bindir}/setarch
|
|
%{_bindir}/setsid
|
|
%{_bindir}/tailf
|
|
%{_bindir}/taskset
|
|
%{_bindir}/ul
|
|
%{_bindir}/umount
|
|
%{_bindir}/unshare
|
|
%if %{with sysvinit_tools}
|
|
%{_bindir}/mountpoint
|
|
%{_bindir}/utmpdump
|
|
%endif
|
|
%{_bindir}/uuidgen
|
|
%ifnarch ppc ppc64
|
|
%{_bindir}/chrp-addnote
|
|
%{_bindir}/mkzimage_cmdline
|
|
%endif
|
|
%{_bindir}/wdctl
|
|
%{_sbindir}/addpart
|
|
%{_sbindir}/agetty
|
|
%{_sbindir}/blkid
|
|
%{_sbindir}/blkdiscard
|
|
%{_sbindir}/blockdev
|
|
%{_sbindir}/chcpu
|
|
%{_sbindir}/ctrlaltdel
|
|
%{_sbindir}/delpart
|
|
%{_sbindir}/findfs
|
|
%{_sbindir}/fsck
|
|
%{_sbindir}/fsck.minix
|
|
%{_sbindir}/fsck.cramfs
|
|
%{_sbindir}/fsfreeze
|
|
%{_sbindir}/fstrim
|
|
%{_sbindir}/ldattach
|
|
%{_sbindir}/losetup
|
|
%{_sbindir}/mkfs
|
|
%{_sbindir}/mkfs.bfs
|
|
%{_sbindir}/mkfs.minix
|
|
%{_sbindir}/mkfs.cramfs
|
|
%{_sbindir}/mkswap
|
|
%{_sbindir}/nologin
|
|
%{_sbindir}/partx
|
|
%{_sbindir}/pivot_root
|
|
%{_sbindir}/raw
|
|
%{_sbindir}/rcraw
|
|
%{_sbindir}/resizepart
|
|
%{_sbindir}/rtcwake
|
|
%{_sbindir}/runuser
|
|
%{_sbindir}/setctsid
|
|
%if %{with sysvinit_tools}
|
|
%{_sbindir}/sulogin
|
|
%endif
|
|
%{_sbindir}/swaplabel
|
|
%{_sbindir}/swapoff
|
|
%{_sbindir}/swapon
|
|
%{_sbindir}/switch_root
|
|
%{_sbindir}/wipefs
|
|
%verify(not mode) %attr(0755,root,tty) %{_bindir}/wall
|
|
%{_bindir}/whereis
|
|
%verify(not mode) %attr(0755,root,tty) %{_bindir}/write
|
|
%if %{with enable_su}
|
|
%{_mandir}/man1/kill.1.gz
|
|
%{_mandir}/man1/su.1.gz
|
|
%endif
|
|
%{_mandir}/man1/cal.1.gz
|
|
%{_mandir}/man1/chrt.1.gz
|
|
%{_mandir}/man1/col.1.gz
|
|
%{_mandir}/man1/colcrt.1.gz
|
|
%{_mandir}/man1/colrm.1.gz
|
|
%{_mandir}/man1/column.1.gz
|
|
%{_mandir}/man1/dmesg.1.gz
|
|
%if %{with enable_eject}
|
|
%{_mandir}/man1/eject.1.gz
|
|
%endif
|
|
%{_mandir}/man1/fallocate.1.gz
|
|
%{_mandir}/man1/flock.1.gz
|
|
%{_mandir}/man1/getopt.1.gz
|
|
%{_mandir}/man1/hexdump.1.gz
|
|
%{_mandir}/man1/ipcrm.1.gz
|
|
%{_mandir}/man1/ipcs.1.gz
|
|
%if %{with enable_last}
|
|
%{_mandir}/man1/last.1.gz
|
|
%{_mandir}/man1/lastb.1.gz
|
|
%endif
|
|
%{_mandir}/man1/line.1.gz
|
|
%{_mandir}/man1/logger.1.gz
|
|
%{_mandir}/man1/login.1.gz
|
|
%{_mandir}/man1/look.1.gz
|
|
%{_mandir}/man1/lscpu.1.gz
|
|
%{_mandir}/man1/mcookie.1.gz
|
|
%{_mandir}/man1/mesg.1.gz
|
|
%{_mandir}/man1/more.1.gz
|
|
%{_mandir}/man1/namei.1.gz
|
|
%{_mandir}/man1/nsenter.1.gz
|
|
%{_mandir}/man1/ionice.1.gz
|
|
%{_mandir}/man1/prlimit.1.gz
|
|
%{_mandir}/man1/rename.1.gz
|
|
%{_mandir}/man1/rev.1.gz
|
|
%{_mandir}/man1/renice.1.gz
|
|
%{_mandir}/man1/setsid.1.gz
|
|
%{_mandir}/man1/script.1.gz
|
|
%{_mandir}/man1/scriptreplay.1.gz
|
|
%{_mandir}/man1/setterm.1.gz
|
|
%{_mandir}/man1/tailf.1.gz
|
|
%{_mandir}/man1/taskset.1.gz
|
|
%{_mandir}/man1/ul.1.gz
|
|
%{_mandir}/man1/unshare.1.gz
|
|
%{_mandir}/man1/wall.1.gz
|
|
%{_mandir}/man1/whereis.1.gz
|
|
%{_mandir}/man1/write.1.gz
|
|
%{_mandir}/man1/ipcmk.1.gz
|
|
%if %{with sysvinit_tools}
|
|
%{_mandir}/man1/mountpoint.1.gz
|
|
%{_mandir}/man1/utmpdump.1.gz
|
|
%endif
|
|
%{_mandir}/man1/runuser.1.gz
|
|
%{_mandir}/man1/uuidgen.1.gz
|
|
%{_mandir}/man5/fstab.5.gz
|
|
%{_mandir}/man8/addpart.8.gz
|
|
%{_mandir}/man8/agetty.8.gz
|
|
%{_mandir}/man8/blockdev.8.gz
|
|
%{_mandir}/man8/delpart.8.gz
|
|
%{_mandir}/man8/ctrlaltdel.8.gz
|
|
%{_mandir}/man8/blkid.8.gz
|
|
%{_mandir}/man8/blkdiscard.8.gz
|
|
%{_mandir}/man8/switch_root.8.gz
|
|
%{_mandir}/man8/mkfs.bfs.8.gz
|
|
%{_mandir}/man8/mkfs.minix.8.gz
|
|
%{_mandir}/man8/findfs.8.gz
|
|
%{_mandir}/man8/fsck.8.gz
|
|
%{_mandir}/man8/fsck.cramfs.8.gz
|
|
%{_mandir}/man8/fsck.minix.8.gz
|
|
%{_mandir}/man8/isosize.8.gz
|
|
%{_mandir}/man8/ldattach.8.gz
|
|
%{_mandir}/man8/losetup.8.gz
|
|
%{_mandir}/man8/lslocks.8.gz
|
|
%{_mandir}/man8/mkfs.8.gz
|
|
%{_mandir}/man8/mkfs.cramfs.8.gz
|
|
%{_mandir}/man8/mkswap.8.gz
|
|
%{_mandir}/man8/mount.8.gz
|
|
%{_mandir}/man8/nologin.8.gz
|
|
%{_mandir}/man8/findmnt.8.gz
|
|
%{_mandir}/man8/fsfreeze.8.gz
|
|
%{_mandir}/man8/swaplabel.8.gz
|
|
%{_mandir}/man8/readprofile.8.gz
|
|
%{_mandir}/man8/chcpu.8.gz
|
|
%ifnarch ppc ppc64
|
|
%{_mandir}/man8/mkzimage_cmdline.8.gz
|
|
%endif
|
|
%{_mandir}/man8/partx.8.gz
|
|
%{_mandir}/man8/pivot_root.8.gz
|
|
%{_mandir}/man8/raw.8.gz
|
|
%{_mandir}/man8/rtcwake.8.gz
|
|
%{_mandir}/man8/setarch.8.gz
|
|
%{_mandir}/man8/swapoff.8.gz
|
|
%{_mandir}/man8/swapon.8.gz
|
|
%{_mandir}/man8/umount.8.gz
|
|
%{_mandir}/man8/setctsid.8.gz
|
|
%{_mandir}/man8/wipefs.8.gz
|
|
%{_mandir}/man8/fstrim.8.gz
|
|
%{_mandir}/man8/lsblk.8.gz
|
|
%{_mandir}/man8/resizepart.8.gz
|
|
%if %{with sysvinit_tools}
|
|
%{_mandir}/man8/sulogin.8.gz
|
|
%endif
|
|
%{_mandir}/man8/wdctl.8.gz
|
|
%{_sbindir}/flushb
|
|
%{_sbindir}/readprofile
|
|
%dir %{_datadir}/getopt
|
|
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash
|
|
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh
|
|
# FIXME: Fix directory ownership.
|
|
%{_datadir}/bash-completion
|
|
%ifnarch ia64 m68k
|
|
#XXX: post our patches upstream
|
|
#XXX: call fdupes on /usr/share/man
|
|
#UsrMerge
|
|
/sbin/fdisk
|
|
#EndUsrMerge
|
|
%{_sbindir}/fdisk
|
|
%{_mandir}/man8/fdisk.8.gz
|
|
%endif
|
|
%ifnarch %sparc ia64 m68k
|
|
%{_mandir}/man8/cfdisk.8.gz
|
|
%{_mandir}/man8/sfdisk.8.gz
|
|
#UsrMerge
|
|
/sbin/cfdisk
|
|
/sbin/sfdisk
|
|
#EndUsrMerge
|
|
%{_sbindir}/cfdisk
|
|
%{_sbindir}/sfdisk
|
|
%endif
|
|
%ifnarch s390 s390x
|
|
%{_bindir}/cytune
|
|
%{_sbindir}/fdformat
|
|
#UsrMerge
|
|
/sbin/hwclock
|
|
#EndUsrMerge
|
|
%{_sbindir}/hwclock
|
|
%{_sbindir}/klogconsole
|
|
%{_bindir}/setterm
|
|
%{_sbindir}/tunelp
|
|
%{_mandir}/man8/cytune.8.gz
|
|
%{_mandir}/man8/fdformat.8.gz
|
|
%{_mandir}/man8/hwclock.8.gz
|
|
%{_mandir}/man8/klogconsole.8.gz
|
|
%{_mandir}/man8/tunelp.8.gz
|
|
%endif
|
|
|
|
%files -n libblkid1
|
|
%defattr(-, root, root)
|
|
/%{_libdir}/libblkid.so.1
|
|
/%{_libdir}/libblkid.so.1.*
|
|
|
|
%files -n libblkid-devel
|
|
%defattr(-, root, root)
|
|
%{_libdir}/libblkid.so
|
|
%dir %{_includedir}/blkid
|
|
%{_includedir}/blkid/blkid.h
|
|
%{_libdir}/pkgconfig/blkid.pc
|
|
%{_mandir}/man3/libblkid.3.gz
|
|
|
|
%files -n libmount1
|
|
%defattr(-, root, root)
|
|
/%{_libdir}/libmount.so.1
|
|
/%{_libdir}/libmount.so.1.*
|
|
|
|
%files -n libmount-devel
|
|
%defattr(-, root, root)
|
|
%{_libdir}/libmount.so
|
|
%dir %{_includedir}/libmount
|
|
%{_includedir}/libmount/libmount.h
|
|
%{_libdir}/pkgconfig/mount.pc
|
|
|
|
%files -n uuidd
|
|
%defattr(-, root, root)
|
|
%verify(not mode) %attr(0755,root,root) %{_sbindir}/uuidd
|
|
%attr(-,uuidd,uuidd) %dir %{_localstatedir}/lib/libuuid
|
|
%ghost %{_localstatedir}/lib/libuuid/clock.txt
|
|
%attr(-,uuidd,uuidd) %ghost %dir /run/uuidd
|
|
%{_initddir}/uuidd
|
|
%{_mandir}/man8/uuidd.8.gz
|
|
%{_sbindir}/rcuuidd
|
|
%{_unitdir}/uuidd.service
|
|
%{_unitdir}/uuidd.socket
|
|
|
|
%files -n libuuid1
|
|
%defattr(-, root, root)
|
|
/%{_libdir}/libuuid.so.1
|
|
/%{_libdir}/libuuid.so.1.*
|
|
|
|
%files -n libuuid-devel
|
|
%defattr(-, root, root)
|
|
%{_libdir}/libuuid.so
|
|
%dir %{_includedir}/uuid
|
|
%{_includedir}/uuid/uuid.h
|
|
%{_libdir}/pkgconfig/uuid.pc
|
|
%{_mandir}/man3/uuid*
|
|
|
|
%changelog
|