diff options
author | Sahal Ansari <github@sahal.info> | 2014-03-30 14:56:27 +0400 |
---|---|---|
committer | Sahal Ansari <github@sahal.info> | 2014-03-30 14:56:27 +0400 |
commit | 8508f7c5943b4ef2265504117de6610bc8aa5541 (patch) | |
tree | 753e15453ec5a2de35574ab32650d263a18cd538 /debian | |
parent | 86b5ea39cb7dfc4a2fc853b935e35ebf6ffac42b (diff) |
This version is more logical, less ugly, and incorporates and as described in the Debian manual.
Diffstat (limited to 'debian')
-rwxr-xr-x | debian/dch-generate.sh | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/debian/dch-generate.sh b/debian/dch-generate.sh index 64d22811..124552c9 100755 --- a/debian/dch-generate.sh +++ b/debian/dch-generate.sh @@ -8,56 +8,59 @@ # modify it under the terms of the GNU General Public License # version 2 as published by the Free Software Foundation. -# note: the following file has CRLF line endings (Windows) +# warning: the following file has CRLF line endings (Windows) cbuild="../src/CurrentBuild.txt" # required for debian packaging package="softether-vpn" status="UNRELEASED" -# timezone in +hh:mm from GMT -# assuming the orij. author is in Japan: +9 GMT +# timezone in +hh:mm from UTC (+9 UTC) tzone="+09:00" -# builder name, builder email -builder="John Q. Sample" -email="tamade@example.org" # static changelog entry entry="* See: http://www.softether.org/5-download/history" +# are you a debian maintainer? +if [ ! -e "$DEBFULLNAME" ]; then + DEBFULLNAME="John Q. Sample" +fi +if [ ! -e "$DEBEMAIL" ]; then + DEBEMAIL="tamade@example.org" +fi + # check if ./changelog exists, check if $cbuild exists if [ ! -e ./changelog ]; then - /bin/echo -ne "Are you in debian/? I can't find: ./changelog\n" + echo "Am I in debian/? I can't find changelog" + echo "Maybe run: touch debian/changelog ?" exit 1 fi - -if [ ! -e $cbuild ]; then - /bin/echo -ne "This doesn't look like the SoftEtherVPN source tree. I can't find: src/CurrentBuild.txt\n" +if [ ! -e "$cbuild" ]; then + echo "This doesn't look like the SoftEtherVPN source tree. I can't find ""$cbuild" exit 1 fi -# parse version and date -- formatted in RFC 2822 format -- from ../src/CurrentBuild.txt -while IFS=$'\ ' read -r line_data; do - cbuildarray[i]=$(echo "${line_data}"| sed -e s/\\r// -e s/.*\ //) +# version and date info from $cbuild are put into array ${cbuildarray[@]} +# build "${cbuildarray[0]}", major version "${cbuildarray[1]}", +# release type "${cbuildarray[2]}", and date "${cbuildarray[3]}" +while IFS=$'\r\n' read -r line_data; do + cbuildarray[i]="${line_data##*[A-Z]\ }" ((++i)) -done < $cbuild - -#buildnumber="${cbuildarray[0]}" -#majorversion="${cbuildarray[1]}" -#releasetype="${cbuildarray[2]}" -#unparseddate="${cbuildarray[3]}" +done < "$cbuild" -# "${cbuildarray[1]}" needs to be converted -# from "406" to "4.06" -# this is really ugly and requires GNU awk (afaik) -version="$(echo "$(echo "${cbuildarray[1]}" | awk '{sub(/[0-9]/,"&.",$0);print $0}' )"".""${cbuildarray[0]}""-""${cbuildarray[2]}")" +# "${cbuildarray[1]}" is converted from "406" to "4.06" using GNU awk +majorversion="$(echo "${cbuildarray[1]}" | awk '{sub(/[0-9]/,"&.",$0);print $0}')" -# "${cbuildarray[3]}" \needs\ to be converted -# from "20140321_131655" to "20140321 13:16:55+0900" -# this is really really ugly and requires GNU date and GNU awk (afaik) -convertformat="$(echo "$(echo "${cbuildarray[3]}" | sed s/_.*//)"" ""$(echo "${cbuildarray[3]}" | sed s/.*_// | awk '{gsub(/[0-9][0-9]/,"&:",$0);print $0}' | sed s/\:$//)")" -# now we send $convertformat and $tzone to `date` and have it automagically reformat it for us -date="$(date -R --date="$(echo "$convertformat""$tzone")")" +# "${cbuildarray[3]}" is split and the second half is converted from +# from "131655" to "13:16:55" using GNU awk then it's put back together +# (like humpty dumpty) and sent to GNU date for conversion to UTC +time="$(echo ${cbuildarray[3]#*_} | awk '{gsub(/[0-9][0-9]/,"&:",$0);print $0}')" +date="$(date -R --date="$(echo "${cbuildarray[3]%_*}"" ""${time%?}""$tzone")")" # print the new debian changelog -/bin/echo -ne "$package ($version) $status; urgency=low\n\n $entry\n\n -- $builder <$email> $date\n" +echo "$package"" (""$majorversion"".""${cbuildarray[0]}""-""${cbuildarray[2]}"") ""$status""; urgency=low" +echo +echo " ""$entry" +echo +echo " --"" ""$DEBFULLNAME"" <""$DEBEMAIL""> ""$date" +echo exit 0 |