The `Move to /usr' transition for glibc can not be completed
without support from RPM. There are too many Requires that
explicitly reference non-/usr paths in various spec files.
Reverting this patch is the only way forward until we find
a transitional way to support this.
All relevant files are not installed to /usr, with the expectation
that the distribution will provide compatibility links from the
old paths to the new paths. All uses of a bare `/usr' have been
replaced with uses of `%{_prefix}' for files installed by the
package.
Two large chunks of identical code are used to install the
non-default runtimes. This patch refactors that code into
the function `install_different' which is used to
conditionally install any libaries where different in the
new multilib (different from the default).
The find-debuginfo.sh script will return duplicate entries of
certain files even though the input is uinque. This results
in rpm build warnings like this:
~~~
Processing files: glibc-debuginfo-common-2.17.90-10.fc20.x86_64
warning: File listed twice: /usr/lib/debug/usr/sbin/build-locale-archive.debug
warning: File listed twice: /usr/lib/debug/usr/sbin/nscd.debug
warning: File listed twice: /usr/lib/debug/usr/sbin/zdump.debug
warning: File listed twice: /usr/lib/debug/usr/sbin/zic.debug
~~~
The solutions is to make the output file list uinque by post
processing it after it is output by find-debuginfo.sh.
The solution removes the warnings and produces no visible
change in the output rpms.
Using %{_libdir} is shorter to write and read and
means exactly the same thing. It also facilitates
experimenting with package layout by changing only
_libdir.
Testing showed that unstripped libbsd.a was missing from the list
of common debuginfo files. The fix is to move the "Misc" phase
to before the phase that adds files to the debuginfo. This way
the debuginfo files are computed after all files are in place.
This patch makes the spec file slightly more friendly to non-shell
readers by changing "> foo" to "truncate -s 0 foo" and removes
the use of ">> foo". The use of ">> foo" is perhaps the most
interesting shell trick which is used to create a zero sized
debuginfocommon.filelist, but only if it doesn't already exist.
This allows the subsequent command to use debuginfocommon.filelist
without requiring it be wrapped in a check for
%{debuginfocommonarches}. That seems a little obtuse and certainly
confusing to the reader who expects such a check for anything
that is related to the debuginfo common package.
The middle of the install phase is now clearly split into:
* Remove files we don't distribute.
* Install info files.
* Install locale files.
* Install configuration files for services.
* Install debug copies of unstripped static libs.
* Miscellaneous.
We had 16 incorrect %changelog dates that referenced
either the wrong day or wrong date for the day. All
such entries have been corrected using version control
information to determine the correct or most plausible
date. This fixes the Koji warnings about incorrect
dates in the %changelog.
- Resync with master
- Drop local patch for 657588 that is no longer needed.
- Drop local patch for 740682 that is no longer needed.
- Drop local patch for 770439 that is no longer needed.
- Drop local patch for 789209 that is no longer needed.
- Drop lotch patch for nss-files-overflow that seems
useless.
- Drop localedata-locales-fixes as they were rejected
upstream.
- Drop test-debug-gnuc-hack.patch that seems useless now.
- Repack patchlist.