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=eb8a860ab4f4...
https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=711089dc88ee...
https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=7ae647b91349...
https://src.fedoraproject.org/cgit/rpms/glibc.git/commit/?id=0fb8a56d62fe....
Change:
+%ifarch s390 s390x
+%ifarch %{biarcharches}
-%ifarch %{power64}
-%ifnarch %{auxarches}
Thanks.
Full change:
============
commit 0fb8a56d62fe60df493263c9dde32d14363e5507
Author: Florian Weimer <fweimer(a)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(a)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(a)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(a)redhat.com> - 2.31.9000-10
- Auto-sync with upstream branch master,
commit 0798b8ecc8da8667362496c1217d18635106c609.
commit 711089dc88eef8893e5c1cce353384bb3db60859
Author: Florian Weimer <fweimer(a)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(a)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(a)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(a)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