forked from rpms/glibc
Add quilt support to rawhide.
This commit is contained in:
parent
2542c05d11
commit
33fde86f29
30
README.quilt
Normal file
30
README.quilt
Normal file
@ -0,0 +1,30 @@
|
||||
This package supports working with patch files using quilt.
|
||||
|
||||
To regenerate the quilt series file run:
|
||||
./gen-quilt-series.sh
|
||||
|
||||
Setup environment:
|
||||
export QUILT_PATCHES=$PWD
|
||||
|
||||
Setup the source:
|
||||
./quilt-patch.sh
|
||||
|
||||
Create a new patch:
|
||||
cd glibc-2.17-c758a686/
|
||||
quilt new glibc-rh1234622.patch
|
||||
quilt add ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
|
||||
vi ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
|
||||
quilt refresh
|
||||
cd ..
|
||||
git add glibc-rh1234622.patch
|
||||
<Then edit the glibc.spec file to build with the new patch>
|
||||
e.g.
|
||||
...
|
||||
PatchXXXX: glibc-rh1234622.patch
|
||||
...
|
||||
%patchXXXX -p1
|
||||
...
|
||||
git add glibc.spec
|
||||
git commit
|
||||
|
||||
You're done!
|
26
gen-quilt-series.sh
Executable file
26
gen-quilt-series.sh
Executable file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Autogeneries the quilt `series` from the patch order in the spec file.
|
||||
# We don't use `quilt setup` because it makes a huge mess and doesn't work.
|
||||
rm -f series.new
|
||||
count=0
|
||||
# Filter out the patches, and use `_` as our pseudo-IFS to prevent expansion.
|
||||
for i in `grep '%patch' glibc.spec | sed -e 's,%patch,,g' -e 's, ,_,g'`; do
|
||||
# Split the patch into number and arguments.
|
||||
# 1 - Patch number.
|
||||
# 2-N - Patch arguments.
|
||||
# Get back our elements by undoing pseudo-IFS change.
|
||||
elements=(`echo $i | sed -e 's,_, ,g'`)
|
||||
num=${elements[0]}
|
||||
args=${elements[@]:1}
|
||||
grep "Patch${num}" glibc.spec | sed -e 's,Patch.*: ,,g' -e "s,\$, ${args[@]},g" >> series.new
|
||||
((count++))
|
||||
done
|
||||
fcount=`wc -l series.new | sed -e 's, .*$,,g'`
|
||||
if [ $fcount -ne $count ]; then
|
||||
echo "Error! Processed less patches than in spec file ($fcount != $count)."
|
||||
exit 1
|
||||
fi
|
||||
echo "Processed $count patches."
|
||||
mv series.new series
|
||||
echo "Generated quilt ./series file, please commit."
|
||||
exit 0
|
88
glibc.spec
88
glibc.spec
@ -141,75 +141,75 @@ Source10: glibc-bench-compare
|
||||
|
||||
# Configuration twiddle, not sure there's a good case to get upstream to
|
||||
# change this.
|
||||
Patch0001: %{name}-fedora-nscd.patch
|
||||
Patch0001: glibc-fedora-nscd.patch
|
||||
|
||||
Patch0003: %{name}-fedora-ldd.patch
|
||||
Patch0003: glibc-fedora-ldd.patch
|
||||
|
||||
Patch0004: %{name}-fedora-ppc-unwind.patch
|
||||
Patch0004: glibc-fedora-ppc-unwind.patch
|
||||
|
||||
# Build info files in the source tree, then move to the build
|
||||
# tree so that they're identical for multilib builds
|
||||
Patch0005: %{name}-rh825061.patch
|
||||
Patch0005: glibc-rh825061.patch
|
||||
|
||||
# Horrible hack, never to be upstreamed. Can go away once the world
|
||||
# has been rebuilt to use the new ld.so path.
|
||||
Patch0006: %{name}-arm-hardfloat-3.patch
|
||||
Patch0006: glibc-arm-hardfloat-3.patch
|
||||
|
||||
# Needs to be sent upstream
|
||||
Patch0009: %{name}-fedora-include-bits-ldbl.patch
|
||||
Patch0009: glibc-fedora-include-bits-ldbl.patch
|
||||
|
||||
# All these were from the glibc-fedora.patch mega-patch and need another
|
||||
# round of reviewing. Ideally they'll either be submitted upstream or
|
||||
# dropped.
|
||||
Patch0012: %{name}-fedora-linux-tcsetattr.patch
|
||||
Patch0014: %{name}-fedora-nptl-linklibc.patch
|
||||
Patch0015: %{name}-fedora-localedef.patch
|
||||
Patch0016: %{name}-fedora-i386-tls-direct-seg-refs.patch
|
||||
Patch0019: %{name}-fedora-nis-rh188246.patch
|
||||
Patch0020: %{name}-fedora-manual-dircategory.patch
|
||||
Patch0024: %{name}-fedora-locarchive.patch
|
||||
Patch0025: %{name}-fedora-streams-rh436349.patch
|
||||
Patch0028: %{name}-fedora-localedata-rh61908.patch
|
||||
Patch0030: %{name}-fedora-uname-getrlimit.patch
|
||||
Patch0031: %{name}-fedora-__libc_multiple_libcs.patch
|
||||
Patch0033: %{name}-fedora-elf-ORIGIN.patch
|
||||
Patch0034: %{name}-fedora-elf-init-hidden_undef.patch
|
||||
Patch0012: glibc-fedora-linux-tcsetattr.patch
|
||||
Patch0014: glibc-fedora-nptl-linklibc.patch
|
||||
Patch0015: glibc-fedora-localedef.patch
|
||||
Patch0016: glibc-fedora-i386-tls-direct-seg-refs.patch
|
||||
Patch0019: glibc-fedora-nis-rh188246.patch
|
||||
Patch0020: glibc-fedora-manual-dircategory.patch
|
||||
Patch0024: glibc-fedora-locarchive.patch
|
||||
Patch0025: glibc-fedora-streams-rh436349.patch
|
||||
Patch0028: glibc-fedora-localedata-rh61908.patch
|
||||
Patch0030: glibc-fedora-uname-getrlimit.patch
|
||||
Patch0031: glibc-fedora-__libc_multiple_libcs.patch
|
||||
Patch0033: glibc-fedora-elf-ORIGIN.patch
|
||||
Patch0034: glibc-fedora-elf-init-hidden_undef.patch
|
||||
|
||||
# Needs to be sent upstream.
|
||||
# Support mangling and demangling null pointers.
|
||||
Patch0037: %{name}-rh952799.patch
|
||||
Patch0037: glibc-rh952799.patch
|
||||
|
||||
# rtkaio and c_stubs. Note that despite the numbering, these are always
|
||||
# applied first.
|
||||
Patch0038: %{name}-rtkaio.patch
|
||||
Patch0039: %{name}-c_stubs.patch
|
||||
Patch0038: glibc-rtkaio.patch
|
||||
Patch0039: glibc-c_stubs.patch
|
||||
|
||||
# Remove non-ELF support in rtkaio
|
||||
Patch0040: %{name}-rh731833-rtkaio.patch
|
||||
Patch0041: %{name}-rh731833-rtkaio-2.patch
|
||||
Patch0042: %{name}-rh970865.patch
|
||||
Patch0040: glibc-rh731833-rtkaio.patch
|
||||
Patch0041: glibc-rh731833-rtkaio-2.patch
|
||||
Patch0042: glibc-rh970865.patch
|
||||
|
||||
# ARM: Accept that some objects marked hard ABI are now not because of a
|
||||
# binutils bug.
|
||||
Patch0044: %{name}-rh1009145.patch
|
||||
Patch0044: glibc-rh1009145.patch
|
||||
|
||||
# Allow applications to call pthread_atfork without libpthread.so.
|
||||
Patch0046: %{name}-rh1013801.patch
|
||||
Patch0046: glibc-rh1013801.patch
|
||||
|
||||
Patch0047: %{name}-nscd-sysconfig.patch
|
||||
Patch0047: glibc-nscd-sysconfig.patch
|
||||
|
||||
# Disable rwlock elision if --enable-lock-elision is not used.
|
||||
Patch0052: %{name}-disable-rwlock-elision.patch
|
||||
Patch0052: glibc-disable-rwlock-elision.patch
|
||||
|
||||
# confstr _CS_PATH should only return /usr/bin on Fedora since /bin is just a
|
||||
# symlink to it.
|
||||
Patch0053: %{name}-cs-path.patch
|
||||
Patch0053: glibc-cs-path.patch
|
||||
|
||||
# Remove the clock_* functions and use the ones in libc like librt does.
|
||||
Patch0054: %{name}-rtkaio-clock.patch
|
||||
Patch0054: glibc-rtkaio-clock.patch
|
||||
|
||||
# Temporarily revert a fix to work around bz #1209451.
|
||||
Patch0055: %{name}-revert-arena-threshold-fix.patch
|
||||
Patch0055: glibc-revert-arena-threshold-fix.patch
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
@ -228,34 +228,34 @@ Patch0055: %{name}-revert-arena-threshold-fix.patch
|
||||
#
|
||||
|
||||
# http://sourceware.org/ml/libc-alpha/2012-12/msg00103.html
|
||||
Patch2007: %{name}-rh697421.patch
|
||||
Patch2007: glibc-rh697421.patch
|
||||
|
||||
Patch2011: %{name}-rh757881.patch
|
||||
Patch2011: glibc-rh757881.patch
|
||||
|
||||
Patch2013: %{name}-rh741105.patch
|
||||
Patch2013: glibc-rh741105.patch
|
||||
|
||||
# Upstream BZ 14247
|
||||
Patch2023: %{name}-rh827510.patch
|
||||
Patch2023: glibc-rh827510.patch
|
||||
|
||||
# Upstream BZ 13028
|
||||
Patch2026: %{name}-rh841787.patch
|
||||
Patch2026: glibc-rh841787.patch
|
||||
|
||||
# Upstream BZ 14185
|
||||
Patch2027: %{name}-rh819430.patch
|
||||
Patch2027: glibc-rh819430.patch
|
||||
|
||||
Patch2031: %{name}-rh1070416.patch
|
||||
Patch2031: glibc-rh1070416.patch
|
||||
|
||||
Patch2033: %{name}-aarch64-tls-fixes.patch
|
||||
Patch2034: %{name}-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch
|
||||
Patch2035: %{name}-new-condvar.patch
|
||||
Patch2033: glibc-aarch64-tls-fixes.patch
|
||||
Patch2034: glibc-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch
|
||||
Patch2035: glibc-new-condvar.patch
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Benchmark comparison patches.
|
||||
#
|
||||
##############################################################################
|
||||
Patch3001: %{name}-bench-compare.patch
|
||||
Patch3002: %{name}-bench-build.patch
|
||||
Patch3001: glibc-bench-compare.patch
|
||||
Patch3002: glibc-bench-build.patch
|
||||
|
||||
##############################################################################
|
||||
# End of glibc patches.
|
||||
|
13
quilt-patch.sh
Executable file
13
quilt-patch.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# Patches are in the current directory.
|
||||
export QUILT_PATCHES=$PWD
|
||||
# Extract source file name from sources file,
|
||||
# and assume it's the same name as the directory.
|
||||
source=`cat sources | sed -e 's,^.* ,,g'`
|
||||
tar zxvf $source
|
||||
srcdir=${source%.tar.gz}
|
||||
echo "Entering $srcdir"
|
||||
pushd $srcdir
|
||||
# Apply all patches.
|
||||
quilt push -a
|
||||
popd
|
44
series
Normal file
44
series
Normal file
@ -0,0 +1,44 @@
|
||||
glibc-rtkaio.patch -p1
|
||||
glibc-c_stubs.patch -p1
|
||||
glibc-fedora-nscd.patch -p1
|
||||
glibc-fedora-ldd.patch -p1
|
||||
glibc-fedora-ppc-unwind.patch -p1
|
||||
glibc-rh825061.patch -p1
|
||||
glibc-arm-hardfloat-3.patch -p1
|
||||
glibc-rh697421.patch -p1
|
||||
glibc-fedora-include-bits-ldbl.patch -p1
|
||||
glibc-rh757881.patch -p1
|
||||
glibc-fedora-linux-tcsetattr.patch -p1
|
||||
glibc-rh741105.patch -p1
|
||||
glibc-fedora-nptl-linklibc.patch -p1
|
||||
glibc-fedora-localedef.patch -p1
|
||||
glibc-fedora-i386-tls-direct-seg-refs.patch -p1
|
||||
glibc-fedora-nis-rh188246.patch -p1
|
||||
glibc-fedora-manual-dircategory.patch -p1
|
||||
glibc-rh827510.patch -p1
|
||||
glibc-fedora-locarchive.patch -p1
|
||||
glibc-fedora-streams-rh436349.patch -p1
|
||||
glibc-rh841787.patch -p1
|
||||
glibc-rh819430.patch -p1
|
||||
glibc-fedora-localedata-rh61908.patch -p1
|
||||
glibc-fedora-uname-getrlimit.patch -p1
|
||||
glibc-fedora-__libc_multiple_libcs.patch -p1
|
||||
glibc-fedora-elf-ORIGIN.patch -p1
|
||||
glibc-fedora-elf-init-hidden_undef.patch -p1
|
||||
glibc-rh952799.patch -p1
|
||||
glibc-rh731833-rtkaio.patch -p1
|
||||
glibc-rh731833-rtkaio-2.patch -p1
|
||||
glibc-rh970865.patch -p1
|
||||
glibc-rh1009145.patch -p1
|
||||
glibc-rh1013801.patch -p1
|
||||
glibc-rh1070416.patch -p1
|
||||
glibc-nscd-sysconfig.patch -p1
|
||||
glibc-aarch64-tls-fixes.patch -p1
|
||||
glibc-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch -p1
|
||||
glibc-disable-rwlock-elision.patch -p1
|
||||
glibc-cs-path.patch -p1
|
||||
glibc-rtkaio-clock.patch -p1
|
||||
glibc-revert-arena-threshold-fix.patch -p1 -R
|
||||
glibc-bench-compare.patch -p1
|
||||
glibc-bench-build.patch -p1
|
||||
glibc-new-condvar.patch -p1
|
Loading…
Reference in New Issue
Block a user