[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