From: Jon Ringle <jon@ringle.org>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH] ptxd_ipkg_rev_smaller: fix compare
Date: Fri, 2 Dec 2011 23:46:49 -0500 [thread overview]
Message-ID: <1322887609-17262-1-git-send-email-jon@ringle.org> (raw)
In-Reply-To: <20111202152602.GB16442@pengutronix.de>
Derived from solution of the script given in the following thread:
http://lists.us.dell.com/pipermail/dkms-devel/2004-July/000142.html
Thanks to Benoît BURNICHON for porting to ptxdist
Signed-off-by: Jon Ringle <jon@ringle.org>
---
scripts/libptxdist.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh
index 4385566..a08d0dc 100644
--- a/scripts/libptxdist.sh
+++ b/scripts/libptxdist.sh
@@ -739,6 +739,49 @@ ptxd_ipkg_arch() {
#
#
+ptxd_ipkg_rev_decimal_convert() {
+ local ver=$*
+ while echo $ver | grep -q '[^0-9.]'
+ do
+ local char=`echo -n $ver | sed 's/.*\([^0-9.]\).*/\1/'`
+ local char_dec=`echo -n $char | od -b | head -n 1 | awk '{print $2}'`
+ ver=`echo $ver | sed "s/$char/.$char_dec/g"`
+ done
+
+ ver=`echo $ver | sed 's/\.\./.0/g'`
+
+ echo "$ver"
+}
+
+#
+#
+ptxd_ipkg_do_version_check() {
+ local ver1=$1
+ local ver2=$2
+
+ [ "$ver1" == "$ver2" ] && return 10
+
+ local ver1front=`echo $ver1 | cut -d . -f 1`
+ local ver1back=`echo $ver1 | cut -d . -f 2-`
+ local ver2front=`echo $ver2 | cut -d . -f 1`
+ local ver2back=`echo $ver2 | cut -d . -f 2-`
+
+ if [ "$ver1front" != "$ver1" -o "$ver2front" != "$ver2" ]
+ then
+ [ "$ver1front" -lt "$ver2front" ] && return 9
+ [ "$ver1front" -gt "$ver2front" ] && return 11
+
+ [ "$ver1front" == "$ver1" ] || [ -z "$ver1back" ] && ver1back=0
+ [ "$ver2front" == "$ver2" ] || [ -z "$ver2back" ] && ver2back=0
+ ptxd_ipkg_do_version_check "$ver1back" "$ver2back"
+ return $?
+ else
+ [ "$ver1" -lt "$ver2" ] && return 9 || return 11
+ fi
+}
+
+#
+#
ptxd_ipkg_rev_smaller() {
local first=`ptxd_ipkg_split $1`
@@ -760,6 +803,26 @@ ptxd_ipkg_rev_smaller() {
[ $first_minor -gt $second_minor ] && return 1
[ $first_micro -lt $second_micro ] && return 0
[ $first_micro -gt $second_micro ] && return 1
+
+ if [ "$first_rev_upstream" != "$second_rev_upstream" ]
+ then
+ local first_rev_upstream_decimal=`ptxd_ipkg_rev_decimal_convert $first_rev_upstream`
+ local second_rev_upstream_decimal=`ptxd_ipkg_rev_decimal_convert $second_rev_upstream`
+ ptxd_ipkg_do_version_check "$first_rev_upstream_decimal" "$second_rev_upstream_decimal"
+ case "$?" in
+ 9)
+ return 0;
+ ;;
+ 10)
+ ;;
+ 11)
+ return 1;
+ ;;
+ *)
+ ptxd_error "issue while checking upstream revisions"
+ esac
+ fi
+
[ $first_rev_packet -lt $second_rev_packet ] && return 0
[ $first_rev_packet -gt $second_rev_packet ] && return 1
--
1.7.5.4
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2011-12-03 4:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-29 15:59 [ptxdist] [PATCH] ptxdist-2011.01.0 bug in make ipkg-push Benoît BURNICHON
2011-12-02 15:26 ` Michael Olbrich
2011-12-03 4:46 ` Jon Ringle [this message]
2011-12-05 10:35 ` Benoît BURNICHON
2011-12-08 15:37 ` Michael Olbrich
2011-12-08 15:41 ` Michael Olbrich
2011-12-08 15:45 ` Jon Ringle
2011-12-08 15:55 ` Michael Olbrich
2011-12-08 17:38 ` Benoît BURNICHON
2011-12-09 10:09 ` Michael Olbrich
2011-12-09 14:20 ` [ptxdist] [PATCH] more pkg_xpkg_version sanitizing Michael Olbrich
2011-12-12 16:51 ` Jon Ringle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1322887609-17262-1-git-send-email-jon@ringle.org \
--to=jon@ringle.org \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox