Thanks for the analysis and patch. On Sun, Sep 18, 2016 at 10:09:01AM +0200, Christoph Biedl wrote: > --- /usr/bin/chdist > +++ /tmp/chdist > @@ -471,10 +471,17 @@ > my $parsed_file = parseFile($file); > foreach my $package ( keys(%{$parsed_file}) ) { > if ( $packages{$dist}{$package} ) { > - warn "W: Package $package is already listed for $dist. Not > overriding.\n"; > - } else { > - $packages{$dist}{$package} = $parsed_file->{$package}; > - } > + my $version = $packages{$dist}{$package}{'Version'}; > + my $alt_ver = $parsed_file->{$package}{'Version'}; > + my $delta = $version && $alt_ver && version_compare($version, > $alt_ver); > + if (defined ($delta) && $delta < 0) { > + $packages{$dist}{$package} = $parsed_file->{$package}; > + } elsif (!defined ($delta) || $delta < 0) {
Did you mean this to be "(!defined ($delta) || $delta >= 0)"? > + warn "W: Package $package is already listed for $dist. Not > overriding.\n"; Cheers, -- James GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB