Pushing %install cleanup and file list generation.
by Carlos O'Donell
I've just pushed two commits which significantly cleanup up the
%install phase, and the file list generation. Neither of these
has anything related to the ABI checking patches, they are simply
cleanup in the spec file. It was shockingly easy to make file
list mistakes before the patch, and now I hope each package
is a little easier to manage.
Please feel free to have a look and suggest any further cleanups
and I can do those too.
commit 6f4d10f91288b8ed8e0ee589ee546075e29e2ca1 (HEAD -> master)
Author: Carlos O'Donell <carlos(a)redhat.com>
Date: Wed Mar 14 13:33:34 2018 -0600
Restructure package and subpackage file list generation.
The file list geneation for the main package and subpackages was
unorganized and poorly structured. With this commit we change this
in three siginifcant ways:
* All file lists are built independent of each other from a master
list of files e.g. rpm.list. This is the important cleanup.
* All files are installed into %{glibc_sysroot}, which defaults
to $RPM_BUILD_ROOT. This supports future experimentation with
alternate glibc installs via this new variable.
* Redundant code is removed which is no longer required, like the
debuginfo list de-duplication; simplifying the install process.
The changes were tested by carrying out a file-by-file comparison
to ensure no file changed packages or installed location after
the patch.
commit e4aafbc50542b8dd7cdeb110e8ba3e2d51ceee0a
Author: Carlos O'Donell <carlos(a)systemhalted.org>
Date: Wed Feb 28 21:10:04 2018 -0800
Reorganize %install phase.
The %install phase is reorganized into 3 distinct phases, the
first phase where files are modified, a second phase where file
lists are generated, and a final phase where files are only
removed based on list information.
This cleanup makes it very clear when we are done installing
files, and therefore creates a place where we can put ABI
instrumentation to compare the resulting ABI before stripping
and debuginfo generation.
No ABI instrumentation is added by this patch, and before-and-after
testing verifies the %install phase remains functionally the same.
--
Cheers,
Carlos.
5 years, 9 months
glibc license updates
by Florian Weimer
I updated the License tag in the RPM file to match reality more closely:
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
# libraries.
#
# LGPLv2+ with exceptions is used for things that are linked directly
# into dynamically linked programs and shared libraries (e.g. crt
# files, lib*_nonshared.a). Historically, this exception also applies
# to parts of libio.
#
# GPLv2+ with exceptions is used for parts of the Arm unwinder.
#
# GFDL is used for the documentation.
#
# Some other licenses are used in various places (BSD, Inner-Net,
# ISC, Public Domain).
#
# HSRL and FSFAP are only used in test cases, which currently do not
# ship in binary RPMs, so they are not listed here. MIT is used for
# scripts/install-sh, which does not ship, either.
#
# GPLv3+ is used by manual/texinfo.tex, which we do not use.
#
# LGPLv3+ is used by some Hurd code, which we do not build.
#
# LGPLv2 is used in one place (time/timespec_get.c, by mistake), but
# it is not actually compiled, so it does not matter for libraries.
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with
exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL
This a substantial change from what we had documented before, but the
actual licensing conditions themselves are unchanged.
Thanks,
Florian
5 years, 9 months