From 9f13ea795a27e276b2d515cd47f774920127e17e96ce62a9f654ed33eff0f066 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 4 Sep 2012 18:58:49 +0000 Subject: [PATCH] Accepting request 132501 from home:AndreasSchwab:ff - Move pt_chown to %{_libexecdir} so that baselibs can find it. - Do create hardlinks to getconf so that baselibs use the correct binary and getconf -v works. OBS-URL: https://build.opensuse.org/request/show/132501 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=211 --- glibc-2.8-getconf.diff | 18 ------------------ glibc.changes | 7 +++++++ glibc.spec | 25 +++++++++++++------------ glibc_post_upgrade.c | 5 ++--- 4 files changed, 22 insertions(+), 33 deletions(-) delete mode 100644 glibc-2.8-getconf.diff diff --git a/glibc-2.8-getconf.diff b/glibc-2.8-getconf.diff deleted file mode 100644 index 5a7643b..0000000 --- a/glibc-2.8-getconf.diff +++ /dev/null @@ -1,18 +0,0 @@ -This is required for too noisy rpmlint: -glibc.i586: E: hardlink-across-partition (Badness: 10000) /usr/lib/getconf/POSIX_V7_ILP32_OFFBIG /usr/bin/getconf - - -Index: glibc-2.15.90/posix/Makefile -=================================================================== ---- glibc-2.15.90.orig/posix/Makefile -+++ glibc-2.15.90/posix/Makefile -@@ -301,8 +301,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi - $(addprefix $(..)./scripts/mkinstalldirs ,\ - $(filter-out $(wildcard $@),$@)) - while read spec; do \ -- ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \ -- mv -f $@/$$spec.new $@/$$spec; \ -+ ln -s ../../bin/getconf $@/$$spec; \ - done < $(objpfx)getconf.speclist - - $(objpfx)getconf.speclist: $(objpfx)getconf diff --git a/glibc.changes b/glibc.changes index 42fd406..242b511 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Sep 4 11:08:53 UTC 2012 - schwab@linux-m68k.org + +- Move pt_chown to %{_libexecdir} so that baselibs can find it. +- Do create hardlinks to getconf so that baselibs use the correct binary + and getconf -v works. + ------------------------------------------------------------------- Tue Aug 28 07:10:49 UTC 2012 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index ff5fdde..fd9c365 100644 --- a/glibc.spec +++ b/glibc.spec @@ -201,8 +201,6 @@ Patch13: glibc-2.3.2.no_archive.diff Patch14: glibc-2.3.90-bindresvport.blacklist.diff # PATCH-FIX-OPENSUSE prefer -lang rpm packages Patch15: glibc-2.3.90-langpackdir.diff -# PATCH-FIX-OPENSUSE Do not generate hardlink for getconf -Patch16: glibc-2.8-getconf.diff # PATCH-FIX-OPENSUSE add option --enable-runbinaries to disable running of compiled binaries Patch17: glibc-compiled-binaries.diff # PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review) @@ -472,7 +470,6 @@ rm nscd/s-stamp %patch13 -p1 %patch14 -p1 %patch15 -p1 -%patch16 -p1 %patch17 -p1 %patch18 -p1 %patch21 -p1 @@ -648,7 +645,7 @@ configure_and_build_glibc() { CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \ CC="$BuildCC" CXX="$BuildCCplus" ../configure \ --prefix=%{_prefix} \ - --libexecdir=%{_libdir} --infodir=%{_infodir} \ + --libexecdir=%{_libexecdir} --infodir=%{_infodir} \ --enable-add-ons=nptl$addons \ $profile \ "$@" \ @@ -984,6 +981,10 @@ install -m 644 %{SOURCE21} %{buildroot}/lib/systemd/system ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3 %endif +# Move getconf to %{_libexecdir}/getconf/ to avoid cross device link +mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf +ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf + ####################################################################### ### ### ... @@ -991,19 +992,19 @@ ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3 ####################################################################### # Note: glibc_post_upgrade does: -# %%set_permissions %%{_libdir}/pt_chown +# %%set_permissions %%{_libexecdir}/pt_chown # since we cannot do it in our own post section %post -p %{_sbindir}/glibc_post_upgrade # Enabling the following lines will generate a # requires on /bin/sh but glibc should not require any other binary -# packages. Therefore we do the change with the build-in lua: -# %verifyscript -# %verify_permissions -e %{_libdir}/pt_chown +# packages. Therefore we do the change with the built-in lua: +# %%verifyscript +# %%verify_permissions -e %%{_libexecdir}/pt_chown %verifyscript -p -os.execute("/usr/bin/chkstat -n --warn --system -e %{_libdir}/pt_chown") +os.execute("/usr/bin/chkstat -n --warn --system -e %{_libexecdir}/pt_chown") %postun -p /sbin/ldconfig @@ -1181,9 +1182,9 @@ exit 0 %endif %{_bindir}/locale %{_bindir}/localedef -%verify(not mode caps) %attr(4755,root,root) %{_libdir}/pt_chown -%dir %attr(0755,root,root) %{_libdir}/getconf -%{_libdir}/getconf/* +%verify(not mode caps) %attr(4755,root,root) %{_libexecdir}/pt_chown +%dir %attr(0755,root,root) %{_libexecdir}/getconf +%{_libexecdir}/getconf/* %{_sbindir}/glibc_post_upgrade %{_sbindir}/iconvconfig diff --git a/glibc_post_upgrade.c b/glibc_post_upgrade.c index f351234..9e97c79 100644 --- a/glibc_post_upgrade.c +++ b/glibc_post_upgrade.c @@ -128,11 +128,10 @@ main (void) "--nostdlib", GCONV_MODULES_DIR); } - /* Implement %set_permissions %{_libdir}/pt_chown. */ + /* Implement %set_permissions %{_libexecdir}/pt_chown. */ if (access ("/usr/bin/chkstat", X_OK) == 0) verbose_exec (114, 1, "/usr/bin/chkstat", "/usr/bin/chkstat", - "-n", "--set", "--system", "/usr/lib/pt_chown", - "/usr/lib64/pt_chown"); + "-n", "--set", "--system", "/usr/lib/pt_chown"); /* Check if telinit is available and the init fifo as well. */ if (access ("/sbin/telinit", X_OK) || access ("/dev/initctl", F_OK))