|
Karsten Hopp |
16bcfe |
#!/bin/bash
|
|
Karsten Hopp |
4a08e5 |
debug=""
|
|
Karsten Hopp |
56ffd8 |
#debug="echo "
|
|
Karsten Hopp |
16bcfe |
|
|
Karsten Hopp |
722559 |
cd `dirname $0`
|
|
Karsten Hopp |
16bcfe |
LANG=C
|
|
Karsten Hopp |
16bcfe |
SPEC=vim.spec
|
|
Karsten Hopp |
56ffd8 |
CHANGES=1
|
|
Karsten Hopp |
16bcfe |
|
|
Karsten Hopp |
16bcfe |
DATE=`date +"%a %b %d %Y"`
|
|
Karsten Hopp |
16bcfe |
MAJORVERSION=`grep "define baseversion" vim.spec | cut -d ' ' -f 3`
|
|
Karsten Hopp |
4a08e5 |
ORIGPL=`grep "define patchlevel" vim.spec | cut -d ' ' -f 3 | sed -e "s/^0*//g"`
|
|
Karsten Hopp |
4a08e5 |
ORIGPLFILLED=`printf "%03d" $ORIGPL`
|
|
Karsten Hopp |
16bcfe |
|
|
Karsten Hopp |
56ffd8 |
if [ ! -d vim-upstream ]; then
|
|
Karsten Hopp |
56ffd8 |
git clone https://github.com/vim/vim.git vim-upstream
|
|
Karsten Hopp |
bba8e9 |
else
|
|
Karsten Hopp |
56ffd8 |
pushd vim-upstream
|
|
Karsten Hopp |
56ffd8 |
git pull
|
|
Karsten Hopp |
56ffd8 |
popd
|
|
Karsten Hopp |
56ffd8 |
fi
|
|
Karsten Hopp |
56ffd8 |
|
|
Karsten Hopp |
56ffd8 |
pushd vim-upstream
|
|
Karsten Hopp |
871038 |
# get the latest tag. Might be tricky with other packages, but upstream vim uses just a single branch:
|
|
Karsten Hopp |
56ffd8 |
LASTTAG=$(git describe --tags $(git rev-list --tags --max-count=1))
|
|
Karsten Hopp |
871038 |
# vim upstream tags have the form v7.4.123. Remove the 'v' and get major release and patchlevel:
|
|
Karsten Hopp |
56ffd8 |
UPSTREAMMAJOR=$(echo $LASTTAG | sed -e 's/v\([0-9]*\.[0-9]*\).*/\1/')
|
|
Karsten Hopp |
56ffd8 |
LASTPL=`echo $LASTTAG| sed -e 's/.*\.//'`
|
|
Karsten Hopp |
56ffd8 |
LASTPLFILLED=`printf "%03d" $LASTPL`
|
|
Karsten Hopp |
56ffd8 |
if [ "$ORIGPLFILLED" == "$LASTPLFILLED" ]; then
|
|
Karsten Hopp |
56ffd8 |
echo "No new patchlevel available"
|
|
Karsten Hopp |
56ffd8 |
CHANGES=0
|
|
Karsten Hopp |
56ffd8 |
fi
|
|
Karsten Hopp |
56ffd8 |
rm -rf dist/* 2>/dev/null
|
|
Karsten Hopp |
56ffd8 |
make unixall
|
|
Karsten Hopp |
871038 |
# include patchlevel in tarball name so that older sources won't get overwritten:
|
|
Karsten Hopp |
56ffd8 |
mv dist/vim-${UPSTREAMMAJOR}.tar.bz2 dist/vim-${UPSTREAMMAJOR}-${LASTPLFILLED}.tar.bz2
|
|
Karsten Hopp |
871038 |
# We don't include the full upstream changelog in the rpm changelog, just ship a file with
|
|
Karsten Hopp |
871038 |
# the changes:
|
|
Karsten Hopp |
56ffd8 |
git log > dist/README.patches
|
|
Karsten Hopp |
56ffd8 |
popd
|
|
Karsten Hopp |
56ffd8 |
|
|
Karsten Hopp |
56ffd8 |
cp -f vim-upstream/dist/README.patches README.patches
|
|
Karsten Hopp |
56ffd8 |
cp -f vim-upstream/dist/vim-${UPSTREAMMAJOR}-${LASTPLFILLED}.tar.bz2 .
|
|
Karsten Hopp |
bcbb2a |
if [ $CHANGES -ne 0 ]; then
|
|
Karsten Hopp |
871038 |
CHLOG="* $DATE Karsten Hopp <karsten@redhat.com> $UPSTREAMMAJOR"
|
|
Karsten Hopp |
871038 |
$debug sed -i -e "/Release: /cRelease: 1%{?dist}" $SPEC
|
|
Karsten Hopp |
871038 |
if [ "x$MAJORVERSION" != "x$UPSTREAMMAJOR" ]; then
|
|
Karsten Hopp |
871038 |
$debug sed -i -s "s/define baseversion: $MAJORVERSION/define baseversion: $UPSTREAMMAJOR=/" $SPEC
|
|
Karsten Hopp |
871038 |
fi
|
|
Karsten Hopp |
871038 |
$debug sed -i -e "s/define patchlevel $ORIGPLFILLED/define patchlevel $LASTPLFILLED/" $SPEC
|
|
Karsten Hopp |
871038 |
$debug sed -i -e "/\%changelog/a$CHLOG.$LASTPLFILLED-1\n- patchlevel $LASTPLFILLED\n" $SPEC
|
|
Karsten Hopp |
871038 |
$debug fedpkg new-sources vim-${UPSTREAMMAJOR}-${LASTPLFILLED}.tar.bz2
|
|
Karsten Hopp |
871038 |
$debug git add vim.spec README.patches
|
|
Karsten Hopp |
871038 |
$debug git commit -m "- patchlevel $LASTPL"
|
|
Karsten Hopp |
871038 |
$debug git push
|
|
Karsten Hopp |
871038 |
if [ $? -eq 0 ]; then
|
|
Karsten Hopp |
871038 |
$debug rm -f $HOME/.koji/config
|
|
Karsten Hopp |
871038 |
$debug fedpkg build
|
|
Karsten Hopp |
871038 |
$debug ln -sf ppc-config $HOME/.koji/config
|
|
Karsten Hopp |
871038 |
else
|
|
Karsten Hopp |
871038 |
echo "GIT push failed"
|
|
Karsten Hopp |
871038 |
fi
|
|
Karsten Hopp |
bba8e9 |
fi
|