The package rpms/glibc.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=eb8a860ab4f498d... https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=711089dc88eef88... https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=7ae647b91349ea3... https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=0fb8a56d62fe60d....
Change: +%ifarch s390 s390x +%ifarch %{biarcharches} -%ifarch %{power64} -%ifnarch %{auxarches}
Thanks.
Full change: ============
commit 0fb8a56d62fe60df493263c9dde32d14363e5507 Author: Florian Weimer fweimer@redhat.com Date: Mon Apr 6 11:23:22 2020 +0200
Remove auxarches macro
This commit does not change the generated RPM SPEC file in a material way: there are only whitespace and comment changes as a result.
diff --git a/glibc.spec b/glibc.spec index bce096b..b49ef40 100644 --- a/glibc.spec +++ b/glibc.spec @@ -54,12 +54,6 @@ %undefine with_docs %undefine with_valgrind %endif -############################################################################## -# Auxiliary arches are those arches that can be built in addition -# to the core supported arches. You either install an auxarch or -# you install the base arch, not both. You would do this in order -# to provide a more optimized version of the package for your arch. -%define auxarches athlon alphaev6
# Only some architectures have static PIE support. %define pie_arches %{ix86} x86_64 @@ -521,10 +515,7 @@ Supplements: (glibc and (]]..suppl..[[))
The glibc-langpack-]]..lang..[[ package includes the basic information required to support the ]]..langname..[[ language in your applications. -%ifnarch %{auxarches} %files -f langpack-]]..lang..[[.filelist langpack-]]..lang..[[ - -%endif ]])) end
@@ -559,9 +550,7 @@ Requires: %{name}-common = %{version}-%{release} This is a Meta package that is used to install minimal language packs. This package ensures you can use C, POSIX, or C.UTF-8 locales, but nothing else. It is designed for assembling a minimal system. -%ifnarch %{auxarches} %files minimal-langpack -%endif
############################################################################## # glibc "nscd" sub-package @@ -754,7 +743,7 @@ diff -u %{SOURCE11} localedata/SUPPORTED # Build glibc... ############################################################################## %build -# Log system information +# Log osystem information uname -a LD_SHOW_AUXV=1 /bin/true cat /proc/cpuinfo @@ -938,16 +927,12 @@ done # Build and install: make -j1 install_root=%{glibc_sysroot} install -C build-%{target}
-# If we are not building an auxiliary arch then install all of the supported -# locales. -%ifnarch %{auxarches} pushd build-%{target} # Do not use a parallel make here because the hardlink optimization in # localedef is not fully reproducible when running concurrently. make install_root=%{glibc_sysroot} \ install-locales -C ../localedata objdir=`pwd` popd -%endif
# install_different: # Install all core libraries into DESTDIR/SUBDIR. Either the file is @@ -1058,7 +1043,6 @@ rm -f %{glibc_sysroot}%{_infodir}/libc.info* # Create locale sub-package file lists ##############################################################################
-%ifnarch %{auxarches} olddir=`pwd` pushd %{glibc_sysroot}%{_prefix}/lib/locale rm -f locale-archive @@ -1094,7 +1078,6 @@ do done popd mv %{glibc_sysroot}%{_prefix}/lib/locale/*.filelist . -%endif
############################################################################## # Install configuration files for services @@ -1102,25 +1085,21 @@ mv %{glibc_sysroot}%{_prefix}/lib/locale/*.filelist .
install -p -m 644 nss/nsswitch.conf %{glibc_sysroot}/etc/nsswitch.conf
-%ifnarch %{auxarches} # This is for ncsd - in glibc 2.2 install -m 644 nscd/nscd.conf %{glibc_sysroot}/etc mkdir -p %{glibc_sysroot}%{_tmpfilesdir} install -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir} mkdir -p %{glibc_sysroot}/lib/systemd/system install -m 644 nscd/nscd.service nscd/nscd.socket %{glibc_sysroot}/lib/systemd/system -%endif
# Include ld.so.conf echo 'include ld.so.conf.d/*.conf' > %{glibc_sysroot}/etc/ld.so.conf truncate -s 0 %{glibc_sysroot}/etc/ld.so.cache chmod 644 %{glibc_sysroot}/etc/ld.so.conf mkdir -p %{glibc_sysroot}/etc/ld.so.conf.d -%ifnarch %{auxarches} mkdir -p %{glibc_sysroot}/etc/sysconfig truncate -s 0 %{glibc_sysroot}/etc/sysconfig/nscd truncate -s 0 %{glibc_sysroot}/etc/gai.conf -%endif
# Include %{_libdir}/gconv/gconv-modules.cache truncate -s 0 %{glibc_sysroot}%{_libdir}/gconv/gconv-modules.cache @@ -1201,11 +1180,9 @@ popd rm -f %{glibc_sysroot}%{_infodir}/dir %endif
-%ifnarch %{auxarches} mkdir -p %{glibc_sysroot}/var/{db,run}/nscd touch %{glibc_sysroot}/var/{db,run}/nscd/{passwd,group,hosts,services} touch %{glibc_sysroot}/var/run/nscd/{socket,nscd.pid} -%endif
# Move libpcprofile.so and libmemusage.so into the proper library directory. # They can be moved without any real consequences because users would not use @@ -1256,9 +1233,7 @@ ar cr %{glibc_sysroot}%{_prefix}/%{_lib}/libpthread_nonshared.a
############################################################################## # Beyond this point in the install process we no longer modify the set of -# installed files, with one exception, for auxarches we cleanup the file list -# at the end and remove files which we don't intend to ship. We need the file -# list to effect a proper cleanup, and so it happens last. +# installed files. ##############################################################################
############################################################################## @@ -1663,22 +1638,6 @@ exclude_common_dirs debuginfo.filelist %endif
############################################################################## -# Delete files that we do not intended to ship with the auxarch. -# This is the only place where we touch the installed files after generating -# the file lists. -############################################################################## -%ifarch %{auxarches} -echo Cutting down the list of unpackaged files -sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \ - common.filelist devel.filelist static.filelist headers.filelist \ - utils.filelist nscd.filelist \ -%ifarch %{debuginfocommonarches} - debuginfocommon.filelist \ -%endif - | (cd %{glibc_sysroot}; xargs --no-run-if-empty rm -f 2> /dev/null || :) -%endif - -############################################################################## # Run the glibc testsuite ############################################################################## %check @@ -1977,7 +1936,6 @@ fi %{!?_licensedir:%global license %%doc} %license COPYING COPYING.LIB LICENSES
-%ifnarch %{auxarches} %files -f common.filelist common %dir %{_prefix}/lib/locale %dir %{_prefix}/lib/locale/C.utf8 @@ -2024,7 +1982,6 @@ fi %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/hosts %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/services %ghost %config(missingok,noreplace) /etc/sysconfig/nscd -%endif
%files -f nss_db.filelist -n nss_db /var/db/Makefile @@ -2038,11 +1995,9 @@ fi %if 0%{?_enable_debug_packages} %files debuginfo -f debuginfo.filelist %ifarch %{debuginfocommonarches} -%ifnarch %{auxarches} %files debuginfo-common -f debuginfocommon.filelist %endif %endif -%endif
%if %{with benchtests} %files benchtests -f benchtests.filelist
commit eb8a860ab4f498d1a432d807aa8b805a1fe46ea2 Author: Florian Weimer fweimer@redhat.com Date: Fri Apr 3 17:25:50 2020 +0200
Replace the glibc-headers package with glibc-headers-x86
And make it noarch. This avoids compose issues with disappearing and reappearing glibc-headers.i686 packages.
Also add a glibc-headers-s390 package on s390x, in case someone still has a private build with the 31-bit libraries.
diff --git a/glibc.spec b/glibc.spec index a90da11..bce096b 100644 --- a/glibc.spec +++ b/glibc.spec @@ -80,6 +80,12 @@ # not biarch. %ifarch %{biarcharches} %define need_headers_package 1 +%ifarch %{ix86} x86_64 +%define headers_package_name glibc-headers-x86 +%endif +%ifarch s390 s390x +%define headers_package_name glibc-headers-s390 +%endif %else %define need_headers_package 0 %endif @@ -96,7 +102,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 10%{?dist} +Release: 11%{?dist}
# In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -326,14 +332,12 @@ Requires: libxcrypt-devel%{_isa} >= 4.0.0 Requires: kernel-headers >= 3.2 BuildRequires: kernel-headers >= 3.2 %if %{need_headers_package} -Requires: %{name}-headers = %{version}-%{release} -%else -# For backwards compatibility, when all architectures had the -# glibc-headers package. +Requires: %{headers_package_name} = %{version}-%{release} +%endif +# For backwards compatibility, when the glibc-headers package existed. Provides: glibc-headers = %{version}-%{release} Provides: glibc-headers(%{_target_cpu}) -Obsoletes: glibc-headers < %{name} = %{version}-%{release} -%endif +Obsoletes: glibc-headers < %{version}-%{release}
%description devel The glibc-devel package contains the object files necessary @@ -369,13 +373,13 @@ which is highly discouraged. # respective i686 and x86_64 devel packages. ############################################################################## %if %{need_headers_package} -%package headers -Summary: Additional header files for glibc-devel. +%package -n %{headers_package_name} +Summary: Additional internal header files for glibc-devel. +BuildArch: noarch Requires: %{name} = %{version}-%{release} -Provides: %{name}-headers(%{_target_cpu})
-%description headers -The glibc-headers package contains the architecture-specific +%description -n %{headers_package_name} +The %{headers_package_name} package contains the architecture-specific header files which cannot be included in glibc-devel package. %endif
@@ -1997,7 +2001,7 @@ fi %files -f static.filelist static
%if %{need_headers_package} -%files -f headers.filelist headers +%files -f headers.filelist -n %{headers_package_name} %endif
%files -f utils.filelist utils @@ -2047,6 +2051,10 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog +* Mon Apr 27 2020 Florian Weimer fweimer@redhat.com - 2.31.9000-11 +- Introduce glibc-headers-x86, glibc-headers-s390 packages +- Remove the glibc-headers package + * Mon Apr 20 2020 DJ Delorie dj@redhat.com - 2.31.9000-10 - Auto-sync with upstream branch master, commit 0798b8ecc8da8667362496c1217d18635106c609.
commit 711089dc88eef8893e5c1cce353384bb3db60859 Author: Florian Weimer fweimer@redhat.com Date: Fri Apr 3 17:28:28 2020 +0200
Restrict the glibc-headers package to x86_64, i686
diff --git a/glibc.spec b/glibc.spec index 6bcafce..a90da11 100644 --- a/glibc.spec +++ b/glibc.spec @@ -75,6 +75,15 @@ # Any architecture/kernel combination that supports running 32-bit and 64-bit # code in userspace is considered a biarch arch. %define biarcharches %{ix86} x86_64 s390 s390x + +# Avoid generating a glibc-headers package on architectures which are +# not biarch. +%ifarch %{biarcharches} +%define need_headers_package 1 +%else +%define need_headers_package 0 +%endif + ############################################################################## # If the debug information is split into two packages, the core debuginfo # package and the common debuginfo package then the arch should be listed @@ -312,9 +321,19 @@ applications should use libnsl2 instead to gain IPv6 support. ############################################################################## %package devel Summary: Object files for development using standard C libraries. -Requires: %{name}-headers = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: libxcrypt-devel%{_isa} >= 4.0.0 +Requires: kernel-headers >= 3.2 +BuildRequires: kernel-headers >= 3.2 +%if %{need_headers_package} +Requires: %{name}-headers = %{version}-%{release} +%else +# For backwards compatibility, when all architectures had the +# glibc-headers package. +Provides: glibc-headers = %{version}-%{release} +Provides: glibc-headers(%{_target_cpu}) +Obsoletes: glibc-headers < %{name} = %{version}-%{release} +%endif
%description devel The glibc-devel package contains the object files necessary @@ -343,29 +362,22 @@ which is highly discouraged. ############################################################################## # glibc "headers" sub-package # - The headers package includes all common headers that are shared amongst -# the multilib builds. It was created to reduce the download size, and -# thus avoid downloading one header package per multilib. The package is -# identical both in content and file list, any difference is an error. +# the multilib builds. It avoids file conflicts between the architecture- +# specific glibc-devel variants. # Files like gnu/stubs.h which have gnu/stubs-32.h (i686) and gnu/stubs-64.h # are included in glibc-headers, but the -32 and -64 files are in their # respective i686 and x86_64 devel packages. ############################################################################## +%if %{need_headers_package} %package headers -Summary: Header files for development using standard C libraries. +Summary: Additional header files for glibc-devel. +Requires: %{name} = %{version}-%{release} Provides: %{name}-headers(%{_target_cpu}) -Requires: kernel-headers >= 3.2, %{name} = %{version}-%{release} -BuildRequires: kernel-headers >= 3.2
%description headers -The glibc-headers package contains the header files necessary -for developing programs which use the standard C libraries (which are -used by nearly all programs). If you are developing programs which -will use the standard C libraries, your system needs to have these -standard header files available in order to create the -executables. - -Install glibc-headers if you are going to develop programs which will -use the standard C libraries. +The glibc-headers package contains the architecture-specific +header files which cannot be included in glibc-devel package. +%endif
############################################################################## # glibc "common" sub-package @@ -1425,10 +1437,11 @@ sed -i -e ',libmemusage.so,d' \ # glibc-headers ###############################################################################
+%if %{need_headers_package} # The glibc-headers package includes only common files which are identical # across all multilib packages. We must keep gnu/stubs.h and gnu/lib-names.h # in the glibc-headers package, but the -32, -64, -64-v1, and -64-v2 versions -# go into the development packages. +# go into glibc-devel. grep '%{_prefix}/include/gnu/stubs-.*.h$' < master.filelist >> devel.filelist || : grep '%{_prefix}/include/gnu/lib-names-.*.h$' < master.filelist >> devel.filelist || : # Put the include files into headers file list. @@ -1436,6 +1449,11 @@ grep '%{_prefix}/include' < master.filelist \ | egrep -v '%{_prefix}/include/gnu/stubs-.*.h$' \ | egrep -v '%{_prefix}/include/gnu/lib-names-.*.h$' \
headers.filelist
+%else +# If there is no glibc-headers package, all header files go into the +# glibc-devel package. +grep '%{_prefix}/include' < master.filelist >> devel.filelist +%endif
############################################################################### # glibc-static @@ -1978,7 +1996,9 @@ fi
%files -f static.filelist static
+%if %{need_headers_package} %files -f headers.filelist headers +%endif
%files -f utils.filelist utils
commit 7ae647b91349ea3f701f8eff081f6448aacd8ae9 Author: Florian Weimer fweimer@redhat.com Date: Fri Apr 3 14:24:20 2020 +0200
Remove %{power64} conditionals
ppc64le is not a biarch architecture, but is included in %{power64}, so it ended up in %{biarcharches}.
diff --git a/glibc.spec b/glibc.spec index faacd08..6bcafce 100644 --- a/glibc.spec +++ b/glibc.spec @@ -74,7 +74,7 @@ ############################################################################## # Any architecture/kernel combination that supports running 32-bit and 64-bit # code in userspace is considered a biarch arch. -%define biarcharches %{ix86} x86_64 %{power64} s390 s390x +%define biarcharches %{ix86} x86_64 s390 s390x ############################################################################## # If the debug information is split into two packages, the core debuginfo # package and the common debuginfo package then the arch should be listed @@ -229,12 +229,8 @@ Conflicts: kernel < %{enablekernel} %ifarch %{arm} %define target %{_target_cpu}-redhat-linuxeabi %endif -%ifarch %{power64} %ifarch ppc64le %define target ppc64le-redhat-linux -%else -%define target ppc64-redhat-linux -%endif %endif
# GNU make 4.0 introduced the -O option.
commit 7407a5058abaccd0a99d3092aa586bcebe2b27c1 Author: Florian Weimer fweimer@redhat.com Date: Fri Apr 3 14:29:23 2020 +0200
Remove historic scriptlet for glibc-headers
Also remove the dependencies which are needed by the scriptlet.
diff --git a/glibc.spec b/glibc.spec index cde8b3d..faacd08 100644 --- a/glibc.spec +++ b/glibc.spec @@ -316,7 +316,6 @@ applications should use libnsl2 instead to gain IPv6 support. ############################################################################## %package devel Summary: Object files for development using standard C libraries. -Requires(pre): %{name}-headers Requires: %{name}-headers = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: libxcrypt-devel%{_isa} >= 4.0.0 @@ -358,10 +357,7 @@ which is highly discouraged. %package headers Summary: Header files for development using standard C libraries. Provides: %{name}-headers(%{_target_cpu}) -Requires(pre): kernel-headers -# Uses 'rm' to remove problematic kernel headers. -Requires(pre): coreutils -Requires: kernel-headers >= 2.2.1, %{name} = %{version}-%{release} +Requires: kernel-headers >= 3.2, %{name} = %{version}-%{release} BuildRequires: kernel-headers >= 3.2
%description headers @@ -1922,12 +1918,6 @@ if posix.access(save_path) then posix.unlink(save_path) end
-%pre headers -# this used to be a link and it is causing nightmares now -if [ -L %{_prefix}/include/scsi ] ; then - rm -f %{_prefix}/include/scsi -fi - %pre -n nscd getent group nscd >/dev/null || /usr/sbin/groupadd -g 28 -r nscd getent passwd nscd >/dev/null ||
commit db303b940e82332f41efb749ee4e1e4ea7355881 Author: Florian Weimer fweimer@redhat.com Date: Fri Apr 3 14:17:51 2020 +0200
Fix "pacakge" typos
diff --git a/glibc.spec b/glibc.spec index e40fb08..cde8b3d 100644 --- a/glibc.spec +++ b/glibc.spec @@ -77,7 +77,7 @@ %define biarcharches %{ix86} x86_64 %{power64} s390 s390x ############################################################################## # If the debug information is split into two packages, the core debuginfo -# pacakge and the common debuginfo package then the arch should be listed +# package and the common debuginfo package then the arch should be listed # here. If the arch is not listed here then a single core debuginfo package # will be created for the architecture. %define debuginfocommonarches %{biarcharches} alpha alphaev6 @@ -536,7 +536,7 @@ Requires: %{name}-common = %{version}-%{release} Provides: %{name}-langpack = %{version}-%{release} %description all-langpacks
-# No %files, this is an empty pacakge. The C/POSIX and +# No %files, this is an empty package. The C/POSIX and # C.UTF-8 files are already installed by glibc. We create # minimal-langpack because the virtual provide of # glibc-langpack needs at least one package installed