summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'make-tarball.sh')
-rwxr-xr-xmake-tarball.sh55
1 files changed, 42 insertions, 13 deletions
diff --git a/make-tarball.sh b/make-tarball.sh
index a4f380d..1063e1b 100755
--- a/make-tarball.sh
+++ b/make-tarball.sh
@@ -1,28 +1,59 @@
#!/bin/bash
+mypathglibc=${GENTOO_GLIBC_REPO:-~/Gentoo/misc/glibc}
+mypathpatches=${GENTOO_GLIBC_PATCHES_REPO:-~/Gentoo/misc/glibc-patches}
+
+# I plan to extend this script a bit, to also help with the initial
+# Gentoo release branch creation. That's why I check so much for both
+# git repos... -A
+
PN="glibc"
PV=${1%/}
pver=$2
if [[ -z ${PV} ]] ; then
echo "Usage: $0 glibc-version patchset-version-to-be-created"
+ echo "Important environment variables: GENTOO_GLIBC_REPO GENTOO_GLIBC_PATCHES_REPO"
echo "Please read the script before trying to use it :)"
exit 1
fi
-# check that we're in the root of a glibc git repo
+# check that we have a gentoo glibc patches git repo
+
+if [[ ! -f "${mypathpatches}/README.Gentoo.patches" ]] || [[ ! -d "${mypathpatches}/.git" ]] ; then
+ echo "Error: GENTOO_GLIBC_PATCHES_REPO needs to point to the main directory of a Gentoo glibc patchset git clone"
+ exit 1
+fi
+
+# check that we have a gentoo glibc git repo
-if [[ ! -f libc-abis ]] || [[ ! -d .git ]] ; then
- echo "Error: You need to call this script in the main directory of a Gentoo glibc git clone"
+if [[ ! -f "${mypathglibc}/libc-abis" ]] || [[ ! -d "${mypathglibc}/.git" ]] ; then
+ echo "Error: GENTOO_GLIBC_REPO needs to point to the main directory of a Gentoo glibc git clone"
exit 1
fi
+# go into the gentoo patches repo
+
+cd "${mypathpatches}"
+
+# check that the working directory is clean
+
+mystatusinfo=$(git status --porcelain)
+if [[ ! -z "${mystatusinfo}" ]] ; then
+ echo "Error: Your glibc patches working directory is not clean"
+ exit 1
+fi
+
+# go into the gentoo glibc repo
+
+cd "${mypathglibc}"
+
# 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/${PV}" == "${mybranch}" ]] ; then
- echo "Error: Your git repository is on the incorrect branch ${mybranch}; should be gentoo/${PV}"
+ echo "Error: Your glibc git repository is on the incorrect branch ${mybranch}; should be gentoo/${PV}"
exit 1
fi
@@ -30,7 +61,7 @@ fi
mystatusinfo=$(git status --porcelain)
if [[ ! -z "${mystatusinfo}" ]] ; then
- echo "Error: Your working directory is not clean"
+ echo "Error: Your glibc working directory is not clean"
exit 1
fi
@@ -63,13 +94,14 @@ mkdir -p tmp/patches
# copy README.Gentoo.patches
-cp scripts/gentoo/README.Gentoo.patches tmp/ || exit 1
+cp "${mypathpatches}/README.Gentoo.patches" tmp/ || exit 1
# create and rename patches
if [[ "${PV}" == "9999" ]]; then
- # we're working with master, start from upstream master
- startpoint="master"
+ # working with master is not supported anymore
+ echo "Patchsets for git master are not supported anymore"
+ exit 1
else
# release branch, start from upstream release tag
startpoint="glibc-${PV}"
@@ -78,6 +110,7 @@ fi
git format-patch ${startpoint}..HEAD > /dev/null
# remove all patches where the summary line starts with [no-tarball] or [no-patch]
+# this should not be needed anymore (no such commits), we can remove it once we're sure
rm -f 0???-no-tarball-*.patch
rm -f 0???-no-patch-*.patch
@@ -86,10 +119,6 @@ rm -f 0???-no-patch-*.patch
mv 0*.patch tmp/patches/ || exit 1
-# copy support files
-
-cp -r scripts/gentoo/extra tmp/ || exit 1
-
# add a history file
git log --stat --decorate ${startpoint}..HEAD > tmp/patches/README.history || exit 1
@@ -97,7 +126,7 @@ git log --stat --decorate ${startpoint}..HEAD > tmp/patches/README.history || ex
# package everything up
tar -Jcf ${PN}-${PV}-patches-${pver}.tar.xz \
- -C tmp patches extra README.Gentoo.patches || exit 1
+ -C tmp patches README.Gentoo.patches || exit 1
rm -r tmp
du -b *.tar.xz