util-linux/util-linux.spec

1335 lines
38 KiB
RPMSpec
Raw Normal View History

#
# spec file for package util-linux
#
# Copyright (c) 2015 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
2014-08-25 12:59:47 +02:00
%bcond_without enable_su
%bcond_without enable_eject
%bcond_with enable_last
Name: util-linux
2014-08-25 12:59:47 +02:00
%define _name util-linux
# WARNING: After editing this file please call pre_checkin.sh to update spec files:
%define _name util-linux
# To prevent dependency loop in automatic build systems, we want to
# build util-linux in parts. To build all at once, set build_all to 1.
#
# build_util_linux: First stage build builds all except:
# build_util_linux_systemd: Builds util-linux-systemd and uuidd.
# build_python_libmount: Builds python-libmount.
%define build_all 0
# definitions for the main packages
# This two level indirect definition of Summary and Group is needed to
# simplify parsing of spec file by format_spec_file,
# source_validator and check-in QA scripts).
%define summary_ul A collection of basic system utilities
%define summary_uls A collection of basic system utilities
%define summary_pl Python bindings for the libmount library
%define group_ul System/Base
%define group_uls System/Base
%define group_pl System/Filesystems
2014-08-25 12:59:47 +02:00
%if "%{name}" == "python-libmount"
%define build_util_linux 0
%define build_util_linux_systemd 0
%define build_python_libmount 1
# To prevent dependency loops, verify signature only in third stage.
%define verify_sig 1
%define main_summary %summary_pl
%define main_group %group_pl
2014-08-25 12:59:47 +02:00
%else
%if "%{name}" == "util-linux-systemd"
%define build_util_linux 0
%define build_util_linux_systemd 1
%define build_python_libmount 0
%define verify_sig 0
%define main_summary %summary_uls
%define main_group %group_uls
2014-08-25 12:59:47 +02:00
%else
%define main_summary %summary_ul
%define main_group %group_ul
2014-08-25 12:59:47 +02:00
%if %build_all
%define build_util_linux 1
%define build_util_linux_systemd 1
%define build_python_libmount 1
%define verify_sig 1
%else
%define build_util_linux 1
%define build_util_linux_systemd 0
%define build_python_libmount 0
%define verify_sig 0
%endif
%endif
%endif
Summary: %main_summary
License: GPL-2.0+
Group: %main_group
BuildRequires: audit-devel
BuildRequires: bc
BuildRequires: binutils-devel
BuildRequires: fdupes
BuildRequires: gettext-devel
2014-08-25 12:59:47 +02:00
BuildRequires: libcap-ng-devel
BuildRequires: libselinux-devel
BuildRequires: libsepol-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: pkg-config
BuildRequires: readline-devel
2014-08-25 12:59:47 +02:00
BuildRequires: utempter-devel
BuildRequires: zlib-devel
%if %verify_sig
BuildRequires: gpg-offline
%endif
%if %build_util_linux_systemd
%if 0%{?suse_version} <= 1230
BuildRequires: pkgconfig(systemd)
%else
BuildRequires: systemd-rpm-macros
2014-08-25 12:59:47 +02:00
BuildRequires: pkgconfig(libsystemd-daemon)
BuildRequires: pkgconfig(libsystemd-journal)
%endif
2014-08-25 12:59:47 +02:00
%endif
%if %build_python_libmount
BuildRequires: python-devel
%endif
#BEGIN SECOND STAGE DEPENDENCIES
%if !%build_util_linux
%if %build_util_linux_systemd
BuildRequires: libblkid-devel
BuildRequires: libmount-devel
BuildRequires: libsmartcols-devel
BuildRequires: libuuid-devel
%endif
%if %build_python_libmount
BuildRequires: libmount-devel
%endif
%endif
#END SECOND STAGE DEPENDENCIES
Version: 2.25.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/
2014-08-25 12:59:47 +02:00
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.25/%{_name}-%{version}.tar.xz
Source1: util-linux-rpmlintrc
Source4: raw.init
Source5: etc.raw
Source6: etc_filesystems
Source7: baselibs.conf
Source8: login.pamd
Source9: remote.pamd
Source10: su.pamd
Source11: su.default
2014-08-25 12:59:47 +02:00
Source12: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.25/%{_name}-%{version}.tar.sign
Source13: %{_name}.keyring
Source14: runuser.pamd
# 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
#
Source51: blkid.conf
##
## util-linux patches
##
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
Patch4: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
2014-08-25 12:59:47 +02:00
# PATCH-FEATURE-SUSE -- Report about disabled encryption to stderr.
Patch12: util-linux-noenc-suse.patch
##
## klogconsole
##
Patch55: klogconsole-quiet.patch
Patch56: klogconsole.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
2014-08-25 12:59:47 +02:00
%if %build_util_linux
Supplements: filesystem(minix)
Provides: fsck-with-dev-lock = %{version}
# bnc#651598:
Provides: util-linux(fake+no-canonicalize)
PreReq: %install_info_prereq permissions
PreReq: %insserv_prereq %fillup_prereq /bin/sed
Recommends: %{name}-lang = %{version}
%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
# bnc#805684:
%ifarch s390x
Obsoletes: s390-32
Provides: s390-32
%endif
# 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
2014-08-25 12:59:47 +02:00
%else
%if %build_python_libmount
%else
%if %build_util_linux_systemd
Supplements: packageand(util-linux:systemd)
# Split-provides for upgrade from SLE < 12 and openSUSE <= 13.1
Provides: util-linux:/usr/lib/systemd/system/fstrim.service
# Service files are being migrated during the update from SLE < 12 and openSUSE <= 13.1
Conflicts: util-linux < 2.25
%systemd_requires
2014-08-25 12:59:47 +02:00
%else
# ERROR: No build_* variables are set.
%endif
%endif
%endif
2014-08-25 12:59:47 +02:00
%if %build_util_linux
%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 libblkid-devel-static
Summary: Development files for the filesystem detection library
Group: Development/Libraries/C and C++
Requires: libblkid-devel = %{version}
%description -n libblkid-devel-static
Files needed to develop applications using the library for filesystem
detection.
%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 libuuid-devel-static
Summary: Development files for libuuid1
Group: Development/Libraries/C and C++
Requires: libuuid-devel = %{version}
%description -n libuuid-devel-static
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}
%package -n libmount-devel-static
Summary: Development files for libmount1
Group: Development/Libraries/C and C++
Requires: libmount-devel = %{version}
%description -n libmount-devel-static
Files to develop applications using the libmount library.
2014-08-25 12:59:47 +02:00
%description -n libmount-devel
Files to develop applications using the libmount library.
%package -n libsmartcols1
Summary: Column-based text sort engine
Group: System/Libraries
%description -n libsmartcols1
Library to sort human readable column-based text output.
%package -n libsmartcols-devel
Summary: Development files for libsmartcols1
Group: Development/Libraries/C and C++
Requires: libsmartcols1 = %{version}
%description -n libsmartcols-devel
Files to develop applications using the libsmartcols library.
%package -n libsmartcols-devel-static
Summary: Development files for libsmartcols1
Group: Development/Libraries/C and C++
Requires: libsmartcols-devel = %{version}
%description -n libsmartcols-devel-static
Files to develop applications using the libsmartcols library.
%lang_package
2014-08-25 12:59:47 +02:00
%endif
%if %build_util_linux_systemd
%if %build_util_linux
%package systemd
Summary: %summary_uls
Group: %group_uls
2014-08-25 12:59:47 +02:00
Supplements: packageand(util-linux:systemd)
# Split-provides for upgrade from SLE < 12 and openSUSE <= 13.1
Provides: util-linux:/usr/lib/systemd/system/fstrim.service
# Service files are being migrated during the update from SLE < 12 and openSUSE <= 13.1
Conflicts: util-linux < 2.25
%description systemd
%else
%description
%endif
This package contains low-level util-linux utilities that use systemd.
%package -n uuidd
Summary: Helper daemon to guarantee uniqueness of time-based UUIDs
Group: System/Filesystems
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
2014-08-25 12:59:47 +02:00
# uuidd bash-completion moved to a correct package
Conflicts: util-linux < 2.25
%systemd_requires
2014-08-25 12:59:47 +02:00
%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.
%endif
%if %build_python_libmount
%if %build_util_linux
%package -n python-libmount
Summary: %summary_pl
Group: %group_pl
2014-08-25 12:59:47 +02:00
%description -n python-libmount
%else
%description
%endif
This package contains the python bindings for util-linux libmount
library.
%endif
%prep
2014-08-25 12:59:47 +02:00
%if %verify_sig
xzcat %{S:0} | %gpg_verify -p %{_name} %{S:12} -
Accepting request 199432 from Base:System - Avoid build require gpg-offline twice - Update to version 2.23.2: nsenter(1): * this NEW COMMAND provides command line interface to setns() Linux syscall and allows to run program with namespaces of other processes unshare(1): * supports new PID and USER namespaces fdisk(8): * provides experimental support for GUID Partition Table (GPT), the implementation is still not complete and some (unimportant) features are missing. * ~50% of fdisk code has been refactored, this task is going to be complete in the next release. The goal is to have libfdisk shared between all fdisks. partx(8): * supports new "update" command (implemented by BLKPG_RESIZE_PARTITION ioctl) mount(8): * supports new userspace mount option x-mount.mkdir[=<mode>] to create mountpoints on demand * the support for propagation flags has been improved, now the flags could be specified in /etc/fstab and used together with regular mount options. It's also possible to specify more propagation flags together. This EXPERIMENTAL feature is implemented by additional mount(2) syscalls, because Linux does not allow to use propagation flags with another options or more flags together. umount(8): * supports new command line option --recursive to recursively unmount all sub-mounts for the specified mountpoint * supports new command line option --all-targets to unmount all mountpoints in the current namespace for the specified filesystem * the options --recursive and --all-targets could be used together dmesg(1): * supports new command line options --color, --human and --nopager, the --human option enables relative times, colors and pager support. su(1): * supports new command line options --group and --supp-group to specify primary and supplementary groups chfn(1) and chsh(1): * the commands could be linked with libuser to support non-local accounts modification (e.g. LDAP, etc). kill(1): * the command has been improved to be compatible with procps version, the procps version is deprecated now, the util-linux version is enabled by default. blkdiscard(8): * this NEW COMMAND discard sectors on a device (for example on SSD disks) sulogin(8): * provides multi-console feature from SysVinit findmnt(8): * provides new columns FREQ, PASSNO, ID, OPT-FIELDS, PROPAGATION lslocks(8): * provides new column BLOCKER and detects blocked locks lsblk(8): * supports new command line option --scsi and new columns HCTL, TRANsport VENDOR and REVision swapon(8) and losetup(8): * the commands prints basic overview by default if no option specified column(1): * supports new command line option --output-separator to specify table output delimiter rename(1): * supports new command line option --symlink to rename symlink target hwclock(8): * supports new command line option --compare to periodically compare the Hardware Clock to the System Time (based on adjtimex -c) ipcs(1): * supports new command line options --bytes and --human wipefs(1): * supports new command line option --force to force erase on used devices - Removed upstreamed patches (mkfs.bfs_cleanup_64bit.patch-Patch, mkfs.bfs_cleanup_endian.patch) OBS-URL: https://build.opensuse.org/request/show/199432 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=165
2013-09-23 11:16:12 +02:00
%endif
2014-08-25 12:59:47 +02:00
%setup -q -n %{_name}-%{version} -b 40
%patch4 -p1
%patch12 -p1
#
# setctsid
cp -p %{S:22} %{S:23} .
pushd ../klogconsole
%patch55 -p1
%patch56 -p1
popd
%build
#BEGIN CONFIG ALTER
%if !%build_util_linux_systemd
# We are not building util_linux_systemd => we are not building uuidd
# But we want libuuid with support of uuidd. The default configure disables it as well.
sed -i '/^AM_CONDITIONAL.*BUILD_UUIDD/a AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])' configure.ac
%endif
#END CONFIG ALTER
2014-08-25 12:59:47 +02:00
%if %build_util_linux
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}"
#
2014-08-25 12:59:47 +02:00
#BEGIN SYSTEMD SAFETY CHECK
# With systemd, some utilities are built differently. Keep track of these
# sources to prevent building of systemd-less versions.
#
# WARNING: Never edit following line without doing all suggested in the echo below!
UTIL_LINUX_KNOWN_SYSTEMD_DEPS='./login-utils/lslogins.c ./misc-utils/logger.c ./misc-utils/uuidd.c '
UTIL_LINUX_FOUND_SYSTEMD_DEPS=$(grep -rl 'HAVE_LIBSYSTEMD' . | fgrep '.c' | LC_ALL=C sort | tr '\n' ' ')
if test "$UTIL_LINUX_KNOWN_SYSTEMD_DEPS" != "$UTIL_LINUX_FOUND_SYSTEMD_DEPS" ; then
echo "List of utilities depending on systemd have changed.
Please check the new util-linux-systemd file list, file removal and update of Conflicts for safe update!
Then update configure options to build what needed.
Only then you can safely update following spec file line:
UTIL_LINUX_KNOWN_SYSTEMD_DEPS='$UTIL_LINUX_FOUND_SYSTEMD_DEPS'"
exit 1
fi
#END SYSTEMD SAFETY CHECK
#BEGIN FIRST STAGE MODIFICATIONS
%if !%build_util_linux_systemd
sed -i 's/BUILD_LSLOGINS/FALSE/
s/BUILD_LOGGER/FALSE/
' misc-utils/Makemodule.am login-utils/Makemodule.am bash-completion/Makemodule.am
autoreconf -f -i
%endif
#END FIRST STAGE MODIFICATIONS
%else
#BEGIN SECOND STAGE MODIFICATIONS
# delete all make modules except wanted ones
sed -i '/^include/{
%if %build_python_libmount
/libmount\/Makemodule.am/b 1
%endif
%if %build_util_linux_systemd
# for lslogins
/login-utils/b 1
# for logger and uuidd
/misc-utils/b 1
# for fstrim.service and fstrim.timer
/sys-utils/b 1
# for uninstalled libcommon required by uuidd
/ lib\//b 1
# for bash completions
/bash-completion/b 1
# we always want tests (they are smart enough to skip irrelevant parts)
/tests/b 1
%endif
%if %build_python_libmount
/libmount\/python/b 1
%endif
d
:1
}' Makefile.am libmount/Makemodule.am
%if %build_python_libmount
# trick: we do not want to build libmount, but include subdirs
# We close prefious if FALSE and open new pairing with endif
sed -i '/^if BUILD_LIBMOUNT/d
/^if ENABLE_GTK_DOC/i \
if BUILD_LIBMOUNT
' libmount/Makemodule.am
# Do not install terminal-colors.d.5
sed -i '/dist_man_MANS/d' lib/Makemodule.am
%endif
# disable all make modules except wanted ones
sed -i '/^if BUILD_/{
%if %build_util_linux_systemd
/LSLOGINS/b 1
/LOGGER/b 1
/UUIDD/b 1
/BASH_COMPLETION/b 1
%endif
s/BUILD_.*/FALSE/
:1
}
' libmount/Makemodule.am misc-utils/Makemodule.am login-utils/Makemodule.am sys-utils/Makemodule.am bash-completion/Makemodule.am
%if %build_util_linux_systemd
# trick: we do not want to build fstrim, but we want to install fstrim systemd connectors
# We close prefious if FALSE and open new pairing with endif
sed -i '/^if HAVE_SYSTEMD/i \
endif\
if TRUE
' sys-utils/Makemodule.am
# Do not install terminal-colors.d.5
sed -i '/dist_man_MANS/d' lib/Makemodule.am
%endif
# Use installed first stage libraries
sed -i '
# extra space to not replace pylibmount.la
s/ libmount\.la/ -lmount/g
s/libuuid\.la/-luuid/g
s/libblkid\.la/-lblkid/g
s/libsmartcols\.la/-lsmartcols/g
' libmount/python/Makemodule.am misc-utils/Makemodule.am login-utils/Makemodule.am
# Ignore dependencies on optional (and not built in second stage) libraries
sed -i '
/AM_GNU_GETTEXT/d
s/UL_REQUIRES_BUILD(\[.*\], \[libuuid\])/dnl &/
s/UL_REQUIRES_BUILD(\[.*\], \[libsmartcols\])/dnl &/
' configure.ac
sed -i '
/SUBDIRS =/s/ po//
' Makefile.am
autoreconf -f -i
#END SECOND STAGE MODIFICATIONS
%endif
#
# util-linux itself
#
# 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
export SUID_CFLAGS="-fpie"
export SUID_LDFLAGS="-pie"
# override default localstatedir to /run
# only used for volatile data
2014-08-25 12:59:47 +02:00
#
# SUSE now supports only systemd based system. We do not build
# sysvinit-only versions of UTIL_LINUX_SYSTEMD_SOURCES utilities.
%configure \
--localstatedir=/run \
2014-08-25 12:59:47 +02:00
--docdir=%{_docdir}/%{_name} \
--with-audit \
--with-gnu-ld \
--with-ncurses \
--with-selinux \
$uhead \
--with-bashcompletiondir=%{_datadir}/bash-completion \
2014-08-25 12:59:47 +02:00
--enable-all-programs \
--disable-reset \
--disable-use-tty-group \
--disable-silent-rules \
--enable-static \
--disable-rpath \
%if %{without enable_last}
--disable-last \
%endif
2014-08-25 12:59:47 +02:00
%if %{without enable_eject}
--disable-eject \
%endif
%if %{with sysvinit_tools}
--enable-sulogin-emergency-mount \
%else
--disable-sulogin \
--disable-mountpoint \
%endif
2014-08-25 12:59:47 +02:00
%if %{without enable_su}
--disable-su \
--disable-kill \
%endif
2014-08-25 12:59:47 +02:00
%if %build_util_linux_systemd
--enable-uuidd \
--with-systemd \
--with-systemdsystemunitdir=%{_unitdir} \
%else
--disable-uuidd \
--without-systemd \
%endif
%if %build_python_libmount
--with-python \
%else
--without-python \
%endif
#
# Safety check: HAVE_UUIDD should be always 1:
grep -q 'HAVE_UUIDD 1' config.h
make %{?_smp_mflags}
#
2014-08-25 12:59:47 +02:00
%if %build_util_linux
%{__cc} -fwhole-program %{optflags} -o mkzimage_cmdline %{S:29}
%{__cc} -fwhole-program %{optflags} -o chrp-addnote %{SOURCE31}
2014-08-25 12:59:47 +02:00
%endif
%check
2014-08-25 12:59:47 +02:00
# mark some tests "known_fail"
%ifarch ppc64le
2014-08-25 12:59:47 +02:00
export TS_OPT_fdisk_bsd_known_fail="yes"
%endif
%ifarch %{ix86}
export TS_OPT_misc_setarch_known_fail="yes"
%endif
#
%if 0%{?suse_version} > 1310
# glibc requires kernel >= 3.0, thus setarch --uname-2.6 fails on platforms without VDSO
2014-08-25 12:59:47 +02:00
export TS_OPT_misc_setarch_known_fail="yes"
%endif
#
%ifarch armv6l armv6hl aarch64
export TS_OPT_fdisk_gpt_known_fail="yes"
export TS_OPT_fdisk_oddinput_known_fail="yes"
export TS_OPT_fdisk_sunlabel_known_fail="yes"
export TS_OPT_misc_ionice_known_fail="yes"
export TS_OPT_misc_swaplabel_known_fail="yes"
export TS_OPT_kill_name_to_number_known_fail="yes"
export TS_OPT_kill_print_pid_known_fail="yes"
export TS_OPT_kill_queue_known_fail="yes"
%endif
%ifarch aarch64 s390 s390x
export TS_OPT_utmpdump_known_fail="yes"
%endif
# FIXME: These sometimes fails:
export TS_OPT_libmount_lock_known_fail="yes"
# FIXME: It still fails with 3a9ec12:
2014-08-25 12:59:47 +02:00
export TS_OPT_ipcs_limits2_known_fail="yes"
#
# hacks
export PATH="$PATH:/sbin:/usr/sbin"
#
# do the check but don't abort yet
result="0"
make %{?_smp_mflags} check || result="1"
#
# always show test diffs (inclusive known_fail) and exit result
diffs_files="$(find tests/diff -type f | sort)"
echo "$diffs_files" | xargs -r cat
exit "$result"
%install
2014-08-25 12:59:47 +02:00
%if %build_util_linux
mkdir -p %{buildroot}{%{_sysconfdir}/{init.d,pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}}
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
install -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/pam.d/runuser
install -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/pam.d/runuser-l
%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
2014-08-25 12:59:47 +02:00
%endif
#
# util-linux install
#
%make_install
2014-08-25 12:59:47 +02:00
rm -f %{buildroot}%{python_sitearch}/libmount/*.*a
%if %build_util_linux
#UsrMerge
%if %{with enable_su}
ln -s %{_bindir}/kill %{buildroot}/bin
ln -s %{_bindir}/su %{buildroot}/bin
%endif
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}/nologin %{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
2014-08-25 12:59:47 +02:00
#EndUsrMerge
install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/filesystems
%ifnarch ppc ppc64
2014-08-25 12:59:47 +02:00
install -m 755 mkzimage_cmdline %{buildroot}%{_bindir}
install -m 644 %{S:28} %{buildroot}%{_mandir}/man8
2014-08-25 12:59:47 +02:00
install -m 755 chrp-addnote %{buildroot}%{_bindir}
%endif
# setctsid install
2014-08-25 12:59:47 +02:00
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
2014-08-25 12:59:47 +02:00
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
2014-08-25 12:59:47 +02:00
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
2014-08-25 12:59:47 +02:00
mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
# arch dependent
%ifarch s390 s390x
rm -f %{buildroot}%{_sysconfdir}/fdprm
rm -f %{buildroot}%{_sbindir}/fdformat
rm -f %{buildroot}%{_sbindir}/hwclock
#UsrMerge
rm -f %{buildroot}/sbin/hwclock
2014-08-25 12:59:47 +02:00
#EndUsrMerge
rm -f %{buildroot}%{_sbindir}/klogconsole
rm -f %{buildroot}%{_bindir}/setterm
rm -f %{buildroot}%{_sbindir}/tunelp
2014-08-25 12:59:47 +02:00
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
2014-08-25 12:59:47 +02:00
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
2014-08-25 12:59:47 +02:00
#EndUsrMerge
rm -f %{buildroot}%{_sbindir}/sfdisk
#UsrMerge
rm -f %{buildroot}/sbin/sfdisk
2014-08-25 12:59:47 +02:00
#EndUsrMerge
Accepting request 244468 from home:sbrabec:branches:Base:System This update needs a special care: 1) After first successful build on all platforms, "osc meta prjconf Base:System" must include: %if 0%{?suse_version} > 1310 Preinstall: libsmartcols1 %endif 2) You also need to make symlinks to util-linux-systemd and python-libmount. And finally, this package is intended only for > 1310 (i. e. Factory). 3) The spec file can have problems with (buggy) Factory check-in check: ERROR: python-libmount: group for main package not set There is false error and I have no work-around for this just now. (If you want, please ping me (by mail) after package review, and I'll do all needed changes.) - Update to version 2.25 (using work of Ruediger Meier <sweet_f_a@gmx.de>): * based on the git master branch of util-linux * many fixes (including bnc#869355, bnc#871951 and bnc#871698#c49) * new Python binding sub-package for libmount: python-libmount * new library: libsmartcols * new commands: lslogins, setpriv * add fstrim systemd timer * better systemd integration * DROPPED command: * cytune: Upstream decided to remove tool untested for years that supports this old hardware. - Dropped patches included in the upstream: (*git) Included with no changes (+git) Included with improvements (!git) Included with differences * support-other-tty-lines-not-vconsole.patch (*b9c7390) * agetty-fooled-on-serial-line-due-plymouth.patch, * sulogin-fooled-on-tty-line-due-plymouth.patch (*bb280f7) * agetty-on-s390-on-dev-3270-tty1-line.patch (*f2bcda5) * sulogin-does-not-find-any-console.patch (*624b204) * util-linux-setarch-uname26.patch (*f6eb160) * util-linux-ng-2.16-squashfs3-detect.patch (*11402f5) * util-linux-lscpu-improve-hypervisor-detection.patch (!b774473, b32488c, 5bd31c6, 0f0c558, 96ce475) WARNING, INCOMPATIBLE CHANGE: "lscpu -p" no more reports hypervisor, as it breaks standard behavior. Use standard output instead! (FATE#310255) * blkid-stop-scanning-on-I-O-error.patch (+296d96e) * blkid-convert-superblocks-to-new-calling-convention.patch (+37f4060) * util-linux-libblkid-ext-probe.patch (*a1ca32f) * util-linux-hwclock-drift-check.patch (*f196fd1) * util-linux-hwclock-adjtime-check.patch (*db8fc5f) - Dropped obsolete patch: * util-linux-2.23.1-eject-fpie.patch (eject is no more SUID) * util-linux-2.24-fdisk_remove_bogus_warnings.patch (upstream fixed it in a different way) * util-linux-HACK-boot.localfs.diff (MOUNT_PRINT_SOURCE is no more referenced) - Ported and renamed: * util-linux-2.23.1-noenc-suse.diff -> util-linux-noenc-suse.patch - Split spec file to three stages: * util-linux.spec: Everything that do not need python or systemd. * util-linux-systemd.spec: Stuff that needs systemd: util-linux-systemd and uuidd NOTE: Not building systemd-less variants of utilities. * python-libmount.spec: Just python-libmount - Move bash-completion files to correct packages. - Add patch util-linux-bash-completion-blockdev.patch. - Add hacks to prevent damaging of spec files by format_spec_file (bnc#891152, also edited util-linux-rpmlintrc). - use nologin from upstream (was added in 2.24) OBS-URL: https://build.opensuse.org/request/show/244468 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=248
2014-08-21 11:54:57 +02:00
%endif
%ifarch ia64 m68k
rm -f %{buildroot}%{_sbindir}/fdisk
#UsrMerge
rm -f %{buildroot}/sbin/fdisk
#EndUsrMerge
rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
Accepting request 244468 from home:sbrabec:branches:Base:System This update needs a special care: 1) After first successful build on all platforms, "osc meta prjconf Base:System" must include: %if 0%{?suse_version} > 1310 Preinstall: libsmartcols1 %endif 2) You also need to make symlinks to util-linux-systemd and python-libmount. And finally, this package is intended only for > 1310 (i. e. Factory). 3) The spec file can have problems with (buggy) Factory check-in check: ERROR: python-libmount: group for main package not set There is false error and I have no work-around for this just now. (If you want, please ping me (by mail) after package review, and I'll do all needed changes.) - Update to version 2.25 (using work of Ruediger Meier <sweet_f_a@gmx.de>): * based on the git master branch of util-linux * many fixes (including bnc#869355, bnc#871951 and bnc#871698#c49) * new Python binding sub-package for libmount: python-libmount * new library: libsmartcols * new commands: lslogins, setpriv * add fstrim systemd timer * better systemd integration * DROPPED command: * cytune: Upstream decided to remove tool untested for years that supports this old hardware. - Dropped patches included in the upstream: (*git) Included with no changes (+git) Included with improvements (!git) Included with differences * support-other-tty-lines-not-vconsole.patch (*b9c7390) * agetty-fooled-on-serial-line-due-plymouth.patch, * sulogin-fooled-on-tty-line-due-plymouth.patch (*bb280f7) * agetty-on-s390-on-dev-3270-tty1-line.patch (*f2bcda5) * sulogin-does-not-find-any-console.patch (*624b204) * util-linux-setarch-uname26.patch (*f6eb160) * util-linux-ng-2.16-squashfs3-detect.patch (*11402f5) * util-linux-lscpu-improve-hypervisor-detection.patch (!b774473, b32488c, 5bd31c6, 0f0c558, 96ce475) WARNING, INCOMPATIBLE CHANGE: "lscpu -p" no more reports hypervisor, as it breaks standard behavior. Use standard output instead! (FATE#310255) * blkid-stop-scanning-on-I-O-error.patch (+296d96e) * blkid-convert-superblocks-to-new-calling-convention.patch (+37f4060) * util-linux-libblkid-ext-probe.patch (*a1ca32f) * util-linux-hwclock-drift-check.patch (*f196fd1) * util-linux-hwclock-adjtime-check.patch (*db8fc5f) - Dropped obsolete patch: * util-linux-2.23.1-eject-fpie.patch (eject is no more SUID) * util-linux-2.24-fdisk_remove_bogus_warnings.patch (upstream fixed it in a different way) * util-linux-HACK-boot.localfs.diff (MOUNT_PRINT_SOURCE is no more referenced) - Ported and renamed: * util-linux-2.23.1-noenc-suse.diff -> util-linux-noenc-suse.patch - Split spec file to three stages: * util-linux.spec: Everything that do not need python or systemd. * util-linux-systemd.spec: Stuff that needs systemd: util-linux-systemd and uuidd NOTE: Not building systemd-less variants of utilities. * python-libmount.spec: Just python-libmount - Move bash-completion files to correct packages. - Add patch util-linux-bash-completion-blockdev.patch. - Add hacks to prevent damaging of spec files by format_spec_file (bnc#891152, also edited util-linux-rpmlintrc). - use nologin from upstream (was added in 2.24) OBS-URL: https://build.opensuse.org/request/show/244468 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=248
2014-08-21 11:54:57 +02:00
%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
2014-08-25 12:59:47 +02:00
%else
# install systemd files manually, don't use Makefile that expect build of utilities and its dependencies.
%endif
%if %build_util_linux_systemd
mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
mkdir -p %{buildroot}/run/uuidd
mkdir -p %{buildroot}/usr/lib/systemd/system-preset
2014-08-25 12:59:47 +02:00
ln -s %{_bindir}/logger %{buildroot}/bin
# clock.txt from uuidd is a ghost file
touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim
# Use socket activated uuidd by default.
echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/systemd/system-preset/50-uuidd.preset
2014-08-25 12:59:47 +02:00
%if !%build_util_linux
%make_install
%endif
%endif
# link duplicate manpages and python bindings
%fdupes -s %{buildroot}%{_prefix}
2014-08-25 12:59:47 +02:00
%if %build_util_linux
%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
# 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
2014-08-25 12:59:47 +02:00
%post -n libsmartcols1 -p /sbin/ldconfig
%postun -n libsmartcols1 -p /sbin/ldconfig
%post -n libuuid1 -p /sbin/ldconfig
%postun -n libuuid1 -p /sbin/ldconfig
%files lang -f %{name}.lang
%endif
%if %build_util_linux_systemd
# Note: This is not a perfect solution: fstrim is part of util-linux, fstrim services are part of util-linux-systemd (for build loop prevention reasons).
# If only util-linux is updated, restart of fstrim service does not happen.
# Maybe we should move fstrim to util-linux-systemd in the next version.
%pre -n util-linux-systemd
%{service_add_pre fstrim.service fstrim.timer}
%post -n util-linux-systemd
%{service_add_post fstrim.service fstrim.timer}
%preun -n util-linux-systemd
%{service_del_preun fstrim.service fstrim.timer}
%postun -n util-linux-systemd
%{service_del_postun fstrim.service fstrim.timer}
%pre -n uuidd
/usr/sbin/groupadd -r uuidd 2>/dev/null || :
/usr/sbin/useradd -r -g uuidd -c "User for uuidd" \
-d /var/run/uuidd uuidd 2>/dev/null || :
%{service_add_pre uuidd.socket uuidd.service}
# trick: service existed before, but it had no preset before 13.2 and in SLE12. Force %%service_add_post to run preset.
if [ $1 -gt 1 ] ; then
if ! test -f /usr/lib/systemd/system-preset/50-uuidd.preset ; then
echo -n "" >/run/rpm-%{name}-update-uuidd.socket-new-in-upgrade
echo -n "" >/run/rpm-%{name}-update-uuidd.service-new-in-upgrade
fi
fi
%post -n uuidd
%{service_add_post uuidd.socket uuidd.service}
%preun -n uuidd
%{service_del_preun uuidd.socket uuidd.service}
%postun -n uuidd
%{service_del_postun uuidd.socket uuidd.service}
2014-08-25 12:59:47 +02:00
%endif
2014-08-25 12:59:47 +02:00
%if %build_util_linux
%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/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
%config(noreplace) %{_sysconfdir}/pam.d/runuser
%config(noreplace) %{_sysconfdir}/pam.d/runuser-l
%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/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}/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
2014-08-25 12:59:47 +02:00
%{_bindir}/setpriv
%{_bindir}/setsid
%{_bindir}/tailf
%{_bindir}/taskset
%{_bindir}/ul
%{_bindir}/umount
%{_bindir}/unshare
%if %{with sysvinit_tools}
%{_bindir}/mountpoint
%{_bindir}/utmpdump
%endif
%{_bindir}/uuidgen
%{_bindir}/uname26
%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/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
2014-08-25 12:59:47 +02:00
%{_mandir}/man1/setpriv.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
2014-08-25 12:59:47 +02:00
%{_mandir}/man5/terminal-colors.d.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/uname26.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.
2014-08-25 12:59:47 +02:00
%dir %{_datadir}/bash-completion
%{_datadir}/bash-completion/*
%if %build_util_linux_systemd
%exclude %{_datadir}/bash-completion/logger
%exclude %{_datadir}/bash-completion/uuidd
%endif
%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
%{_sbindir}/fdformat
#UsrMerge
/sbin/hwclock
#EndUsrMerge
%{_sbindir}/hwclock
%{_sbindir}/klogconsole
%{_bindir}/setterm
%{_sbindir}/tunelp
%{_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)
2014-08-25 12:59:47 +02:00
%{_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 libblkid-devel-static
%defattr(-, root, root)
2014-08-25 12:59:47 +02:00
%{_libdir}/libblkid.*a
%files -n libmount1
%defattr(-, root, root)
2014-08-25 12:59:47 +02:00
%{_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 libmount-devel-static
%defattr(-, root, root)
2014-08-25 12:59:47 +02:00
%{_libdir}/libmount.*a
2014-08-25 12:59:47 +02:00
%files -n libsmartcols1
%defattr(-, root, root)
2014-08-25 12:59:47 +02:00
%{_libdir}/libsmartcols.so.1
%{_libdir}/libsmartcols.so.1.*
%files -n libsmartcols-devel
%defattr(-, root, root)
%{_libdir}/libsmartcols.so
%dir %{_includedir}/libsmartcols
%{_includedir}/libsmartcols/libsmartcols.h
%{_libdir}/pkgconfig/smartcols.pc
%files -n libsmartcols-devel-static
%defattr(-, root, root)
%{_libdir}/libsmartcols.*a
%files -n libuuid1
%defattr(-, root, root)
2014-08-25 12:59:47 +02:00
%{_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*
%files -n libuuid-devel-static
%defattr(-, root, root)
2014-08-25 12:59:47 +02:00
%{_libdir}/libuuid.*a
%endif
%if %build_util_linux_systemd
%if %build_util_linux
%files systemd
%else
%files
%endif
%defattr(-, root, root)
/bin/logger
%{_bindir}/logger
%{_bindir}/lslogins
%{_datadir}/bash-completion/logger
%{_mandir}/man1/logger.1.gz
%{_mandir}/man1/lslogins.1.gz
%{_sbindir}/rcfstrim
2014-08-25 12:59:47 +02:00
%{_unitdir}/fstrim.service
%{_unitdir}/fstrim.timer
%files -n uuidd
%defattr(-, root, root)
%{_sbindir}/uuidd
2014-08-25 12:59:47 +02:00
%attr(-,uuidd,uuidd) %dir %{_localstatedir}/lib/libuuid
%ghost %{_localstatedir}/lib/libuuid/clock.txt
%attr(-,uuidd,uuidd) %ghost %dir /run/uuidd
%{_datadir}/bash-completion/uuidd
%{_mandir}/man8/uuidd.8.gz
%{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket
/usr/lib/systemd/system-preset/50-uuidd.preset
2014-08-25 12:59:47 +02:00
%endif
%if %build_python_libmount
%if %build_util_linux
%files -n python-libmount
%else
%files
%endif
%defattr(-, root, root)
%{python_sitearch}/libmount
%endif
%changelog