From 875561c19c333cdd294fce26ac3fcbd2ce84aa00 Mon Sep 17 00:00:00 2001 From: Tomas Mlcoch Date: Mon, 13 May 2013 13:20:22 +0200 Subject: [PATCH] utils: Better scripts for generating tarballs and rpms. --- utils/make_rpm.sh | 55 +++++++++++-------------------- utils/make_tarball.sh | 75 ++++++++++-------------------------------- utils/make_tarball_from_git.sh | 45 ------------------------- 3 files changed, 36 insertions(+), 139 deletions(-) delete mode 100755 utils/make_tarball_from_git.sh diff --git a/utils/make_rpm.sh b/utils/make_rpm.sh index 5578bfa..53734b5 100755 --- a/utils/make_rpm.sh +++ b/utils/make_rpm.sh @@ -1,38 +1,26 @@ #!/bin/bash RPMBUILD_DIR="${HOME}/rpmbuild/" - BUILD_DIR="$RPMBUILD_DIR/BUILD" +TARGETDIR=`pwd -P` +SCRIPTDIR=$( cd "$(dirname "$0")" ; pwd -P ) +PROJECTROOTDIR=`realpath "$SCRIPTDIR/../"` +GITREV="" + echo "Cleaning $BUILD_DIR" rm -rf $BUILD_DIR echo "Removing $RPMBUILD_DIR/createrepo_c.spec" rm -f $RPMBUILD_DIR/createrepo_c.spec -if [ $# -lt "1" -o $# -gt "2" ] -then - echo "Usage: `basename $0` [--git]" - exit 1 +if [ $# -gt "1" ] && [ "$1" = "-h" ]; then + echo "Usage: `basename $0` [git revision]" + exit 0 fi -USE_GIT="" - -if [ $# -eq "2" ] -then - if [ $2 != "--git" ] - then - echo -e "Bad second argument\nUsage: `basename $0` [--git]" - exit 1 - fi - USE_GIT="1" +if [ $# -eq "1" ]; then + GITREV="$1" fi - -PREFIX="$1/" - -MY_DIR=`dirname $0` -MY_DIR="$MY_DIR/" - - if [ ! -d "$RPMBUILD_DIR" ]; then echo "rpmbuild dir $RPMBUILD_DIR doesn't exist!" echo "init rpmbuild dir with command: rpmdev-setuptree" @@ -40,14 +28,8 @@ if [ ! -d "$RPMBUILD_DIR" ]; then exit 1 fi - -if [ $USE_GIT ]; then - echo "> Making tarball from GIT.." - $MY_DIR/make_tarball_from_git.sh > /dev/null -else - echo "> Making tarball .." - $MY_DIR/make_tarball.sh $PREFIX > /dev/null -fi +echo "> Making tarball .." +$SCRIPTDIR/make_tarball.sh $GITREV if [ ! $? == "0" ]; then echo "Error while making tarball" @@ -56,15 +38,15 @@ fi echo "Tarball done" echo "> Copying tarball and .spec file into the $RPMBUILD_DIR .." -cp $PREFIX/createrepo_c-*.tar.xz $RPMBUILD_DIR/SOURCES/ +cp createrepo_c-*.tar.xz $RPMBUILD_DIR/SOURCES/ if [ ! $? == "0" ]; then - echo "Error while: cp $PREFIX/createrepo_c-*.tar.xz $RPMBUILD_DIR/SOURCES/" + echo "Error while: cp createrepo_c-*.tar.xz $RPMBUILD_DIR/SOURCES/" exit 1 fi -cp $PREFIX/createrepo_c.spec $RPMBUILD_DIR/SPECS/ +cp $PROJECTROOTDIR/createrepo_c.spec $RPMBUILD_DIR/SPECS/ if [ ! $? == "0" ]; then - echo "Error while: cp $PREFIX/createrepo_c*.spec $RPMBUILD_DIR/SPECS/" + echo "Error while: cp $PROJECTROOTDIR/createrepo_c*.spec $RPMBUILD_DIR/SPECS/" exit 1 fi echo "Copying done" @@ -82,8 +64,9 @@ rpmbuild --clean $RPMBUILD_DIR/SPECS/createrepo_c.spec echo "Cleanup done" echo "> Moving rpms and srpm .." -mv --verbose $RPMBUILD_DIR/SRPMS/createrepo_c-*.src.rpm $PREFIX/. -mv --verbose $RPMBUILD_DIR/RPMS/*/createrepo_c-*.rpm $PREFIX/. +mv --verbose $RPMBUILD_DIR/SRPMS/createrepo_c-*.src.rpm $TARGETDIR/. +mv --verbose $RPMBUILD_DIR/RPMS/*/createrepo_c-*.rpm $TARGETDIR/. +mv --verbose $RPMBUILD_DIR/RPMS/*/python-createrepo_c-*.rpm $TARGETDIR/. echo "Moving done" echo "All done!" diff --git a/utils/make_tarball.sh b/utils/make_tarball.sh index 5496c5e..310d7fd 100755 --- a/utils/make_tarball.sh +++ b/utils/make_tarball.sh @@ -1,64 +1,23 @@ -#!/bin/bash +#!/usr/bin/bash -NAME="createrepo_c" -VER="0.0.0" +TARGETDIR=`pwd -P` +SCRIPTDIR=$( cd "$(dirname "$0")" ; pwd -P ) +PROJECTROOTDIR=`realpath "$SCRIPTDIR/../"` -if [ $# -ne "1" ] -then - echo "Usage: `basename $0` " - exit 1 +if [ "$#" -eq "1" ] && [ "$1" = "-h" ]; then + echo "Usage: `basename $0` [git revision]" + exit 0 fi -MY_DIR=`dirname $0` -MY_DIR="$MY_DIR/" - -# Get actual version -VER=`$MY_DIR/get_version.py $1` - -PREFIX="$1/" -DIRECTORY="./$NAME-$VER" -TARBALL="$DIRECTORY.tar.xz" - - -echo "Using root projekt dir: $PREFIX" - -( - echo "cd $PREFIX" - cd $PREFIX - - if [ -d "$DIRECTORY" ]; then - echo "Removing old tarball directory: $DIRECTORY" - rm -rf $DIRECTORY - fi - - make clean - - mkdir $DIRECTORY - - cp --verbose CMakeLists.txt $DIRECTORY - cp --verbose AUTHORS $DIRECTORY - cp --verbose README.md $DIRECTORY - cp --verbose COPYING $DIRECTORY - cp --verbose createrepo_c.bash $DIRECTORY - cp --verbose VERSION.cmake $DIRECTORY - - cp --verbose --parents cmake/Modules/* $DIRECTORY - - cp --verbose --parents doc/CMakeLists.txt $DIRECTORY - cp --verbose --parents doc/Doxyfile.in.in $DIRECTORY - cp --verbose --parents doc/createrepo_c.8.* $DIRECTORY - cp --verbose --parents doc/mergerepo_c.8.* $DIRECTORY - - cp --verbose --parents src/CMakeLists.txt $DIRECTORY - cp --verbose --parents src/createrepo_c.pc.cmake $DIRECTORY - cp --verbose --parents src/*.c $DIRECTORY - cp --verbose --parents src/*.h $DIRECTORY - cp --verbose --parents src/*.in $DIRECTORY - - cp --verbose --parents tests/CMakeLists.txt $DIRECTORY - cp --verbose --parents tests/*.c $DIRECTORY - cp --recursive --verbose --parents tests/test_data $DIRECTORY +if [ "$#" -eq "0" ]; then + GITREV=`git rev-parse --short HEAD` + SUFFIX=`$SCRIPTDIR/get_version.py $PROJECTROOTDIR` +else + GITREV=$1 + SUFFIX=$GITREV +fi - tar -cvJf "$TARBALL" "$DIRECTORY" -) +echo "Generate tarball for revision/version: $SUFFIX (project root dir: $PROJECTROOTDIR)" +cd ${PROJECTROOTDIR} +git archive ${GITREV} --prefix="createrepo_c-${SUFFIX}/" | xz > $TARGETDIR/createrepo_c-${SUFFIX}.tar.xz diff --git a/utils/make_tarball_from_git.sh b/utils/make_tarball_from_git.sh deleted file mode 100755 index 83196c8..0000000 --- a/utils/make_tarball_from_git.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -NAME="createrepo_c" -VER="0.0.0" - -if [ $# -ne "0" ] -then - echo "Usage: `basename $0`" - exit 1 -fi - -MY_DIR=`dirname $0` -MY_DIR="$MY_DIR/" - -TMP_DIR=`mktemp -d` -echo "Using TMP_DIR: $TMP_DIR" - -echo "Using root projekt dir: $PREFIX" - -( - echo "cd $PREFIX" - cd $PREFIX - - echo "Cloning git repo..." - git clone git://fedorahosted.org/git/createrepo_c.git $TMP_DIR -) - -# Get actual version -VER=`$MY_DIR/get_version.py $TMP_DIR` -echo "Detected version $VER" - -DIRECTORY="./$NAME-$VER" -TARBALL="$DIRECTORY.tar.xz" - -echo "Making tarball from git..." -$MY_DIR/make_tarball.sh $TMP_DIR - -echo "Copy tarball" -cp $TMP_DIR/$TARBALL $MY_DIR/../ - -echo "Rm temp..." -echo "rm -rf $TMP_DIR" -rm -rf $TMP_DIR - -echo "DONE" -- 2.7.4