fixup Fix to build with libxml 2.12.x (fixes #505)
[platform/upstream/libzypp.git] / mkChangelog
index 79476b9..6d4303e 100755 (executable)
@@ -48,7 +48,13 @@ esac
 
 export LC_ALL=""
 export LANG="en"
-EDITOR=${EDITOR:-vi}
+
+function Edit()
+{
+  local FILE="$1"
+  vi "$FILE"
+  sed -i 's/ \+$//' "$FILE"
+}
 
 EMAIL="$(git config --get user.email)"
 
@@ -84,16 +90,27 @@ function getversion() {
     printf "LAST_COMPAT='%s'\n", lastcompat
     printf "THIS_RELEASE='%s'\n", major"."minor"."patch
     printf "THIS_COMPAT='%s'\n", compatminor
+    printf "THIS_MINOR='%s'\n", minor
+    printf "THIS_PATCH='%s'\n", patch
   }
   '
 }
 
+function setversion() {
+  local KEY="$1"
+  local VAL="$2"
+  sed -i "s/^ *SET *( *${KEY} .*/SET(${KEY} \"${VAL}\")/" "$VERSIONFILE"
+}
+
 function sameVersion() {
   test "$LAST_RELEASE" == "$THIS_RELEASE" -a "$LAST_COMPAT" == "$THIS_COMPAT"
 }
 
 function getchanges() {
-  git log --no-merges --pretty=format:'- %s' "$LAST_RELEASE"..HEAD | grep -v 'po.tar.bz2'
+  git log --no-merges --pretty=format:'@@%B' "$LAST_RELEASE"..HEAD     \
+  | awk '/^@@/{p=1}/^@@Translated using Weblate/{p=0}(p){print}'       \
+  | sed '/./{H;$!d};x;/./{s/ *\n */ /g;s/^ *//;s/ *$//;/[^]})!?:.]$/s/$/./;p};d'       \
+  | fold -s -w 66 | sed '/^@@/{s/^../- /;p;d};s/^/  /'
 }
 
 function newchangesentry() {
@@ -127,7 +144,7 @@ git status --porcelain | grep '^[^ ?]' | grep -v "$VERSIONFILE\|$CHANGESFILE" &&
 
 # A tag for $LAST_RELEASE must exist!
 eval $(getversion)
-test -e ".git/refs/tags/$LAST_RELEASE" || {
+git rev-parse -q --verify "$LAST_RELEASE" >/dev/null || {
   Recho "!!!"
   Recho "!!! There is no LAST_RELEASE tag '$LAST_RELEASE'. Check manually. "
   Recho "!!! (git tag -m 'tagging $LAST_RELEASE' '$LAST_RELEASE' ?commit?)"
@@ -153,11 +170,11 @@ while true; do
   sameVersion && {
     newchangesentry
     Becho "!!! Version is unchanged at $LAST_RELEASE ($LAST_COMPAT)."
-    read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (e)dit version [e]: ")" RES
+    read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (P) patch, (M) minor, (I) incompat minor, (e)dit version [e]: ")" RES
     echo
     case "${RES:-e}" in
       [eE]*)
-       $EDITOR $VERSIONFILE
+       Edit $VERSIONFILE
        eval $(getversion)
        continue
        ;;
@@ -165,6 +182,24 @@ while true; do
        Becho "!!! Leave $VERSIONFILE untouched"
        break
        ;;
+      [P])
+       setversion LIBZYPP_PATCH $(($THIS_PATCH + 1))
+       eval $(getversion)
+       continue
+       ;;
+      [M])
+       setversion LIBZYPP_MINOR $(($THIS_MINOR + 1))
+       setversion LIBZYPP_PATCH 0
+       eval $(getversion)
+       continue
+       ;;
+      [I])
+       setversion LIBZYPP_COMPATMINOR $(($THIS_MINOR + 1))
+       setversion LIBZYPP_MINOR $(($THIS_MINOR + 1))
+       setversion LIBZYPP_PATCH 0
+       eval $(getversion)
+       continue
+       ;;
       *)
        errexit "aborted"
        ;;
@@ -181,7 +216,7 @@ trap " [ -f \"$TMPFILE\" ] && /bin/rm -f -- \"$TMPFILE\" " 0 1 2 3 13 15
 
 RES=e
 while [ "$RES" == "e" ]; do
-  $EDITOR $TMPFILE
+  Edit $TMPFILE
   echo
   awk '{print}/^----------/{n=n+1; if ( n == 2 ) exit 0; }' $TMPFILE
   read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (s)ubmitt, (e)dit [e]: ")" RES