X-Git-Url: http://git.pld-linux.org/?p=packages%2Futil-linux.git;a=blobdiff_plain;f=util-linux.spec;h=429a07ab8cbec570db4bbef050aa7b986fe054db;hp=961ac4e837354e0d983655e5cec82499a05e3470;hb=ad48423;hpb=69329a6b21b89ebf8a490f307077f94f52d53287 diff --git a/util-linux.spec b/util-linux.spec index 961ac4e..429a07a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,25 +1,29 @@ # TODO -# /usr/share/getopt/getopt-parse.bash -# /usr/share/getopt/getopt-parse.tcsh +# - remote chfn/chsh (BR: libuser)? - but PLD uses pwdutils/shadow implementation currently +# - verify initrd tools set: +# - I've taken list from 2.21.3 package, but there was no explicit list, so +# there are probably some unneeded tools +# - chrt is not built now (because of --disable-schedutils), but it's probably not needed +# - fsck is not built now (because of --disable-libmount) +# - maybe we want some more now? # # Conditional build: %bcond_with uClibc # link initrd version with static glibc instead of uClibc %bcond_without dietlibc # link initrd version with dietlibc instead of uClibc -%bcond_without selinux # SELinux support +%bcond_without selinux # SELinux support +%bcond_without su # su/runuser programs %if "%{pld_release}" == "ac" -%bcond_with initrd # don't build initrd version -%bcond_with fallocate # fallocate utility (needs glibc 2.11 to compile) -%bcond_with partx # partx utility (needs glibc 2.10 for openat to compile) +%bcond_with initrd # don't build initrd version +%bcond_with fallocate # fallocate utility (needs glibc 2.11 to compile) %else -%bcond_without initrd # don't build initrd version +%bcond_with initrd # don't build initrd version %bcond_without fallocate # fallocate utility (needs glibc 2.11 to compile) -%bcond_without partx # partx utility (needs glibc 2.10 for openat to compile) %endif %if "%{pld_release}" == "ac" %define pam_ver 0.79.0 %else -%define pam_ver 0.99.7.1 +%define pam_ver 1:1.1.8-5 %endif Summary: Collection of basic system utilities for Linux @@ -32,45 +36,51 @@ Summary(ru.UTF-8): Набор базовых системных утилит д Summary(tr.UTF-8): Temel sistem araçları Summary(uk.UTF-8): Набір базових системних утиліт для Linux Name: util-linux -Version: 2.21.2 -Release: 1 -License: GPL +Version: 2.28 +Release: 2 +License: GPL v2+ Group: Applications/System -Source0: https://www.kernel.org/pub/linux/utils/util-linux/v2.21/%{name}-%{version}.tar.xz -# Source0-md5: 54ba880f1d66782c2287ee2c898520e9 +Source0: https://www.kernel.org/pub/linux/utils/util-linux/v2.28/%{name}-%{version}.tar.xz +# Source0-md5: e534e6ccc49107e5d31c329af798ef7d Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source1-md5: 3c940c7e7fe699eaa2ddb1bffb3de2fe Source2: login.pamd Source3: %{name}-blockdev.init Source4: %{name}-blockdev.sysconfig -Source5: blockdev.upstart -Patch0: %{name}-pl.po-update.patch -Patch1: %{name}-ng-union-mount.patch -Patch3: %{name}-fdformat-ide.patch -Patch4: %{name}-fhs.patch -Patch5: %{name}-hotkeys.patch -Patch7: %{name}-login-lastlog.patch -Patch8: %{name}-procpartitions.patch -Patch9: %{name}-swaponsymlink.patch -Patch10: %{name}-diet.patch -Patch11: no-openat.patch -URL: http://userweb.kernel.org/~kzak/util-linux/ +Source6: su.pamd +Source7: su-l.pamd +Source8: runuser.pamd +Source9: runuser-l.pamd +Source10: nologin.c +Source11: nologin.8 +Source12: blockdev.service +Source13: blockdev.sh +Patch0: %{name}-fdformat-ide.patch +Patch1: %{name}-fhs.patch +Patch2: %{name}-login-lastlog.patch +Patch3: %{name}-procpartitions.patch +Patch4: su-paths.patch +Patch5: %{name}-diet.patch +URL: https://github.com/karelzak/util-linux BuildRequires: audit-libs-devel >= 1.0.6 BuildRequires: autoconf >= 2.60 BuildRequires: automake >= 1:1.10 -BuildRequires: gettext-devel >= 0.14.1 +BuildRequires: gettext-tools >= 0.14.1 %{?with_fallocate:BuildRequires: glibc-devel >= 6:2.11} BuildRequires: gtk-doc >= 1.10 BuildRequires: gtk-doc-automake >= 1.10 -%{?with_selinux:BuildRequires: libselinux-devel} +BuildRequires: libcap-ng-devel +%{?with_selinux:BuildRequires: libselinux-devel >= 2.0} %{?with_selinux:BuildRequires: libsepol-devel} BuildRequires: libtool >= 2:2.2 BuildRequires: linux-libc-headers >= 7:2.6.27 BuildRequires: ncurses-devel >= 5.0 BuildRequires: pam-devel >= %{pam_ver} BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 -BuildRequires: rpmbuild(macros) >= 1.470 +BuildRequires: rpmbuild(macros) >= 1.671 BuildRequires: sed >= 4.0 BuildRequires: tar >= 1:1.22 BuildRequires: udev-devel @@ -88,23 +98,32 @@ BuildRequires: glibc-static %endif %endif Requires: libblkid = %{version}-%{release} +Requires: libfdisk = %{version}-%{release} +%{?with_selinux:Requires: libselinux >= 2.0} +Requires: libsmartcols = %{version}-%{release} Requires: pam >= %{pam_ver} +Provides: eject = %{version}-%{release} Provides: fdisk Provides: linux32 Provides: sparc32 Obsoletes: cramfs +Obsoletes: eject Obsoletes: ionice Obsoletes: linux32 Obsoletes: rawdevices Obsoletes: schedutils Obsoletes: setarch Obsoletes: sparc32 +Obsoletes: util-linux-chkdupexe Obsoletes: util-linux-ng < 2.20-1 Obsoletes: util-linux-suids -Conflicts: SysVinit < 2.86-26 +Conflicts: SysVinit-tools < 2.88-15 Conflicts: e2fsprogs < 1.41.8-5 +Conflicts: rc-scripts < 0.4.9-2 Conflicts: shadow-extras < 1:4.0.3-6 -Conflicts: upstart-SysVinit < 2.86-28 +%if %{with su} +Conflicts: coreutils < 8.19 +%endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define debugcflags -O1 -g @@ -176,8 +195,10 @@ Summary: Support for blockdev Summary(pl.UTF-8): Obsługa blockdev Group: Applications/System Requires(post,preun): /sbin/chkconfig +Requires(post,preun,postun): systemd-units >= 38 Requires: coreutils Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 38 %description -n blockdev The utility blockdev allows one to call block device ioctls from the @@ -198,6 +219,7 @@ Summary(ru.UTF-8): Программы для настройки loopback-уст Summary(tr.UTF-8): Yerel-çevrim aygıtlarının kurulması ve ayarlanması için programlar Summary(uk.UTF-8): Програми для конфігурації loopback-пристроїв Group: Applications/System +Requires: libsmartcols = %{version}-%{release} %description -n losetup Linux supports a special block device called the loopback device, @@ -267,6 +289,7 @@ Summary(tr.UTF-8): Dosya sistemlerini bağlamak ve çözmek için programlar Summary(uk.UTF-8): Програми для монтування та розмонтування файлових систем Group: Applications/System Requires: libmount = %{version}-%{release} +Requires: libsmartcols = %{version}-%{release} Conflicts: SysVinit < 2.86-26 # C: nfs-utils-common is opposite to http://cvs.pld-linux.org/packages/nfs-utils/nfs-utils.spec?r1=1.165&r2=1.166 Conflicts: nfs-utils-common < 1.1.3-3 @@ -326,22 +349,6 @@ sisteminizin işlevselliği açısından kritiktir. дерева. Swapon та swapoff, відповідно, дозволяє та заборонює свопінг у визначені файли або пристрої. -%package chkdupexe -Summary: chkdupexe - find duplicate executables -Summary(pl.UTF-8): chkdupexe odszukuje powtarzające się pliki uruchamialne -Group: Applications/System -Obsoletes: util-linux-ng-chkdupexe < 2.20-1 - -%description chkdupexe -chkdupexe will scan the union of $PATH and a hardcoded list of common -locations for binaries. It will report dangling symlinks and -duplicately-named binaries. - -%description chkdupexe -l pl.UTF-8 -chkdupexe przeszukuje katalogi z $PATH oraz inne powszechnie znane -katalogi z plikami uruchamialnymi i informuje o powtarzających się -plikach w różnych katalogach. - %package -n tunelp Summary: Configures kernel parallel port driver Summary(de.UTF-8): Konfiguriert den Kerneltreiber für den parallelen Port @@ -527,7 +534,9 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/groupmod Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/usermod +Requires(post,preun,postun): systemd-units >= 38 Requires: libuuid = %{version}-%{release} +Requires: systemd-units >= 38 Provides: group(uuidd) Provides: user(uuidd) Conflicts: libuuid < 1.40.5-0.1 @@ -542,10 +551,52 @@ Ten pakiet zawiera działającego w przestrzeni użytkownika demona (uuidd) gwarantującego unikalność generowania UUID-ów opartych na czasie nawet przy bardzo dużej częstotliwości na systemach SMP. +%package -n libfdisk +Summary: fdisk library +Summary(pl.UTF-8): Biblioteka fdisk +License: LGPL v2.1+ +Group: Libraries +Requires: libblkid = %{version}-%{release} +Requires: libuuid = %{version}-%{release} + +%description -n libfdisk +fdisk library. + +%description -n libfdisk -l pl.UTF-8 +Biblioteka fdisk. + +%package -n libfdisk-devel +Summary: Header files for fdisk library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki fdisk +License: LGPL v2.1+ +Group: Development/Libraries +Requires: libblkid-devel = %{version}-%{release} +Requires: libfdisk = %{version}-%{release} +Requires: libuuid-devel = %{version}-%{release} + +%description -n libfdisk-devel +Header files for fdisk library. + +%description -n libfdisk-devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki fdisk. + +%package -n libfdisk-static +Summary: Static version of fdisk library +Summary(pl.UTF-8): Statyczna wersja biblioteki fdisk +License: LGPL v2.1+ +Group: Development/Libraries +Requires: libfdisk-devel = %{version}-%{release} + +%description -n libfdisk-static +Static version of fdisk library. + +%description -n libfdisk-static -l pl.UTF-8 +Statyczna wersja biblioteki fdisk. + %package -n libmount Summary: Library to handle mounting-related tasks Summary(pl.UTF-8): Biblioteka obsługująca zadania związane z montowaniem -License: LGPL +License: LGPL v2.1+ Group: Libraries Requires: libblkid = %{version}-%{release} @@ -558,7 +609,7 @@ Biblioteka obsługująca zadania związane z montowaniem. %package -n libmount-devel Summary: Header files for mount library Summary(pl.UTF-8): Pliki nagłówkowe biblioteki mount -License: LGPL +License: LGPL v2.1+ Group: Development/Libraries Requires: libblkid-devel = %{version}-%{release} Requires: libmount = %{version}-%{release} @@ -572,7 +623,7 @@ Pliki nagłówkowe biblioteki mount. %package -n libmount-static Summary: Static version of mount library Summary(pl.UTF-8): Statyczna wersja biblioteki mount -License: LGPL +License: LGPL v2.1+ Group: Development/Libraries Requires: libmount-devel = %{version}-%{release} @@ -582,21 +633,18 @@ Static version of mount library. %description -n libmount-static -l pl.UTF-8 Statyczna wersja biblioteki mount. -%package -n libmount-dietlibc -Summary: Static dietlibc mount library -Summary(pl.UTF-8): Statyczna biblioteka mount dla dietlibc -License: LGPL v2.1+ -Group: Development/Libraries -Requires: libblkid-devel = %{version}-%{release} -Requires: libblkid-dietlibc = %{version}-%{release} -Requires: libuuid-devel = %{version}-%{release} -Requires: libuuid-dietlibc = %{version}-%{release} +%package -n python3-libmount +Summary: Python 3.x libmount bindings +Summary(pl.UTF-8): Wiązania Pythona 3.x do biblioteki libmount +License: LGPL v3+ +Group: Libraries/Python +Requires: libmount = %{version}-%{release} -%description -n libmount-dietlibc -Static dietlibc version of mount library. +%description -n python3-libmount +Python 3.x libmount bindings. -%description -n libmount-dietlibc -l pl.UTF-8 -Statyczna wersja biblioteki mount dla dietlibc. +%description -n python3-libmount -l pl.UTF-8 +Wiązania Pythona 3.x do biblioteki libmount. %package -n fsck Summary: Check and repair a Linux file system @@ -610,6 +658,44 @@ Check and repair a Linux file system. %description -n fsck -l pl.UTF-8 Sprawdzanie i naprawa linuksowego systemu plików. +%package -n libsmartcols +Summary: Library to handle tables and trees +Summary(pl.UTF-8): Biblioteka do obsługi tabelek i drzewek +License: LGPL +Group: Libraries + +%description -n libsmartcols +Library to handle tables and trees. + +%description -n libsmartcols -l pl.UTF-8 +Biblioteka do obsługi tabelek i drzewek. + +%package -n libsmartcols-devel +Summary: Header files for smartcols library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki smartcols +License: LGPL +Group: Development/Libraries +Requires: libsmartcols = %{version}-%{release} + +%description -n libsmartcols-devel +Header files for smartcols library. + +%description -n libsmartcols-devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki smartcols. + +%package -n libsmartcols-static +Summary: Static version of smartcols library +Summary(pl.UTF-8): Statyczna wersja biblioteki smartcols +License: LGPL +Group: Development/Libraries +Requires: libsmartcols-devel = %{version}-%{release} + +%description -n libsmartcols-static +Static version of smartcols library. + +%description -n libsmartcols-static -l pl.UTF-8 +Statyczna wersja biblioteki smartcols. + %package initrd Summary: blkid - initrd version Summary(pl.UTF-8): blkid - wersja dla initrd @@ -625,20 +711,32 @@ or UUID - staticaly linked for initrd. Pakiet ten zawiera narzędzie blkid do rozpoznawania partycji przez etykietę lub UUID - statycznie skonsolidowane na potrzeby initrd. +%package -n bash-completion-util-linux +Summary: bash completion for util-linux commands +Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla poleceń z pakietu util-linux +Group: Applications/Shells +Requires: %{name} = %{version}-%{release} +Requires: bash-completion >= 2.0 +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description -n bash-completion-util-linux +Bash completion for util-linux commands. + +%description -n bash-completion-util-linux -l pl.UTF-8 +Bashowe dopełnianie parametrów dla poleceń z pakietu util-linux. + %prep %setup -q -a1 %patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%if %{without partx} -%patch11 -p1 -%endif +%{?with_initrd:%patch5 -p1} + +cp -p %{SOURCE10} nologin.c %{__rm} po/stamp-po @@ -656,44 +754,62 @@ export CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses -DHAVE_LSEEK64_PROTOTYPE %{?with_dietlibc:xCC="%{__cc}"; xCC="diet ${xCC#*ccache }"} %configure \ %if %{with dietlibc} - ac_cv_header_crypt_h="no" \ + ac_cv_header_crypt_h=no \ + ac_cv_header_stdio_ext_h=no \ %endif CC="$xCC" \ %if "%{?configure_cache}" == "1" --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \ %endif + --exec-prefix= \ + --bindir=/bin \ + --sbindir=/sbin \ + --libdir=/%{_lib} \ --disable-shared \ --enable-static \ - --disable-fsck \ + --disable-agetty \ + --disable-chfn-chsh \ --disable-cramfs \ - --disable-raw \ + --disable-kill \ + --disable-ldattach \ --disable-libmount \ - --disable-login-utils \ + --disable-login \ + --disable-losetup \ + --disable-minix \ + --disable-newgrp \ + --disable-partx \ + --disable-raw \ + --disable-runuser \ --disable-schedutils \ + --disable-setarch \ --disable-silent-rules \ + --disable-su \ + --disable-sulogin \ + --disable-tunelp \ --disable-use-tty-group \ + --disable-utmpdump \ + --disable-uuidd \ + --disable-vipw \ --disable-wall \ --without-audit \ --without-ncurses \ - --without-selinux + --without-selinux \ + --without-smack # configure gets it unconditionally wrong %{__sed} -i -e 's/#define HAVE_WIDECHAR 1//' config.h -%{__sed} -i -e 's/ cal\$(EXEEXT) / /; s/ lsblk\$(EXEEXT)//' misc-utils/Makefile +%{__make} \ +%if %{with uClibc} + LDFLAGS="-Wl,-static" +%endif +%if %{with dietlibc} + CPPFLAGS="$CPPFLAGS -D_BSD_SOURCE" \ + LDFLAGS="-lcompat" +%endif -for dir in libblkid libuuid disk-utils misc-utils fsck fdisk schedutils hwclock; do - %{__make} -C $dir \ - %if %{with uClibc} - LDFLAGS="-Wl,-static" - %endif - %if %{with dietlibc} - CPPFLAGS="$CPPFLAGS -D_BSD_SOURCE" \ - LDFLAGS="-lcompat" - %endif - # empty line required because there is a backslash up there - %{__make} -C $dir install DESTDIR=$(pwd)/initrd -done +%{__make} install \ + DESTDIR=$(pwd)/initrd %{__make} clean %endif @@ -705,55 +821,87 @@ done --disable-silent-rules \ --disable-use-tty-group \ --disable-wall \ - --enable-ddate \ - --enable-line \ + --enable-chfn-chsh \ --enable-kill \ + --enable-libblkid \ + --enable-line \ + --enable-login \ --enable-login-chown-vcs \ - --enable-login-utils \ + --enable-newgrp \ --enable-partx \ + --enable-runuser%{!?with_su:=no} \ + --enable-su%{!?with_su:=no} \ + --enable-sulogin \ + --enable-tunelp \ + --enable-utmpdump \ + --enable-vipw \ --enable-write \ + --with-python=3 \ --with-audit \ - --with%{!?with_selinux:out}-selinux + --with-bashcompletiondir=/usr/share/bash-completion/completions \ + --with-selinux%{!?with_selinux:=no} \ + --with-smack \ + --with-readline %{__make} +%{__cc} %{rpmcflags} nologin.c -o nologin + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,init,security} \ - $RPM_BUILD_ROOT{/%{_lib},/var/{lock,lib/libuuid}} +install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security} \ + $RPM_BUILD_ROOT{/%{_lib},/var/{lock,lib/libuuid}} \ + $RPM_BUILD_ROOT{/lib/systemd/pld-helpers.d,%{systemdunitdir}} %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -%if %{with partx} -mv $RPM_BUILD_ROOT%{_sbindir}/{addpart,delpart,partx} $RPM_BUILD_ROOT/sbin -%endif -mv $RPM_BUILD_ROOT/sbin/raw $RPM_BUILD_ROOT%{_bindir} +%{__mv} $RPM_BUILD_ROOT%{_sbindir}/{addpart,delpart,partx} $RPM_BUILD_ROOT/sbin +%{__mv} $RPM_BUILD_ROOT/sbin/raw $RPM_BUILD_ROOT%{_bindir} + +install -p nologin $RPM_BUILD_ROOT/sbin +cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_mandir}/man8 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/login install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/blockdev cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/blockdev -cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/init/blockdev.conf +cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/blockdev.service +cp -p %{SOURCE13} $RPM_BUILD_ROOT/lib/systemd/pld-helpers.d/blockdev.sh +%if %{with su} +ln -s ../sbin/runuser $RPM_BUILD_ROOT/bin/runuser +cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/su +cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/su-l +cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/runuser +cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/runuser-l +%endif :> $RPM_BUILD_ROOT/etc/security/blacklist.login :> $RPM_BUILD_ROOT/var/lock/wtmpxlock :> $RPM_BUILD_ROOT%{_sysconfdir}/blkid.tab -for lib in blkid uuid mount; do +for lib in blkid fdisk mount smartcols uuid; do mv $RPM_BUILD_ROOT%{_libdir}/lib${lib}.so.* $RPM_BUILD_ROOT/%{_lib} ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/lib${lib}.so.*.*.*) \ $RPM_BUILD_ROOT%{_libdir}/lib${lib}.so done -ln -sf hwclock $RPM_BUILD_ROOT/sbin/clock -echo '.so hwclock.8' > $RPM_BUILD_ROOT%{_mandir}/man8/clock.8 +# python module +%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/libmount/pylibmount.la +# obsoleted by pkg-config (libuuid.la temporarily kept because of packages built with it) +%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{blkid,fdisk,mount,smartcols}.la + +ln -s hwclock $RPM_BUILD_ROOT/sbin/clock +echo '.so man8/hwclock.8' > $RPM_BUILD_ROOT%{_mandir}/man8/clock.8 + +ln -s utmpdump $RPM_BUILD_ROOT%{_bindir}/utmpx-dump +ln -s mkswap $RPM_BUILD_ROOT/sbin/mkfs.swap for d in cs de es fi fr hu id it ja ko nl pl ; do for m in man1 man5 man8 ; do if [ -d man/$d/$m ]; then install -d $RPM_BUILD_ROOT%{_mandir}/$d/$m - cp -a man/$d/$m/* $RPM_BUILD_ROOT%{_mandir}/$d/$m + cp -p man/$d/$m/* $RPM_BUILD_ROOT%{_mandir}/$d/$m fi done done @@ -763,31 +911,44 @@ for d in es ja ko ; do $RPM_BUILD_ROOT%{_mandir}/$d/man8/readprofile.8 %{__sed} -i -e 's/READPROFILE 1/READPROFILE 8/' $RPM_BUILD_ROOT%{_mandir}/$d/man8/readprofile.8 done +# fix inconsistent man links +echo '.so man8/hwclock.8' > $RPM_BUILD_ROOT%{_mandir}/es/man8/clock.8 +echo '.so man8/hwclock.8' > $RPM_BUILD_ROOT%{_mandir}/ja/man8/clock.8 +echo '.so man8/swapon.8' > $RPM_BUILD_ROOT%{_mandir}/es/man8/swapoff.8 +echo '.so man8/swapon.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/swapoff.8 +echo '.so man8/swapon.8' > $RPM_BUILD_ROOT%{_mandir}/ja/man8/swapoff.8 +echo '.so man8/swapon.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/swapoff.8 +echo '.so man8/swapon.8' > $RPM_BUILD_ROOT%{_mandir}/pl/man8/swapoff.8 # cleanup, remove files not included in package %{__rm} $RPM_BUILD_ROOT%{_bindir}/{chfn,chsh,newgrp} \ $RPM_BUILD_ROOT%{_sbindir}/{vigr,vipw} \ $RPM_BUILD_ROOT%{_mandir}/man1/{chfn,chsh,newgrp}.1 \ $RPM_BUILD_ROOT%{_mandir}/man8/{vigr,vipw}.8 \ - $RPM_BUILD_ROOT%{_mandir}/*/man1/{arch,reset}.1 \ + $RPM_BUILD_ROOT%{_mandir}/*/man1/{arch,chkdupexe,ddate,reset}.1 \ $RPM_BUILD_ROOT%{_mandir}/*/man5/nfs.5 \ - $RPM_BUILD_ROOT%{_mandir}/*/man8/{elvtune,setfdprm,sln,ramsize,raw,rdev,rootflags,vidmode}.8 + $RPM_BUILD_ROOT%{_mandir}/*/man8/{cytune,elvtune,setfdprm,sln,ramsize,raw,rdev,rootflags,vidmode}.8 -%ifarch sparc sparc64 +%ifarch sparc sparcv9 sparc64 +# programs not built on sparc %{__rm} $RPM_BUILD_ROOT%{_mandir}/*/man8/{cfdisk,sfdisk}.8 %endif +# examples +%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}/getopt/getopt-parse.*sh + %if %{with initrd} install -d $RPM_BUILD_ROOT%{_libdir}/initrd -install -p initrd%{_bindir}/* $RPM_BUILD_ROOT%{_libdir}/initrd/ -install -p initrd%{_sbindir}/* $RPM_BUILD_ROOT%{_libdir}/initrd/ +install -p initrd/bin/* $RPM_BUILD_ROOT%{_libdir}/initrd +install -p initrd/sbin/* $RPM_BUILD_ROOT%{_libdir}/initrd ln -s fsck $RPM_BUILD_ROOT%{_libdir}/initrd/e2fsck # We don't need those -%{__rm} $RPM_BUILD_ROOT%{_libdir}/initrd/{chkdupexe,uuidd,mcookie,whereis,mkfs*,fsck.minix,isosize,logger} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/initrd/{cal,col,colcrt,colrm,column,ctrlaltdel,dmesg,flock,fsfreeze,fstrim,getopt,hexdump,ipcmk,ipcrm,ipcs,isosize,logger,lslocks,mcookie,mkfs*,readprofile,renice,rev,rtcwake,script,scriptreplay,setsid,tailf,tunelp,wdctl,whereis} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{blkid,mount}.la %if %{with dietlibc} -cp -a initrd%{_libdir}/lib*.a $RPM_BUILD_ROOT%{dietlibdir} +cp -a initrd/%{_lib}/lib*.a $RPM_BUILD_ROOT%{dietlibdir} %endif %endif @@ -799,12 +960,20 @@ rm -rf $RPM_BUILD_ROOT %post -n blockdev /sbin/chkconfig --add blockdev %service blockdev restart +%systemd_post blockdev.service %preun -n blockdev if [ "$1" = "0" ]; then %service blockdev stop /sbin/chkconfig --del blockdev fi +%systemd_preun blockdev.service + +%postun -n blockdev +%systemd_reload + +%triggerpostun -n blockdev -- blockdev < 2.24-4 +%systemd_trigger blockdev.service %post -n libblkid -p /sbin/ldconfig %postun -n libblkid -p /sbin/ldconfig @@ -814,31 +983,39 @@ fi %pre -n uuidd if [ "$(getgid libuuid 2>/dev/null)" = "222" ]; then - /usr/sbin/groupmod -n uuidd libuuid + /usr/sbin/groupmod -n uuidd libuuid fi %groupadd -g 222 uuidd if [ "$(id -u libuuid 2>/dev/null)" = "222" ]; then - /usr/sbin/usermod -l uuidd libuuid + /usr/sbin/usermod -l uuidd libuuid fi %useradd -u 222 -r -d /var/lib/libuuid -s /bin/false -c "UUID generator helper daemon" -g uuidd uuidd %postun -n uuidd if [ "$1" = "0" ]; then - %userremove uuidd - %groupremove uuidd + %userremove uuidd + %groupremove uuidd fi +%post -n libfdisk -p /sbin/ldconfig +%postun -n libfdisk -p /sbin/ldconfig + %post -n libmount -p /sbin/ldconfig %postun -n libmount -p /sbin/ldconfig +%post -n libsmartcols -p /sbin/ldconfig +%postun -n libsmartcols -p /sbin/ldconfig + %files -f %{name}.lang %defattr(644,root,root,755) -%doc */README.* NEWS +%doc AUTHORS ChangeLog NEWS README README.licensing Documentation misc-utils/getopt-parse.{bash,tcsh} %attr(755,root,root) /sbin/clock %attr(755,root,root) /sbin/hwclock* +%attr(755,root,root) /sbin/nologin %{_mandir}/man8/clock.8* %{_mandir}/man8/hwclock.8* +%{_mandir}/man8/nologin.8* %lang(es) %{_mandir}/es/man8/clock.8* %lang(es) %{_mandir}/es/man8/hwclock.8* %lang(ja) %{_mandir}/ja/man8/clock.8* @@ -858,10 +1035,10 @@ fi %attr(755,root,root) %{_bindir}/s390* %{_mandir}/man8/s390* %endif -%ifarch %{ix86} %{x8664} +%ifarch %{ix86} %{x8664} x32 %attr(755,root,root) %{_bindir}/i386 %{_mandir}/man8/i386* -%ifarch %{x8664} +%ifarch %{x8664} x32 %attr(755,root,root) %{_bindir}/x86_64 %{_mandir}/man8/x86_64* %endif @@ -885,31 +1062,34 @@ fi %attr(755,root,root) /bin/kill %attr(755,root,root) /bin/more +%attr(755,root,root) /bin/wdctl + %attr(755,root,root) /sbin/chcpu %attr(755,root,root) /sbin/ctrlaltdel -%if %{with partx} %attr(755,root,root) /sbin/addpart +%attr(755,root,root) /sbin/blkdiscard %attr(755,root,root) /sbin/delpart %attr(755,root,root) /sbin/partx %attr(755,root,root) /bin/lsblk -%endif %attr(755,root,root) /sbin/fsfreeze %attr(755,root,root) /sbin/fstrim %attr(755,root,root) /sbin/mkfs +%attr(755,root,root) /sbin/mkfs.swap %attr(755,root,root) /sbin/mkswap +%attr(755,root,root) /sbin/sulogin %attr(755,root,root) /sbin/swaplabel %if "%{pld_release}" != "ac" %attr(755,root,root) /sbin/switch_root %endif %attr(755,root,root) /sbin/wipefs +%attr(755,root,root) /sbin/zramctl %attr(755,root,root) %{_bindir}/cal %attr(755,root,root) %{_bindir}/chrt %attr(755,root,root) %{_bindir}/col %attr(755,root,root) %{_bindir}/colcrt %attr(755,root,root) %{_bindir}/colrm %attr(755,root,root) %{_bindir}/column -%attr(755,root,root) %{_bindir}/cytune -%attr(755,root,root) %{_bindir}/ddate +%attr(755,root,root) %{_bindir}/eject %attr(755,root,root) %{_bindir}/flock %{?with_fallocate:%attr(755,root,root) %{_bindir}/fallocate} %attr(755,root,root) %{_bindir}/getopt @@ -920,11 +1100,19 @@ fi %attr(755,root,root) %{_bindir}/ipcs %attr(755,root,root) %{_bindir}/isosize %attr(755,root,root) %{_bindir}/line +%attr(755,root,root) %{_bindir}/last +%attr(755,root,root) %{_bindir}/lastb %attr(755,root,root) %{_bindir}/logger %attr(755,root,root) %{_bindir}/look %attr(755,root,root) %{_bindir}/lscpu +%attr(755,root,root) %{_bindir}/lsipc +%attr(755,root,root) %{_bindir}/lslocks +%attr(755,root,root) %{_bindir}/lslogins +%attr(755,root,root) %{_bindir}/lsns +%attr(755,root,root) %{_bindir}/mesg %attr(755,root,root) %{_bindir}/mcookie %attr(755,root,root) %{_bindir}/namei +%attr(755,root,root) %{_bindir}/nsenter %attr(755,root,root) %{_bindir}/pg %attr(755,root,root) %{_bindir}/prlimit %attr(755,root,root) %{_bindir}/raw @@ -933,27 +1121,35 @@ fi %attr(755,root,root) %{_bindir}/rev %attr(755,root,root) %{_bindir}/script %attr(755,root,root) %{_bindir}/scriptreplay +%attr(755,root,root) %{_bindir}/setpriv %attr(755,root,root) %{_bindir}/setsid %attr(755,root,root) %{_bindir}/setterm %attr(755,root,root) %{_bindir}/tailf %attr(755,root,root) %{_bindir}/taskset %attr(755,root,root) %{_bindir}/ul +%attr(755,root,root) %{_bindir}/uname26 %attr(755,root,root) %{_bindir}/unshare +%attr(755,root,root) %{_bindir}/utmpdump +%attr(755,root,root) %{_bindir}/utmpx-dump %attr(755,root,root) %{_bindir}/whereis %attr(2755,root,tty) %{_bindir}/write %attr(755,root,root) %{_sbindir}/fdformat %attr(755,root,root) %{_sbindir}/ldattach %attr(755,root,root) %{_sbindir}/readprofile +%attr(755,root,root) %{_sbindir}/resizepart %attr(755,root,root) %{_sbindir}/rtcwake +%{systemdunitdir}/fstrim.service +%{systemdunitdir}/fstrim.timer + %{_mandir}/man1/cal.1* %{_mandir}/man1/chrt.1* %{_mandir}/man1/col.1* %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* -%{_mandir}/man1/ddate.1* %{_mandir}/man1/dmesg.1* +%{_mandir}/man1/eject.1* %{?with_fallocate:%{_mandir}/man1/fallocate.1*} %{_mandir}/man1/flock.1* %{_mandir}/man1/getopt.1* @@ -963,18 +1159,25 @@ fi %{_mandir}/man1/ipcmk.1* %{_mandir}/man1/ipcs.1* %{_mandir}/man1/kill.1* +%{_mandir}/man1/last.1* +%{_mandir}/man1/lastb.1* %{_mandir}/man1/line.1* %{_mandir}/man1/logger.1* %{_mandir}/man1/look.1* %{_mandir}/man1/lscpu.1* +%{_mandir}/man1/lsipc.1* +%{_mandir}/man1/lslogins.1* %{_mandir}/man1/mcookie.1* +%{_mandir}/man1/mesg.1* %{_mandir}/man1/more.1* %{_mandir}/man1/namei.1* +%{_mandir}/man1/nsenter.1* %{_mandir}/man1/prlimit.1* %{_mandir}/man1/pg.1* %{_mandir}/man1/renice.1* %{_mandir}/man1/rev.1* %{_mandir}/man1/rename.1* +%{_mandir}/man1/setpriv.1* %{_mandir}/man1/setsid.1* %{_mandir}/man1/script.1* %{_mandir}/man1/scriptreplay.1* @@ -983,31 +1186,37 @@ fi %{_mandir}/man1/taskset.1* %{_mandir}/man1/ul.1* %{_mandir}/man1/unshare.1* +%{_mandir}/man1/utmpdump.1* %{_mandir}/man1/whereis.1* %{_mandir}/man1/write.1* -%if %{with partx} %{_mandir}/man8/addpart.8* +%{_mandir}/man8/blkdiscard.8* %{_mandir}/man8/delpart.8* %{_mandir}/man8/partx.8* %{_mandir}/man8/lsblk.8* -%endif +%{_mandir}/man8/lsns.8* %{_mandir}/man8/chcpu.8* %{_mandir}/man8/ctrlaltdel.8* -%{_mandir}/man8/cytune.8* %{_mandir}/man8/fdformat.8* %{_mandir}/man8/fsfreeze.8* %{_mandir}/man8/fstrim.8* %{_mandir}/man8/isosize.8* %{_mandir}/man8/ldattach.8* +%{_mandir}/man8/lslocks.8* %{_mandir}/man8/mkswap.8* %{_mandir}/man8/raw.8* %{_mandir}/man8/readprofile.8* +%{_mandir}/man8/resizepart.8* %{_mandir}/man8/rtcwake.8* %{_mandir}/man8/swaplabel.8* %if "%{pld_release}" != "ac" %{_mandir}/man8/switch_root.8* %endif +%{_mandir}/man8/sulogin.8* +%{_mandir}/man8/uname26.8* +%{_mandir}/man8/wdctl.8* %{_mandir}/man8/wipefs.8* +%{_mandir}/man8/zramctl.8* %lang(de) %{_mandir}/de/man1/kill.1* %lang(de) %{_mandir}/de/man1/more.1* @@ -1016,7 +1225,6 @@ fi %lang(es) %{_mandir}/es/man1/colrm.1* %lang(es) %{_mandir}/es/man1/column.1* -%lang(es) %{_mandir}/es/man1/ddate.1* %lang(es) %{_mandir}/es/man1/getopt.1* %lang(es) %{_mandir}/es/man1/look.1* %lang(es) %{_mandir}/es/man1/more.1* @@ -1027,7 +1235,6 @@ fi %lang(es) %{_mandir}/es/man1/ul.1* %lang(es) %{_mandir}/es/man1/whereis.1* %lang(es) %{_mandir}/es/man1/write.1* -%lang(es) %{_mandir}/es/man8/cytune.8* %lang(es) %{_mandir}/es/man8/ctrlaltdel.8* %lang(es) %{_mandir}/es/man8/ipcrm.8* %lang(es) %{_mandir}/es/man8/ipcs.8* @@ -1086,13 +1293,11 @@ fi %lang(ja) %{_mandir}/ja/man1/colcrt.1* %lang(ja) %{_mandir}/ja/man1/colrm.1* %lang(ja) %{_mandir}/ja/man1/column.1* -%lang(ja) %{_mandir}/ja/man1/ddate.1* %lang(ja) %{_mandir}/ja/man1/getopt.1* %lang(ja) %{_mandir}/ja/man1/hexdump.1* %lang(ja) %{_mandir}/ja/man1/kill.1* %lang(ja) %{_mandir}/ja/man1/line.1* %lang(ja) %{_mandir}/ja/man1/logger.1* -%lang(ja) %{_mandir}/ja/man1/login.1* %lang(ja) %{_mandir}/ja/man1/look.1* %lang(ja) %{_mandir}/ja/man1/mcookie.1* %lang(ja) %{_mandir}/ja/man1/more.1* @@ -1105,7 +1310,6 @@ fi %lang(ja) %{_mandir}/ja/man1/whereis.1* %lang(ja) %{_mandir}/ja/man1/write.1* %lang(ja) %{_mandir}/ja/man8/ctrlaltdel.8* -%lang(ja) %{_mandir}/ja/man8/cytune.8* %lang(ja) %{_mandir}/ja/man8/dmesg.8* %lang(ja) %{_mandir}/ja/man8/fdformat.8* %lang(ja) %{_mandir}/ja/man8/ipcrm.8* @@ -1121,7 +1325,6 @@ fi %lang(ko) %{_mandir}/ko/man1/colcrt.1* %lang(ko) %{_mandir}/ko/man1/colrm.1* %lang(ko) %{_mandir}/ko/man1/column.1* -%lang(ko) %{_mandir}/ko/man1/ddate.1* %lang(ko) %{_mandir}/ko/man1/getopt.1* %lang(ko) %{_mandir}/ko/man1/hexdump.1* %lang(ko) %{_mandir}/ko/man1/kill.1* @@ -1172,8 +1375,6 @@ fi %lang(pl) %{_mandir}/pl/man8/mkswap.8* %lang(pl) %{_mandir}/pl/man8/renice.8* -%lang(ru) %{_mandir}/ru/man1/ddate.1* - %attr(755,root,root) /sbin/fdisk %attr(755,root,root) /sbin/fsck.minix %attr(755,root,root) /sbin/mkfs.minix @@ -1235,6 +1436,20 @@ fi %attr(755,root,root) /sbin/fsck.cramfs %attr(755,root,root) /sbin/mkfs.cramfs %attr(755,root,root) /sbin/mkfs.bfs +%{_mandir}/man8/fsck.cramfs.8* +%{_mandir}/man8/mkfs.cramfs.8* + +%if %{with su} +%attr(755,root,root) /bin/runuser +%attr(755,root,root) /sbin/runuser +%attr(4755,root,root) /bin/su +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/runuser +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/runuser-l +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su-l +%{_mandir}/man1/runuser.1* +%{_mandir}/man1/su.1* +%endif %ghost /var/lock/wtmpxlock @@ -1242,13 +1457,15 @@ fi %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 -%config(noreplace) %verify(not md5 mtime size) /etc/init/blockdev.conf %attr(755,root,root) /sbin/blockdev %{_mandir}/man8/blockdev.8* %lang(ja) %{_mandir}/ja/man8/blockdev.8* +%{systemdunitdir}/blockdev.service +%attr(755,root,root) /lib/systemd/pld-helpers.d/blockdev.sh %files -n mount %defattr(644,root,root,755) +%attr(755,root,root) /bin/findmnt %attr(755,root,root) /bin/mountpoint %attr(4755,root,root) /bin/mount %attr(4755,root,root) /bin/umount @@ -1258,6 +1475,7 @@ fi %{_mandir}/man1/mountpoint.1* %{_mandir}/man5/fstab.5* +%{_mandir}/man8/findmnt.8* %{_mandir}/man8/mount.8* %{_mandir}/man8/umount.8* %{_mandir}/man8/pivot_root.8* @@ -1317,14 +1535,6 @@ fi %lang(ko) %{_mandir}/ko/man8/losetup.8* %lang(pl) %{_mandir}/pl/man8/losetup.8* -%files chkdupexe -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/chkdupexe -%{_mandir}/man1/chkdupexe.1* -%lang(ja) %{_mandir}/ja/man1/chkdupexe.1* -%lang(ko) %{_mandir}/ko/man1/chkdupexe.1* -%lang(pl) %{_mandir}/pl/man1/chkdupexe.1* - %files -n tunelp %defattr(644,root,root,755) %attr(755,root,root) %{_sbindir}/tunelp @@ -1362,7 +1572,6 @@ fi %files -n libblkid-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libblkid.so -%{_libdir}/libblkid.la %{_includedir}/blkid %{_pkgconfigdir}/blkid.pc %{_mandir}/man3/libblkid.3* @@ -1407,19 +1616,34 @@ fi %attr(6755,uuidd,uuidd) %{_sbindir}/uuidd %attr(2775,uuidd,uuidd) /var/lib/libuuid %{_mandir}/man8/uuidd.8* +%{systemdunitdir}/uuidd.service +%{systemdunitdir}/uuidd.socket + +%files -n libfdisk +%defattr(644,root,root,755) +%doc libfdisk/COPYING +%attr(755,root,root) /%{_lib}/libfdisk.so.*.* +%attr(755,root,root) %ghost /%{_lib}/libfdisk.so.1 + +%files -n libfdisk-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libfdisk.so +%{_includedir}/libfdisk +%{_pkgconfigdir}/fdisk.pc + +%files -n libfdisk-static +%defattr(644,root,root,755) +%{_libdir}/libfdisk.a %files -n libmount %defattr(644,root,root,755) +%doc libmount/COPYING %attr(755,root,root) /%{_lib}/libmount.so.*.* %attr(755,root,root) %ghost /%{_lib}/libmount.so.1 -# move to -n mount when mount starts to use libmount -%attr(755,root,root) /bin/findmnt -%{_mandir}/man8/findmnt.8* %files -n libmount-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libmount.so -%{_libdir}/libmount.la %{_includedir}/libmount %{_pkgconfigdir}/mount.pc @@ -1427,13 +1651,61 @@ fi %defattr(644,root,root,755) %{_libdir}/libmount.a +%files -n python3-libmount +%defattr(644,root,root,755) +%dir %{py3_sitedir}/libmount +%attr(755,root,root) %{py3_sitedir}/libmount/pylibmount.so +%{py3_sitedir}/libmount/__init__.py +%{py3_sitedir}/libmount/__pycache__ + %files -n fsck %defattr(644,root,root,755) %attr(755,root,root) /sbin/fsck %{_mandir}/man8/fsck.8* +%files -n libsmartcols +%defattr(644,root,root,755) +%attr(755,root,root) /%{_lib}/libsmartcols.so.*.*.* +%attr(755,root,root) %ghost /%{_lib}/libsmartcols.so.1 +# common for many utilities (hexdump,cal,dmesg,fdisk,cfdisk; also libblkid,libmount?) +%{_mandir}/man5/terminal-colors.d.5* + +%files -n libsmartcols-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libsmartcols.so +%{_includedir}/libsmartcols +%{_pkgconfigdir}/smartcols.pc + +%files -n libsmartcols-static +%defattr(644,root,root,755) +%{_libdir}/libsmartcols.a + %if %{with initrd} %files initrd %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/initrd/* +%attr(755,root,root) %{_libdir}/initrd/blkid +%attr(755,root,root) %{_libdir}/initrd/blockdev +%attr(755,root,root) %{_libdir}/initrd/fdformat +%attr(755,root,root) %{_libdir}/initrd/fdisk +%attr(755,root,root) %{_libdir}/initrd/findfs +%attr(755,root,root) %{_libdir}/initrd/hwclock +%attr(755,root,root) %{_libdir}/initrd/look +%attr(755,root,root) %{_libdir}/initrd/mkswap +%attr(755,root,root) %{_libdir}/initrd/namei +%attr(755,root,root) %{_libdir}/initrd/rename +%ifnarch sparc sparcv9 sparc64 +%attr(755,root,root) %{_libdir}/initrd/sfdisk %endif +%attr(755,root,root) %{_libdir}/initrd/swaplabel +%attr(755,root,root) %{_libdir}/initrd/uuidgen +%attr(755,root,root) %{_libdir}/initrd/wipefs +# not needed? +#%attr(755,root,root) %{_libdir}/initrd/chrt +# not built because of disabled libmount +#%attr(755,root,root) %{_libdir}/initrd/e2fsck +#%attr(755,root,root) %{_libdir}/initrd/fsck +%endif + +%files -n bash-completion-util-linux +%defattr(644,root,root,755) +/usr/share/bash-completion/completions/*