[Pkg-haskell-commits] [package-plan] 03/03: test-packages: Support for key packages.

Joachim Breitner nomeata at moszumanska.debian.org
Sat Jun 20 12:03:19 UTC 2015


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

nomeata pushed a commit to branch master
in repository package-plan.

commit ba4f9cf8db1110750026c157294ee7b4c0745313
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Sat Jun 20 14:02:57 2015 +0200

    test-packages: Support for key packages.
---
 README.md        |  7 ++++++-
 packages.txt     | 59 ++++++++++++++++++++++++++++----------------------------
 test-packages.pl | 10 ++++++++--
 3 files changed, 44 insertions(+), 32 deletions(-)

diff --git a/README.md b/README.md
index f3199d3..3092c28 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,8 @@ The following flags are supported:
  * ahead:
    Indicate that this package is known and allowed to be newer than specified
    in the tracked LTS release.
+ * key:
+   Indicate that this package ise a key package.
 
 The tools will warn about unknown flags.
 
@@ -113,7 +115,10 @@ The script supports some options
    in `lts.conf` (if there is one, and the package is not marked `ahead`).
    Useful to find out what non-LTS package break if we follow a newer LTS
    release.
-
+ * `--only-key-pkgs`:
+   Passes only packages marked as key packages, plus all LTS packages, to
+   cabal-install. This will report packages that are neither key packages nor
+   dependencies of such, and give hints about what should be cleaned up.
 
 Jenkins integration
 -------------------
diff --git a/packages.txt b/packages.txt
index 5cf62bc..3009767 100644
--- a/packages.txt
+++ b/packages.txt
@@ -6,8 +6,8 @@ adjunctions 4.2
 aeson 0.8.0.2
 aeson-pretty 0.7.2
 aeson-qq 0.7.4
-Agda 2.4.2.2
-alex 3.1.4 binary
+Agda 2.4.2.2 key
+alex 3.1.4 binary key
 algebra 4.2
 ALUT 2.3.0.1
 AMI 0.1
@@ -15,7 +15,7 @@ ansi-terminal 0.6.2.1
 ansi-wl-pprint 0.6.7.2
 appar 0.1.4
 applicative-quoters 0.1.0.8
-arbtt 0.9.0.4 binary notest
+arbtt 0.9.0.4 binary notest key
 arrows 0.4.4.1
 asn1-data 0.7.1
 asn1-encoding 0.9.0
@@ -52,7 +52,7 @@ blaze-html 0.7.0.2
 blaze-markup 0.6.1.0
 blaze-svg 0.3.4
 blaze-textual 0.2.0.9 notest
-BlogLiterately 0.7.1.11
+BlogLiterately 0.7.1.11 key
 bloomfilter 2.0.0.0
 bmp 1.2.5.2
 Boolean 0.2.3
@@ -61,7 +61,7 @@ boomerang 1.4.5
 BoundedChan 1.0.3.0
 boxes 0.1.3
 brainfuck 0.1
-bustle 0.4.8 binary=bustle
+bustle 0.4.8 key binary=bustle
 byteable 0.1.1
 bytedump 1.0
 byteorder 1.0.4
@@ -74,7 +74,7 @@ bytestring-show 0.3.5.6
 bzlib 0.5.0.5
 c2hs 0.25.2 binary notest
 Cabal 1.22.1.1 ghcpkg group=new-cabal
-cabal-debian 4.29 binary -f-local-debian
+cabal-debian 4.29 binary -f-local-debian key
 cabal-file-th 0.2.3
 cabal-install 1.22.0.1 binary group=new-cabal ahead
 cairo 0.13.1.0
@@ -151,8 +151,8 @@ css-text 0.1.2.1
 csv 0.1.2
 csv-conduit 0.6.6
 curl 1.3.8
-darcs 2.10.0 binary=darcs -fpkgconfig -fcurl -f-http -fterminfo notest
-darcs-monitor 0.4.2 binary=darcs-monitor
+darcs 2.10.0 key binary=darcs -fpkgconfig -fcurl -f-http -fterminfo notest
+darcs-monitor 0.4.2 binary=darcs-monitor key
 data-accessor 0.2.2.6
 data-accessor-mtl 0.2.0.4
 data-accessor-template 0.2.1.11
@@ -193,7 +193,7 @@ digest 0.0.1.2
 dimensional 0.13.0.1
 directory-tree 0.11.0
 distributive 0.4.4
-djinn 2011.7.23 binary
+djinn 2011.7.23 binary key
 djinn-ghc 0.0.2.3
 djinn-lib 0.0.1.2
 dlist 0.7.1.1
@@ -212,7 +212,7 @@ EdisonAPI 1.2.2.1
 EdisonCore 1.2.2.1
 edit-distance 0.2.1.2
 either 4.3.3.2
-ekg 0.4.0.5
+ekg 0.4.0.5 key
 ekg-core 0.1.0.2
 email-validate 2.0.1
 enclosed-exceptions 1.0.1.1
@@ -258,13 +258,13 @@ ghc-paths 0.1.0.9
 ghc-syb-utils 0.2.3
 gio 0.13.0.4
 github 0.8
-gitit 0.10.6.2
+gitit 0.10.6.2 key
 gitlib 3.1.0.1
 glade 0.12.5.0 obsolete
 GLFW 0.5.2.2
 glib 0.13.1.0
 Glob 0.7.5
-gloss 1.9.3.1
+gloss 1.9.3.1 key
 gloss-rendering 1.9.3.1
 GLURaw 1.5.0.0
 GLUT 2.7.0.0
@@ -333,8 +333,8 @@ hit 0.6.3
 HJavaScript 0.4.7
 HJScript 0.7.0
 hjsmin 0.1.4.7
-hledger 0.24
-hledger-interest 1.4.4 binary
+hledger 0.24 key
+hledger-interest 1.4.4 binary key
 hledger-lib 0.24
 hledger-web 0.23.3 binary ignore
 hlint 1.9.20
@@ -345,7 +345,7 @@ hoogle 4.2.41 notest
 hOpenPGP 2.0
 hopenpgp-tools 0.14.1 binary
 hostname 1.0
-hothasktags 0.3.2 binary
+hothasktags 0.3.2 binary key
 hourglass 0.2.9
 hS3 0.5.9
 hs-bibutils 5.5
@@ -408,7 +408,7 @@ io-storage 0.3
 io-streams 1.3.0.0
 iproute 1.3.2
 irc 0.6.1.0
-ircbot 0.6.2
+ircbot 0.6.2 key
 iteratee 0.8.9.6
 ixset 1.0.6
 jmacro 0.6.11
@@ -418,7 +418,7 @@ json 0.5
 JuicyPixels 3.2.3.1
 keys 3.10.1
 knob 0.1.1
-lambdabot 4.3.0.1 binary
+lambdabot 4.3.0.1 binary key
 language-c 0.4.7
 language-haskell-extract 0.2.4
 language-javascript 0.5.13.3
@@ -429,7 +429,7 @@ LDAP 0.6.10
 leksah 0.14.1.1 binary notest -fgtk3 -f-webkit -f-yi
 leksah-server 0.14.0.1
 lens 4.6.0.1
-lhs2tex 1.18.1 binary
+lhs2tex 1.18.1 binary key
 libsystemd-journal 1.2.0
 libxml-sax 0.7.5
 LibZip 0.11.1
@@ -453,7 +453,7 @@ MemoTrie 0.6.2
 mersenne-random 1.0.0.1
 mersenne-random-pure64 0.2.0.4
 midi 0.2.1.3
-mighttpd2 3.2.7 binary
+mighttpd2 3.2.7 binary key
 mime 0.4.0.1
 mime-mail 0.4.1.2
 mime-mail-ses 0.3.2.1
@@ -517,7 +517,7 @@ operational 0.2.3.2
 options 1.2.1.1 notest
 optparse-applicative 0.11.0.2
 OSM 0.6.4
-pandoc 1.13.2.1 -fhttp-conduit
+pandoc 1.13.2.1 key -fhttp-conduit
 pandoc-citeproc 0.6.0.1 -fbibutils -f-hexpat -funicode_collation
 pandoc-types 1.12.4.2
 pango 0.13.1.0
@@ -627,8 +627,8 @@ shakespeare-i18n 1.1.0 obsolete
 shakespeare-js 1.3.0 obsolete
 shakespeare-text 1.1.0 obsolete
 Shellac 0.9.5.2
-ShellCheck 0.3.7 binary=shellcheck
-shelltestrunner 1.3.5 binary
+ShellCheck 0.3.7 binary=shellcheck key
+shelltestrunner 1.3.5 binary key
 show 0.6
 silently 1.2.4.1 notest
 SimpleEA 0.2.1
@@ -670,7 +670,7 @@ syb-with-class-instances-text 0.0.1
 system-fileio 0.3.16.2
 system-filepath 0.4.13.2
 tabular 0.2.2.7
-taffybar 0.4.5
+taffybar 0.4.5 key
 tagged 0.7.3
 tagsoup 0.13.3
 tagstream-conduit 0.5.5.3
@@ -704,7 +704,8 @@ th-extras 0.0.0.2
 th-lift 0.7.2
 th-orphans 0.11.1
 threads 0.5.1.3 notest
-threadscope 0.2.6 binary
+threadscope 0.2.6 key binary
+git-annex 5.20141125 binary key
 th-reify-many 0.1.3
 time-compat 0.1.0.3
 time-locale-compat 0.1.0.1
@@ -728,7 +729,7 @@ url 2.1.3
 utf8-light 0.4.2
 utf8-string 0.3.7
 utility-ht 0.0.10
-uuagc 0.9.42.3 binary
+uuagc 0.9.42.3 binary key
 uuagc-cabal 1.0.4.0
 uuid 1.3.9 notest
 uuid-types 1.0.1
@@ -788,8 +789,8 @@ xml-conduit 1.2.3.3
 xml-hamlet 0.4.0.10
 xmlhtml 0.2.3.4
 xml-types 0.3.4
-xmonad 0.11.1
-xmonad-contrib 0.11.3
+xmonad 0.11.1 key
+xmonad-contrib 0.11.3 key
 xss-sanitize 0.3.5.5
 yaml 0.8.10.1
 yaml-light 0.1.4
@@ -802,14 +803,14 @@ yesod-bin 1.4.7.1 binary=yesod
 yesod-core 1.4.9.1
 yesod-default 1.2.0
 yesod-form 1.4.4.1
-yesod-init-test 0 meta # This is generated from "yesod init"
+yesod-init-test 0 meta key # This is generated from "yesod init"
 yesod-markdown 0.9.3.1
 yesod-newsfeed 1.4.0.1
 yesod-persistent 1.4.0.2 notest
 yesod-routes 1.2.0.7
 yesod-static 1.4.0.4
 yesod-test 1.4.3.1
-yi 0.12.0 -fvty -fpango
+yi 0.12.0 key -fvty -fpango
 yi-language 0.1.1.0
 yi-rope 0.7.0.1
 zeromq4-haskell 0.6.3 notest
diff --git a/test-packages.pl b/test-packages.pl
index 257c3a0..e283fe3 100755
--- a/test-packages.pl
+++ b/test-packages.pl
@@ -26,9 +26,11 @@ my %flags;
 my %group;
 my %meta;
 my %ahead;
+my %key;
 
 my $allow_upgrade = 0;
 my $assume_lts = 0;
+my $only_key_packages = 0;
 
 my $error_count = 0;
 my %stats;
@@ -36,6 +38,7 @@ my %stats;
 GetOptions (
 	"allow-upgrade" => \$allow_upgrade,
 	"assume-lts" => \$assume_lts,
+	"only-key-packages" => \$only_key_packages,
 	) or die("Error in command line arguments\n");
 
 print "Reading packages.txt...\n";
@@ -70,6 +73,7 @@ while (<PACKAGES>) {
 	$ghcpkg{$pkg}++ if $attribs =~ s/ghcpkg\s*//;
 	$meta{$pkg}++ if $attribs =~ s/meta\s*//;
 	$ahead{$pkg}++ if $attribs =~ s/ahead\s*//;
+	$key{$pkg}++ if $attribs =~ s/key\s*//;
 	$flags{$pkg} = [] unless exists $flags{$pkg};
 	push @{$flags{$pkg}}, $1 while $attribs =~ s/-f([^ ]+)\s*//;
 
@@ -119,7 +123,7 @@ while ( my ($pkg, $bin) = each %binary ) {
 	open VERS, "-|", "apt-cache dumpavail | grep-dctrl -F Package -s Version -n -X $bin" or die $!;
 	while (<VERS>) {
 		chomp;
-		unless (m/^(?:.*:)?(.*)-(?:.*)$/) {
+		unless (m/^(?:.*:)?(.*?)(?:-(?:.*))?$/) {
 			print "Ignoring unparseable version for $pkg: $_\n";
 			$error_count++;
 		}
@@ -384,6 +388,7 @@ for my $group (@groups) {
 		next if (exists $obsolete{$pkg});
 		next if (exists $avoid{$pkg});
 		next if (($group{$pkg} || 'default') ne $group);
+		next if ($only_key_packages and (not (exists $lts{$pkg} or exists $key{$pkg})));
 		push @params, sprintf "%s", $pkg;
 		unless (exists $notest{$pkg}) {
 			push @params, "--constraint", sprintf "%s test", $pkg;
@@ -456,7 +461,7 @@ if ($all_runs_ok) {
 		$count++;
 	}
 
-	for my $pkg ( keys %versions ) {
+	for my $pkg ( sort keys %versions ) {
 		next if (exists $ignored{$pkg});
 		next if (exists $obsolete{$pkg});
 		next if (exists $avoid{$pkg});
@@ -464,6 +469,7 @@ if ($all_runs_ok) {
 
 		next if (exists $results{$pkg});
 		printf "ERROR: Package missing in package plan %s\n", $pkg;
+		$error_count++;
 	}
 
 	printf "%d packages successfully tested for co-installability.\n", $count;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-haskell/package-plan.git



More information about the Pkg-haskell-commits mailing list