701330a Rework filelist construction

Authored and Committed by fweimer 8 months ago
1 file changed. 240 lines added. 429 lines removed.
    Rework filelist construction
    
    Eliminate most pattern matching and list files explicitly.  Two
    common exceptions are modeled explicitly: libmvec (additional shared
    object and static library), libnldbl (additional shared object).
    
    To implement glibc-headers-* and glibc-gconv-extra, pattern matching
    is still used, but with helper shell functions that allow splitting
    the matching and non-matching files into separate list files.  Some
    complications arise because the build for glibc32.x86_64 installs
    header files into /usr/include that shouldn't land in the regular
    development packages.
    
    The remaining differences are bug fixes for directory ownership.
    
    /usr/libexec/glibc-benchtests is now owned by glibc-benchtests.
    /lib64/glibc-hwcaps is now owned by glibc.ppc64le.
    
    Differences can be checked with this script:
    
    mkdir -p filelist
    for x in "$@" ; do
        target="$(rpm -qp --qf 'filelist/%{name}.%{arch}.txt' "$x")"
        rpm -qp --qf '[%{filenames} %{filemodes:perms} (%{fileflags:fflags})(%{fileverifyflags:hex}) \{%{filecaps}\} %{fileusername} %{filegroupname}\n]' "$x" > "$target"
    done
    
    Note: Delete the *.src.rpm files because %{arch} has unexpected
    results for them.
    
        
file modified
+240 -429