diff options
Diffstat (limited to 'make-tarball.sh')
-rwxr-xr-x | make-tarball.sh | 55 |
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 |