This is an automated email from the git hooks/post-receive script.

dod pushed a commit to branch master
in repository libconfig-model-dpkg-perl.

commit a19752b315ec9287229bc9cc6da7aed6ae698a1b
Author: Dominique Dumont <d...@debian.org>
Date:   Thu Nov 23 19:40:28 2017 +0100

    sort dependencies like wrap-and-sort
---
 lib/Config/Model/Dpkg/DependencyList.pm        | 16 ++++++++++++++++
 lib/Config/Model/models/Dpkg/Control/Binary.pl |  9 +++++++++
 lib/Config/Model/models/Dpkg/Control/Source.pl |  7 +++++++
 3 files changed, 32 insertions(+)

diff --git a/lib/Config/Model/Dpkg/DependencyList.pm 
b/lib/Config/Model/Dpkg/DependencyList.pm
new file mode 100644
index 0000000..6c72391
--- /dev/null
+++ b/lib/Config/Model/Dpkg/DependencyList.pm
@@ -0,0 +1,16 @@
+package Config::Model::Dpkg::DependencyList;
+
+use strict;
+use warnings;
+use Mouse;
+
+extends qw/Config::Model::ListId/ ;
+
+sub sort_algorithm {
+    return sub {
+        substr($_[0],0,1) eq '$' xor substr($_[1],0,1) eq '$' ? $_[1]->fetch 
cmp $_[0]->fetch
+            : $_[0]->fetch cmp $_[1]->fetch;
+    };
+}
+
+1;
diff --git a/lib/Config/Model/models/Dpkg/Control/Binary.pl 
b/lib/Config/Model/models/Dpkg/Control/Binary.pl
index 0b39dca..33dd5a9 100644
--- a/lib/Config/Model/models/Dpkg/Control/Binary.pl
+++ b/lib/Config/Model/models/Dpkg/Control/Binary.pl
@@ -110,6 +110,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
             }
           }
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'The Depends field should be used if the depended-on 
package is required for the depending package to provide a significant amount 
of functionality. See also L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html>',
         'duplicates' => 'warn',
         'summary' => 'declares an absolute dependency.',
@@ -122,6 +123,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'This field should list packages that would be found 
together with this one in all but unusual installations. See also L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html>',
         'duplicates' => 'warn',
         'summary' => 'declares a strong, but not absolute, dependency.',
@@ -134,6 +136,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'Using this field tells the packaging system and the 
user that the listed packages are related to this one and can perhaps enhance 
its usefulness, but that installing this one without them is perfectly 
reasonable. See also L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html> ',
         'duplicates' => 'warn',
         'summary' => 'declare that one package may be more useful with one or 
more others.',
@@ -157,6 +160,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'This field is like Depends, except that it also 
forces dpkg to complete installation of the packages named before even starting 
the installation of the package which declares the pre-dependency.  See also 
L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html>',
         'type' => 'list'
       },
@@ -167,6 +171,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'When one binary package declares that it breaks 
another, dpkg will refuse to allow the package which declares Breaks to be 
unpacked unless the broken package is deconfigured first, and it will refuse to 
allow the broken package to be reconfigured. See also L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html>',
         'type' => 'list'
       },
@@ -177,6 +182,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'When one binary package declares a conflict with 
another using a Conflicts field, dpkg will refuse to allow them to be unpacked 
on the system at the same time. This is a stronger restriction than Breaks, 
which prevents the broken package from being configured while the breaking 
package is in the "Unpacked" state but allows both packages to be unpacked at 
the same time. See also L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html>',
         'type' => 'list'
       },
@@ -186,6 +192,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'declare the functionality brought by this package. 
Be sure to read the chapter about virtual package in L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html> before 
using this parameter',
         'type' => 'list'
       },
@@ -196,6 +203,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'declare that this package should overwrite files in 
certain other packages, or completely replace other packages. Be sure to read 
the section 7.6 of L<debian 
policy|https://www.debian.org/doc/debian-policy/ch-relationships.html> before 
using this parameter',
         'type' => 'list'
       },
@@ -211,6 +219,7 @@ A package may specify an architecture wildcard. 
Architecture wildcards are in th
             }
           }
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'Some binary packages incorporate parts of other 
packages when built but do not have to depend on those packages. Examples 
include linking with static libraries or incorporating source code from another 
package during the build. In this case, the source packages of those other 
packages are a required part of the complete source (the binary package is not 
reproducible without them).
 
 A Built-Using field must list the corresponding source package for any such 
binary package incorporated during the build, including an "exactly equal" 
("=") version relation on the version that was used to build that binary 
package.
diff --git a/lib/Config/Model/models/Dpkg/Control/Source.pl 
b/lib/Config/Model/models/Dpkg/Control/Source.pl
index b905dd1..9f3f579 100644
--- a/lib/Config/Model/models/Dpkg/Control/Source.pl
+++ b/lib/Config/Model/models/Dpkg/Control/Source.pl
@@ -245,6 +245,7 @@ in Debian developer reference.',
             }
           }
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'List of packages that must be installed:
 
 '.'=over
@@ -277,6 +278,7 @@ See also 
L<deb-src-control|https://manpages.debian.org/unstable/dpkg-dev/deb-src
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'Same as Build-Depends, but these pakcages are only 
needed when building the architecture dependent packages. The Build-Depends are 
also installed in this case. 
 
 See L<deb-src-control man 
page|https://manpages.debian.org/unstable/dpkg-dev/deb-src-control.5.en.html> 
for details',
@@ -291,6 +293,7 @@ See L<deb-src-control man 
page|https://manpages.debian.org/unstable/dpkg-dev/deb
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'List of packages that must be installed to build 
architecture-independent binaries ("Architecture: all").
 
 Technically, these packages must be installed for the following build targets: 
build, build-indep, binary, and binary-indep. See L<build 
target|https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules> 
doc and L<details on this 
field|https://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps>.
@@ -306,6 +309,7 @@ Note that packages required during "clean" phase must be 
declared in "Build-Depe
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'List of packages that must be missing (i.e. B<not> 
installed):
 
 '.'=over
@@ -337,6 +341,7 @@ See L<deb-src-control man 
page|https://manpages.debian.org/unstable/dpkg-dev/deb
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'List of packages that must be missing (i.e. B<not> 
installed) to build archictecture dependent binaries 
 
 See L<deb-src-control man 
page|https://manpages.debian.org/unstable/dpkg-dev/deb-src-control.5.en.html> 
for details.',
@@ -350,6 +355,7 @@ See L<deb-src-control man 
page|https://manpages.debian.org/unstable/dpkg-dev/deb
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => 'List of packages that must be missing (i.e. B<not> 
installed) to build binaries with arch set to "all.
 
 Technically, these packages must B<not> be installed for the following build 
targets: build, build-indep, binary, and binary-indep. See L<build 
target|https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules> 
doc and L<details on this 
field|https://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps>.
@@ -366,6 +372,7 @@ Note that packages not wanted during "clean" phase must be 
declared in "Build-Co
           'type' => 'leaf',
           'value_type' => 'uniline'
         },
+        'class' => 'Config::Model::Dpkg::DependencyList',
         'description' => ' Some binary packages incorporate parts of other 
packages when built but do not have to depend on those packages. Examples 
include linking with static libraries or incorporating source code from another 
package during the build. In this case, the source packages of those other 
packages are a required part of the complete source (the binary package is not 
reproducible without them).
 
 A Built-Using field must list the corresponding source package for any such 
binary package incorporated during the build, including an B<exactly equal> 
("=") version relation on the version that was used to build that binary 
package[57].

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libconfig-model-dpkg-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to