summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Pentchev <roam@debian.org>2023-02-08 17:05:11 +0200
committerPeter Pentchev <roam@debian.org>2023-02-08 17:05:11 +0200
commit8c30de89694a556b1cb529447c3a743eec852d02 (patch)
tree1c2152283ddb5516fa6fd9b7d2023f7519438400
parent6ca0d0d63be0e08f2ae0cecd36b18a3a1f1ab8e0 (diff)
Initial Debian packaging for python-test-stages
-rw-r--r--debian/.editorconfig24
-rw-r--r--debian/changelog5
-rw-r--r--debian/control80
-rw-r--r--debian/copyright35
-rw-r--r--debian/python3-test-stages.lintian-overrides6
-rwxr-xr-xdebian/rules13
-rw-r--r--debian/source/format1
-rw-r--r--debian/tests/control3
-rw-r--r--debian/tox-stages.lintian-overrides3
-rw-r--r--debian/upstream/metadata4
-rw-r--r--debian/upstream/signing-key.asc51
-rw-r--r--debian/watch3
12 files changed, 228 insertions, 0 deletions
diff --git a/debian/.editorconfig b/debian/.editorconfig
new file mode 100644
index 0000000..daf9e6d
--- /dev/null
+++ b/debian/.editorconfig
@@ -0,0 +1,24 @@
+# https://editorconfig.org/
+
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+charset = utf-8
+
+[*.py]
+indent_style = space
+indent_size = 4
+
+[changelog]
+indent_style = space
+indent_size = 2
+
+[{control,copyright,metadata,watch}]
+indent_style = space
+indent_size = 1
+
+[rules]
+indent_style = tab
+tab_size = 8
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..37d76ff
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+python-test-stages (0.1.1-1) unstable; urgency=medium
+
+ * Initial release. Closes: #1030756
+
+ -- Peter Pentchev <roam@debian.org> Wed, 08 Feb 2023 02:22:24 +0200
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..a5c4de6
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,80 @@
+Source: python-test-stages
+Section: python
+Priority: optional
+Maintainer: Debian Python Team <team+python@tracker.debian.org>
+Uploaders: Peter Pentchev <roam@debian.org>
+Build-Depends:
+ debhelper-compat (= 13),
+ dh-sequence-python3,
+ pybuild-plugin-pyproject,
+ python3-all,
+ python3-click (>> 8),
+ python3-packaging,
+ python3-parse-stages,
+ python3-pyparsing (>> 3),
+ python3-setuptools (>> 61),
+ python3-utf8-locale,
+Standards-Version: 4.6.2
+Homepage: https://gitlab.com/ppentchev/test-stages
+Rules-Requires-Root: no
+Vcs-Git: https://salsa.debian.org/python-team/packages/test-stages.git
+Vcs-Browser: https://salsa.debian.org/python-team/packages/test-stages
+
+Package: python3-test-stages
+Architecture: all
+Depends:
+ ${misc:Depends},
+ ${python3:Depends},
+ python3-click (>> 8),
+ python3-packaging,
+ python3-parse-stages,
+ python3-pyparsing (>> 3),
+ python3-utf8-locale,
+Description: Run tests in groups, stopping on errors - Python library
+ The `test-stages` library provides command-line tools that wrap
+ Python test environment runners such as Tox or Nox,
+ invoking them so as the various tests are run in parallel, in groups,
+ as specified on the command line. This allows the fastest tests to be run
+ first, and the slower ones to only be started if it makes sense (e.g. if
+ tools like ruff or flake8 did not uncover any trivial syntax errors).
+ .
+ The `tox-stages` tool runs Tox with the specified groups of test
+ environments, stopping if any of the tests in a group should fail.
+ This allows quick static check tools like e.g. `ruff` to stop
+ the testing process early, and also allows scenarios like running
+ all the static check tools before the package's unit or functional
+ tests to avoid unnecessary failures on simple errors.
+ .
+ The syntax for grouping the test environments to be run is described in
+ the `parse-stages` library's documentation.
+ .
+ This package provides the Python 3.x test_stages module.
+ the tox-stages command-line executable.
+
+Package: tox-stages
+Section: devel
+Architecture: all
+Depends:
+ ${misc:Depends},
+ ${python3:Depends},
+ python3-test-stages (= ${binary:Version}),
+ tox,
+Description: Run Tox tests in groups, stopping on errors
+ The `test-stages` library provides command-line tools that wrap
+ Python test environment runners such as Tox or Nox,
+ invoking them so as the various tests are run in parallel, in groups,
+ as specified on the command line. This allows the fastest tests to be run
+ first, and the slower ones to only be started if it makes sense (e.g. if
+ tools like ruff or flake8 did not uncover any trivial syntax errors).
+ .
+ The `tox-stages` tool runs Tox with the specified groups of test
+ environments, stopping if any of the tests in a group should fail.
+ This allows quick static check tools like e.g. `ruff` to stop
+ the testing process early, and also allows scenarios like running
+ all the static check tools before the package's unit or functional
+ tests to avoid unnecessary failures on simple errors.
+ .
+ The syntax for grouping the test environments to be run is described in
+ the `parse-stages` library's documentation.
+ .
+ This package provides the tox-stages command-line executable.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..3c6d86c
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,35 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: test-stages
+Upstream-Contact: Peter Pentchev <roam@ringlet.net>
+Source: https://pypi.org/project/test-stages/#files
+License: BSD-2-clause
+
+Files: *
+Copyright: Copyright (c) Peter Pentchev <roam@ringlet.net>
+License: BSD-2-clause
+
+Files: debian/*
+Copyright: Copyright (c) Peter Pentchev <roam@debian.org>
+License: BSD-2-clause
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
diff --git a/debian/python3-test-stages.lintian-overrides b/debian/python3-test-stages.lintian-overrides
new file mode 100644
index 0000000..6e961b1
--- /dev/null
+++ b/debian/python3-test-stages.lintian-overrides
@@ -0,0 +1,6 @@
+# This package's copyright notices do not specify years at all;
+# see e.g. https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/
+python3-test-stages: copyright-without-copyright-notice
+
+# This package's name contains the word "test"
+python3-test-stages: package-contains-python-tests-in-global-namespace
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..c1f2ae0
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+
+export PYBUILD_NAME=test_stages
+
+D= $(CURDIR)/debian
+
+%:
+ dh '$@' --buildsystem=pybuild
+
+execute_after_dh_auto_install:
+ mkdir -p -- '$D/tox-stages/usr/bin'
+ mv -- '$D/python3-test-stages/usr/bin/tox-stages' '$D/tox-stages/usr/bin/'
+ rmdir -- '$D/python3-test-stages/usr/bin'
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..22921eb
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,3 @@
+Test-Command: python3 -m pytest unit_tests
+Depends: @, python3-pytest
+Features: test-name=upstream-python
diff --git a/debian/tox-stages.lintian-overrides b/debian/tox-stages.lintian-overrides
new file mode 100644
index 0000000..35d0cef
--- /dev/null
+++ b/debian/tox-stages.lintian-overrides
@@ -0,0 +1,3 @@
+# This package's copyright notices do not specify years at all;
+# see e.g. https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/
+tox-stages: copyright-without-copyright-notice
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..0b9adc7
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,4 @@
+Bug-Submit: https://gitlab.com/ppentchev/test-stages/-/issues/new
+Security-Contact: Peter Pentchev <roam@ringlet.net>
+Repository: https://gitlab.com/ppentchev/test-stages.git
+Repository-Browse: https://gitlab.com/ppentchev/test-stages
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..85224fe
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+zlA=
+=bKsR
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..c54106d
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=4
+opts=uversionmangle=s/(rc|a|b|c)/~$1/,pgpsigurlmangle=s/$/.asc/ \
+ https://pypi.debian.net/test-stages/test_stages-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))