From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-vx0-f172.google.com ([209.85.220.172]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1RFwUS-0006RU-O7 for ptxdist@pengutronix.de; Tue, 18 Oct 2011 01:21:07 +0200 Received: by vcbfo1 with SMTP id fo1so3843vcb.31 for ; Mon, 17 Oct 2011 16:20:58 -0700 (PDT) From: Jon Ringle Date: Mon, 17 Oct 2011 19:21:44 -0400 Message-Id: <1318893704-23961-1-git-send-email-jon@ringle.org> Subject: [ptxdist] [PATCH] ptxd_ipkg_rev_smaller: fix compare with empty micro Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de ptxd_ipkg_rev_smaller will return the wrong value if the version number does not include a $micro component. For example: pkgd_ipkg_rev_smaller foo_1.0-2_armel.ipk foo_1.0-1_armel.ipk will incorrectly return 0 Increased the number of parts of rev_upstream that is compared since any extra parts will be filled in with 0 for comparison purposes Signed-off-by: Jon Ringle --- scripts/libptxdist.sh | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh index 48dbd64..adf2e12 100644 --- a/scripts/libptxdist.sh +++ b/scripts/libptxdist.sh @@ -743,23 +743,31 @@ ptxd_ipkg_rev_smaller() { local first=`ptxd_ipkg_split $1` local first_rev_upstream=`ptxd_ipkg_rev_upstream $first` - local first_rev_packet=`ptxd_ipkg_rev_package $first` + local first_rev_packet=$((`ptxd_ipkg_rev_package $first` + 0)) local second=`ptxd_ipkg_split $2` local second_rev_upstream=`ptxd_ipkg_rev_upstream $second` - local second_rev_packet=`ptxd_ipkg_rev_package $second` - local first_major=`echo $first_rev_upstream | awk -F. '{print $1}'` - local first_minor=`echo $first_rev_upstream | awk -F. '{print $2}'` - local first_micro=`echo $first_rev_upstream | awk -F. '{print $3}'` - local second_major=`echo $second_rev_upstream | awk -F. '{print $1}'` - local second_minor=`echo $second_rev_upstream | awk -F. '{print $2}'` - local second_micro=`echo $second_rev_upstream | awk -F. '{print $3}'` + local second_rev_packet=$((`ptxd_ipkg_rev_package $second` + 0)) + local first_major=$((`echo $first_rev_upstream | awk -F. '{print $1}'` + 0)) + local first_minor=$((`echo $first_rev_upstream | awk -F. '{print $2}'` + 0)) + local first_micro1=$((`echo $first_rev_upstream | awk -F. '{print $3}'` + 0)) + local first_micro2=$((`echo $first_rev_upstream | awk -F. '{print $4}'` + 0)) + local first_micro3=$((`echo $first_rev_upstream | awk -F. '{print $5}'` + 0)) + local second_major=$((`echo $second_rev_upstream | awk -F. '{print $1}'` + 0)) + local second_minor=$((`echo $second_rev_upstream | awk -F. '{print $2}'` + 0)) + local second_micro1=$((`echo $second_rev_upstream | awk -F. '{print $3}'` + 0)) + local second_micro2=$((`echo $second_rev_upstream | awk -F. '{print $4}'` + 0)) + local second_micro3=$((`echo $second_rev_upstream | awk -F. '{print $5}'` + 0)) [ $first_major -lt $second_major ] && return 0 [ $first_major -gt $second_major ] && return 1 [ $first_minor -lt $second_minor ] && return 0 [ $first_minor -gt $second_minor ] && return 1 - [ $first_micro -lt $second_micro ] && return 0 - [ $first_micro -gt $second_micro ] && return 1 + [ $first_micro1 -lt $second_micro1 ] && return 0 + [ $first_micro1 -gt $second_micro1 ] && return 1 + [ $first_micro2 -lt $second_micro2 ] && return 0 + [ $first_micro2 -gt $second_micro2 ] && return 1 + [ $first_micro3 -lt $second_micro3 ] && return 0 + [ $first_micro3 -gt $second_micro3 ] && return 1 [ $first_rev_packet -lt $second_rev_packet ] && return 0 [ $first_rev_packet -gt $second_rev_packet ] && return 1 -- 1.7.0.4 -- ptxdist mailing list ptxdist@pengutronix.de