summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '9999/0012-no-patch-Gentoo-Add-patch-tarball-generation-script.patch')
-rw-r--r--9999/0012-no-patch-Gentoo-Add-patch-tarball-generation-script.patch217
1 files changed, 217 insertions, 0 deletions
diff --git a/9999/0012-no-patch-Gentoo-Add-patch-tarball-generation-script.patch b/9999/0012-no-patch-Gentoo-Add-patch-tarball-generation-script.patch
new file mode 100644
index 0000000..a60bb9c
--- /dev/null
+++ b/9999/0012-no-patch-Gentoo-Add-patch-tarball-generation-script.patch
@@ -0,0 +1,217 @@
+From 7343f154ae6bc08bd2c3c051f039824af3d917e5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
+Date: Wed, 11 Oct 2017 21:56:53 +0200
+Subject: [PATCH 12/16] [no patch] Gentoo: Add patch tarball generation script
+
+(cherry picked from commit 90427abb2aac0cc4ebcb73397cc3ad574c6fec5d)
+---
+ scripts/gentoo/0000-Gentoo-Git-is-development | 12 ++
+ scripts/gentoo/9999-Gentoo-We-make-a-release | 12 ++
+ scripts/gentoo/README.Gentoo.patches | 31 +++++
+ scripts/gentoo/make-tarball.sh | 118 ++++++++++++++++++
+ 4 files changed, 173 insertions(+)
+ create mode 100644 scripts/gentoo/0000-Gentoo-Git-is-development
+ create mode 100644 scripts/gentoo/9999-Gentoo-We-make-a-release
+ create mode 100644 scripts/gentoo/README.Gentoo.patches
+ create mode 100755 scripts/gentoo/make-tarball.sh
+
+diff --git a/scripts/gentoo/0000-Gentoo-Git-is-development b/scripts/gentoo/0000-Gentoo-Git-is-development
+new file mode 100644
+index 0000000000..2b9482d033
+--- /dev/null
++++ b/scripts/gentoo/0000-Gentoo-Git-is-development
+@@ -0,0 +1,12 @@
++Gentoo: Git is development
++
++--- a/bfd/development.sh
+++++ b/bfd/development.sh
++@@ -16,5 +16,5 @@
++ # along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++ # Controls whether to enable development-mode features by default.
++-development=false
+++development=true
++
++
+diff --git a/scripts/gentoo/9999-Gentoo-We-make-a-release b/scripts/gentoo/9999-Gentoo-We-make-a-release
+new file mode 100644
+index 0000000000..fea66d97b4
+--- /dev/null
++++ b/scripts/gentoo/9999-Gentoo-We-make-a-release
+@@ -0,0 +1,12 @@
++Gentoo: We make a release, so switch development flag off
++
++--- a/bfd/development.sh
+++++ b/bfd/development.sh
++@@ -16,5 +16,5 @@
++ # along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++ # Controls whether to enable development-mode features by default.
++-development=true
+++development=false
++
++
+diff --git a/scripts/gentoo/README.Gentoo.patches b/scripts/gentoo/README.Gentoo.patches
+new file mode 100644
+index 0000000000..504dc67127
+--- /dev/null
++++ b/scripts/gentoo/README.Gentoo.patches
+@@ -0,0 +1,31 @@
++ ============
++ === What ===
++ ============
++
++Gentoo patchsets for binutils are maintained as vendor branches of the upstream
++binutils-glb git repository. From there, we bundle all the commits into a tarball
++and distribute it via our public mirroring system.
++
++If you want specific info about a patch (like what it does or whose great idea
++it was to change the code), read the patch! We try to fill out the commit
++messages with useful info such as what it does, why it's needed, bug reports,
++original creators, etc...
++
++ =============
++ === Where ===
++ =============
++
++Currently, https://github.com/gentoo/binutils-gdb
++
++ ===========
++ === How ===
++ ===========
++
++The patch naming convention is precisely as generated by "git format-patch".
++
++All patches should apply with -p1 (so they can be used both with the legacy
++epatch function and the new, more strict eapply function).
++
++Commits where the commit message starts with "[no patch]" will not be included
++in the patch tarball. This is useful for changes to the tarball generation
++script, or for the addition of extra files that are not patches.
+diff --git a/scripts/gentoo/make-tarball.sh b/scripts/gentoo/make-tarball.sh
+new file mode 100755
+index 0000000000..575f48bf6a
+--- /dev/null
++++ b/scripts/gentoo/make-tarball.sh
+@@ -0,0 +1,118 @@
++#!/bin/bash
++
++PN="binutils"
++PV=$1
++pver=$2
++
++if [[ -z ${PV} ]] ; then
++ echo "Usage: $0 binutils-version patchset-version-to-be-created"
++ echo "Please read the script before trying to use it :)"
++ exit 1
++fi
++
++# check that we're in the root of a binutils-gdb git repo
++
++if [[ ! -f COPYING.LIBGLOSS ]] || [[ ! -d .git ]] ; then
++ echo "Error: You need to call this script in the main directory of a Gentoo binutils-gdb git clone"
++ exit 1
++fi
++
++# check that we're on a branch gentoo/${PV}
++
++mybranchinfo=$(git status --porcelain -b|grep '^##')
++mybranch=$(echo ${mybranchinfo}|sed -e 's:^## ::' -e 's:\.\.\..*$::')
++if [[ ! "gentoo/binutils-${PV}" == "${mybranch}" ]] ; then
++ echo "Error: Your git repository is on the incorrect branch ${mybranch}; should be gentoo/binutils-${PV}"
++ exit 1
++fi
++
++# check that the working directory is clean
++
++mystatusinfo=$(git status --porcelain)
++if [[ ! -z "${mystatusinfo}" ]] ; then
++ echo "Error: Your working directory is not clean"
++ exit 1
++fi
++
++# check if the tag already exists
++
++mytaginfo=$(git tag -l|grep "gentoo/binutils-${PV}-${pver}")
++if [[ ! -z "${mytaginfo}" ]] ; then
++ echo "Error: A tag corresponding to this patch level already exists (gentoo/binutils-${PV}-${pver})"
++ exit 1
++fi
++
++# luckily binutils git has no /tmp dir and no tar.xz files, but let's better check and be pathologically careful
++
++if [[ -e tmp ]] || [[ -e ${PN}-${PV}-patches-${pver}.tar.xz ]] ; then
++ echo "Error: tmp or ${PN}-${PV}-patches-${pver}.tar.xz exists in git"
++ exit 1
++fi
++rm -rf tmp
++rm -f ${PN}-${PV}-*.tar.bz2
++
++for myname in 0*.patch ; do
++ if [[ -e "${myname}" ]]; then
++ echo "Error: ${myname} exists in git"
++ exit 1
++ fi
++done
++rm -f 0*.patch
++
++# check if we have to override the upstream tag
++
++mytaginfo=$(git tag -l|grep "gentoo/binutils-${PV}-upstream")
++if [[ ! -z "${mytaginfo}" ]] ; then
++ starttag="gentoo/binutils-${PV}-upstream"
++else
++ starttag="binutils-${PV//./_}"
++fi
++if [[ "${PV}" == "9999" ]]; then
++ starttag="master"
++fi
++echo "Starting from tag ${starttag}"
++
++mkdir -p tmp/patch
++
++# copy README.Gentoo.patches
++
++cp scripts/gentoo/README.Gentoo.patches tmp/ || exit 1
++
++# create and rename patches
++
++git format-patch ${starttag}..HEAD > /dev/null || exit 1
++
++# remove all patches where the summary line starts with:
++# - [no-tarball]: not related to upstream tarball
++# - [no-patch]: not related to upstream patches
++# - "Automatic date update in version.in": daily bumps
++rm -f 0???-no-tarball-*.patch
++rm -f 0???-no-patch-*.patch
++rm -f 0???-Automatic-date-update-in-version.in.patch
++
++for myname in 0*.patch ; do
++ mv ${myname} tmp/patch/ || exit 1
++done
++
++# add the extra patch if needed
++
++if [[ "${PV}" != "9999" ]]; then
++ cp scripts/gentoo/0000-Gentoo-Git-is-development tmp/patch/0000-Gentoo-Git-is-development.patch || exit 1
++ cp scripts/gentoo/9999-Gentoo-We-make-a-release tmp/patch/9999-Gentoo-We-make-a-release.patch || exit 1
++fi
++
++# add a history file
++
++git log --stat --decorate ${starttag}..HEAD > tmp/patch/README.history || exit 1
++
++# package everything up
++
++tar -Jcf ${PN}-${PV}-patches-${pver}.tar.xz \
++ -C tmp patch README.Gentoo.patches || exit 1
++rm -r tmp
++
++du -b *.tar.xz
++
++# tag the commit
++
++git tag -s -m "Gentoo patchset binutils-${PV}-${pver}" "gentoo/binutils-${PV}-${pver}"
+--
+2.26.2
+