Based on recent IRC discussions, some changes were made to
the patchify script [0] and the Fedora package archive scanned
again. The overall goal is to try to find all of those Fedora
packages that use autoconf or ./configure to build but that do
not yet have the updates to recognize 'aarch64' as a valid
target (i.e., they need newer versions of config.sub or
config.guess). And, if they do not, generate a patch that
will add the latest config.* files.
What changed? The parsing of the spec file needed to look
at the %build and %prep sections is a bit smarter. It used
to see some uses of autoconf/configure in the initial prologue
for a spec file (e.g., BuildRequires: autoconf) as a proper
use of autoconf when it clearly is not. Additionally, if
autoreconf is being used outside of an if-block, and it is
using -i/--install and -f/--force, these are packages that
will correct themselves on build so do not need patching [1].
These changes should eliminate some false positives and catch
some packages that may have inadvertently been skipped over.
The list of packages needing patching is here:
http://fedorapeople.org/~ahs3/patchify/run4/patched.pkgs
This lists 2027 packages that need patching (most of which
already have bugs filed against them, but there were some
new ones found (341) and others removed (290). I'll be
comparing this against the aarch64 tracking bug [2] to be
sure we're in sync and all the right notifications have
been made.
Note that all of the package lists and a README describing
what each list represents are also at:
http://fedorapeople.org/~ahs3/patchify/run4/
Some data I found interesting from this scan [3] are:
-- there are 572 dead packages in the archive
-- 196 packages already use autoreconf -i -f which is higher
than I thought it might be
-- there are 105 cases where it's difficult to determine the
source directory name when all you have is the package name
-- a lot of packages use ./configure, but most of them do not
need or use config.sub/config.guess
And the best one: 579 packages have already been modified to use
the latest config.sub/config.guess and are already able to handle
aarch64.
So, action items for me are: (1) make sure the AArch64 tracking bug
is listing bugs for the right list of packages, and (2) help close
as many of those bugs as I can.
If you can help, please do.
Notes:
[0]
git://fedorapeople.org/~ahs3/patchify.git
[1] The specific package list is:
http://fedorapeople.org/~ahs3/patchify/run4/autoreconf.pkgs
[2]
https://bugzilla.redhat.com/show_bug.cgi?id=922257
[3] This is the output summary from the scan:
--- Results ---
Total packages examined: 12088
Total dead packages: 572
Total packages using autoreconf properly: 196
Total patches available: 2027
Total packages using ./configure but not config.*: 8353
Total packages using config.* with aarch64 in them: 579
--- Configuration ---
365 use autoconf in some recognized form
196 use autoreconf with correct options
3512 use configure in some recognized form
7715 do not mention autoconf or configure
--- Error Conditions ---
0 cases of unclassified errors
251 cases where we could not unpack the SRPM
1 cases where we there was no spec file
105 cases where we could not find the source directory
0 cases where we could not cp -r the source directory
0 cases where "find config.*" reported errors
4 cases where we could not overwrite a config.* file
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Red Hat, Inc.
ahs3(a)redhat.com
-----------------------------------