#
# Conditional build:
%bcond_with uClibc # don't build few utilities
+%bcond_without selinux # build without SELinux support
#
# TODO:
# - move raw to /sbin (potentially can be used before mount partitions)??
+# - move logger to separate package (to avoid conflicts with inetutils)
Summary: Collection of basic system utilities for Linux
Summary(de): Sammlung von grundlegenden Systemdienstprogrammen für Linux
Summary(tr): Temel sistem araçlarý
Summary(uk): îÁÂ¦Ò ÂÁÚÏ×ÉÈ ÓÉÓÔÅÍÎÉÈ ÕÔÉÌ¦Ô ÄÌÑ Linux
Name: util-linux
-Version: 2.12
-Release: 10
+Version: 2.12r
+Release: 6
License: distributable
Group: Applications/System
-Source0: http://ftp.cwi.nl/aeb/util-linux/%{name}-%{version}.tar.gz
-# Source0-md5: 997adf78b98d9d1c5db4f37ea982acff
+# devel versions at ftp://ftp.kernel.org/pub/linux/utils/util-linux/testing
+Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/%{name}-%{version}.tar.gz
+# Source0-md5: c261230b27fc0fbcc287c76884caf2d3
#Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
Source1: %{name}-non-english-man-pages.tar.bz2
# Source1-md5: 81bbcc9a820512ecde87a8f31de0b745
Source2: login.pamd
Source3: rawdevices.init
Source4: rawdevices.sysconfig
+Source5: %{name}-blockdev.init
+Source6: %{name}-blockdev.sysconfig
Patch0: %{name}-MCONFIG.patch
Patch1: %{name}-fdisk.patch
Patch2: %{name}-utmpx.patch
Patch3: %{name}-fhs.patch
Patch4: %{name}-login.patch
Patch5: %{name}-info.patch
-Patch6: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/%{name}-2.10m-mount-compat.patch
+# from ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/ :
+Patch6: %{name}-2.10m-mount-compat.patch
Patch7: %{name}-syscall.patch
Patch8: %{name}-raw.patch
Patch9: %{name}-gecos.patch
Patch12: %{name}-ppc-hwclock.patch
Patch13: %{name}-no_multiline.patch
Patch14: %{name}-amd64.patch
-Patch15: %{name}-crypto-debian.patch
-Patch16: %{name}-dev_t.patch
-Patch17: %{name}-selinux.patch
-Patch18: %{name}-blk.patch
-Patch19: %{name}-io.patch
+Patch15: %{name}-dm_crypt.patch
+Patch16: %{name}-blk.patch
+Patch17: %{name}-managed.patch
+Patch18: %{name}-page.patch
+Patch19: %{name}-gcc4.patch
+# from http://www.citi.umich.edu/projects/nfsv4/linux/util-linux-patches/2.12-3/ :
+Patch20: %{name}-2.12-01-nfs.dif
+Patch21: %{name}-2.12-02-base-nfsv4.dif
+Patch22: %{name}-2.12-03-krb5.dif
+Patch23: %{name}-2.12-04-modify_mount_to_support_multiple_security_flavors.dif
+Patch24: %{name}-2.12-05-mount_sloppy_fix.dif
+Patch25: %{name}-2.12-06-redhat-nfs-mount.dif
+Patch26: %{name}-2.12q-update-mtab-when-moving.patch
+Patch27: %{name}-2.12q-use-update_mtab-for-fake.patch
+Patch28: %{name}-2.12q-more-fake-checks-v2.patch
+Patch29: %{name}-2.12q-update_mtab-fixes.patch
+Patch30: %{name}-as_needed-fix.patch
+BuildRequires: cryptsetup-devel
BuildRequires: gettext-devel
-BuildRequires: grep
-BuildRequires: libselinux-devel
+%{?with_selinux:BuildRequires: libselinux-devel}
%{!?with_uClibc:BuildRequires: ncurses-devel >= 5.0}
-%{!?with_uClibc:BuildRequires: pam-devel >= 0.77.3}
+%{!?with_uClibc:BuildRequires: pam-devel >= 0.79.0}
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: texinfo
-BuildRequires: textutils
%{!?with_uClibc:BuildRequires: zlib-devel}
-%{!?with_uClibc:Requires: pam >= 0.77.3}
+%{!?with_uClibc:Requires: pam >= 0.79.0}
Provides: fdisk
Obsoletes: cramfs
Obsoletes: util-linux-suids
ËÏÎƦÇÕÒÁæÊΦ ¦ÎÓÔÒÕÍÅÎÔÉ (ÔÁ˦ ÑË fdisk) ÔÁ ÓÉÓÔÅÍΦ ÐÒÏÇÒÁÍÉ (ÔÁ˦
ÑË login).
+%package -n blockdev
+Summary: Support for blockdev
+Summary(pl): Obs³uga blockdev
+Group: Applications/System
+Requires(post,preun): /sbin/chkconfig
+Requires: coreutils
+Requires: rc-scripts
+#Requires: uname(release) >= 2.6
+
+%description -n blockdev
+The utility blockdev allows one to call block device ioctls from the
+command line. This package also includes initscript to set blockdev
+parameters at system startup.
+
+%description -n blockdev -l pl
+Narzêdzie blockdev pozwala na wywo³ania ioctl dla urz±dzeñ blokowych z
+linii poleceñ. Ten pakiet zawiera tak¿e skrypt inicjalizacyjny do
+ustawiania parametrów blockdev przy starcie systemu.
+
%package -n losetup
Summary: Programs for setting up and configuring loopback devices
Summary(de): Programme zum Einrichten und Konfigurieren von Loopback-Geräten
Summary(fr): Programmes pour mettre en place et configurer les loopback
Summary(pl): Program do konfiguracji urz±dzenia blokowego loopback
-Summary(tr): Yerel-çevrim aygýtlarýnýn kurulmasý ve ayarlanmasý için programlar
Summary(ru): ðÒÏÇÒÁÍÍÙ ÄÌÑ ÎÁÓÔÒÏÊËÉ loopback-ÕÓÔÒÏÊÓÔ×
+Summary(tr): Yerel-çevrim aygýtlarýnýn kurulmasý ve ayarlanmasý için programlar
Summary(uk): ðÒÏÇÒÁÍÉ ÄÌÑ ËÏÎƦÇÕÒÁæ§ loopback-ÐÒÉÓÔÒϧ×
Group: Applications/System
Summary(de): Programme zum montieren und abmontieren von Dateisystemen
Summary(fr): Programme pour monter et démonter des systèmes de fichiers
Summary(pl): Programy do montowania i odmontowywania systemów plików
+Summary(ru): ðÒÏÇÒÁÍÍÙ ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ É ÒÁÚÍÏÎÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ
Summary(tr): Dosya sistemlerini baðlamak ve çözmek için programlar
Summary(uk): ðÒÏÇÒÁÍÉ ÄÌÑ ÍÏÎÔÕ×ÁÎÎÑ ÔÁ ÒÏÚÍÏÎÔÕ×ÁÎÎÑ ÆÁÊÌÏ×ÉÈ ÓÉÓÔÅÍ
-Summary(ru): ðÒÏÇÒÁÍÍÙ ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ É ÒÁÚÍÏÎÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ
Group: Applications/System
+Requires: cryptsetup >= 0.2-1.pre1.4
+Requires: libgcrypt >= 1.2.0-6
+Requires: libgpg-error >= 1.0-4
%description -n mount
mount is used for adding new filesystems, both local and networked, to
Summary: Support for raw-devices
Summary(pl): Obs³uga raw-device'ów
Group: Applications/System
-PreReq: rc-scripts
Requires(post,preun): /sbin/chkconfig
+Requires: rc-scripts
%description -n rawdevices
Support for raw-devices.
%patch17 -p1
%patch18 -p1
%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p0
+%patch27 -p1
+%patch28 -p0
+%patch29 -p1
+%patch30 -p1
%build
CC="%{__cc}"
LDFLAGS="%{rpmldflags}"
-CFLAGS="%{rpmcflags} -I%{_includedir}/ncurses"
+CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
export CC CFLAGS LDFLAGS
# using %%configure2_13 isn't very wise here, it is not autoconf generated
# configure and it doesn't take any parameters
OPT="%{rpmcflags}" \
MOREHELPDIR=%{_datadir}/misc \
%{!?with_uClibc:ADD_RAW="yes"} \
- %{?with_uClibc:HAVE_RAW_H="no" HAVE_PAM="no"}
+ %{?with_uClibc:HAVE_RAW_H="no" HAVE_PAM="no"} \
+ %{!?with_selinux:HAVE_SELINUX="no"}
%ifarch ppc
%{__cc} %{rpmcflags} %{rpmldflags} clock-ppc.c -o clock-ppc
GETOPTDIR=$RPM_BUILD_ROOT%{_examplesdir}/getopt \
USRGAMESDIR=$RPM_BUILD_ROOT%{_bindir} \
USE_TTY_GROUP=no \
+ %{!?with_selinux:HAVE_SELINUX="no"} \
%{!?with_uClibc:ADD_RAW="yes"} \
%{?with_uClibc:HAVE_RAW_H="no" HAVE_PAM="no"}
install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/login
install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/rawdevices
install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rawdevices
+install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/blockdev
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/blockdev
install -d $RPM_BUILD_ROOT{/etc/security,/var/lock}
%postun
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post -n blockdev
+/sbin/chkconfig --add blockdev
+%service blockdev restart
+
+%preun -n blockdev
+if [ "$1" = "0" ]; then
+ %service blockdev stop
+ /sbin/chkconfig --del blockdev
+fi
+
%post -n rawdevices
/sbin/chkconfig --add rawdevices
-if [ -f /var/lock/subsys/rawdevices ]; then
- /etc/rc.d/init.d/rawdevices restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/rawdevices start\" to start rawdevices."
-fi
+%service rawdevices restart
%preun -n rawdevices
-if [ -f /var/lock/subsys/rawdevices ]; then
- /etc/rc.d/init.d/rawdevices stop 1>&2
+if [ "$1" = "0" ]; then
+ %service rawdevices stop
+ /sbin/chkconfig --del rawdevices
fi
-/sbin/chkconfig --del rawdevices
%files %{!?with_uClibc:-f %{name}.lang}
%defattr(644,root,root,755)
%lang(ja) %{_mandir}/ja/man8/clock.8*
%lang(ja) %{_mandir}/ja/man8/hwclock.8*
-%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/fdprm
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fdprm
%attr(755,root,root) /bin/arch
%attr(755,root,root) /bin/dmesg
%attr(755,root,root) /bin/kill
%{!?with_uClibc:%attr(755,root,root) /bin/more}
-%attr(755,root,root) /sbin/blockdev
%attr(755,root,root) /sbin/mkfs
%attr(755,root,root) /sbin/mkswap
%attr(755,root,root) /sbin/ctrlaltdel
%attr(755,root,root) %{_bindir}/column
%attr(755,root,root) %{_bindir}/ddate
%attr(755,root,root) %{_bindir}/fdformat
+%attr(755,root,root) %{_bindir}/flock
%attr(755,root,root) %{_bindir}/getopt
%attr(755,root,root) %{_bindir}/hexdump
%attr(755,root,root) %{_bindir}/ipcrm
%{_mandir}/man1/colrm.1*
%{_mandir}/man1/column.1*
%{_mandir}/man1/ddate.1*
+%{_mandir}/man1/flock.1*
%{_mandir}/man1/getopt.1*
%{_mandir}/man1/hexdump.1*
%{_mandir}/man1/kill.1*
%{_mandir}/man1/write.1*
%{_mandir}/man1/tailf.1*
-%{_mandir}/man8/blockdev.8*
%{_mandir}/man8/ctrlaltdel.8*
%{_mandir}/man8/cytune.8*
%{_mandir}/man8/dmesg.8*
%lang(ja) %{_mandir}/ja/man1/whereis.1*
%lang(ja) %{_mandir}/ja/man1/write.1*
-%lang(ja) %{_mandir}/ja/man8/blockdev.8*
%lang(ja) %{_mandir}/ja/man8/ctrlaltdel.8*
%lang(ja) %{_mandir}/ja/man8/cytune.8*
%lang(ja) %{_mandir}/ja/man8/dmesg.8*
%ghost /var/lock/wtmpxlock
+%files -n blockdev
+%defattr(644,root,root,755)
+%attr(754,root,root) /etc/rc.d/init.d/blockdev
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/blockdev
+%attr(755,root,root) /sbin/blockdev
+%{_mandir}/man8/blockdev.8*
+%lang(ja) %{_mandir}/ja/man8/blockdev.8*
+
%files -n mount
%defattr(644,root,root,755)
%lang(ja) %{_mandir}/ja/man8/tunelp.8*
%lang(pl) %{_mandir}/pl/man8/tunelp.8*
-%if %{without uClibc}
+%if !%{with uClibc}
%files -n login
%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/login
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.login
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/login
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.login
%attr(755,root,root) /bin/login
%{_mandir}/man1/login.1*
%files -n agetty
%defattr(644,root,root,755)
-%attr(0755,root,root) /sbin/agetty
+%attr(755,root,root) /sbin/agetty
%{_mandir}/man8/agetty.8*
%lang(es) %{_mandir}/es/man8/agetty.8*
%lang(ja) %{_mandir}/ja/man8/agetty.8*
-%if %{without uClibc}
+%if !%{with uClibc}
%files -n rawdevices
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/raw
%attr(754,root,root) /etc/rc.d/init.d/rawdevices
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rawdevices
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rawdevices
%{_mandir}/man8/raw.8*
%lang(ja) %{_mandir}/ja/man8/raw.8*