Auto-sync with upstream master

Upstream commit: 1e26d35193efbb29239c710a4c46a64708643320

- malloc: Fix tcache leak after thread destruction (swbz#22111)
- powerpc:  Fix IFUNC for memrchr.
- aarch64: Optimized implementation of memmove for Qualcomm Falkor
- Always do locking when iterating over list of streams (swbz#15142)
- abort: Do not flush stdio streams (swbz#15436)
This commit is contained in:
Carlos O'Donell 2017-10-06 15:47:43 -07:00
parent 2235ae530d
commit b586203c24
4 changed files with 14 additions and 146 deletions

2
README.scripts Normal file
View File

@ -0,0 +1,2 @@
All of the useful glibc maintainer scripts are located at:
https://pagure.io/glibc-maintainer-scripts

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.26-513-g11c4f5010c
%define glibcsrcdir glibc-2.26-538-g1e26d35
%define glibcversion 2.26.90
%define glibcrelease 17%{?dist}
%define glibcrelease 18%{?dist}
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
@ -2060,6 +2060,15 @@ fi
%endif
%changelog
* Fri Oct 06 2017 Carlos O'Donell <carlos@systemhalted.org> - 2.26.90-18
- Auto-sync with upstream master,
commit 1e26d35193efbb29239c710a4c46a64708643320.
- malloc: Fix tcache leak after thread destruction (swbz#22111)
- powerpc: Fix IFUNC for memrchr.
- aarch64: Optimized implementation of memmove for Qualcomm Falkor
- Always do locking when iterating over list of streams (swbz#15142)
- abort: Do not flush stdio streams (swbz#15436)
* Wed Oct 04 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-17
- Move nss_compat to the main glibc package (#1400538)
- Auto-sync with upstream master,

View File

@ -1 +1 @@
SHA512 (glibc-2.26-513-g11c4f5010c.tar.gz) = 0b11eb37e652161942dd933cda408fc253a20f936be105f62a144e4b939de23021d3e91135f7796709306850d5c93869810deea225b063cc2a51cb7e8f1576e2
SHA512 (glibc-2.26-538-g1e26d35.tar.gz) = ca64cafbb8a7113eb9de1c823e6c9ce743b3ae6b0ab2651bcd66c8edd22c9595e94f4a86b7fb4d50ff22ad47b4a2dfdc75b2d31718f1ab4b72bc72ff4d887f42

View File

@ -1,143 +0,0 @@
#!/bin/sh
# Given a git source repo, generate a tarball from the desired branch, modify
# the spec file and upload it to lookaside cache if the tarball unpacks and
# gets patched cleanly.
#
# Usage:
#
# 1. Invoke the script as follows:
#
# ./sync-upstream.sh upstream-repo
#
# where upstream-repo is the path to the synced upstream git repo.
#
# 2. Watch the script run. If it proceeds to building the package, then
# everything seems good and you just need to test the build after it
# is complete. If it exits before the build (you'll know if you read
# the output of the script) then manual intervention is required to
# complete the sync. This will typically happen when a patch fails
# to apply on the new sources.
#
# Development branch:
#
# * As long as the branch is "master" the repository is treated as
# development and synchronization updates are fully automatic.
#
# Stable branches:
#
# * Once you branch to a stable Fedora release adjust branch.
# e.g. release/2.23/master
#
# * Set branch_name to the name of the relase
# e.g. 2.23
#
# * The sync script will automatically stop before commit, push, build
# for production branches, so you have to review the results and then
# do those steps yourself.
#
set -e
# We want to sync from master by default. Change this if you want to sync from
# another branch.
branch=master
# Avoid slashes in branch name.
branch_name=master
# We can't do anything without an upstream repo
if [ $# -ne 1 ]; then
echo "Usage: $0 <path-to-upstream-repo>" 1>&2
exit 1
fi
upstream=$1
srcdir=$(git --git-dir=$upstream/.git describe $branch)
cursrc=$(sed -ne 's/^%define glibcsrcdir \(.*\)/\1/p' glibc.spec)
# Upstream has not moved forward since the last sync.
# TODO: Some time in the future, we might want to only sync when upstream has
# advanced more than a certain number of commits, say, 42.
if [ "$cursrc" = "$srcdir" ]; then
echo "+ Already in sync with upstream."
exit 0
fi
# Generate and gzip the tarball from the desired branch of the repository.
echo "+ Generating tarball."
git --git-dir="$upstream/.git" archive --prefix="$srcdir/" "$branch" \
> "$srcdir.tar"
gzip -9 "$srcdir.tar"
echo "+ Created $srcdir.tar.gz"
# Our changelog header
cldate=$(date +'%a %b %d %Y')
clname=$(git config --get user.name)
clemail=$(git config --get user.email | sed 's/@/\\@/')
# Getting our version and release number from the spec file.
nv=$(perl -ne 's/^%define glibcversion (.+)/printf("%s-", $1)/e;' \
-e 's/^%define glibcrelease ([0-9]+).*/printf("%d\n", $1 + 1)/e;' \
glibc.spec)
# Our changelog entry.
changelog="* $cldate $clname <$clemail> - $nv\n- Auto-sync with upstream $branch.\n"
# Change the glibcsrcdir variable, bump up the release number and add an extra
# entry to the changelog.
echo "+ Updating spec file."
perl -pi \
-e "s/^(%define glibcsrcdir ).+/\$1$srcdir/;
s/^(%define glibcrelease )(\d+)/print(\$1); print(\$2 + 1);'';/e;
s/^(%changelog)$/\$1\n$changelog/" \
glibc.spec
function print_steps {
echo "+ (a) Updating sources e.g. fedpkg new-sources $srcdir.tar.gz"
echo "+ (b) Committing changes e.g. git commit -a"
echo "+ (c) Pushing to fedora e.g. fedpkg push"
echo "+ (d) Building fedora branch e.g. fedpkg build"
}
function prep_failed {
# fedpkg prep failed.
if [ $? -ne 0 ]; then
echo "+ Source prep failed."
echo "+ The 'sources' file is unmodified. Manually use $srcdir.tar.gz."
echo "+ Check the output in $tmpfile and fix things before:"
print_steps
false
fi
}
function build_failed {
# fedpkg build failed.
if [ $? -ne 0 ]; then
echo "+ Building the package failed (or was interrupted)."
echo "+ Check the koji logs for final status."
false
fi
}
echo "+ Testing if fedpkg prep works."
tmpfile=$(mktemp fedpkg-prep.out-XXXX)
trap prep_failed EXIT
fedpkg prep > "$tmpfile" 2>&1
# Remove mess created by fedpkg prep
rm -f "$tmpfile"
rm -rf "$srcdir"
echo "+ Source prep is clean, so we're good to go."
fedpkg new-sources "$srcdir.tar.gz"
if [ $branch == "master" ]; then
git commit -a -m "Auto-sync with upstream $branch."
fedpkg push
trap build_failed EXIT
fedpkg build
echo "+ Done!"
else
echo "+ This is a non-development branch."
echo "+ Please review the results of the sync."
echo "+ Once reviewed you need to:"
print_steps
fi