From b71bcabe240eb025d8530f66c21e9db9fda3de9c8649ce1ab26608e5013d5067 Mon Sep 17 00:00:00 2001 From: Petr Uzel Date: Tue, 13 Mar 2012 12:38:21 +0000 Subject: [PATCH 1/4] Accepting request 108417 from home:rjschwei:branches:Base:System - keep binaries in /usr tree (UsrMerge project) OBS-URL: https://build.opensuse.org/request/show/108417 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=123 --- util-linux.changes | 5 ++ util-linux.spec | 147 ++++++++++++++++++++++++++++++++++++++------- 2 files changed, 130 insertions(+), 22 deletions(-) diff --git a/util-linux.changes b/util-linux.changes index d6ea94a..49eff96 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Mar 6 21:18:56 UTC 2012 - rschweikert@suse.com + +- keep binaries in /usr tree (UsrMerge project) + ------------------------------------------------------------------- Tue Feb 21 13:46:25 UTC 2012 - puzel@suse.com diff --git a/util-linux.spec b/util-linux.spec index 5c72639..9d78678 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -106,8 +106,16 @@ Patch70: which-lib64.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq %fillup_prereq /bin/sed # -Provides: util = %{version}-%{release} rawio = %{version}-%{release} raw = %{version}-%{release} base = %{version}-%{release} uuid-runtime = %{version}-%{release} -Obsoletes: util < %{version}-%{release} rawio < %{version}-%{release} raw < %{version}-%{release} base < %{version}-%{release} uuid-runtime < %{version}-%{release} +Provides: base = %{version}-%{release} +Provides: raw = %{version}-%{release} +Provides: rawio = %{version}-%{release} +Provides: util = %{version}-%{release} +Provides: uuid-runtime = %{version}-%{release} +Obsoletes: base < %{version}-%{release} +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 @@ -165,7 +173,7 @@ Group: System/Filesystems %description -n libmount1 Library designed to be used in low-level utils like -mount(8) and /sbin/mount. helpers. +mount(8) and /usr/sbin/mount. helpers. %package -n libmount-devel Summary: Development files for libmount1 @@ -235,8 +243,6 @@ autoreconf -fi export SUID_CFLAGS="-fpie" export SUID_LDFLAGS="-pie" %configure \ - --bindir=/bin \ - --sbindir=/sbin \ --with-audit \ --with-selinux \ --enable-mesg \ @@ -265,7 +271,7 @@ mkdir -p %{buildroot}%{_localstatedir}/run/uuidd/ install -m 744 %{SOURCE50} %{buildroot}%{_initddir}/uuidd install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates -cp adjtimex-*/adjtimex %{buildroot}/sbin/ +cp adjtimex-*/adjtimex %{buildroot}/%{_sbindir} cp adjtimex-*/adjtimex.8 %{buildroot}%{_mandir}/man8/ pushd .. # which install @@ -297,20 +303,60 @@ popd # util-linux install # %make_install -mv %{buildroot}%{_bindir}/logger %{buildroot}/bin/logger +#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}/sbin +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}%{_prefix}/bin +install -m 755 mkzimage_cmdline %{buildroot}/%{_bindir} install -m 644 %{S:28} %{buildroot}%{_mandir}/man8 -install -m 755 chrp-addnote %{buildroot}%{_prefix}/bin +install -m 755 chrp-addnote %{buildroot}/%{_bindir} %endif install -m 644 nologin.8 %{buildroot}%{_mandir}/man8 # setctsid install -install -m 755 setctsid %{buildroot}%{_prefix}/sbin +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 @@ -331,7 +377,10 @@ rm -f %{buildroot}%{_mandir}/man1/chkdupexe.1 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 @@ -344,11 +393,20 @@ rm -f %{buildroot}/%{_mandir}/man8/tunelp.8* %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 %endif %ifarch ia64 +rm -f %{buildroot}%{_sbindir}/fdisk +#UsrMerge rm -f %{buildroot}/sbin/fdisk +#EndUsrMerge rm -f %{buildroot}%{_mandir}/man8/fdisk.8* %endif %find_lang %{name} %{name}.lang @@ -373,7 +431,7 @@ ln -sf ../..%{_sysconfdir}/init.d/uuidd %{buildroot}%{_sbindir}/rcuuidd %if 0%{?suse_version} <= 1130 %run_permissions %else -%set_permissions /usr/bin/wall /usr/bin/write /bin/mount /bin/umount +%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 @@ -388,7 +446,7 @@ fi %{insserv_cleanup} %verifyscript -%verify_permissions -e /usr/bin/wall -e /usr/bin/write -e /bin/mount -e /bin/umount +%verify_permissions -e /usr/bin/wall -e /usr/bin/write -e /usr/bin/mount -e /usr/bin/umount %post -n libblkid1 -p /sbin/ldconfig @@ -449,11 +507,13 @@ fi %config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw %config(noreplace) %{_sysconfdir}/filesystems %config(noreplace) %{_sysconfdir}/blkid.conf +#UsrMerge /bin/dmesg /bin/more /bin/mount /bin/umount /bin/findmnt +/bin/logger /bin/lsblk /sbin/adjtimex /sbin/agetty @@ -481,8 +541,7 @@ fi /sbin/swaplabel /sbin/fstrim /sbin/chcpu -%{_bindir}/ipcmk -/bin/logger +#EndUsrMerge %{_bindir}/cal %{_bindir}/chrt %{_bindir}/col @@ -490,46 +549,80 @@ fi %{_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}/uuidgen -%ifnarch ppc ppc64 -%{_bindir}/chrp-addnote -%{_bindir}/mkzimage_cmdline -%endif +%{_bindir}/more +%{_bindir}/mount %{_bindir}/namei %{_bindir}/prlimit %{_bindir}/rename %{_bindir}/renice %{_bindir}/rev %{_bindir}/script -%{_bindir}/setarch %{_bindir}/scriptreplay +%{_bindir}/setarch %{_bindir}/setsid -%{_bindir}/ul %{_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 @@ -630,19 +723,29 @@ fi %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 From 224d1b1111e3b88429adc486e5763f3d4678acb9738cd5fcf772e9abcf24804e Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Wed, 14 Mar 2012 14:25:45 +0000 Subject: [PATCH 2/4] - Enable /bin/login and obsolete old fork now merged back upstream. OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=124 --- login.pamd | 10 ++++++++++ remote.pamd | 12 ++++++++++++ util-linux.changes | 5 +++++ util-linux.spec | 26 ++++++++++++++++++++++---- 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 login.pamd create mode 100644 remote.pamd diff --git a/login.pamd b/login.pamd new file mode 100644 index 0000000..9350054 --- /dev/null +++ b/login.pamd @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so +auth include common-auth +account include common-account +password include common-password +session required pam_loginuid.so +session include common-session +session optional pam_lastlog.so nowtmp showfailed +session optional pam_mail.so standard diff --git a/remote.pamd b/remote.pamd new file mode 100644 index 0000000..4dd900b --- /dev/null +++ b/remote.pamd @@ -0,0 +1,12 @@ +#%PAM-1.0 +# This file is used by /bin/login in case of remote logins (means where +# the -h option is used +auth requisite pam_nologin.so +auth [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so +auth include common-auth +account include common-account +password include common-password +session required pam_loginuid.so +session include common-session +session optional pam_lastlog.so nowtmp showfailed +session optional pam_mail.so standard diff --git a/util-linux.changes b/util-linux.changes index 49eff96..d5f7d9a 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Mar 13 16:38:34 CET 2012 - kukuk@suse.de + +- Enable /bin/login and obsolete old fork now merged back. + ------------------------------------------------------------------- Tue Mar 6 21:18:56 UTC 2012 - rschweikert@suse.com diff --git a/util-linux.spec b/util-linux.spec index 9d78678..98fa104 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -52,15 +52,17 @@ 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 login package +# 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 -Source9: http://ftp.debian.org/debian/pool/main/a/adjtimex/adjtimex_%{adjtimex_ver}.orig.tar.gz +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 @@ -107,11 +109,13 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq %fillup_prereq /bin/sed # Provides: base = %{version}-%{release} +Provides: login = 4.0-13.4 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-13.4 Obsoletes: raw < %{version}-%{release} Obsoletes: rawio < %{version}-%{release} Obsoletes: util < %{version}-%{release} @@ -185,7 +189,7 @@ Files to develop applications using the libmount library. %lang_package %prep -%setup -q -n %{name}-%{version} -a 9 -b 11 -b 12 -b 13 +%setup -q -n %{name}-%{version} -a 10 -b 11 -b 12 -b 13 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -252,6 +256,7 @@ export SUID_LDFLAGS="-pie" --enable-line \ --enable-libmount-mount \ --enable-ddate \ + --enable-login-utils \ --disable-mountpoint \ --disable-use-tty-group \ --disable-static \ @@ -265,11 +270,13 @@ make %{?_smp_mflags} %{__cc} -fwhole-program %{optflags} -o chrp-addnote %{SOURCE31} %install -mkdir -p %{buildroot}{/etc/init.d,%{_mandir}/man{1,8},/bin,/sbin,/usr/bin,/usr/sbin,%{_infodir}} +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/ @@ -372,6 +379,13 @@ 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 @@ -507,6 +521,8 @@ fi %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 @@ -514,6 +530,7 @@ fi /bin/umount /bin/findmnt /bin/logger +/bin/login /bin/lsblk /sbin/adjtimex /sbin/agetty @@ -648,6 +665,7 @@ fi %{_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 From dda2a9c9a5d20ef51c74b8782305e7f732ca15d3062b830d2ce484125126532b Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Wed, 14 Mar 2012 15:44:20 +0000 Subject: [PATCH 3/4] - Enable /bin/login and obsolete old fork now merged back (not moved to /usr/bin until all problems are solved to avoid that root is not able to login). OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=125 --- util-linux.changes | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/util-linux.changes b/util-linux.changes index d5f7d9a..b3ed4d9 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,7 +1,9 @@ ------------------------------------------------------------------- Tue Mar 13 16:38:34 CET 2012 - kukuk@suse.de -- Enable /bin/login and obsolete old fork now merged back. +- Enable /bin/login and obsolete old fork now merged back + (not moved to /usr/bin until all problems are solved to + avoid that root is not able to login). ------------------------------------------------------------------- Tue Mar 6 21:18:56 UTC 2012 - rschweikert@suse.com From e5011de28445c9dbac05a65592159b9d9cc1cceb8b9634e7698bf264dfd1bd73 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Fri, 16 Mar 2012 09:57:54 +0000 Subject: [PATCH 4/4] Accepting request 109640 from home:fcrozat:branches:Base:System - Fix Obsoletes / Provides for login. OBS-URL: https://build.opensuse.org/request/show/109640 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=126 --- util-linux.changes | 5 +++++ util-linux.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/util-linux.changes b/util-linux.changes index b3ed4d9..142ccdc 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Mar 16 09:56:21 UTC 2012 - fcrozat@suse.com + +- Fix Obsoletes / Provides for login. + ------------------------------------------------------------------- Tue Mar 13 16:38:34 CET 2012 - kukuk@suse.de diff --git a/util-linux.spec b/util-linux.spec index 98fa104..a96e5df 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -109,13 +109,13 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq %fillup_prereq /bin/sed # Provides: base = %{version}-%{release} -Provides: login = 4.0-13.4 +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-13.4 +Obsoletes: login < 4.0-33.7 Obsoletes: raw < %{version}-%{release} Obsoletes: rawio < %{version}-%{release} Obsoletes: util < %{version}-%{release}