Eliminate glibc-headers and related packages
The headers are identical except for <gnu/lib-names-32.h> and <gnu/stubs-32.h>. Having those in glibc-devel.x86_64 as well should be harmless. RPM is expected to handle the identical files shared between glibc-devel.x86_64 and glibc-devel.i686 because it's needed for pretty much every other -devel package.
This commit is contained in:
parent
8a4e95401c
commit
1fcc972d48
118
glibc.spec
118
glibc.spec
@ -80,31 +80,6 @@
|
|||||||
# glibc_shell_* below.
|
# glibc_shell_* below.
|
||||||
%undefine _auto_set_build_flags
|
%undefine _auto_set_build_flags
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Any architecture/kernel combination that supports running 32-bit and 64-bit
|
|
||||||
# code in userspace is considered a biarch arch.
|
|
||||||
%global biarcharches %{ix86} x86_64 s390 s390x
|
|
||||||
|
|
||||||
# Avoid generating a glibc-headers package on architectures which are
|
|
||||||
# not biarch.
|
|
||||||
%ifarch %{biarcharches}
|
|
||||||
%global need_headers_package 1
|
|
||||||
%if 0%{?rhel} > 0
|
|
||||||
%global headers_package_name glibc-headers
|
|
||||||
%else
|
|
||||||
%ifarch %{ix86} x86_64
|
|
||||||
%global headers_package_name glibc-headers-x86
|
|
||||||
%endif
|
|
||||||
%ifarch s390 s390x
|
|
||||||
%global headers_package_name glibc-headers-s390
|
|
||||||
%endif
|
|
||||||
%dnl !rhel
|
|
||||||
%endif
|
|
||||||
%else
|
|
||||||
%global need_headers_package 0
|
|
||||||
%dnl !biarcharches
|
|
||||||
%endif
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Utility functions for pre/post scripts. Stick them at the beginning of
|
# Utility functions for pre/post scripts. Stick them at the beginning of
|
||||||
# any lua %pre, %post, %postun, etc. sections to have them expand into
|
# any lua %pre, %post, %postun, etc. sections to have them expand into
|
||||||
@ -169,7 +144,7 @@ Version: %{glibcversion}
|
|||||||
# - It allows using the Release number without the %%dist tag in the dependency
|
# - It allows using the Release number without the %%dist tag in the dependency
|
||||||
# generator to make the generated requires interchangeable between Rawhide
|
# generator to make the generated requires interchangeable between Rawhide
|
||||||
# and ELN (.elnYY < .fcXX).
|
# and ELN (.elnYY < .fcXX).
|
||||||
%global baserelease 13
|
%global baserelease 14
|
||||||
Release: %{baserelease}%{?dist}
|
Release: %{baserelease}%{?dist}
|
||||||
|
|
||||||
# Licenses:
|
# Licenses:
|
||||||
@ -533,14 +508,21 @@ Requires: %{name} = %{version}-%{release}
|
|||||||
Requires: libxcrypt-devel%{_isa} >= 4.0.0
|
Requires: libxcrypt-devel%{_isa} >= 4.0.0
|
||||||
Requires: kernel-headers >= 3.2
|
Requires: kernel-headers >= 3.2
|
||||||
BuildRequires: kernel-headers >= 3.2
|
BuildRequires: kernel-headers >= 3.2
|
||||||
%if %{need_headers_package}
|
|
||||||
Requires: %{headers_package_name} = %{version}-%{release}
|
|
||||||
%endif
|
|
||||||
%if !(0%{?rhel} > 0 && %{need_headers_package})
|
|
||||||
# For backwards compatibility, when the glibc-headers package existed.
|
# For backwards compatibility, when the glibc-headers package existed.
|
||||||
Provides: glibc-headers = %{version}-%{release}
|
Provides: glibc-headers = %{version}-%{release}
|
||||||
Provides: glibc-headers(%{_target_cpu})
|
Provides: glibc-headers(%{_target_cpu})
|
||||||
Obsoletes: glibc-headers < %{version}-%{release}
|
Obsoletes: glibc-headers < %{version}-%{release}
|
||||||
|
# For backwards compatibility with alternative Fedora approach to
|
||||||
|
# work around multilib issue in composes.
|
||||||
|
%if 0%{?fedora}
|
||||||
|
%ifarch x86_64
|
||||||
|
Provides: glibc-headers-x86 = %{version}-%{release}
|
||||||
|
Obsoletes: glibc-headers-x86 < %{version}-%{release}
|
||||||
|
%endif
|
||||||
|
%ifarch s390x
|
||||||
|
Provides: glibc-headers-s390 = %{version}-%{release}
|
||||||
|
Obsoletes: glibc-headers-s390 < %{version}-%{release}
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -587,32 +569,6 @@ The glibc-static package contains the C library static libraries
|
|||||||
for -static linking. You don't need these, unless you link statically,
|
for -static linking. You don't need these, unless you link statically,
|
||||||
which is highly discouraged.
|
which is highly discouraged.
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# glibc "headers" sub-package
|
|
||||||
# - The headers package includes all common headers that are shared amongst
|
|
||||||
# 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 -n %{headers_package_name}
|
|
||||||
Summary: Additional internal header files for glibc-devel.
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
%if 0%{?rhel} > 0
|
|
||||||
Provides: %{name}-headers(%{_target_cpu})
|
|
||||||
Obsoletes: glibc-headers-x86 < %{version}-%{release}
|
|
||||||
Obsoletes: glibc-headers-s390 < %{version}-%{release}
|
|
||||||
%else
|
|
||||||
BuildArch: noarch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%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
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# glibc "common" sub-package
|
# glibc "common" sub-package
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -1487,6 +1443,8 @@ rm -f lib/libnss_db* lib/libnss_hesiod* lib/libnsl* usr/lib/libnsl* usr/lib/libn
|
|||||||
rm usr/lib/libc_malloc_debug.so
|
rm usr/lib/libc_malloc_debug.so
|
||||||
strip -g usr/lib/*.o
|
strip -g usr/lib/*.o
|
||||||
popd
|
popd
|
||||||
|
mkdir glibc32-headers
|
||||||
|
cp -a %{glibc_sysroot}%{_includedir} glibc32-headers
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Build and install:
|
# Build and install:
|
||||||
@ -1499,6 +1457,23 @@ popd
|
|||||||
# via hardlinks, so we must group them ourselves.
|
# via hardlinks, so we must group them ourselves.
|
||||||
hardlink -c %{glibc_sysroot}/usr/lib/locale
|
hardlink -c %{glibc_sysroot}/usr/lib/locale
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
# Verify that there are no unexpected differences in the header files common
|
||||||
|
# between i386 and x86_64.
|
||||||
|
diff -ur %{glibc_sysroot}%{_includedir} glibc32-headers/include \
|
||||||
|
> glibc-32-64.diff || true
|
||||||
|
if test -s glibc-32-64.diff ; then
|
||||||
|
if test $(grep -v '^Only in ' glibc-32-64.diff | wc -l) -ne 0; then
|
||||||
|
: Unexpected header file differences
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
: Missing additional stubs header files.
|
||||||
|
fi
|
||||||
|
rm glibc-32-64.diff
|
||||||
|
rm -rf glibc32-headers
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{glibc_autorequires}
|
%if %{glibc_autorequires}
|
||||||
mkdir -p %{glibc_sysroot}/%{_rpmconfigdir} %{glibc_sysroot}/%{_fileattrsdir}
|
mkdir -p %{glibc_sysroot}/%{_rpmconfigdir} %{glibc_sysroot}/%{_fileattrsdir}
|
||||||
sed < %{SOURCE3} \
|
sed < %{SOURCE3} \
|
||||||
@ -1888,23 +1863,6 @@ split_sysroot_file_list () {
|
|||||||
remove_from_filelist "$4" "$5"
|
remove_from_filelist "$4" "$5"
|
||||||
}
|
}
|
||||||
|
|
||||||
# glibc-devel historically contains a subset of the files in
|
|
||||||
# /usr/include/gnu. The remaining headers are in glibc-headers-*.
|
|
||||||
# The -regex clause skips /usr/include, which is owned by the
|
|
||||||
# filesystem package. The x86_64 exception is required because there
|
|
||||||
# are headers that should be part of the glibc32 package only.
|
|
||||||
%if %{need_headers_package}
|
|
||||||
split_sysroot_file_list \
|
|
||||||
%{_includedir} '(
|
|
||||||
! -regex .*%{_includedir}$
|
|
||||||
%ifarch x86_64
|
|
||||||
! -regex .*%{_includedir}/gnu/.*-32\.h$
|
|
||||||
%endif
|
|
||||||
)' \
|
|
||||||
'%{_includedir}/gnu/(stubs|lib-names)-.*\.h$' \
|
|
||||||
headers.filelist devel.filelist
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# The primary gconv converters are in the glibc package, the rest goes
|
# The primary gconv converters are in the glibc package, the rest goes
|
||||||
# into glibc-gconv-extra. The Z9 and Z900 subpatterns are for
|
# into glibc-gconv-extra. The Z9 and Z900 subpatterns are for
|
||||||
# s390x-specific converters. The -name clause skips over files
|
# s390x-specific converters. The -name clause skips over files
|
||||||
@ -2285,12 +2243,8 @@ update_gconv_modules_cache ()
|
|||||||
%{_datarootdir}/i18n/locales
|
%{_datarootdir}/i18n/locales
|
||||||
%{_datarootdir}/i18n/charmaps
|
%{_datarootdir}/i18n/charmaps
|
||||||
|
|
||||||
%if %{need_headers_package}
|
|
||||||
%files -f devel.filelist devel
|
|
||||||
%else
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/*
|
%{_includedir}/*
|
||||||
%endif
|
|
||||||
%if %{glibc_autorequires}
|
%if %{glibc_autorequires}
|
||||||
%attr(0755,root,root) %{_rpmconfigdir}/glibc.req
|
%attr(0755,root,root) %{_rpmconfigdir}/glibc.req
|
||||||
%{_fileattrsdir}/glibc.attr
|
%{_fileattrsdir}/glibc.attr
|
||||||
@ -2333,10 +2287,6 @@ update_gconv_modules_cache ()
|
|||||||
%{_libdir}/libmvec.a
|
%{_libdir}/libmvec.a
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{need_headers_package}
|
|
||||||
%files -f headers.filelist -n %{headers_package_name}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files utils
|
%files utils
|
||||||
%{_bindir}/memusage
|
%{_bindir}/memusage
|
||||||
%{_bindir}/memusagestat
|
%{_bindir}/memusagestat
|
||||||
@ -2382,8 +2332,7 @@ update_gconv_modules_cache ()
|
|||||||
|
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%files -n glibc32
|
%files -n glibc32
|
||||||
%{_includedir}/gnu/lib-names-32.h
|
# All headers are contained in glibc-devel.x86_64.
|
||||||
%{_includedir}/gnu/stubs-32.h
|
|
||||||
%{_prefix}/lib/*.a
|
%{_prefix}/lib/*.a
|
||||||
%{_prefix}/lib/*.o
|
%{_prefix}/lib/*.o
|
||||||
%{_prefix}/lib/*.so*
|
%{_prefix}/lib/*.so*
|
||||||
@ -2391,6 +2340,9 @@ update_gconv_modules_cache ()
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Oct 28 2024 Florian Weimer <fweimer@redhat.com> - 2.40.9000-14
|
||||||
|
- Eliminate the glibc-headers package
|
||||||
|
|
||||||
* Sat Oct 26 2024 Florian Weimer <fweimer@redhat.com> - 2.40.9000-13
|
* Sat Oct 26 2024 Florian Weimer <fweimer@redhat.com> - 2.40.9000-13
|
||||||
- Restore compatibility with libglvnd by reverting
|
- Restore compatibility with libglvnd by reverting
|
||||||
"elf: Run constructors on cyclic recursive dlopen (bug 31986)"
|
"elf: Run constructors on cyclic recursive dlopen (bug 31986)"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user