14 test -n "$TDIR" && cd $TDIR
16 CHANGESFILE=$(ls package/*.changes)
17 test -f "$CHANGESFILE" || errexit "No changes file '$CHANGESFILE'"
19 VERSIONFILE="VERSION.cmake"
20 test -f "$VERSIONFILE" || errexit "No version file '$VERSIONFILE'"
22 ## Version.cmake tags in getversion() are still zypp specific.
28 Usage: $(basename $0) [OPTIONS]
29 Options: -h,-?,--help This page.
31 $(basename $0) will load the changes file '$CHANGESFILE'
32 into your editor (\$EDITOR=$EDITOR), providing a new changes
35 -------------------------------------------------------------------
36 Wed Jul 30 18:20:06 CEST 2008 - ma@suse.de
40 #---delete-or-release---# LAST RELEASED: 5.3.2 (2) NEW RELEASE: 5.4.0 (4)
42 The revision number is a guess and assumes you will check in to
43 SVN shortly after editing (current server revision + 1).
45 The line '#---delete-or-release---#...' shows the last version submitted
46 to autobuild ('# LAST RELEASED:; tag in $VERSIONFILE). And also the current
47 version, asuming you already updated the $VERSIONFILE according to your changes.
48 (The number in parenthesis is _COMPATMINOR)
51 - Delete the line if you don't want to submit the package to autobuild.
53 - Leave the line in place if you want to submit the package.
56 Closing the editor you are prompted:
58 #---delete-or-release---# LAST RELEASED: 5.3.2 (2) NEW RELEASE: 5.4.0 (4)
59 (a)bort, (c)ontinue, (e)dit :
61 Choosing (c)ontinue will write the new changes file. The '#---delete-or-release---#'
62 line is missing in case you deleted it. It's presence will remind you
63 that it is going to be converted into:
67 and the '# LAST RELEASED:; tag in $VERSIONFILE will be updated accordingly.
68 Now check the result, check in your changes, build the package and submit
71 Released by accident? Don't mind. Nothing bad will happen. If you want to
72 undo the change, restore the 'LAST RELEASED: ' entry in $VERSIONFILE and
73 delete the '- version' line in $CHANGESFILE'.
88 function getversion() {
95 /^ *SET *\( *LIBZYPP_MAJOR *"[0-9]+" *\)/ {getnum();major=$0}
96 /^ *SET *\( *LIBZYPP_MINOR *"[0-9]+" *\)/ {getnum();minor=$0}
97 /^ *SET *\( *LIBZYPP_PATCH *"[0-9]+" *\)/ {getnum();patch=$0}
98 /^ *SET *\( *LIBZYPP_COMPATMINOR *"[0-9]+" *\)/ {getnum();compatminor=$0}
99 /^# LAST RELEASED:/ {gsub("^.*RELEASED: *","");gsub(" +$","");gsub(" +\\("," (");lastrelease=$0}
101 thisrelease = major"."minor"."patch" ("compatminor")"
102 if ( thisrelease == lastrelease )
103 print "#---delete-or-release---# LAST RELEASED: "lastrelease" UNCHANGED RELEASE: "thisrelease
105 print "#---delete-or-release---# LAST RELEASED: "lastrelease" NEW RELEASE: "thisrelease
110 function nextrevision() {
111 svn status -u CMakeLists.txt \
112 | awk '/^Status against revision:/{print $4+1}'
116 test -r /etc/sysconfig/mail && source /etc/sysconfig/mail
117 EMAIL="${USER}@${FROM_HEADER:-$(hostname -f)}"
119 GOTVERSION="$(getversion)"
124 echo "-------------------------------------------------------------------"
125 echo "$(date) - $EMAIL"
128 echo "- revision $(nextrevision)"
135 while [ "$RES" == "e" ]; do
138 NEWREL=$(grep '#---delete-or-release---#' $TMPFILE)
139 test -n "$NEWREL" && echo "$NEWREL"
140 read -n 1 -p "(a)bort, (c)ontinue, (e)dit : " RES
148 test -n "$NEWREL" && {
149 echo "Remember new release in $VERSIONFILE"
150 sed -i 's/^.*#---delete-or-release---#.*RELEASE:/- version/' $TMPFILE
151 NEWREL=$(sed 's/^.*#---delete-or-release---#.*RELEASE:/# LAST RELEASED:/' <<<"$NEWREL")
152 sed -i "s/^# LAST RELEASED:.*$/$NEWREL/" $VERSIONFILE
155 echo "Store new $CHANGESFILE"
156 cp $TMPFILE $CHANGESFILE
158 echo "$(sed 's/^.*#---delete-or-release---#.*RELEASE:/# CURRENT RELEASE:/' <<<"$GOTVERSION")"
159 awk '{print}/^----------/{n=n+1; if ( n == 2 ) exit 0; }' $CHANGESFILE
163 echo "Leave $CHANGESFILE untouched"