| |
@@ -136,8 +136,8 @@
|
| |
|
| |
-- Note: We use _prefix because Fedora's UsrMove says so.
|
| |
function call_ldconfig ()
|
| |
- post_exec("Error: call to %{_prefix}/sbin/ldconfig failed.\n",
|
| |
- "%{_prefix}/sbin/ldconfig")
|
| |
+ post_exec("Error: call to ldconfig failed.\n",
|
| |
+ "ldconfig")
|
| |
end
|
| |
|
| |
function update_gconv_modules_cache ()
|
| |
@@ -325,6 +325,10 @@
|
| |
Obsoletes: glibc-profile < 2.4
|
| |
Obsoletes: nscd < 2.35
|
| |
Provides: ldconfig
|
| |
+ %if "%{_sbindir}" == "%{_bindir}"
|
| |
+ # We rely on filesystem to create the compat symlinks for us
|
| |
+ Requires: filesystem(unmerged-sbin-symlinks)
|
| |
+ %endif
|
| |
Provides: /sbin/ldconfig
|
| |
Provides: /usr/sbin/ldconfig
|
| |
|
| |
@@ -569,6 +573,11 @@
|
| |
Requires: %{name} = %{version}-%{release}
|
| |
Recommends: tzdata >= 2003a
|
| |
|
| |
+ %if "%{_sbindir}" == "%{_bindir}"
|
| |
+ # We rely on filesystem to create the compat symlinks for us
|
| |
+ Requires: filesystem(unmerged-sbin-symlinks)
|
| |
+ %endif
|
| |
+
|
| |
%description common
|
| |
The glibc-common package includes common binaries for the GNU libc
|
| |
libraries, as well as national language (locale) support.
|
| |
@@ -1434,6 +1443,12 @@
|
| |
# via hardlinks, so we must group them ourselves.
|
| |
hardlink -c %{glibc_sysroot}/usr/lib/locale
|
| |
|
| |
+ # Implement Changes/UsrMerge and Changes/Unify_bin_and_sbin.
|
| |
+ mv %{glibc_sysroot}/sbin/ldconfig %{glibc_sysroot}/%{_sbindir}/
|
| |
+ %if "%{_sbindir}" == "%{_bindir}"
|
| |
+ mv %{glibc_sysroot}/usr/sbin/{iconvconfig,zic} %{glibc_sysroot}/%{_bindir}/
|
| |
+ %endif
|
| |
+
|
| |
# install_different:
|
| |
# Install all core libraries into DESTDIR/SUBDIR. Either the file is
|
| |
# installed as a copy or a symlink to the default install (if it is the
|
| |
@@ -1516,7 +1531,7 @@
|
| |
truncate -s 0 %{glibc_sysroot}/var/cache/ldconfig/aux-cache
|
| |
|
| |
# ldconfig is statically linked, so we can use the new version.
|
| |
- %{glibc_sysroot}/sbin/ldconfig -N -r %{glibc_sysroot}
|
| |
+ %{glibc_sysroot}/%{_sbindir}/ldconfig -N -r %{glibc_sysroot}
|
| |
|
| |
##############################################################################
|
| |
# Install info files
|
| |
@@ -1645,10 +1660,10 @@
|
| |
# The #line directives gperf generates do not give the proper
|
| |
# file name relative to the build directory.
|
| |
pushd locale
|
| |
- ln -s programs/*.gperf .
|
| |
+ ln -sf programs/*.gperf .
|
| |
popd
|
| |
pushd iconv
|
| |
- ln -s ../locale/programs/charmap-kw.gperf .
|
| |
+ ln -sf ../locale/programs/charmap-kw.gperf .
|
| |
popd
|
| |
|
| |
%if %{with docs}
|
| |
@@ -1733,7 +1748,7 @@
|
| |
exit 1
|
| |
fi
|
| |
set -x
|
| |
- ln -s $sltarget usr/$lib/$slbase
|
| |
+ ln -sf $sltarget usr/$lib/$slbase
|
| |
done
|
| |
fi
|
| |
done
|
| |
@@ -1877,10 +1892,7 @@
|
| |
# - The info files '%{_infodir}/dir'
|
| |
# - The partial (lib*_p.a) static libraries, include files.
|
| |
# - The static files, objects, and unversioned DSOs.
|
| |
- # - The bin, locale, some sbin, and share.
|
| |
- # - We want iconvconfig in the main package and we do this by using
|
| |
- # a double negation of -v and [^i] so it removes all files in
|
| |
- # sbin *but* iconvconfig.
|
| |
+ # - Share and ldconfig and iconvconfig
|
| |
# - All the libnss files (we add back the ones we want later).
|
| |
# - All bench test binaries.
|
| |
# - The aux-cache, since it's handled specially in the files section.
|
| |
@@ -1897,7 +1909,7 @@
|
| |
-e '%{_libdir}/gconv/gconv-modules.d/gconv-modules-extra\.conf$' \
|
| |
-e '%{_prefix}/bin' \
|
| |
-e '%{_prefix}/lib/locale' \
|
| |
- -e '%{_prefix}/sbin/[^i]' \
|
| |
+ -e '%{_prefix}/sbin' \
|
| |
-e '%{_prefix}/share' \
|
| |
-e '/var/db/Makefile' \
|
| |
-e '/libnss_.*\.so[0-9.]*$' \
|
| |
@@ -1911,6 +1923,10 @@
|
| |
-e '/lib/.*\.so.*' \
|
| |
%endif
|
| |
> glibc.filelist
|
| |
+ cat master.filelist \
|
| |
+ | grep -E \
|
| |
+ -e 'bin/(ldconfig|iconvconfig)' \
|
| |
+ >> glibc.filelist
|
| |
|
| |
# Add specific files:
|
| |
# - The nss_files, nss_compat, and nss_db files.
|
| |
@@ -2066,11 +2082,9 @@
|
| |
# iconvconfig which needs to go in glibc. The iconvconfig binary is kept in
|
| |
# the main glibc package because we use it in the post-install scriptlet to
|
| |
# rebuild the gconv-modules.cache. The makedb binary is in nss_db.
|
| |
- grep '%{_prefix}/bin' master.filelist \
|
| |
- | grep -v '%{_prefix}/bin/makedb' \
|
| |
+ grep -E '%{_prefix}/s?bin' master.filelist \
|
| |
+ | grep -vE 'bin/(makedb|iconvconfig|ldconfig|memusage|mtrace|pcprofiledump|xtrace)' \
|
| |
>> common.filelist
|
| |
- grep '%{_prefix}/sbin' master.filelist \
|
| |
- | grep -v '%{_prefix}/sbin/iconvconfig' >> common.filelist
|
| |
# All of the files under share go into the common package since they should be
|
| |
# multilib-independent.
|
| |
# Exceptions:
|
| |