From 4aecd4779a141ff9727d1aeb42a83d75749d0871 Mon Sep 17 00:00:00 2001 From: Tomas Mlcoch Date: Thu, 15 Mar 2012 14:03:42 +0100 Subject: [PATCH] Modified release scripts --- CMakeLists.txt | 46 ++++++++++++++++++++++++++++++++++++ README | 6 ----- doc/createrepo_c.8.gz | Bin 1282 -> 275 bytes src/CMakeLists.txt | 2 ++ utils/gen_rst.py | 2 +- utils/make_rpm.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ utils/make_tarball.sh | 47 +++++++++++++++++++++++++++++++++++++ 7 files changed, 159 insertions(+), 7 deletions(-) create mode 100755 utils/make_rpm.sh create mode 100755 utils/make_tarball.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 69b19cf..b92b337 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,4 +53,50 @@ IF (RPMIO_LIBRARY) SET(RPMDB_LIBRARY ${RPMIO_LIBRARY} ${RPMDB_LIBRARY}) ENDIF (RPMIO_LIBRARY) + +# CPack stuff + +INCLUDE(InstallRequiredSystemLibraries) + +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "C implementation of createrepo") +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 "") +SET(CPACK_PACKAGE_EXECUTABLES "createrepo_c" "createrepo_c") + +SET(CPACK_GENERATOR "TGZ") + +# Not useful now because cpack doesn't support generate SRPM packages +#SET(CPACK_GENERATOR "TGZ;RPM") +#SET(CPACK_RPM_PACKAGE_RELEASE "1") +#SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2") +#SET(CPACK_RPM_PACKAGE_GROUP "System Environment/Base") +#SET(CPACK_RPM_PACKAGE_REQUIRES "glib2 >= 2.26.0, file-libs, zlib, bzip2, rpm-libs >= 4.8.1, libxml2") + +INCLUDE(CPack) + + +# Other files + +SET(CMAKE_INSTALL_PREFIX "/") + +INSTALL_FILES(/usr/share/doc/createrepo_c-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH} FILES README COPYING COPYING.lib) + + +# Gen manpage + +message("Gen manpage") +execute_process(COMMAND bash gen_manpage.sh src/cmd_parser.c ../doc/ WORKING_DIRECTORY utils/) + + +# Subdirs + ADD_SUBDIRECTORY (src) +ADD_SUBDIRECTORY (doc) diff --git a/README b/README index 665163b..ae9baf7 100644 --- a/README +++ b/README @@ -1,10 +1,4 @@ C implementation of createrepo. This program generates a repodata dir and xml files for a repository of rpm packages. - run createrepo -h for usage syntax - -Compilation: ------------- -$ cmake . -$ make \ No newline at end of file diff --git a/doc/createrepo_c.8.gz b/doc/createrepo_c.8.gz index 0d5a12172ce128bed429835651ae37f574ce6475..e2a652daf0c39923e17dcf49d6b11ce4ee89aea0 100644 GIT binary patch literal 275 zcmV+u0qp)CiwFR1=wVL)13i#IYlA=#h41?-9wAq!nowH2B}SSYVkFwzLfEWhSkPVB zthD|2HHH?3ff*k2-h5Q=0W22J5>)L`Y>v5rj37uZa8wq9x-o8S*{i?}TJL&zu7V$R zV9!m>-+=^)+;0Cs6O~<%<{i6HkGAMs%Pg)R7_hoySOtfo^y`>mKE2H;$ zUCL+q!^i*o*B>-akHK_z Z^vcd~zPy>tXjV=jegW`U_-0lC002v8hW!8l literal 1282 zcmV+d1^xOTiwFQ=reRM21D#geZsRr(efL*PgFYl}q$Vl0D1xBCBJ15Xu(1Qj=}R31 zv_#v4DN-S+b=3>2Np#+!DlC&f`Gh$KDo<`_qsjOV&uBFR#^?XN-V%fX~%Mhi_WA{>*pS4^6=uAs zbWoT^3aaSSQqgz0S!v}1U2)1r6tZ@G7mar$C}1B%JhWY_Y>nDsq?JL)wZscgd5{!+ zV8$bG&PJJ-4Su5{PrX+Rt=>3%<|Q24%H*w551%45RI?C)lqYK>HQ1??4&e-d8cSQH z^GvuLDy}X?3(rJ&O&UPCU%VC}L@yGyrbPx4t(0Zy!UEga|zG2#%S3^0$Z__^BvfO4*IqeJz2R1;FBv0?n7m=wJX^x& zbG0H4ul|)$w_uK);N4_0y6PfrQL*m3a|%XOzSfALF^|0}RMzNnSaW2FB4?ErQALH6 zMoou!`an5B8oTKQ#kLA{wnj65mvYPNh51on?BhTH4f7X(cviex8Jy!0b%mR}Lh7U6 zCJ|5RY$mdT!6vngy6q%$!=f!eg30q?y4fC@nlA$o7->08+@yVpML5JXY8KWPZs+jbc}oL{MBY^Q+&~hU4ad-@%7xS zj72%xGbUfVQ(9XeZL_t^Hs}dmwNH;>S2nBldTnh(lTMGNj5Mx7&Zx-K=R!vYauM1v zZPMMMpc(H?xfEFO+*M<@XFrUHBYoE6n4F-iiLE|H;DU=%Np(l(X|%X z_Wq(7}WD+Rs*n4eRmg5~uhnSM5mda9b)XxZ45uvvC36PaPYufra^j>@OB zmb&!xbvC=j5M*nn;c8#<`}7r&3NwQd7ON1x+ZMy5e?%In;hVr%$; s_iEfU^}XXucjaE}D7RUK`SZA%ns_1KI*`-Vnz)So2kuuMLahq`08d1M$N&HU diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1524103..ece5e4c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,3 +14,5 @@ SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES OUTPUT_NAME "libcreaterepo_c") ADD_EXECUTABLE(../createrepo_c createrepo_c.c cmd_parser.c) TARGET_LINK_LIBRARIES(../createrepo_c libcreaterepo_c ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES}) + +INSTALL_PROGRAMS(/usr/bin/ FILES createrepo_c) \ No newline at end of file diff --git a/utils/gen_rst.py b/utils/gen_rst.py index ee710c6..aa2f9a7 100755 --- a/utils/gen_rst.py +++ b/utils/gen_rst.py @@ -62,7 +62,7 @@ def parse_arguments_from_c_file(filename): try: content = open(filename, "r").read() - except IOException: + except IOError: print "Error: Cannot open file %s" % filename return args diff --git a/utils/make_rpm.sh b/utils/make_rpm.sh new file mode 100755 index 0000000..189cfe7 --- /dev/null +++ b/utils/make_rpm.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +RPMBUILD_DIR="${HOME}/rpmbuild/" + +if [ $# -ne "1" ] +then + echo "Usage: `basename $0` " + exit 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" + echo "(Hint: Package group @development-tools and package fedora-packager)" + exit 1 +fi + +echo "> Making tarball .." +$MY_DIR/make_tarball.sh $PREFIX > /dev/null +if [ ! $? == "0" ]; then + echo "Error while making tarball" + exit 1 +fi +echo "Tarball done" + +echo "> Copying tarball and .spec file into the $RPMBUILD_DIR .." +cp $PREFIX/createrepo_c-*.tar.bz2 $RPMBUILD_DIR/SPECS/ +if [ ! $? == "0" ]; then + echo "Error while: cp $PREFIX/createrepo_c-*.tar.bz2 $RPMBUILD_DIR/SPECS/" + exit 1 +fi + +cp $PREFIX/createrepo_c.spec $RPMBUILD_DIR/SOURCES/ +if [ ! $? == "0" ]; then + echo "Error while: cp $PREFIX/createrepo_c.spec $RPMBUILD_DIR/SOURCES/" + exit 1 +fi +echo "Copying done" + +echo "> Starting rpmbuild .." +rpmbuild -ba $RPMBUILD_DIR/SPECS/createrepo_c.spec +if [ ! $? == "0" ]; then + echo "Error while: rpmbuild -ba $RPMBUILD_DIR/SPECS/createrepo_c.spec" + exit 1 +fi +echo "rpmbuild done" + +echo "> Cleanup .." +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/. +echo "Moving done" + +echo "All done!" diff --git a/utils/make_tarball.sh b/utils/make_tarball.sh new file mode 100755 index 0000000..f08e700 --- /dev/null +++ b/utils/make_tarball.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +NAME="createrepo_c" +VER="0.1.0" + +if [ $# -ne "1" ] +then + echo "Usage: `basename $0` " + exit 1 +fi + +PREFIX="$1/" +DIRECTORY="./$NAME-$VER" + +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 $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 src/CMakeLists.txt $DIRECTORY + cp --verbose --parents src/*.c $DIRECTORY + cp --verbose --parents src/*.h $DIRECTORY + + tar -cvjf "$DIRECTORY.tar.bz2" "$DIRECTORY" +) + -- 2.7.4