From bbc72ece8a62d9c3c159b84acfb0543d434db697 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sat, 20 Nov 2010 10:41:48 +0000 Subject: Add sort-deb, a script to sort version numbers using dpkg --compare-versions git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@460 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede --- sort-deb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 sort-deb diff --git a/sort-deb b/sort-deb new file mode 100755 index 0000000..37e90ad --- /dev/null +++ b/sort-deb @@ -0,0 +1,32 @@ +#!/usr/bin/perl + +# Copyright (c) 2010 Uli Martens +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +sub dpkgcmp{my ($i,$j)=@_;chomp $i;chomp $j; + return system(" dpkg --compare-versions $i lt $j " ) * 1 + + system(" dpkg --compare-versions $i gt $j " ) *-1; + ;} +print (sort {dpkgcmp($a,$b)} <>); -- cgit v1.2.3