diff options
author | Peter Palfrader <peter@palfrader.org> | 2010-11-20 10:41:48 +0000 |
---|---|---|
committer | weasel <weasel@bc3d92e2-beff-0310-a7cd-cc87d7ac0ede> | 2010-11-20 10:41:48 +0000 |
commit | bbc72ece8a62d9c3c159b84acfb0543d434db697 (patch) | |
tree | 2f159d594723ca13dd394ee86de26eaa20a54082 | |
parent | e44169f47d2f275d3ad56ec1779d74e4aa12a844 (diff) |
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
-rwxr-xr-x | sort-deb | 32 |
1 files changed, 32 insertions, 0 deletions
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 <uli@youam.net> +# 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)} <>); |