Add automatic version detection into release scripts and cmake scripts
authorTomas Mlcoch <tmlcoch@redhat.com>
Thu, 24 May 2012 09:43:12 +0000 (11:43 +0200)
committerTomas Mlcoch <tmlcoch@redhat.com>
Thu, 24 May 2012 09:52:00 +0000 (11:52 +0200)
CMakeLists.txt
src/CMakeLists.txt
src/version.h
utils/make_rpm.sh
utils/make_tarball.sh
utils/make_tarball_from_git.sh

index 8dcd2d9..713257d 100644 (file)
@@ -90,6 +90,17 @@ ELSE (RPMIO_LIBRARY)
 ENDIF (RPMIO_LIBRARY)
 
 
+# Get package version
+FILE(READ src/version.h CURRENT_VERSION_H)
+STRING(REGEX MATCH "\#define MAJOR_VERSION +([0-9]+)" MAJOR_VERSION ${CURRENT_VERSION_H})
+SET(CPACK_PACKAGE_VERSION_MAJOR ${CMAKE_MATCH_1})
+STRING(REGEX MATCH "\#define MINOR_VERSION +([0-9]+)" MINOR_VERSION ${CURRENT_VERSION_H})
+SET(CPACK_PACKAGE_VERSION_MINOR ${CMAKE_MATCH_1})
+STRING(REGEX MATCH "\#define PATCH_VERSION +([0-9]+)" PATCH_VERSION ${CURRENT_VERSION_H})
+SET(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_MATCH_1})
+message("Package version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+
+
 # CPack stuff
 
 INCLUDE(InstallRequiredSystemLibraries)
@@ -99,9 +110,6 @@ SET(CPACK_PACKAGE_VENDOR "Fedora Project")
 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
 SET(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README")
-SET(CPACK_PACKAGE_VERSION_MAJOR "0")
-SET(CPACK_PACKAGE_VERSION_MINOR "1")
-SET(CPACK_PACKAGE_VERSION_PATCH "0")
 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
 SET(CPACK_STRIP_FILES "usr/bin/createrepo_c")
 SET(CPACK_SOURCE_STRIP_FILES "")
@@ -125,7 +133,6 @@ SET(CMAKE_INSTALL_PREFIX "/")
 
 INSTALL(FILES README
               COPYING
-              COPYING.lib
               DESTINATION "/usr/share/doc/createrepo_c-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 
 
index 8ec59dc..85df861 100644 (file)
@@ -12,7 +12,8 @@ TARGET_LINK_LIBRARIES(libcreaterepo_c ${Libmagic_LIBRARY})
 TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES})
 TARGET_LINK_LIBRARIES(libcreaterepo_c ${EXPAT_LIBRARIES})
 TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY})
-SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES OUTPUT_NAME "createrepo_c-0")
+
+SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES OUTPUT_NAME "createrepo_c" SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR} VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 
 ADD_EXECUTABLE(createrepo_c createrepo_c.c cmd_parser.c)
 TARGET_LINK_LIBRARIES(createrepo_c libcreaterepo_c ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES})
index 1bc182b..f3f3885 100644 (file)
@@ -21,6 +21,6 @@
 
 #define MAJOR_VERSION   0
 #define MINOR_VERSION   1
-#define PATCH_VERSION   1
+#define PATCH_VERSION   2
 
 #endif /* __C_CREATEREPOLIB_VERSION_H__ */
index 63018e8..f9412be 100755 (executable)
@@ -2,6 +2,11 @@
 
 RPMBUILD_DIR="${HOME}/rpmbuild/"
 
+BUILD_DIR="$RPMBUILD_DIR/BUILD"
+echo "Cleaning $BUILD_DIR"
+rm -rf $BUILD_DIR
+
+
 if [ $# -lt "1"  -o $# -gt "2" ]
 then
     echo "Usage: `basename $0` <root_project_dir> [--git]"
index a1a8b19..3c8a7f4 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 NAME="createrepo_c"
-VER="0.1.0"
+VER="0.0.0"
 
 if [ $# -ne "1" ]
 then
@@ -9,6 +9,12 @@ then
     exit 1
 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.bz2"
@@ -32,13 +38,12 @@ echo "Using root projekt dir: $PREFIX"
     cp --verbose AUTHORS $DIRECTORY
     cp --verbose README $DIRECTORY
     cp --verbose COPYING $DIRECTORY
-    cp --verbose COPYING.lib $DIRECTORY
 
     cp --verbose --parents cmake/Modules/* $DIRECTORY
 
     cp --verbose --parents doc/CMakeLists.txt $DIRECTORY
-    cp --verbose --parents doc/createrepo_c.8.gz $DIRECTORY
-    cp --verbose --parents doc/mergerepo_c.8.gz $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/*.c $DIRECTORY
index a202592..4f5ded9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 NAME="createrepo_c"
-VER="0.1.0"
+VER="0.0.0"
 
 if [ $# -ne "0" ]
 then
@@ -28,6 +28,10 @@ echo "Using root projekt dir: $PREFIX"
     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"
+
 echo "Making tarball from git..."
 $MY_DIR/make_tarball.sh $TMP_DIR