]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - archive.sh
Generate redirector log even if -d is not given
[thirdparty/sarg.git] / archive.sh
index 29c84b2682b5fe9e752591a746b983a9373be51c..045e5f07d9e6fab7473096a4bbb9d91c2e3fe672 100755 (executable)
@@ -4,12 +4,12 @@ Sources="."
 Target=".."
 
 # check version number in every file
-Version=$(cat "$Sources/CMakeLists.txt" | sed -n -e 's/^SET(sarg_VERSION \([0-9]\))/\1/p')
+Version=$(sed -n -e 's/^SET(sarg_VERSION \([0-9]\))/\1/p' "$Sources/CMakeLists.txt")
 if [ -z "$Version" ] ; then
        echo "No version found in CMakeLists.txt"
        exit 1
 fi
-Revision=$(cat "$Sources/CMakeLists.txt" | sed -n -e 's/^SET(sarg_REVISION "\([0-9][0-9]*.*\)")/\1/p')
+Revision=$(sed -n -e 's/^SET(sarg_REVISION "\([0-9][0-9]*.*\)")/\1/p' "$Sources/CMakeLists.txt")
 if [ -z "$Revision" ] ; then
        echo "No revision found in CMakeLists.txt"
        exit 1
@@ -38,6 +38,31 @@ if [ "x$Version" != "x$ConfigureCheck" ] ; then
        exit 1
 fi
 
+# Check release date
+ReleaseDate=$(sed -n -e 's/^SET(sarg_BUILDDATE "\([A-Z][a-z][a-z]-[0-3][0-9]-2[0-1][0-9][0-9]\)")/\1/p' "$Sources/CMakeLists.txt")
+if [ -z "$ReleaseDate" ] ; then
+       echo "No release date found or release date is invalide in CMakeLists.txt"
+       exit 1
+fi
+
+ReleaseDateCheck=$(sed -n -e 's/^#define VERSION PACKAGE_VERSION" \([A-Z][a-z][a-z]-[0-3][0-9]-2[0-1][0-9][0-9]\)"/\1/p' "$Sources/include/info.h")
+if [ -z "$ReleaseDateCheck" ] ; then
+       echo "No release date found or release date is invalide in include/info.h"
+       exit 1
+fi
+if [ "x$ReleaseDate" != "x$ReleaseDateCheck" ] ; then
+       echo "CMakeLists and include/info.h doesn't refer to the same release date"
+       exit 1
+fi
+
+# make sure the ChangeLog has been updated
+LogEntry=$(sed -n -e "1,5{;/^$ReleaseDate Version $Version$/p;}" $Sources/ChangeLog)
+if [ -z "$LogEntry" ] ; then
+       echo "ChangeLog not up to date"
+       echo "It should contain an entry for \"$ReleaseDate Version $Version\""
+       exit 1
+fi
+
 # update the po files
 if ( ! make update-po ) ; then
        echo "Failed to update the po files"