summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJohannes 'josch' Schauer <josch@debian.org>2020-01-02 15:02:44 +0100
committerJohannes 'josch' Schauer <josch@debian.org>2020-02-22 12:46:42 +0100
commit664ecbfbe0b61acd9020656b721717fcfec4382b (patch)
tree413f8175692eee7e81280909881697ae9405c5cf /debian
parent3ddfcc9a8fec0ecda80ad263d53420bdb11dc30f (diff)
Import Debian changes 0.22-2
botch (0.22-2) unstable; urgency=medium * Add patch as workaround for bug #946980. On 32bit architectures, botch will now not attempt using parmap for parallelization (closes: #946817) * Fixup last changelog entry that forgot a closes: #944473 botch (0.22-1) unstable; urgency=medium * New upstream release * drop debian/patches -> all have been applied upstream * drop B-D on libcdt5 because tests are not testing graphviz version anymore (closes: #944473) * replace deprecated $ADTTMP with $AUTOPKGTEST_TMP * bump Standards-Version to 4.4.1 (no changes) * add Rules-Requires-Root: no * bump debhelper version to 12 * use debhelper-compat B-D instead of debian/compat * add B-D: black <!nocheck> botch (0.21-8) unstable; urgency=medium * add patch accounts for new argparse version in python 3.7 (closes: #912935) botch (0.21-7) unstable; urgency=medium * also ignore pycodestyle W504 (closes: #912060) botch (0.21-6) unstable; urgency=medium * debian/control: add Build-Depends on dh-python (closes: #896797) * Define undefined parameters in shell scripts (closes: #903564) * Migrate to networkx 2.0 * update for graphviz 2.40.1 (closes: #890029) * Fix for changed version provides handling of dose3 5.0.1-9 * tools/graph-difference.py: allow comparison of arbitrary input graphs * Rename ma_interpreter.pkggraph to ma_interpreter.xml so that it is checked using botch-graph-difference instead of diff * debian/control: fix my name * bump dh compat level to 11 * debian/copyright: secure source format uri botch (0.21-5) unstable; urgency=medium * add patch fixing test output for changed dictionary ordering from Python 3.5 to 3.6. Also bump build dependency on Python (closes: #869586) * remove empty recommends and suggests fields from botch-doc * use https URI in debian/watch * bump Standards-Version to 4.1.1 (no changes) botch (0.21-4) unstable; urgency=medium * Add patch to fix FTBFS due to new pycodestyle and error E722 (closes: #867005) * Replace jquery-tablesorter/themes/blue/style.css with jquery-tablesorter/css/theme.blue.css after upstream switch (closes: #867607) * Build-Depends on ocamlbuild to ease a future transition to ocaml 4.05.0 (closes: #869852) * bump Standards-Version to 4.0.0 (no changes required) * make botch-doc Multi-Arch:foreign botch (0.21-3) unstable; urgency=medium * Add patch to fix FTBFS due to API breakage introduced by src:dose3 5.0.1-8 (closes: #852917) botch (0.21-2) unstable; urgency=medium * python3-pygraphviz dropped the file attribute. Thus adapting the code accordingly and bumping dependency to 1.4~rc1 * bump Standards-Version to 3.9.8 (no changes required) * Do not build depend on -1-revisions to ease backports * Remove unused lintian overrides botch (0.21-1) unstable; urgency=medium * new upstream release - changes testcases for gringo 5.1.0 (closes: #847831) * remove all patches * fail if diff in autopkgtest returns nonzero exit (closes: #847832) * move diff_tmp_out of autopkgtest into its own script botch (0.20-3) unstable; urgency=medium * Add two patches from upstream which switch from pep8 to pycodestyle (closes: #844964) botch (0.20-2) unstable; urgency=medium * Apply patch from upstream catering for missing 'depends' field in dose3 yaml output botch (0.20-1) unstable; urgency=medium * new upstream release botch (0.19-3) unstable; urgency=medium * Update autopkgtest test suite to 0.19 release botch (0.19-2) unstable; urgency=medium * Run ocamlbuild with -lflags -runtime-variant,_pic to work around Debian bug #837359 botch (0.19-1) unstable; urgency=medium * new upstream release * drop patches as they were integrated upstream * add a Suggests:botch-doc to botch (closes: #839924) * make the botch package description less verbose (closes: #839926) * fix VCS-Git field to point to the botch git (closes: #839901) * add a README.Debian * update lintian overrides (remove hardening-no-relro and add hardening-no-bindnow and hardening-no-pie) botch (0.18-5) unstable; urgency=medium * dummy upload to test source-only uploads without an empty Binary field in the .changes file botch (0.18-4) unstable; urgency=medium * backport patch to output progress for botch-clean-repository via 0001-clean-repository.ml-add-progress-option.patch botch (0.18-3) unstable; urgency=medium * backport patch which applies _tag rules to *.byte instead of just applying them to *.d.byte via 0002-_tags-don-t-apply-rule-to-.d.byte-only-but-to-.byte.patch * build-depend on libatdgen-ocaml-dev (>= 1.9.1-2) to make sure to depend on a version of atdgen with bug #837804 fixed (provides /usr/bin/atdgen on all architectures) botch (0.18-2) unstable; urgency=medium * backport patch that retries parmap with smaller chunk sizes to cater for 32 bit architectures with very limited memory constraints 0001-buildGraph.ml-retry-with-smaller-chunk-sizes-if-parm.patch botch (0.18-1) unstable; urgency=medium * new upstream release - restores compatibility with dose3 (closes: #827977) * add dependency on dpkg-dev (closes: #832028) * remove all patches * replace build-depends on pyflakes by pyflakes3 * replace dependcy on python3-pydot by python3-pygraphviz * update autopkgtests * add dependency on libyojson-ocaml-dev for the ydump program * bump minimum dose3 version to 5.0.1-1 botch (0.17-3) unstable; urgency=medium * Allows one to only build architecture dependent or architecture independent packages (Closes: #804296) - build dependencies are selected through Build-Depends-Arch and Build-Depends-Indep - this only fixes #804296 because it will not build the failing wiki target anymore during architecture dependent builds on mips or mipsel. The real fix still has to be done in #804297. The problem is hidden because Architecture:all packages are not built on mips or mipsel. * support for DEB_BUILD_PROFILES nodoc and nocheck * support for DEB_BUILD_OPTIONS nodoc and nocheck botch (0.17-2) unstable; urgency=medium * backport two patches from upstream git to support running the misc unit test target on non-native architectures: - 797639f Makefile: do not add debug information by default on non-native architectures, move that to a new debug target - bc22129 tools/*.sh: check all possible ocaml extensions to find an executable botch (0.17-1) unstable; urgency=medium * new upstream release * The upload of clasp 3.1.3-1 broke aspcud in some cases (see #800526 and #801169) and introduced a spurious failure of the test suite that was worked around with the upload of upstream version 0.16. Now that the problem is known and clasp was fixed with 3.1.3-2, this upstream release reverts that change (closes: #802265). * remove debian/patches/print-stats.ml-do-not-use-yojson.safe.pr because that commit is part of this upstream release * refresh debian/patches/send-keepalive * add debian/tests/misc * add build dependency on python3-pydot for the test suite * add build dependency on gsfonts because graphviz wants a font called "Times-Roman" and otherwise falls back to "DejaVu Serif" instead of using "Nimbus Roman No9 L" with gsfonts installed. This could've also been fixed by changing the testcase png be rendered using "DejaVu Serif" * add build dependency on libgraph-easy-perl for the graph-easy tool which is needed by y-u-b-d-transitive-essential in the test suite * break long lines in debian/control for extended description * add additional Depends for debian/tests/control for the misc test botch (0.16-2) unstable; urgency=medium * fix build problem on 32bit architectures botch (0.16-1) unstable; urgency=medium * New upstream release botch (0.15-4) unstable; urgency=medium * and another one... botch (0.15-3) unstable; urgency=medium * another dgit test upload botch (0.15-2) unstable; urgency=medium * dgit test upload botch (0.15-1) unstable; urgency=medium * New upstream release (Closes: #797453) * bump dependency on dose tools >= 4.0.1-2 * remove dependency on jq because it's not needed anymore due to new dose tools * update botch package description * update Vcs-* fields to use dgit botch (0.14-1) unstable; urgency=medium * New upstream release * refresh patch send-keepalive * botch binary: add dependency on python3-pydot, zutils and suggest libgraph-easy-perl, jq * update debian/tests/* with --drop-b-d-indep argument and correct locale environment variable export * make debian/tests/* more readable by splitting long lines * update debian/tests/* with workaround for random segmentation faults see http://bugs.python.org/issue24605 botch (0.13-1) unstable; urgency=medium * New upstream release (closes: #784835) * Remove the XS-Testsuite field from d/control to fix lintian warning xs-testsuite-header-in-debian-control botch (0.12-1) unstable; urgency=medium * New upstream release (closes: #764704) botch (0.11-2) unstable; urgency=medium * fix last d/changelog entry to say unstable instead of UNRELEASED uploads like this should be rejected in the first place. See #647028 botch (0.11-1) unstable; urgency=medium * New upstream release botch (0.10-1~experimental1) experimental; urgency=medium * New upstream release * bump dependency on libdose to 3.3-2 because of its backported fixes for fd-leakage and storing the original Debian package name as a cudf_extras field botch (0.9-1~experimental1) experimental; urgency=medium * New upstream release * add build dependency on libparmap-ocaml-dev botch (0.8-1~experimental1) experimental; urgency=medium * New upstream release botch (0.7-1~experimental1) experimental; urgency=medium * New upstream release * replace gitorious upstream url with gitlab.mister-muffin.de botch (0.6-1~experimental3) experimental; urgency=medium * add patch send-keepalive to not abort build on arches without ocamlopt botch (0.6-1~experimental2) experimental; urgency=medium * do not explicitly set `dh_gencontrol -- -Vocaml:Depends` already done by dh-ocaml * do not run test suite without ocamlopt as that will make the build get killed by a timeout (closes: #778449) * add dh --with ocaml * include /usr/share/ocaml/ocamlvars.mk for OCAML_HAVE_OCAMLOPT * Build-Depend on dh-ocaml * add lintian overrides for hardening and strip errors botch (0.6-1~experimental1) experimental; urgency=medium * New upstream release (closes: #778373) botch (0.5-1~experimental3) experimental; urgency=medium * this upload removes the build-dependency on python3-yaml:native and the dependency on python3-yaml:amd64 to make it compilable/installable again botch (0.5-1~experimental2) experimental; urgency=medium * making an upload to experimental botch (0.5-1~experimental1) unstable; urgency=medium * New upstream release. - graph comparison is now done using botch-graph-difference (Closes: #764909) - adjusted to build with latest dose 3.3 (Closes: #770613) * bump dependency on dose lib and tools to 3.3 * adjust autopkgtests to use botch-graph-difference to compare graphs * bump Standards-Version to 3.9.6 * botch now suggests www-browser because some of its output is HTML * change my email in Maintainer field to josch@debian.org * add Vcs-Browser and Vcs-Git fields * change priority from extra to optional because it has no conflicts and is not a debug package * add build dependency on python3-yaml:native and dependency on python3-yaml:amd64 for testing purposes - please revert! botch (0.4-1) unstable; urgency=medium * New upstream release. botch (0.3-1) unstable; urgency=medium * New upstream release. botch (0.2-1) unstable; urgency=medium * New upstream release. botch (0.1-1) unstable; urgency=medium * Initial release. (Closes: #748102)
Diffstat (limited to 'debian')
-rw-r--r--debian/README.Debian3
-rw-r--r--debian/botch-doc.doc-base8
-rw-r--r--debian/botch-doc.install1
-rw-r--r--debian/botch.install2
-rw-r--r--debian/botch.manpages1
-rw-r--r--debian/changelog437
-rw-r--r--debian/control109
-rw-r--r--debian/copyright60
-rw-r--r--debian/patches/parmap_workaround16
-rw-r--r--debian/patches/series1
-rwxr-xr-xdebian/rules39
-rw-r--r--debian/source/format1
-rw-r--r--debian/tests/control7
-rw-r--r--debian/tests/cross21
-rw-r--r--debian/tests/default18
-rwxr-xr-xdebian/tests/diff_tmp_out20
-rw-r--r--debian/tests/misc68
-rw-r--r--debian/tests/selfcontained18
-rw-r--r--debian/upstream/signing-key.asc182
-rw-r--r--debian/watch3
20 files changed, 1015 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..a133ea8
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,3 @@
+For a good overview of what the botch package provides and how it is used see
+either the botch(1) man page or consider reading
+/usr/share/doc/botch/wiki/Home.html from the package botch-doc.
diff --git a/debian/botch-doc.doc-base b/debian/botch-doc.doc-base
new file mode 100644
index 0000000..b4dd512
--- /dev/null
+++ b/debian/botch-doc.doc-base
@@ -0,0 +1,8 @@
+Document: botch
+Title: Documentation for botch
+Author: Johannes Schauer <j.schauer@email.de>
+Section: Debian
+
+Format: HTML
+Index: /usr/share/doc/botch/wiki/home.html
+Files: /usr/share/doc/botch/wiki/*.html
diff --git a/debian/botch-doc.install b/debian/botch-doc.install
new file mode 100644
index 0000000..186f906
--- /dev/null
+++ b/debian/botch-doc.install
@@ -0,0 +1 @@
+usr/share/doc/botch
diff --git a/debian/botch.install b/debian/botch.install
new file mode 100644
index 0000000..9120130
--- /dev/null
+++ b/debian/botch.install
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/botch
diff --git a/debian/botch.manpages b/debian/botch.manpages
new file mode 100644
index 0000000..a70e6f3
--- /dev/null
+++ b/debian/botch.manpages
@@ -0,0 +1 @@
+doc/man/*.1
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..6044d25
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,437 @@
+botch (0.22-2) unstable; urgency=medium
+
+ * Add patch as workaround for bug #946980. On 32bit architectures, botch
+ will now not attempt using parmap for parallelization (closes: #946817)
+ * Fixup last changelog entry that forgot a closes: #944473
+
+ -- Johannes 'josch' Schauer <josch@debian.org> Thu, 02 Jan 2020 15:02:44 +0100
+
+botch (0.22-1) unstable; urgency=medium
+
+ * New upstream release
+ * drop debian/patches -> all have been applied upstream
+ * drop B-D on libcdt5 because tests are not testing graphviz version anymore
+ (closes: #944473)
+ * replace deprecated $ADTTMP with $AUTOPKGTEST_TMP
+ * bump Standards-Version to 4.4.1 (no changes)
+ * add Rules-Requires-Root: no
+ * bump debhelper version to 12
+ * use debhelper-compat B-D instead of debian/compat
+ * add B-D: black <!nocheck>
+
+ -- Johannes 'josch' Schauer <josch@debian.org> Sun, 15 Dec 2019 05:28:44 +0100
+
+botch (0.21-8) unstable; urgency=medium
+
+ * add patch accounts for new argparse version in python 3.7 (closes: #912935)
+
+ -- Johannes 'josch' Schauer <josch@debian.org> Thu, 22 Nov 2018 15:47:58 +0100
+
+botch (0.21-7) unstable; urgency=medium
+
+ * also ignore pycodestyle W504 (closes: #912060)
+
+ -- Johannes 'josch' Schauer <josch@debian.org> Wed, 21 Nov 2018 08:57:07 +0100
+
+botch (0.21-6) unstable; urgency=medium
+
+ * debian/control: add Build-Depends on dh-python (closes: #896797)
+ * Define undefined parameters in shell scripts (closes: #903564)
+ * Migrate to networkx 2.0
+ * update for graphviz 2.40.1 (closes: #890029)
+ * Fix for changed version provides handling of dose3 5.0.1-9
+ * tools/graph-difference.py: allow comparison of arbitrary input graphs
+ * Rename ma_interpreter.pkggraph to ma_interpreter.xml so that it is checked
+ using botch-graph-difference instead of diff
+ * debian/control: fix my name
+ * bump dh compat level to 11
+ * debian/copyright: secure source format uri
+
+ -- Johannes 'josch' Schauer <josch@debian.org> Sun, 22 Jul 2018 19:07:41 +0200
+
+botch (0.21-5) unstable; urgency=medium
+
+ * add patch fixing test output for changed dictionary ordering from Python
+ 3.5 to 3.6. Also bump build dependency on Python (closes: #869586)
+ * remove empty recommends and suggests fields from botch-doc
+ * use https URI in debian/watch
+ * bump Standards-Version to 4.1.1 (no changes)
+
+ -- Johannes Schauer <josch@debian.org> Wed, 01 Nov 2017 11:13:50 +0100
+
+botch (0.21-4) unstable; urgency=medium
+
+ * Add patch to fix FTBFS due to new pycodestyle and error E722 (closes:
+ #867005)
+ * Replace jquery-tablesorter/themes/blue/style.css with
+ jquery-tablesorter/css/theme.blue.css after upstream switch (closes:
+ #867607)
+ * Build-Depends on ocamlbuild to ease a future transition to ocaml 4.05.0
+ (closes: #869852)
+ * bump Standards-Version to 4.0.0 (no changes required)
+ * make botch-doc Multi-Arch:foreign
+
+ -- Johannes Schauer <josch@debian.org> Wed, 02 Aug 2017 13:13:10 +0200
+
+botch (0.21-3) unstable; urgency=medium
+
+ * Add patch to fix FTBFS due to API breakage introduced by src:dose3 5.0.1-8
+ (closes: #852917)
+
+ -- Johannes Schauer <josch@debian.org> Sat, 28 Jan 2017 23:32:39 +0100
+
+botch (0.21-2) unstable; urgency=medium
+
+ * python3-pygraphviz dropped the file attribute. Thus adapting the code
+ accordingly and bumping dependency to 1.4~rc1
+ * bump Standards-Version to 3.9.8 (no changes required)
+ * Do not build depend on -1-revisions to ease backports
+ * Remove unused lintian overrides
+
+ -- Johannes Schauer <josch@debian.org> Mon, 09 Jan 2017 13:16:33 +0100
+
+botch (0.21-1) unstable; urgency=medium
+
+ * new upstream release
+ - changes testcases for gringo 5.1.0 (closes: #847831)
+ * remove all patches
+ * fail if diff in autopkgtest returns nonzero exit (closes: #847832)
+ * move diff_tmp_out of autopkgtest into its own script
+
+ -- Johannes Schauer <josch@debian.org> Tue, 20 Dec 2016 19:45:42 +0100
+
+botch (0.20-3) unstable; urgency=medium
+
+ * Add two patches from upstream which switch from pep8 to pycodestyle
+ (closes: #844964)
+
+ -- Johannes Schauer <josch@debian.org> Sat, 19 Nov 2016 20:55:30 +0100
+
+botch (0.20-2) unstable; urgency=medium
+
+ * Apply patch from upstream catering for missing 'depends' field in dose3
+ yaml output
+
+ -- Johannes Schauer <josch@debian.org> Tue, 01 Nov 2016 08:05:41 +0100
+
+botch (0.20-1) unstable; urgency=medium
+
+ * new upstream release
+
+ -- Johannes Schauer <josch@debian.org> Mon, 31 Oct 2016 12:28:52 +0100
+
+botch (0.19-3) unstable; urgency=medium
+
+ * Update autopkgtest test suite to 0.19 release
+
+ -- Johannes Schauer <josch@debian.org> Tue, 25 Oct 2016 22:34:25 +0200
+
+botch (0.19-2) unstable; urgency=medium
+
+ * Run ocamlbuild with -lflags -runtime-variant,_pic to work around Debian
+ bug #837359
+
+ -- Johannes Schauer <josch@debian.org> Thu, 20 Oct 2016 07:17:42 +0200
+
+botch (0.19-1) unstable; urgency=medium
+
+ * new upstream release
+ * drop patches as they were integrated upstream
+ * add a Suggests:botch-doc to botch (closes: #839924)
+ * make the botch package description less verbose (closes: #839926)
+ * fix VCS-Git field to point to the botch git (closes: #839901)
+ * add a README.Debian
+ * update lintian overrides (remove hardening-no-relro and add
+ hardening-no-bindnow and hardening-no-pie)
+
+ -- Johannes Schauer <josch@debian.org> Wed, 19 Oct 2016 23:22:38 +0200
+
+botch (0.18-5) unstable; urgency=medium
+
+ * dummy upload to test source-only uploads without an empty Binary field in
+ the .changes file
+
+ -- Johannes Schauer <josch@debian.org> Thu, 22 Sep 2016 12:44:15 +0200
+
+botch (0.18-4) unstable; urgency=medium
+
+ * backport patch to output progress for botch-clean-repository via
+ 0001-clean-repository.ml-add-progress-option.patch
+
+ -- Johannes Schauer <josch@debian.org> Thu, 22 Sep 2016 12:37:57 +0200
+
+botch (0.18-3) unstable; urgency=medium
+
+ * backport patch which applies _tag rules to *.byte instead of just applying
+ them to *.d.byte via
+ 0002-_tags-don-t-apply-rule-to-.d.byte-only-but-to-.byte.patch
+ * build-depend on libatdgen-ocaml-dev (>= 1.9.1-2) to make sure to depend on
+ a version of atdgen with bug #837804 fixed (provides /usr/bin/atdgen on
+ all architectures)
+
+ -- Johannes Schauer <josch@debian.org> Fri, 16 Sep 2016 09:58:08 +0200
+
+botch (0.18-2) unstable; urgency=medium
+
+ * backport patch that retries parmap with smaller chunk sizes to cater for
+ 32 bit architectures with very limited memory constraints
+ 0001-buildGraph.ml-retry-with-smaller-chunk-sizes-if-parm.patch
+
+ -- Johannes Schauer <josch@debian.org> Fri, 16 Sep 2016 07:06:02 +0200
+
+botch (0.18-1) unstable; urgency=medium
+
+ * new upstream release
+ - restores compatibility with dose3 (closes: #827977)
+ * add dependency on dpkg-dev (closes: #832028)
+ * remove all patches
+ * replace build-depends on pyflakes by pyflakes3
+ * replace dependcy on python3-pydot by python3-pygraphviz
+ * update autopkgtests
+ * add dependency on libyojson-ocaml-dev for the ydump program
+ * bump minimum dose3 version to 5.0.1-1
+
+ -- Johannes Schauer <josch@debian.org> Mon, 12 Sep 2016 09:35:46 +0200
+
+botch (0.17-3) unstable; urgency=medium
+
+ * Allows one to only build architecture dependent or architecture
+ independent packages (Closes: #804296)
+ - build dependencies are selected through Build-Depends-Arch and
+ Build-Depends-Indep
+ - this only fixes #804296 because it will not build the failing
+ wiki target anymore during architecture dependent builds on mips or
+ mipsel. The real fix still has to be done in #804297. The problem is
+ hidden because Architecture:all packages are not built on mips or
+ mipsel.
+ * support for DEB_BUILD_PROFILES nodoc and nocheck
+ * support for DEB_BUILD_OPTIONS nodoc and nocheck
+
+ -- Johannes Schauer <josch@debian.org> Sun, 08 Nov 2015 14:04:18 +0100
+
+botch (0.17-2) unstable; urgency=medium
+
+ * backport two patches from upstream git to support running the misc unit
+ test target on non-native architectures:
+ - 797639f Makefile: do not add debug information by default on
+ non-native architectures, move that to a new debug target
+ - bc22129 tools/*.sh: check all possible ocaml extensions to find an
+ executable
+
+ -- Johannes Schauer <josch@debian.org> Fri, 06 Nov 2015 14:40:46 +0100
+
+botch (0.17-1) unstable; urgency=medium
+
+ * new upstream release
+ * The upload of clasp 3.1.3-1 broke aspcud in some cases (see #800526 and
+ #801169) and introduced a spurious failure of the test suite that was
+ worked around with the upload of upstream version 0.16. Now that the
+ problem is known and clasp was fixed with 3.1.3-2, this upstream release
+ reverts that change (closes: #802265).
+ * remove debian/patches/print-stats.ml-do-not-use-yojson.safe.pr because
+ that commit is part of this upstream release
+ * refresh debian/patches/send-keepalive
+ * add debian/tests/misc
+ * add build dependency on python3-pydot for the test suite
+ * add build dependency on gsfonts because graphviz wants a font called
+ "Times-Roman" and otherwise falls back to "DejaVu Serif" instead of using
+ "Nimbus Roman No9 L" with gsfonts installed. This could've also been
+ fixed by changing the testcase png be rendered using "DejaVu Serif"
+ * add build dependency on libgraph-easy-perl for the graph-easy tool which
+ is needed by y-u-b-d-transitive-essential in the test suite
+ * break long lines in debian/control for extended description
+ * add additional Depends for debian/tests/control for the misc test
+
+ -- Johannes Schauer <josch@debian.org> Tue, 03 Nov 2015 19:40:27 +0100
+
+botch (0.16-2) unstable; urgency=medium
+
+ * fix build problem on 32bit architectures
+
+ -- Johannes Schauer <josch@debian.org> Sun, 27 Sep 2015 13:20:46 +0200
+
+botch (0.16-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Johannes Schauer <josch@debian.org> Sat, 26 Sep 2015 19:28:51 +0200
+
+botch (0.15-4) unstable; urgency=medium
+
+ * and another one...
+
+ -- Johannes Schauer <josch@debian.org> Sat, 26 Sep 2015 16:10:02 +0200
+
+botch (0.15-3) unstable; urgency=medium
+
+ * another dgit test upload
+
+ -- Johannes Schauer <josch@debian.org> Sat, 26 Sep 2015 16:02:40 +0200
+
+botch (0.15-2) unstable; urgency=medium
+
+ * dgit test upload
+
+ -- Johannes Schauer <josch@debian.org> Sat, 26 Sep 2015 14:08:42 +0200
+
+botch (0.15-1) unstable; urgency=medium
+
+ * New upstream release (Closes: #797453)
+ * bump dependency on dose tools >= 4.0.1-2
+ * remove dependency on jq because it's not needed anymore due to new dose
+ tools
+ * update botch package description
+ * update Vcs-* fields to use dgit
+
+ -- Johannes Schauer <josch@debian.org> Sat, 26 Sep 2015 08:48:32 +0200
+
+botch (0.14-1) unstable; urgency=medium
+
+ * New upstream release
+ * refresh patch send-keepalive
+ * botch binary: add dependency on python3-pydot, zutils and suggest
+ libgraph-easy-perl, jq
+ * update debian/tests/* with --drop-b-d-indep argument and correct locale
+ environment variable export
+ * make debian/tests/* more readable by splitting long lines
+ * update debian/tests/* with workaround for random segmentation faults
+ see http://bugs.python.org/issue24605
+
+ -- Johannes Schauer <josch@debian.org> Wed, 29 Jul 2015 10:10:38 +0200
+
+botch (0.13-1) unstable; urgency=medium
+
+ * New upstream release (closes: #784835)
+ * Remove the XS-Testsuite field from d/control to fix lintian warning
+ xs-testsuite-header-in-debian-control
+
+ -- Johannes Schauer <josch@debian.org> Sun, 07 Jun 2015 12:17:15 +0200
+
+botch (0.12-1) unstable; urgency=medium
+
+ * New upstream release (closes: #764704)
+
+ -- Johannes Schauer <josch@debian.org> Wed, 03 Jun 2015 20:58:37 +0200
+
+botch (0.11-2) unstable; urgency=medium
+
+ * fix last d/changelog entry to say unstable instead of UNRELEASED
+ uploads like this should be rejected in the first place. See #647028
+
+ -- Johannes Schauer <josch@debian.org> Thu, 07 May 2015 08:10:33 +0200
+
+botch (0.11-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Johannes Schauer <josch@debian.org> Wed, 06 May 2015 07:52:20 +0200
+
+botch (0.10-1~experimental1) experimental; urgency=medium
+
+ * New upstream release
+ * bump dependency on libdose to 3.3-2 because of its backported fixes for
+ fd-leakage and storing the original Debian package name as a cudf_extras
+ field
+
+ -- Johannes Schauer <josch@debian.org> Fri, 27 Mar 2015 12:07:59 +0100
+
+botch (0.9-1~experimental1) experimental; urgency=medium
+
+ * New upstream release
+ * add build dependency on libparmap-ocaml-dev
+
+ -- Johannes Schauer <josch@debian.org> Mon, 23 Mar 2015 21:34:37 +0100
+
+botch (0.8-1~experimental1) experimental; urgency=medium
+
+ * New upstream release
+
+ -- Johannes Schauer <josch@debian.org> Fri, 20 Mar 2015 17:08:34 +0100
+
+botch (0.7-1~experimental1) experimental; urgency=medium
+
+ * New upstream release
+ * replace gitorious upstream url with gitlab.mister-muffin.de
+
+ -- Johannes Schauer <josch@debian.org> Fri, 20 Mar 2015 08:17:29 +0100
+
+botch (0.6-1~experimental3) experimental; urgency=medium
+
+ * add patch send-keepalive to not abort build on arches without ocamlopt
+
+ -- Johannes Schauer <josch@debian.org> Sun, 15 Feb 2015 09:55:37 +0100
+
+botch (0.6-1~experimental2) experimental; urgency=medium
+
+ * do not explicitly set `dh_gencontrol -- -Vocaml:Depends` already done by
+ dh-ocaml
+ * do not run test suite without ocamlopt as that will make the build get
+ killed by a timeout (closes: #778449)
+ * add dh --with ocaml
+ * include /usr/share/ocaml/ocamlvars.mk for OCAML_HAVE_OCAMLOPT
+ * Build-Depend on dh-ocaml
+ * add lintian overrides for hardening and strip errors
+
+ -- Johannes Schauer <josch@debian.org> Sun, 15 Feb 2015 08:04:35 +0100
+
+botch (0.6-1~experimental1) experimental; urgency=medium
+
+ * New upstream release (closes: #778373)
+
+ -- Johannes Schauer <josch@debian.org> Sat, 14 Feb 2015 10:56:50 +0100
+
+botch (0.5-1~experimental3) experimental; urgency=medium
+
+ * this upload removes the build-dependency on python3-yaml:native and the
+ dependency on python3-yaml:amd64 to make it compilable/installable again
+
+ -- Johannes Schauer <josch@debian.org> Thu, 12 Feb 2015 10:57:05 +0100
+
+botch (0.5-1~experimental2) experimental; urgency=medium
+
+ * making an upload to experimental
+
+ -- Johannes Schauer <josch@debian.org> Fri, 06 Feb 2015 10:45:02 +0100
+
+botch (0.5-1~experimental1) unstable; urgency=medium
+
+ * New upstream release.
+ - graph comparison is now done using botch-graph-difference
+ (Closes: #764909)
+ - adjusted to build with latest dose 3.3 (Closes: #770613)
+ * bump dependency on dose lib and tools to 3.3
+ * adjust autopkgtests to use botch-graph-difference to compare graphs
+ * bump Standards-Version to 3.9.6
+ * botch now suggests www-browser because some of its output is HTML
+ * change my email in Maintainer field to josch@debian.org
+ * add Vcs-Browser and Vcs-Git fields
+ * change priority from extra to optional because it has no conflicts and is
+ not a debug package
+ * add build dependency on python3-yaml:native and dependency on
+ python3-yaml:amd64 for testing purposes - please revert!
+
+ -- Johannes Schauer <josch@debian.org> Fri, 06 Feb 2015 07:26:47 +0100
+
+botch (0.4-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Johannes Schauer <j.schauer@email.de> Tue, 14 Oct 2014 01:26:25 +0200
+
+botch (0.3-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Johannes Schauer <j.schauer@email.de> Sun, 12 Oct 2014 08:51:01 +0200
+
+botch (0.2-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Johannes Schauer <j.schauer@email.de> Sun, 12 Oct 2014 02:03:02 +0200
+
+botch (0.1-1) unstable; urgency=medium
+
+ * Initial release. (Closes: #748102)
+
+ -- Johannes Schauer <j.schauer@email.de> Wed, 14 May 2014 11:54:59 +0200
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..4d186bd
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,109 @@
+Source: botch
+Section: utils
+Priority: optional
+Maintainer: Johannes 'josch' Schauer <josch@debian.org>
+Homepage: https://gitlab.mister-muffin.de/debian-bootstrap/botch/wikis/home
+Standards-Version: 4.4.1
+Rules-Requires-Root: no
+# these are needed to run debian/rules clean
+Build-Depends:
+ debhelper-compat (= 12),
+ dh-ocaml,
+ dh-python,
+ ocaml-nox,
+ ocamlbuild,
+ python3 (>= 3.6),
+Build-Depends-Arch:
+ cppo,
+ ocaml-findlib,
+ libextlib-ocaml-dev,
+ libocamlgraph-ocaml-dev,
+ libatdgen-ocaml-dev (>= 1.9.1-2),
+ libxmlm-ocaml-dev,
+ libparmap-ocaml-dev,
+ libdose3-ocaml-dev (>= 5.0.1),
+ dose-builddebcheck (>= 5.0.1-10) <!nocheck>,
+ dose-extra (>= 5.0.1) <!nocheck>,
+ dctrl-tools <!nocheck>,
+ aspcud <!nocheck>,
+ python3-apt <!nocheck>,
+ python3-debian <!nocheck>,
+ python3-networkx (>= 2.1) <!nocheck>,
+ python3-yaml <!nocheck>,
+ pycodestyle <!nocheck>,
+ pyflakes3 <!nocheck>,
+ python3-pygraphviz (>= 1.4~rc1) <!nocheck>,
+ gsfonts <!nocheck>,
+ libgraph-easy-perl <!nocheck>,
+ graphviz <!nocheck>,
+ black <!nocheck>,
+Build-Depends-Indep:
+ markdown <!nodoc>,
+ graphviz <!nodoc>,
+Vcs-Browser: https://browse.dgit.debian.org/botch.git/
+Vcs-Git: https://git.dgit.debian.org/botch
+
+Package: botch
+Architecture: any
+Depends:
+ ${ocaml:Depends},
+ ${misc:Depends},
+ ${shlibs:Depends},
+ ${python3:Depends},
+ dose-builddebcheck (>= 5.0.1-1),
+ dose-extra (>= 5.0.1-1),
+ dctrl-tools,
+ aspcud,
+ python3-apt,
+ python3-debian,
+ python3-networkx (>= 2.1-1),
+ python3-yaml,
+ python3-pygraphviz (>= 1.4~rc1),
+ zutils,
+ dpkg-dev,
+ libyojson-ocaml-dev,
+# libjs-jquery-tablesorter and libjs-jquery are needed to look at the generated
+# HTML with javascript bling
+Recommends:
+ libjs-jquery-tablesorter,
+ libjs-jquery
+# devscripts and libsoap-lite-perl are needed for /usr/bin/bts which is in turn
+# needed by botch-dose2html because there is no soap module for python3
+# libgraph-easy-perl is only needed for its /usr/bin/graph-easy program which
+# is used in y-u-no-bootstrap and y-u-b-d-transitive-essential (but optional)
+Suggests:
+ libgraph-easy-perl,
+ devscripts,
+ www-browser,
+ libsoap-lite-perl,
+ botch-doc,
+Description: tools to create and analyse dependency graphs
+ botch is a collection of tools to create and analyze dependency graphs. This
+ task is facilitated by a range of individual tools which use the deb822 and
+ graphml formats to exchange information with each other.
+ .
+ The tools installed by this package provide these features:
+ .
+ - analyze graphs
+ - transform Packages and Sources control files
+ - create graphs of different types
+ - analysis of Packages and Sources control files
+ - handling of botch-internal formats
+ - dose3 wrappers
+ - set operations on Packages or Sources files
+ - create build orders
+ - conversion of graphs
+ - shell scripts connecting the tools for meaningful operations
+ - extract regions from graphs
+
+Package: botch-doc
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}
+Multi-Arch: foreign
+Description: Bootstrapping helper - documentation
+ Botch stands for bootstrap/build ordering tool chain and allows one to create
+ and analyze bootstrapping dependency graphs, creates suggestions how to break
+ dependency cycles and generates a build order.
+ .
+ This package contains the documentation.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..2210cf4
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,60 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: botch
+Upstream-Contact: Johannes Schauer <j.schauer@email.de>
+Source: https://gitlab.mister-muffin.de/debian-bootstrap/botch
+
+Files: *
+Copyright: 2012-2014 Johannes Schauer <j.schauer@email.de>
+ 2012-2014 Pietro Abate <pietro.abate@pps.jussieu.fr>
+License: LGPL-3+ with OCaml-linking exception
+
+Files: debian/*
+Copyright: 2014 Johannes Schauer <j.schauer@email.de>
+License: LGPL-3+ with OCaml-linking exception
+
+Files: tools/wanna-build-sortblockers.py
+Copyright: 2014 Chen Baozi <baozich@gmail.com>
+License: GPL-2
+
+Files: tools/build-order-from-zero.py
+Copyright: 2014 Helmut Grohne <helmut@subdivi.de>
+License: Expat or LGPL-3+ with OCaml-linking exception
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: LGPL-3+ with OCaml-linking exception
+ This library is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version. A special linking
+ exception to the GNU Lesser General Public License applies to this
+ library, see the COPYING file for more information.
+ .
+ On Debian systems, the complete text of the latest GNU Lesser General
+ Public License can be found in `/usr/share/common-licenses/LGPL-3'.
+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 2 as
+ published by the Free Software Foundation.
+ .
+ On Debian systems, the complete text of the latest GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-2'.
diff --git a/debian/patches/parmap_workaround b/debian/patches/parmap_workaround
new file mode 100644
index 0000000..9b016db
--- /dev/null
+++ b/debian/patches/parmap_workaround
@@ -0,0 +1,16 @@
+Author: Johannes 'josch' Schauer <josch@debian.org>
+Description: On 32bit architectures, parmap will create a segmentation
+ https://github.com/rdicosmo/parmap/issues/46
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946980
+
+--- a/buildGraph.ml
++++ b/buildGraph.ml
+@@ -108,7 +108,7 @@ let graph_helper ?(num_cores=1) availabl
+ let srcpkgid = CudfAdd.pkgtoint univ srcpkg in
+ (srcpkgid, partitions)
+ in
+- let instsets = if num_cores > 1 then
++ let instsets = if Sys.word_size = 64 && num_cores > 1 then
+ (* On 32 bit architectures it can happen that the result returned
+ * by parmap is too big to fit into the OCaml constraints for
+ * maximum allocatable memory. Should this problem occur, we
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..20c00bd
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+parmap_workaround
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..320960b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,39 @@
+#!/usr/bin/make -f
+
+# include for OCAMLBUILD_BEST
+include /usr/share/ocaml/ocamlvars.mk
+
+%:
+ dh $@ --with python3,ocaml
+
+# only build the wiki in the indep target if no nodoc
+override_dh_auto_build-indep:
+ifeq ($(filter nodoc,$(DEB_BUILD_OPTIONS))$(filter nodoc,$(DEB_BUILD_PROFILES)),)
+ $(MAKE) wiki
+endif
+
+# build everything else in the arch target
+override_dh_auto_build-arch:
+ $(MAKE) $(OCAMLBUILD_BEST) man
+
+# don't run tests in the indep target
+override_dh_auto_test-indep:
+
+# only run tests in the arch target if no nocheck
+override_dh_auto_test-arch:
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS))$(filter nocheck,$(DEB_BUILD_PROFILES)),)
+ $(MAKE) test
+endif
+
+# only install the wiki in the indep target if no nodoc
+override_dh_auto_install-indep:
+ifeq ($(filter nodoc,$(DEB_BUILD_OPTIONS))$(filter nodoc,$(DEB_BUILD_PROFILES)),)
+ $(MAKE) DESTDIR="$(CURDIR)/debian/tmp" install-wiki
+else
+ # at least create the target directory so that dh_install doesn't barf later
+ mkdir -p "$(CURDIR)/debian/tmp/usr/share/doc/botch"
+endif
+
+# install everything else in the arch target
+override_dh_auto_install-arch:
+ $(MAKE) DESTDIR="$(CURDIR)/debian/tmp" install-bin install-man
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..7860363
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,7 @@
+Tests: default selfcontained cross misc
+Restrictions: allow-stderr
+# libgraph-easy-perl is only a Suggests because it's entirely optional. Thus
+# listing it here.
+# gsfonts is not required either but graphviz will require the font
+# "Nimbus Roman No9 L" to exactly replicate the right dot rendering.
+Depends: @, libgraph-easy-perl, gsfonts
diff --git a/debian/tests/cross b/debian/tests/cross
new file mode 100644
index 0000000..5ac3d42
--- /dev/null
+++ b/debian/tests/cross
@@ -0,0 +1,21 @@
+#!/bin/sh
+set -exu
+
+# we have to export PYTHONHASHSEED because otherwise networkx will create
+# content with random output order
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749710
+# https://github.com/networkx/networkx/issues/1181
+export PYTHONHASHSEED=0
+# to make the sort order in the tests locale independent
+export LC_COLLATE=C.UTF-8
+export LC_ALL=C.UTF-8
+# because dose2html outputs utf8 on standard output
+export PYTHONIOENCODING=utf-8
+
+rm -rf $AUTOPKGTEST_TMP/out $AUTOPKGTEST_TMP/tmp
+mkdir -p $AUTOPKGTEST_TMP/out
+cp tests/cross-ma.diff $AUTOPKGTEST_TMP/out/ma.diff
+
+botch-cross --debug --verbose --output=$AUTOPKGTEST_TMP/out --tmp=$AUTOPKGTEST_TMP/tmp --deb-drop-b-d-indep --optgraph --jobs=2 amd64 armhf tests/sid-amd64-packages-20160830T000000Z tests/sid-sources-20160830T000000Z
+
+debian/tests/diff_tmp_out cross
diff --git a/debian/tests/default b/debian/tests/default
new file mode 100644
index 0000000..b2f4e6a
--- /dev/null
+++ b/debian/tests/default
@@ -0,0 +1,18 @@
+#!/bin/sh
+set -exu
+
+# we have to export PYTHONHASHSEED because otherwise networkx will create
+# content with random output order
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749710
+# https://github.com/networkx/networkx/issues/1181
+export PYTHONHASHSEED=0
+# to make the sort order in the tests locale independent
+export LC_COLLATE=C.UTF-8
+export LC_ALL=C.UTF-8
+# because botch-dose2html outputs utf8 on standard output
+export PYTHONIOENCODING=utf-8
+
+rm -rf $AUTOPKGTEST_TMP/out $AUTOPKGTEST_TMP/tmp
+botch-native --debug --verbose --output $AUTOPKGTEST_TMP/out --tmp $AUTOPKGTEST_TMP/tmp --jobs=2 --deb-drop-b-d-indep amd64 tests/sid-amd64-packages-20160830T000000Z tests/sid-sources-20160830T000000Z
+
+debian/tests/diff_tmp_out default
diff --git a/debian/tests/diff_tmp_out b/debian/tests/diff_tmp_out
new file mode 100755
index 0000000..167bea4
--- /dev/null
+++ b/debian/tests/diff_tmp_out
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -exu
+
+testname="$1"
+# the "while : ; do" loop around graph-difference is a temporary fix to work
+# around random segmentation faults. See http://bugs.python.org/issue24605
+for t in tmp out; do
+ for f in tests/$testname/$t/* $AUTOPKGTEST_TMP/$t/*; do basename "$f"; done | sort | uniq | while read f; do
+ echo checking $f;
+ case "$f" in
+ *.xml|*.dot)
+ echo "+ botch-graph-difference \"tests/$testname/$t/$f\" \"$AUTOPKGTEST_TMP/$t/$f\"";
+ while : ; do botch-graph-difference "tests/$testname/$t/$f" "$AUTOPKGTEST_TMP/$t/$f"; exit=$?; if [ $exit -eq 139 ]; then echo segfault; continue; fi; if [ $exit -ne 0 ]; then exit 1; else break; fi; done;;
+ *)
+ echo "+ diff -u \"tests/$testname/$t/$f\" \"$AUTOPKGTEST_TMP/$t/$f\"";
+ cmp --silent "tests/$testname/$t/$f" "$AUTOPKGTEST_TMP/$t/$f" || { diff -u "tests/$testname/$t/$f" "$AUTOPKGTEST_TMP/$t/$f" | head --lines 100 && exit 1; };;
+ esac;
+ done
+done
diff --git a/debian/tests/misc b/debian/tests/misc
new file mode 100644
index 0000000..0c985ab
--- /dev/null
+++ b/debian/tests/misc
@@ -0,0 +1,68 @@
+#!/bin/sh
+set -exu
+
+# we have to export PYTHONHASHSEED because otherwise networkx will create
+# content with random output order
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749710
+# https://github.com/networkx/networkx/issues/1181
+export PYTHONHASHSEED=0
+# to make the sort order in the tests locale independent
+export LC_COLLATE=C.UTF-8
+export LC_ALL=C.UTF-8
+# because dose2html outputs utf8 on standard output
+export PYTHONIOENCODING=utf-8
+
+rm -rf $AUTOPKGTEST_TMP/out $AUTOPKGTEST_TMP/tmp
+mkdir -p $AUTOPKGTEST_TMP/out
+mkdir -p $AUTOPKGTEST_TMP/tmp
+
+packages=tests/sid-amd64-packages-20160830T000000Z
+sources=tests/sid-sources-20160830T000000Z
+
+grep-dctrl --exact-match --field Package build-essential $packages \
+ | botch-latest-version - - > $AUTOPKGTEST_TMP/tmp/build-essential
+botch-bin2src --deb-native-arch=amd64 $AUTOPKGTEST_TMP/tmp/build-essential $sources \
+ > $AUTOPKGTEST_TMP/tmp/build-essential-src
+botch-create-graph --deb-native-arch=amd64 --bg $sources $packages $AUTOPKGTEST_TMP/tmp/build-essential-src \
+ > $AUTOPKGTEST_TMP/tmp/selfcontained_repo.xml
+botch-buildgraph2packages $AUTOPKGTEST_TMP/tmp/selfcontained_repo.xml $packages \
+ > $AUTOPKGTEST_TMP/tmp/packages
+botch-bin2src --deb-native-arch=amd64 $AUTOPKGTEST_TMP/tmp/packages $sources \
+ > $AUTOPKGTEST_TMP/tmp/sources
+# test botch-calcportsmetric
+botch-create-graph --deb-drop-b-d-indep --deb-native-arch=amd64 $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/sources --strongtype > $AUTOPKGTEST_TMP/tmp/strongbuildgraph.xml
+botch-buildgraph2srcgraph $AUTOPKGTEST_TMP/tmp/strongbuildgraph.xml --deb-drop-b-d-indep --deb-native-arch=amd64 $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/sources > $AUTOPKGTEST_TMP/tmp/strongsrcgraph.xml
+botch-create-graph --deb-drop-b-d-indep --deb-native-arch=amd64 $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/sources --closuretype > $AUTOPKGTEST_TMP/tmp/closurebuildgraph.xml
+botch-buildgraph2srcgraph $AUTOPKGTEST_TMP/tmp/closurebuildgraph.xml --deb-drop-b-d-indep --deb-native-arch=amd64 $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/sources > $AUTOPKGTEST_TMP/tmp/closuresrcgraph.xml
+botch-calcportsmetric $AUTOPKGTEST_TMP/tmp/strongsrcgraph.xml $AUTOPKGTEST_TMP/tmp/closuresrcgraph.xml > $AUTOPKGTEST_TMP/out/importance_metric.txt
+# test botch-multiarch-interpreter-problem
+dose-ceve --deb-drop-b-d-indep --deb-native-arch=amd64 -G pkg -T grml deb://$AUTOPKGTEST_TMP/tmp/packages debsrc://$AUTOPKGTEST_TMP/tmp/sources > $AUTOPKGTEST_TMP/tmp/ma_interpreter.xml
+botch-multiarch-interpreter-problem --packages $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/ma_interpreter.xml > $AUTOPKGTEST_TMP/out/ma_interpreter.txt
+# test y-u-b-d-transitive-essential
+botch-y-u-b-d-transitive-essential --debug --verbose --tmp $AUTOPKGTEST_TMP/tmp --output=$AUTOPKGTEST_TMP/out amd64 $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/sources acl
+# test botch-buildcheck-more-problems
+botch-buildcheck-more-problems --verbose --progress --checkonly=plasma-desktop,haskell-hledger-ui --deb-native-arch=amd64 --explain --failures $packages $sources > $AUTOPKGTEST_TMP/out/buildcheck.yaml || [ $? -eq 1 ]
+# test botch-buildcheck-more-problems cross because we want to be able
+# to check yaml output that contains a depchain with an implicit
+# dependency on a package that is Essential:yes (and thus there is no
+# "depends" field)
+botch-convert-arch amd64 armhf $AUTOPKGTEST_TMP/tmp/packages - | grep-dctrl -X \( --not -FArchitecture all --and --not -FMulti-Arch foreign \) > $AUTOPKGTEST_TMP/tmp/packages_armhf_noall_nomaforeign
+botch-buildcheck-more-problems --verbose --progress --checkonly=apache2,ant --deb-native-arch=amd64 --deb-host-arch=armhf --explain --failures $AUTOPKGTEST_TMP/tmp/packages_armhf_noall_nomaforeign tests/crossbuild-essential-armhf $AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/tmp/sources > $AUTOPKGTEST_TMP/out/buildcheck_cross.yaml || [ $? -eq 1 ]
+# test botch-distcheck-more-problems
+botch-distcheck-more-problems --verbose --progress --checkonly=task-kde-desktop:amd64,libghc-hledger-dev:amd64 --deb-native-arch=amd64 --explain --failures deb://$packages > $AUTOPKGTEST_TMP/out/distcheck.yaml || [ $? -eq 1 ]
+# test dose2html
+botch-dose2html --srcsdir=$AUTOPKGTEST_TMP/out --wwwroot=$AUTOPKGTEST_TMP/out/ --packages=$packages $AUTOPKGTEST_TMP/out/distcheck.yaml $AUTOPKGTEST_TMP/out/distcheck.html
+botch-dose2html --srcsdir=$AUTOPKGTEST_TMP/out --wwwroot=$AUTOPKGTEST_TMP/out/ --packages=$packages $AUTOPKGTEST_TMP/out/buildcheck.yaml $AUTOPKGTEST_TMP/out/buildcheck.html
+botch-dose2html --srcsdir=$AUTOPKGTEST_TMP/out --wwwroot=$AUTOPKGTEST_TMP/out/ --packages=$AUTOPKGTEST_TMP/tmp/packages_armhf_noall_nomaforeign --packages=tests/crossbuild-essential-armhf --packages=$AUTOPKGTEST_TMP/tmp/packages $AUTOPKGTEST_TMP/out/buildcheck_cross.yaml $AUTOPKGTEST_TMP/out/buildcheck_cross.html
+# test networkx dot read/writ
+dose-ceve --deb-drop-b-d-indep -c "src:acl" --deb-native-arch=amd64 -G pkg -T dot deb://$AUTOPKGTEST_TMP/tmp/packages debsrc://$AUTOPKGTEST_TMP/tmp/sources > $AUTOPKGTEST_TMP/tmp/aclbd.dot
+botch-graph-shortest-path $AUTOPKGTEST_TMP/tmp/aclbd.dot --all --source __ID__:"src:acl (= 2.2.52-3)" --target __ID__:"multiarch-support:amd64 (= 2.23-5)" > $AUTOPKGTEST_TMP/out/acl-ma-path.dot
+botch-graph-ancestors --target __ID__:"perl:amd64 (= 5.22.2-3)" $AUTOPKGTEST_TMP/tmp/aclbd.dot > $AUTOPKGTEST_TMP/out/acl_pred.dot
+botch-graph-descendants --source __ID__:"perl:amd64 (= 5.22.2-3)" $AUTOPKGTEST_TMP/tmp/aclbd.dot > $AUTOPKGTEST_TMP/out/acl_succ.dot
+botch-graph-neighborhood --depth=2 --center __ID__:"perl:amd64 (= 5.22.2-3)" $AUTOPKGTEST_TMP/tmp/aclbd.dot > $AUTOPKGTEST_TMP/out/acl_neighbors.dot
+# test y-u-no-bootstrap
+# Remove yui-compressor to make src:doxygen bd-uninstallable
+grep-dctrl --not --field Package yui-compressor $AUTOPKGTEST_TMP/tmp/packages > $AUTOPKGTEST_TMP/tmp/packages_noyui
+botch-y-u-no-bootstrap --debug --verbose --tmp $AUTOPKGTEST_TMP/tmp --output $AUTOPKGTEST_TMP/out amd64 $AUTOPKGTEST_TMP/tmp/packages_noyui $AUTOPKGTEST_TMP/tmp/sources
+
+debian/tests/diff_tmp_out misc
diff --git a/debian/tests/selfcontained b/debian/tests/selfcontained
new file mode 100644
index 0000000..0bb9632
--- /dev/null
+++ b/debian/tests/selfcontained
@@ -0,0 +1,18 @@
+#!/bin/sh
+set -exu
+
+# we have to export PYTHONHASHSEED because otherwise networkx will create
+# content with random output order
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749710
+# https://github.com/networkx/networkx/issues/1181
+export PYTHONHASHSEED=0
+# to make the sort order in the tests locale independent
+export LC_COLLATE=C.UTF-8
+export LC_ALL=C.UTF-8
+# because botch-dose2html outputs utf8 on standard output
+export PYTHONIOENCODING=utf-8
+
+rm -rf $AUTOPKGTEST_TMP/out $AUTOPKGTEST_TMP/tmp
+botch-native --debug --verbose --output $AUTOPKGTEST_TMP/out --tmp $AUTOPKGTEST_TMP/tmp --deb-drop-b-d-indep --optgraph --latest --clean --self-contained --optuniv --sapsb --strong --no-drop amd64 tests/sid-amd64-packages-20160830T000000Z tests/sid-sources-20160830T000000Z
+
+debian/tests/diff_tmp_out selfcontained
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..431f5f2
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,182 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+=zdil
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..5ab968d
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts=pgpsigurlmangle=s/$/.asc/ \
+https://mister-muffin.de/botch/ \./botch-([\d\.]+)\.tar\.xz