LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File util-linux.spec of Package util-linux (Project Base:System)

# 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
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)
BuildRequires:  systemd-rpm-macros
BuildRequires:  utempter-devel
BuildRequires:  zlib-devel
Version:        2.24.1
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-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
# PATCH-FIX-SUSE -- Make sure that plymouth does not break sulogin
Patch17:        sulogin-fooled-on-tty-line-due-plymouth.patch
# PATCH-FIX-SUSE -- sulogin: find suitable console device even if first is not usable
Patch18:        sulogin-does-not-find-any-console.patch
# PATCH-FEATURE-SLES util-linux-setarch-uname26.patch fate313476 sbrabec@suse.cz -- Support for uname26 binary.
Patch19:        util-linux-setarch-uname26.patch
# hack for boot.localfs
Patch20:        util-linux-HACK-boot.localfs.diff
# PATCH-FEATURE-SLES util-linux-ng-2.16-squashfs3-detect.patch bnc666893 mszeredi@suse.cz -- Detect squashfs version <= 3 as squashfs3 and version >= 4 as squashfs.
Patch21:        util-linux-ng-2.16-squashfs3-detect.patch
# PATCH-FEATURE-SLES util-linux-ng-2.19.1-barrier_documentation.patch bnc489740 jack@suse.cz -- Document barrier option in mount.8.
Patch23:        util-linux-ng-2.19.1-barrier_documentation.patch
# PATCH-FEATURE-SLES util-linux-lscpu-improve-hypervisor-detection.patch fate310255 puzel@novell.com -- Improve hypervisor detection.
Patch24:        util-linux-lscpu-improve-hypervisor-detection.patch
# PATH-FIX-SLES blkid-stop-scanning-on-I-O-error.patch bnc859062 hare@suse.de -- Abort blkid probing on I/O errors
Patch30:        blkid-stop-scanning-on-I-O-error.patch
# PATH-FIX-SLES lkid-convert-superblocks-to-new-calling-convention.patch bnc859062 hare@suse.de -- convert blkid probing functions to new calling sequence
Patch31:        blkid-convert-superblocks-to-new-calling-convention.patch
# PATH-FIX-UPSTREAM util-linux-libblkid-ext-probe.patch bnc864703 sbrabec@suse.cz -- libblkid: Drop the broken ext2/ext3/ext4 discrimination logic.
Patch32:        util-linux-libblkid-ext-probe.patch

## 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
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
# 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
%if %{with sysvinit_tools}
# File conflict of sulogin and utmpdump (up to 12.3 and SLE11).
Conflicts:      sysvinit-tools < 2.88+-87
# bnc#805684:
%ifarch s390x
Obsoletes:      s390-32
Provides:       s390-32
# uuid-runtime appeared in SLE11 SP1 to SLE11 SP3
Provides:       uuid-runtime = %{version}-%{release}
Obsoletes:      uuid-runtime < %{version}-%{release}
# 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

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

%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.

%if 0%{?VERIFY_SIG}
xzcat %{S:0} | %gpg_verify %{S:12} -
%setup -q -n %{name}-%{version} -b 40
%patch1 -p1
%patch2 -p1
%patch4 -p1
%patch12 -p1
%patch14 -p1
%patch15 -p0
%patch16 -p0
%patch17 -p0
%patch18 -p0
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch30 -p1
%patch31 -p1
%patch32 -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

pushd ../klogconsole
# klogconsole build
make %{?_smp_mflags} CFLAGS="%{optflags}" CC="%{__cc}"
# 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"
# 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 \
  --enable-socket-activation \
%if %{with enable_last}
  --enable-last \
  --disable-last \
  --enable-logger \
%if %{with enable_eject}
  --enable-eject \
  --disable-eject \
%if %{with sysvinit_tools}
  --enable-sulogin \
  --enable-sulogin-emergency-mount \
  --enable-mountpoint \
  --disable-sulogin \
  --disable-mountpoint \
%if %{with enable_su}
  --enable-kill \
  --enable-su \
  --disable-su \
  --disable-kill \
  --disable-use-tty-group \
  --disable-static \
  --disable-silent-rules \
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}

if ! make check; then
  echo "cat test diffs:"
  find tests/diff -type f | xargs -r cat
  #exit 1

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
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
pushd ../klogconsole
# klogconsole install
make install DEST=%{buildroot}
# util-linux install
%if %{with enable_su}
ln -s %{_bindir}/kill %{buildroot}/bin
ln -s %{_bindir}/su %{buildroot}/bin
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
install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/filesystems
install -m 755 nologin %{buildroot}/%{_sbindir}
ln -s %{_sbindir}/nologin %{buildroot}/sbin
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}
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
rm -f %{buildroot}/sbin/hwclock
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*
%ifarch ia64 %sparc m68k
rm -f %{buildroot}/%{_mandir}/man8/cfdisk.8*
rm -f %{buildroot}/%{_mandir}/man8/sfdisk.8*
rm -f %{buildroot}%{_sbindir}/cfdisk
rm -f %{buildroot}/sbin/cfdisk
rm -f %{buildroot}%{_sbindir}/sfdisk
rm -f %{buildroot}/sbin/sfdisk
%ifarch ia64 m68k
rm -f %{buildroot}%{_sbindir}/fdisk
rm -f %{buildroot}/sbin/fdisk
rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
%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}

%{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

# mount option 'code=' is now called 'codepage=' so change fstab
if [ -f etc/fstab ]; then
	sed -i 's:code=:codepage=:' etc/fstab

%install_info_delete --info-dir=%{_infodir} %{_infodir}/ipc.info.gz

%verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount
%if %{with enable_su}
%verify_permissions -e %{_bindir}/su

%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}

%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
# 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
%if %{with enable_su}
%if %{with enable_su}
%if %{with enable_eject}
%if 0%{?suse_version} <= 1310
%verify(not mode) %attr(4750,root,audio) %{_bindir}/eject
%if %{with enable_last}
%if %{with sysvinit_tools}
%ifnarch ppc ppc64
%if %{with sysvinit_tools}
%verify(not mode) %attr(0755,root,tty) %{_bindir}/wall
%verify(not mode) %attr(0755,root,tty) %{_bindir}/write
%if %{with enable_su}
%if %{with enable_eject}
%if %{with enable_last}
%if %{with sysvinit_tools}
%ifnarch ppc ppc64
%if %{with sysvinit_tools}
%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.
%ifnarch ia64 m68k
#XXX: post our patches upstream
#XXX: call fdupes on /usr/share/man
%ifnarch %sparc ia64 m68k
%ifnarch s390 s390x

%files -n libblkid1
%defattr(-, root, root)

%files -n libblkid-devel
%defattr(-, root, root)
%dir %{_includedir}/blkid

%files -n libmount1
%defattr(-, root, root)

%files -n libmount-devel
%defattr(-, root, root)
%dir %{_includedir}/libmount

%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

%files -n libuuid1
%defattr(-, root, root)

%files -n libuuid-devel
%defattr(-, root, root)
%dir %{_includedir}/uuid