You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ms...@apache.org on 2023/02/05 10:49:46 UTC
svn commit: r1907406 - /openoffice/devtools/genUpdateFeed/generate-update-feed.sh
Author: mseidel
Date: Sun Feb 5 10:49:45 2023
New Revision: 1907406
URL: http://svn.apache.org/viewvc?rev=1907406&view=rev
Log:
Fix for 2 digit numbers in micro versions.
Thanks to sebb and petko!
Modified:
openoffice/devtools/genUpdateFeed/generate-update-feed.sh
Modified: openoffice/devtools/genUpdateFeed/generate-update-feed.sh
URL: http://svn.apache.org/viewvc/openoffice/devtools/genUpdateFeed/generate-update-feed.sh?rev=1907406&r1=1907405&r2=1907406&view=diff
==============================================================================
--- openoffice/devtools/genUpdateFeed/generate-update-feed.sh (original)
+++ openoffice/devtools/genUpdateFeed/generate-update-feed.sh Sun Feb 5 10:49:45 2023
@@ -32,6 +32,23 @@
#
+# compare two 3-part version strings
+# returns true if first is strictly greater than second
+isgreaterthan() {
+ one=(${1//./ })
+ two=(${2//./ })
+ # compare each digit separately
+ [[ ${one[0]} -gt ${two[0]} ]] && return 0
+ [[ ${one[0]} -lt ${two[0]} ]] && return 1 # must be smaller
+ # first digits are equal, check next digit
+ [[ ${one[1]} -gt ${two[1]} ]] && return 0
+ [[ ${one[1]} -lt ${two[1]} ]] && return 1
+ # etc
+ [[ ${one[2]} -gt ${two[2]} ]] && return 0
+ return 1 # not greater
+}
+
+
# check arguments
if [ ${#@} -ne 2 ]; then
echo Generate Update Feed for installed AOO/OOo instances
@@ -72,7 +89,7 @@ do
if [ $idx -eq 0 ]; then
version=$data
# skip product versions released after the given $RELEASE
- if [[ $version > $RELEASE ]]; then
+ if isgreaterthan $version $RELEASE ; then
break
fi
elif [ $idx -eq 1 ]; then
@@ -174,7 +191,7 @@ cd "${OUTPUT_DIR}"
declare platforms=(Windows MacOSX Linux Linux)
declare architectures
declare platformnames
-if [[ $INSTALLEDVERSION > "4.0.1" ]]; then
+if isgreaterthan $INSTALLEDVERSION "4.0.1"; then
architectures=(x86 X86_64 x86 X86_64)
platformnames=('Windows' 'Mac OS X 64bit' 'Linux 32bit' 'Linux 64bit')
else
@@ -201,7 +218,7 @@ for langidx in ${!sortedlanglist[*]}
do
echo -n feed entries for language ${sortedlanglist[$langidx]} - ${langname[${sortedlanglist[$langidx]}]}
- if [[ ${langlatestrelease[${sortedlanglist[$langidx]}]} < $INSTALLEDVERSION ]]; then
+ if isgreaterthan $INSTALLEDVERSION ${langlatestrelease[${sortedlanglist[$langidx]}]}; then
echo ..skipped as its latest release was ${langlatestrelease[${sortedlanglist[$langidx]}]}
continue
fi
@@ -221,7 +238,7 @@ do
else
downloadurl=${productdownloadurl[${langlatestrelease[${sortedlanglist[$langidx]}]}]}
fi
- if [[ $INSTALLEDVERSION < "4.0.0" ]]; then
+ if isgreaterthan "4.0.0" $INSTALLEDVERSION; then
newversion="- Apache OpenOffice "$newversion
fi
sed "s/%NEWVERSION%/$newversion/g" -i $WORKTEMPLATE
@@ -229,7 +246,7 @@ do
sed "s|%DOWNLOADURL%|$downloadurl|g" -i $WORKTEMPLATE
downloadcode=$(echo $INSTALLEDVERSION | tr '.' '_')
- if [[ $INSTALLEDVERSION == "3.4.0" ]] || [[ $INSTALLEDVERSION > "3.4.0" ]]; then
+ if [[ $INSTALLEDVERSION == "3.4.0" ]] || isgreaterthan $INSTALLEDVERSION "3.4.0"; then
downloadcode=AOO$downloadcode
else
downloadcode=OOo$downloadcode
@@ -246,7 +263,7 @@ do
sed "s/%PLATFORM%/${platforms[$i]}/g" -i $WORKING
sed "s/%ARCHITECTURECODE%/${architectures[$i]}/g" -i $WORKING
addtext=""
- if [[ ${platforms[$i]} == "MacOSX" ]] && [[ $RELEASE > "4.0.1" ]] && [[ ${langlatestrelease[${sortedlanglist[$langidx]}]} == $RELEASE ]]; then
+ if [[ ${platforms[$i]} == "MacOSX" ]] && isgreaterthan $RELEASE "4.0.1" && [[ ${langlatestrelease[${sortedlanglist[$langidx]}]} == $RELEASE ]]; then
addtext=${addtextformac[${sortedlanglist[$langidx]}]}
fi
sed "s/%ADDITIONALTEXT%/$addtext/g" -i $WORKING