3
0
forked from pool/util-linux
util-linux/util-linux.spec

829 lines
23 KiB
RPMSpec
Raw Normal View History

#
# spec file for package util-linux
#
# Copyright (c) 2012 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/
#
%define time_ver 1.7
%define which_ver 2.20
%define adjtimex_ver 1.29
Name: util-linux
BuildRequires: audit-devel
BuildRequires: fdupes
BuildRequires: gettext-devel
BuildRequires: libselinux-devel
BuildRequires: libsepol-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: pkg-config
BuildRequires: readline-devel
BuildRequires: zlib-devel
Version: 2.21.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: http://kernel.org/~kzak/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.21/%{name}-%{version}.tar.bz2
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
# TODO: split to separate package
Source10: http://ftp.debian.org/debian/pool/main/a/adjtimex/adjtimex_%{adjtimex_ver}.orig.tar.gz
Source11: klogconsole.tar.bz2
# TODO: split to separate package
Source12: which-%{which_ver}.tar.bz2
# TODO: split to separate package
Source13: time-%{time_ver}.tar.bz2
# XXX: needed?
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.12r-fdisk_remove_bogus_warnings.patch
Patch2: util-linux-2.20-libmount-deps.patch
Patch3: fdisk-tinfo.patch
Patch4: sfdisk-fix-calculation-due-to-type-mismatch.patch
##
## adjtimex
##
##
## klogconsole
##
Patch55: klogconsole-quiet.patch
Patch56: klogconsole.diff
##
## time
##
Patch60: time-1.7.dif
##
## which
##
Patch70: which-lib64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %insserv_prereq %fillup_prereq /bin/sed
#
Provides: base = %{version}-%{release}
Provides: login = 4.0-33.7
Provides: raw = %{version}-%{release}
Provides: rawio = %{version}-%{release}
Provides: util = %{version}-%{release}
Provides: uuid-runtime = %{version}-%{release}
Obsoletes: base < %{version}-%{release}
Obsoletes: login < 4.0-33.7
Obsoletes: raw < %{version}-%{release}
Obsoletes: rawio < %{version}-%{release}
Obsoletes: util < %{version}-%{release}
Obsoletes: uuid-runtime < %{version}-%{release}
%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
%setup -q -n %{name}-%{version} -a 10 -b 11 -b 12 -b 13
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
#
cd adjtimex-*
# adjtimex patches belongs here
cd -
# setctsid
cp %{S:22} %{S:23} .
# nologin
cp %{S:2} %{S:3} %{S:26} %{S:30} .
cd ../klogconsole
%patch55 -p1
%patch56 -p1
cd ../time-*
%patch60
cd ../which-*
%patch70
%build
# adjtimex build
cd adjtimex-%{adjtimex_ver}
%configure
make %{?_smp_mflags}
cd ..
pushd ../
# which build
cd which-%{which_ver}
aclocal --force
autoconf --force
automake --force-missing --add-missing --foreign
%configure
make %{?_smp_mflags}
cd ..
# time build
cd time-%{time_ver}
export CFLAGS="%{optflags} -D_GNU_SOURCE "
export INSTALL_PROGRAM='$(INSTALL)'
%configure
make %{?_smp_mflags}
cd ..
# klogconsole build
cd klogconsole
make %{?_smp_mflags} CFLAGS="%{optflags}" CC="%{__cc}"
cd ..
popd
# setctsid build
rm -f setctsid
make %{?_smp_mflags} setctsid CFLAGS="%{optflags}" CC="%{__cc}"
#
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
# util-linux itself
#
autoreconf -fi
export SUID_CFLAGS="-fpie"
export SUID_LDFLAGS="-pie"
export CFLAGS="-ggdb3 -O0"
%configure \
--with-audit \
--with-selinux \
--enable-mesg \
--enable-partx \
--enable-raw \
--enable-write \
--enable-line \
--enable-libmount-mount \
--enable-ddate \
--enable-login-utils \
--disable-mountpoint \
--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}
%install
mkdir -p %{buildroot}{/etc/init.d,/etc/pam.d,%{_mandir}/man{1,8},/bin,/sbin,/usr/bin,/usr/sbin,%{_infodir}}
mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid/
mkdir -p %{buildroot}%{_localstatedir}/run/uuidd/
install -m 744 %{SOURCE50} %{buildroot}%{_initddir}/uuidd
install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
install -m 644 %{SOURCE8} %{buildroot}/etc/pam.d/login
install -m 644 %{SOURCE9} %{buildroot}/etc/pam.d/remote
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
cp adjtimex-*/adjtimex %{buildroot}/%{_sbindir}
cp adjtimex-*/adjtimex.8 %{buildroot}%{_mandir}/man8/
pushd ..
# which install
cd which-%{which_ver}
%make_install
mkdir -p %{buildroot}%{_defaultdocdir}/which
install -m 0644 README %{buildroot}%{_defaultdocdir}/which/
install -m 0644 EXAMPLES %{buildroot}%{_defaultdocdir}/which/
install -m 0644 README.alias %{buildroot}%{_defaultdocdir}/which/
cd ..
# time install
cd time-%{time_ver}
mkdir -p %{buildroot}%{_defaultdocdir}/time
make install DESTDIR=%{buildroot} \
prefix=%{buildroot}/usr \
infodir=%{buildroot}%{_infodir} \
mandir=%{buildroot}%{_mandir} \
bindir=%{buildroot}%{_bindir}
install -m 0644 README %{buildroot}%{_defaultdocdir}/time/
install -m 0644 AUTHORS %{buildroot}%{_defaultdocdir}/time/
install -m 0644 COPYING %{buildroot}%{_defaultdocdir}/time/
install -m 0644 NEWS %{buildroot}%{_defaultdocdir}/time/
cd ..
# klogconsole install
cd klogconsole
make install DEST=%{buildroot}
popd
#
# util-linux install
#
%make_install
#UsrMerge
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}/adjtimex %{buildroot}/sbin
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/etc.raw %{buildroot}%{_sysconfdir}/raw
install -m 755 $RPM_SOURCE_DIR/raw.init %{buildroot}%{_initddir}/raw
ln -sf ../../etc/init.d/raw %{buildroot}%{_sbindir}/rcraw
# 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
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
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
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
# 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}
%install_info --entry="* time: (time). summarizing used system resources" --info-dir=%{_infodir} %{_infodir}/time.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/which.info.gz
%if 0%{?suse_version} <= 1130
%run_permissions
%else
%set_permissions /usr/bin/wall /usr/bin/write /usr/bin/mount /usr/bin/umount
%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
%install_info_delete --info-dir=%{_infodir} %{_infodir}/time.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/which.info.gz
%{insserv_cleanup}
%verifyscript
%verify_permissions -e /usr/bin/wall -e /usr/bin/write -e /usr/bin/mount -e /usr/bin/umount
%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
/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 || :
%preun -n uuidd
%{stop_on_removal uuidd}
%post -n uuidd
%{fillup_and_insserv -n uuidd}
%if 0%{?suse_version} <= 1130
%run_permissions
%else
%set_permissions /usr/sbin/uuidd
%endif
%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 /usr/sbin/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/ddate.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) /etc/pam.d/login
%config(noreplace) /etc/pam.d/remote
#UsrMerge
/bin/dmesg
/bin/more
/bin/mount
/bin/umount
/bin/findmnt
/bin/logger
/bin/login
/bin/lsblk
/sbin/adjtimex
/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
%{_bindir}/cal
%{_bindir}/chrt
%{_bindir}/col
%{_bindir}/colcrt
%{_bindir}/colrm
%{_bindir}/column
%{_bindir}/ddate
%{_bindir}/dmesg
%{_bindir}/fallocate
%{_bindir}/findmnt
%{_bindir}/flock
%{_bindir}/getopt
%{_bindir}/hexdump
%{_bindir}/ionice
%{_bindir}/ipcmk
%{_bindir}/ipcrm
%{_bindir}/ipcs
%{_bindir}/isosize
%{_bindir}/line
%{_bindir}/logger
%{_bindir}/look
%{_bindir}/lsblk
%{_bindir}/lscpu
%{_bindir}/mcookie
%{_bindir}/mesg
%{_bindir}/more
%{_bindir}/mount
%{_bindir}/namei
%{_bindir}/prlimit
%{_bindir}/rename
%{_bindir}/renice
%{_bindir}/rev
%{_bindir}/script
%{_bindir}/scriptreplay
%{_bindir}/setarch
%{_bindir}/setsid
%{_bindir}/tailf
%{_bindir}/taskset
%{_bindir}/time
%{_bindir}/ul
%{_bindir}/umount
%{_bindir}/unshare
%{_bindir}/uuidgen
%{_bindir}/which
%ifnarch ppc ppc64
%{_bindir}/chrp-addnote
%{_bindir}/mkzimage_cmdline
%endif
%{_sbindir}/addpart
%{_sbindir}/adjtimex
%{_sbindir}/agetty
%{_sbindir}/blkid
%{_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}/rtcwake
%{_sbindir}/setctsid
%{_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
%dir %{_defaultdocdir}/time
%dir %{_defaultdocdir}/which
%{_defaultdocdir}/time/*
%{_defaultdocdir}/which/*
%{_infodir}/time.info*.gz
%{_infodir}/which.info*.gz
%{_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/ddate.1.gz
%{_mandir}/man1/dmesg.1.gz
%{_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
%{_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/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/which.1.gz
%{_mandir}/man1/ipcmk.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/adjtimex.8.gz
%{_mandir}/man8/blkid.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.minix.8.gz
%{_mandir}/man8/isosize.8.gz
%{_mandir}/man8/ldattach.8.gz
%{_mandir}/man8/losetup.8.gz
%{_mandir}/man8/mkfs.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}/ru
%{_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
%ifnarch ia64
#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
%{_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 %{_localstatedir}/run/uuidd
%{_initddir}/uuidd
%{_mandir}/man8/uuidd.8.gz
%{_sbindir}/rcuuidd
%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