utils: Better scripts for generating tarballs and rpms.
authorTomas Mlcoch <tmlcoch@redhat.com>
Mon, 13 May 2013 11:20:22 +0000 (13:20 +0200)
committerTomas Mlcoch <tmlcoch@redhat.com>
Mon, 13 May 2013 11:54:07 +0000 (13:54 +0200)
utils/make_rpm.sh
utils/make_tarball.sh
utils/make_tarball_from_git.sh [deleted file]

index 5578bfa..53734b5 100755 (executable)
@@ -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` <root_project_dir> [--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` <root_project_dir> [--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!"
index 5496c5e..310d7fd 100755 (executable)
@@ -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` <root_project_dir>"
-    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 (executable)
index 83196c8..0000000
+++ /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"