From 857fb35dcb1ac30ad3be409f054429b346be1627 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Fri, 14 Dec 2012 19:01:07 +0100 Subject: [PATCH] core: fix cmake target "dist": build tarballs using git-archive and not cvs --- CMakeLists.txt | 10 ++----- cmake/makedist.sh.in => makedist.sh | 45 ++++++++++++++--------------- 2 files changed, 23 insertions(+), 32 deletions(-) rename cmake/makedist.sh.in => makedist.sh (53%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 19b3bcdfb..50672896c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,11 +106,6 @@ ADD_SUBDIRECTORY( doc ) CONFIGURE_FILE(config.h.cmake config.h @ONLY) -CONFIGURE_FILE( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/makedist.sh.in" - "${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" IMMEDIATE - @ONLY) - CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" @@ -120,9 +115,8 @@ ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") ADD_CUSTOM_TARGET(dist - "${CMAKE_BINARY_DIR}/makedist.sh" - DEPENDS doc - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + "${CMAKE_CURRENT_SOURCE_DIR}/makedist.sh" "${VERSION}" "HEAD" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) # pkgconfig file SET(PACKAGE "${PROJECT_NAME}") diff --git a/cmake/makedist.sh.in b/makedist.sh similarity index 53% rename from cmake/makedist.sh.in rename to makedist.sh index 92eee263e..4cb84e0fe 100755 --- a/cmake/makedist.sh.in +++ b/makedist.sh @@ -18,35 +18,32 @@ # along with WeeChat. If not, see . # -VERSION=@VERSION@ -SRCROOT=@CMAKE_SOURCE_DIR@ -BUILDDIR=@CMAKE_BINARY_DIR@ -PROJECT=@PROJECT_NAME@ -TAG=release-$(echo $VERSION | sed -e 's/\./-/g') +# +# Build tarballs (.tar.gz and .tar.bz2) for WeeChat using git-archive. +# +# Syntax: +# makedist.sh +# +# version : WeeChat version, for example 0.3.9 or 0.4.0-dev +# tree-ish: git tree-ish (optional, defaults to HEAD), example: v0.3.9 +# -EXCLUDE="@DIST_EXCLUDE@" -EXPORT_DIR="${PROJECT}-${VERSION}" - -if [ -z $CVSROOT ]; then - echo "The CVSROOT variable must be set" +if [ $# -eq 0 ]; then + echo "Syntax: $0 " exit 1 fi -echo "Exporting source tree" -if [ $(echo $VERSION | grep cvs) ]; then - cvs export -r HEAD -d $PROJECT-$VERSION $PROJECT -else - cvs export -r $TAG -d $PROJECT-$VERSION $PROJECT +VERSION=$1 +TREEISH="HEAD" +if [ $# -gt 1 ]; then + TREEISH=$2 fi -echo "Removing not needed stuff" -for i in $EXCLUDE ; do - echo " $i" - rm -rf $EXPORT_DIR/$i -done +PREFIX="weechat-${VERSION}/" +FILE="weechat-${VERSION}.tar" -echo "Generating archive" -tar cjf ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 ${EXPORT_DIR} +echo "Building file ${FILE}.bz2" +git archive --prefix=${PREFIX} ${TREEISH} | bzip2 -c >${FILE}.bz2 -echo "Cleaning up" -rm -rf ${EXPORT_DIR} +echo "Building file ${FILE}.gz" +git archive --prefix=${PREFIX} ${TREEISH} | gzip -c >${FILE}.gz