Import puma_6.6.0-1.debian.tar.xz
authorLucas Nussbaum <lucas@debian.org>
Wed, 5 Feb 2025 13:56:49 +0000 (14:56 +0100)
committerLucas Nussbaum <lucas@debian.org>
Wed, 5 Feb 2025 13:56:49 +0000 (14:56 +0100)
[dgit import tarball puma 6.6.0-1 puma_6.6.0-1.debian.tar.xz]

30 files changed:
README.source [new file with mode: 0644]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
patches/0004-puma.gemspec-drop-git-usage.patch [new file with mode: 0644]
patches/0010-Disable-test-concurrency-without-concurrent_ruby.patch [new file with mode: 0644]
patches/0011-disable-minitest-extensions.patch [new file with mode: 0644]
patches/0012-disable-cli-ssl-tests.patch [new file with mode: 0644]
patches/0013-fix-test-term-not-accepts-new-connections.patch [new file with mode: 0644]
patches/0014-disable-test-failing-on-amd64.patch [new file with mode: 0644]
patches/0015-disable-different-output-test.patch [new file with mode: 0644]
patches/0016-disable-test-failing-on-arm64.patch [new file with mode: 0644]
patches/0017-disable-test-failing-on-armhf.patch [new file with mode: 0644]
patches/0018-disable-test-failing-with-ruby3.2.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
puma.1 [new file with mode: 0644]
puma.docs [new file with mode: 0644]
puma.examples [new file with mode: 0644]
puma.lintian-overrides [new file with mode: 0644]
puma.manpages [new file with mode: 0644]
pumactl.1 [new file with mode: 0644]
ruby-tests.rake [new file with mode: 0644]
rules [new file with mode: 0755]
salsa-ci.yml [new file with mode: 0644]
source/format [new file with mode: 0644]
source/lintian-overrides [new file with mode: 0644]
upstream/metadata [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/README.source b/README.source
new file mode 100644 (file)
index 0000000..620cda3
--- /dev/null
@@ -0,0 +1,14 @@
+puma (4.3.1-1)
+
+  Several tests have been disabled by default:
+
+  - test/test_puma_server_ssl.rb has been disabled because all tests fail
+    randomly. However these tests have never been performed in puma 3.x and
+    they also work randomly. So until someone can look into them and fix them,
+    we decided to not run them (see also #921931).
+
+  - test_control_for_ssl (test/test_cli.rb) and
+    test_control_ssl (test/test_pumactl.rb) show similar issues and don't seem
+    to imply that the package fails to work. So they have been disabled too.
+
+ -- Daniel Leidert <dleidert@debian.org>  Wed, 05 Feb 2020 23:51:51 +0100
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..6a2589c
--- /dev/null
+++ b/changelog
@@ -0,0 +1,399 @@
+puma (6.6.0-1) unstable; urgency=medium
+
+  * Team upload
+  * New upstream version 6.5.0, with fixes for rack 3. Closes: #1094539
+  * Refresh patches for 6.5.0
+  * Drop patches (were upstream backports, so no longer needed):
+      + 0009-CI-update-chain-certs-example-files-3426.patch
+      + 0010-Update-all-certs.patch
+      + 0011-Fix-path-of-certs-useb-by-test_example_cert_expirati.patch
+      + 0014-Give-a-wide-berth-on-the-timeout-as-sometimes-CI-is-.patch
+      + 0018-update-certs-from-upstream.patch
+  * Refresh packaging using dh-make-ruby
+  * Add build-dep on rackup for Rack::Handler
+  * New upstream version 6.6.0
+  * Refresh patches again, for 6.6.0
+  * Add build-dep on ruby-concurrent
+  * Add patch: 0010-Disable-test-concurrency-without-concurrent_ruby.patch
+  * Drop unmatched lintian override
+
+ -- Lucas Nussbaum <lucas@debian.org>  Wed, 05 Feb 2025 14:56:49 +0100
+
+puma (6.4.3-3) unstable; urgency=medium
+
+  * d/p/0014-Give-a-wide-berth-on-the-timeout-as-sometimes-CI-is-.patch:
+    increase timeout to fix FTBFS with ruby 3.3.
+
+ -- Lucas Kanashiro <kanashiro@debian.org>  Wed, 22 Jan 2025 17:06:59 -0300
+
+puma (6.4.3-2) unstable; urgency=medium
+
+  * Team upload.
+  * d/p/0018-disable-test-failing-with-ruby3.2.patch: fix FTBFS
+
+ -- Lucas Kanashiro <kanashiro@debian.org>  Mon, 23 Dec 2024 19:07:19 -0300
+
+puma (6.4.3-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream version. Fixes CVE-2024-45614 (Closes: #1082379)
+  * Remove custom ssl autopkgtest.
+    - https://lists.debian.org/debian-ruby/2024/11/msg00006.html
+  * Update certificates for tests.
+
+ -- Abhijith PA <abhijith@debian.org>  Mon, 30 Sep 2024 09:46:18 +0530
+
+puma (6.4.2-6) unstable; urgency=medium
+
+  * Fix FTBFS due to certs expiration (Closes: #1078640)
+    - d/p/0010-Update-all-certs.patch
+    - d/p/0011-Fix-path-of-certs-useb-by-test_example_cert_expirati.patch
+  * Declare compliance with Debian Policy 4.7.0.
+
+ -- Lucas Kanashiro <kanashiro@debian.org>  Thu, 19 Sep 2024 17:56:24 -0300
+
+puma (6.4.2-5) unstable; urgency=medium
+
+  * Backport upstream patch to update certificates in examples.
+    This fixes a test failure.
+
+ -- Lucas Kanashiro <kanashiro@debian.org>  Sat, 20 Jul 2024 12:24:05 -0300
+
+puma (6.4.2-4) unstable; urgency=medium
+
+  * Disable test failing on armhf
+
+ -- Pirate Praveen <praveen@debian.org>  Tue, 06 Feb 2024 18:13:41 +0530
+
+puma (6.4.2-3) unstable; urgency=medium
+
+  * Add Breaks: rails (<< 2:6.1.7.3+dfsg-3~)
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 05 Feb 2024 15:12:00 +0530
+
+puma (6.4.2-2) unstable; urgency=medium
+
+  * Disable test failing on arm64 buildd
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 05 Feb 2024 14:11:14 +0530
+
+puma (6.4.2-1) unstable; urgency=medium
+
+  * Switch to github tags from releases (6.4.2 is only available from tags)
+  * New upstream version 6.4.2 (Fixes: CVE-2024-21647)
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 05 Feb 2024 01:08:22 +0530
+
+puma (6.4.0-4) unstable; urgency=medium
+
+  * Remove minitest/retry as well (copy from 5.x branch and fixes salsa ci)
+  * Export LC_ALL also to C.UTF-8 (hoping this would fix some test failures)
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 05 Feb 2024 00:52:13 +0530
+
+puma (6.4.0-3) unstable; urgency=medium
+
+  * Reupload to unstable
+
+ -- Pirate Praveen <praveen@debian.org>  Sun, 04 Feb 2024 01:16:15 +0530
+
+puma (6.4.0-2) experimental; urgency=medium
+
+  * Set TEST_CASE_TIMEOUT = 300 (one test is timing out on amd64 buildd)
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 04 Dec 2023 23:59:02 +0530
+
+puma (6.4.0-1) experimental; urgency=medium
+
+  * New upstream version 6.4.0
+  * Disable more tests and refresh patches
+  * Add procps to build depends for kill command (used in tests)
+
+ -- Pirate Praveen <praveen@debian.org>  Sun, 03 Dec 2023 13:58:23 +0530
+
+puma (6.0.2-1) experimental; urgency=medium
+
+  * Team upload.
+  * New upstream release.
+  * d/control (Standards-Version): Bump to 4.6.2.
+    (Build-Depends): Add ruby-sd-notify.
+  * d/copyright (Copyright): Update years.
+  * d/ruby-tests.rake: Re-enable multiple tests (closes: #984713).
+  * d/upstream/metadata: Adjust a few URLs.
+
+ -- Daniel Leidert <dleidert@debian.org>  Thu, 09 Feb 2023 16:12:20 +0100
+
+puma (5.6.5-2) unstable; urgency=medium
+
+  * debian/ruby-tests.rake: skip test that fails often (Closes: #1006022)
+  * debian/ruby-tests.rake: exclude tests that fail often but not always
+
+ -- Antonio Terceiro <terceiro@debian.org>  Wed, 02 Nov 2022 09:26:37 -0300
+
+puma (5.6.5-1) unstable; urgency=medium
+
+  * Update watch file for github.com pattern change
+  * New upstream version 5.6.5
+  * Refresh patches
+  * Bump Standards-Version to 4.6.1 (no changes needed)
+
+ -- Pirate Praveen <praveen@debian.org>  Sun, 16 Oct 2022 22:44:46 +0530
+
+puma (5.6.4-1) unstable; urgency=medium
+
+  * New upstream version 5.6.4
+  * Refresh patches
+  * Disable some tests that fail with
+     NameError: uninitialized constant Puma::LogWriter
+  * Remove tmp/restart.txt in clean
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 04 Apr 2022 13:24:10 +0530
+
+puma (5.5.2-2) unstable; urgency=medium
+
+  * Team upload
+  * debian/rules: force an UTF-8 locale
+  * debian/ruby-tests.rake: wrap lines
+  * debian/ruby-tests.rake: run all ssl tests on autopkgtest only
+  * debian/test/control: give ssl test a name
+
+ -- Antonio Terceiro <terceiro@debian.org>  Tue, 02 Nov 2021 16:35:12 -0300
+
+puma (5.5.2-1) unstable; urgency=medium
+
+  * Team upload
+  * New upstream version 5.5.2
+    - Builds and tests fine again (Closes: #998295)
+  * Add build-dependency on ruby-localhost
+  * debian/rules: exclude several unnecessary files from installation
+
+ -- Antonio Terceiro <terceiro@debian.org>  Tue, 02 Nov 2021 14:39:10 -0300
+
+puma (5.3.2-3) unstable; urgency=medium
+
+  * Use --gem-install layout option of dh-ruby
+
+ -- Pirate Praveen <praveen@debian.org>  Tue, 12 Oct 2021 02:24:33 +0530
+
+puma (5.3.2-2) unstable; urgency=medium
+
+  * Reupload to unstable
+  * Bump Standards-Version to 4.6.0 (no changes needed)
+  * Bump debhelper compatibility level to 13
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 11 Oct 2021 03:17:23 +0530
+
+puma (5.3.2-1) experimental; urgency=medium
+
+  * New upstream version 5.3.2 (Closes: #989054) (Fixes: CVE-2021-29509)
+  * Refresh patches
+
+ -- Pirate Praveen <praveen@debian.org>  Fri, 28 May 2021 22:34:53 +0530
+
+puma (4.3.8-1) unstable; urgency=medium
+
+  * New upstream version 4.3.8 (Closes: #989054) (Fixes: CVE-2021-29509)
+
+ -- Pirate Praveen <praveen@debian.org>  Wed, 26 May 2021 10:24:19 +0530
+
+puma (5.2.2-2) experimental; urgency=medium
+
+  * Disable test that failied on amd64 buildd
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 08 Mar 2021 23:03:52 +0530
+
+puma (5.2.2-1) experimental; urgency=medium
+
+  * New upstream version 5.2.2
+  * Bump Standards-Version to 4.5.1 (no changes needed)
+  * Refresh patches for new upstream release
+  * Add ruby-minitest-stub-const as build dependency
+  * Disable failing tests
+
+ -- Pirate Praveen <praveen@debian.org>  Sun, 07 Mar 2021 21:03:52 +0530
+
+puma (4.3.6-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream version.
+    - Fixes CVE-2020-11076 and CVE-2020-11077 (closes: #972102).
+  * d/copyright: Minor update.
+  * d/puma.lintian-overrides: Add package override.
+  * d/ruby-tests.rake: Add logic to run SSL test.
+  * d/patches/*.patch: Add missing headers and refresh.
+  * d/source/lintian-overrides: Add source override.
+  * d/tests/control: Set environment variable to run the SSL tests separately
+    (similar to the solution used in the jekyll package).
+  * d/tests/test-puma-server-ssl*: Removed.
+
+ -- Daniel Leidert <dleidert@debian.org>  Thu, 15 Oct 2020 20:57:29 +0200
+
+puma (4.3.3-3) unstable; urgency=medium
+
+  * Include patch from gitlab to improve performance
+
+ -- Pirate Praveen <praveen@debian.org>  Tue, 18 Aug 2020 00:15:20 +0530
+
+puma (4.3.3-2) unstable; urgency=medium
+
+  [ Daniel Leidert ]
+  * debian/tests/test_puma_server_ssl,
+    debian/tests/test_puma_server_ssl.rake: Run test/test_puma_server_ssl.rb
+    in an openssl enviroment not using the Debian defaults.
+  * debian/tests/control: Add new test.
+
+  [ Debian Janitor ]
+  * Set field Upstream-Contact in debian/copyright.
+  * Remove obsolete fields Contact, Name from debian/upstream/metadata
+    (already present in machine-readable debian/copyright).
+
+  [ Pirate Praveen ]
+  * Remove debian-branch option from debian/gbp.conf
+  * Reupload to unstable
+
+ -- Pirate Praveen <praveen@debian.org>  Mon, 03 Aug 2020 15:37:16 +0530
+
+puma (4.3.3-1) experimental; urgency=medium
+
+  * Team upload.
+  * New upstream release.
+    - Fixes CVE-2020-5247 (closes: #952766).
+    - Fixes CVE-2020-5249 (closes: #953122).
+  * d/control (Section): Change to web.
+    (Vcs-Git): Indicate branch name via -b debian/experimental.
+    (Homepage): Use secure URL.
+    (Depends): Use ${ruby:Depends}.
+  * d/copyright (Source): Use secure URL.
+  * d/rules: Add override to install upstream changelog.
+  * d/watch: Use package name for tarball.
+
+ -- Daniel Leidert <dleidert@debian.org>  Thu, 05 Mar 2020 01:34:17 +0100
+
+puma (4.3.1-1) experimental; urgency=medium
+
+  * Team upload.
+  * New upstream release
+    - Fixes CVE-2019-16770 Keepalive thread overload/DoS (closes: #946312).
+  * d/control (Rules-Requires-Root): Set to binary-targets.
+    (Build-Depends, Depends): Add ruby-nio4r.
+    (Build-Depends): Add curl for test/test_integration_single.rb.
+  * d/ruby-tests.rake: Disable test/test_puma_server_ssl.rb.
+  * d/README.source: Add to explain tests which have been disabled.
+  * d/patches/0004-puma.gemspec-drop-git-usage.patch: Refresh patch.
+  * d/patches/0011-disable-minitest-extensions.patch: Add patch.
+    - Disable unavailable minitest extensions (retry and proveit).
+  * d/patches/0012-disable-cli-ssl-tests.patch: Add patch.
+    - Disable CLI SSL tests.
+  * d/patches/0013-fix-test-term-not-accepts-new-connections.patch: Add.
+    - Fix test_term_not_accepts_new_connections to be locale independent.
+  * d/patches/0002-test_integration-disable-test-that-fails-randomly.patch,
+    d/patches/0003-test_cli-disable-test-that-rails-randomly.patch,
+    d/patches/0005-test_puma_server-disable-test-that-fails-randomly.patch,
+    d/patches/0006-test-helper.rb-drop-bundler-usage.patch,
+    d/patches/0007-test-test_cli.rb-disable-test-that-fails-randomly.patch,
+    d/patches/0008-fix-ssl-tests.patch,
+    d/patches/0009-disable-tests-failing-in-single-cpu.patch,
+    d/patches/0010-fix-cluster-exit-for-ruby27.patch: Remove obsolete patches.
+  * d/patches/series: Adjust.
+
+ -- Daniel Leidert <dleidert@debian.org>  Thu, 06 Feb 2020 11:45:11 +0100
+
+puma (3.12.4-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream release.
+    - Fixes CVE-2020-5247 (closes: #952766).
+    - Fixes CVE-2020-5249 (closes: #953122).
+  * d/control (Section): Changed to web.
+    (Homepage): Use secure URL.
+    (Depends): Add ${ruby:Depends}.
+  * d/copyright (Source): Use secure URL.
+  * d/ruby-tests.rake: Disable test/test_puma_server_ssl.rb for the moment.
+    These tests fail due to openssl being configured to use SECLEVEL2
+    (https://github.com/puma/puma/issues/2147).
+  * d/rules: Add override to install upstream changelog.
+  * d/watch: Rename downloaded tarball to include package name.
+  * d/patches/0008-fix-ssl-tests.patch: Remove patch. Applied upstream.
+  * d/patches/CVE-2019-16770.patch: Ditto.
+  * d/patches/*.patch: Refresh patches.
+  * d/patches/series: Adjust.
+
+ -- Daniel Leidert <dleidert@debian.org>  Wed, 04 Mar 2020 23:09:16 +0100
+
+puma (3.12.0-4) unstable; urgency=medium
+
+  * Team upload.
+  * d/control (Rules-Requires-Root): Set to binary-targets.
+  * d/patches/0011-disable-minitest-extensions.patch: Add patch.
+    - Disable unavailable minitest retry extension.
+  * d/patches/CVE-2019-16770.patch: Add patch.
+    - Backport fix for CVE-2019-16770 from upstream (closes: #946312).
+  * d/patches/series: Add patch.
+
+ -- Daniel Leidert <dleidert@debian.org>  Thu, 06 Feb 2020 12:54:59 +0100
+
+puma (3.12.0-3) unstable; urgency=medium
+
+  * Team upload.
+  * d/compat: Remove obsolete file.
+  * d/control: Add Rules-Requires-Root field.
+    (Build-Depends): Use debhelper-compat.
+    (Standards-Version): Bump to 4.5.0.
+    (Depends): Drop ruby-interpreter.
+  * d/copyright (Format): Fix insecure-copyright-format-uri and add myself.
+  * d/puma.1, d/pumactl.1: Add manual pages.
+  * d/puma.manpages: Install manual pages.
+  * d/ruby-tests.rake: Set verbose mode.
+  * d/patches/0010-fix-cluster-exit-for-ruby27.patch: Add patch.
+    - Fix hang with Ruby >= 2.6 when shutting down workers.
+  * d/patches/series: Enable new patch.
+  * d/upstream/metadata: Add metadata.
+  * d/upstream/metadata: Add metadata.
+
+ -- Daniel Leidert <dleidert@debian.org>  Wed, 05 Feb 2020 18:20:58 +0100
+
+puma (3.12.0-2) unstable; urgency=medium
+
+  * Disable tests failing in single cpu (Closes: #921931)
+
+ -- Pirate Praveen <praveen@debian.org>  Sun, 10 Feb 2019 18:56:47 +0530
+
+puma (3.12.0-1) unstable; urgency=medium
+
+  [ Balint Reczey ]
+  * New upstream version 3.12.0
+  * Refresh patches
+
+  [ Pirate Praveen ]
+  * Fix OpenSSL 1.1.1 test failures with upstream patch (Closes: #900156)
+  * Bump Standards-Version to 4.3.0 (no changes needed)
+  * Add myself to uploaders
+
+ -- Pirate Praveen <praveen@debian.org>  Sun, 10 Feb 2019 10:56:59 +0530
+
+puma (3.11.3-1) unstable; urgency=medium
+
+  * Team upload
+  * Remove myself from Uploaders:
+  * New upstream version 3.11.3
+  * Build against libssl-dev instead of libssl1.0-dev (Closes: #859542)
+  * Refresh packaging files with `dh-make-ruby -wo .`
+    * Bump debhelper compat to 11
+    * Change Vcs-* to point to salsa.debian.org
+    * Use standard debian/ruby-tests.rake
+      * drop build-dependency on ruby-hoe
+  * Refresh patches
+  * New patches:
+    - 0006-test-helper.rb-drop-bundler-usage.patch
+    - 0007-test-test_cli.rb-disable-test-that-fails-randomly.patch
+  * Replace 0001-test_puma_server_ssl-update-for-newer-versions-of-Op.patch
+    with 0001-test_puma_server_ssl-disable-test-that-takes-too-lon.patch
+
+
+ -- Antonio Terceiro <terceiro@debian.org>  Wed, 28 Mar 2018 18:53:22 -0300
+
+puma (3.6.0-1) unstable; urgency=medium
+
+  * Initial release (Closes: #720336)
+
+ -- Antonio Terceiro <terceiro@debian.org>  Thu, 10 Nov 2016 16:47:06 -0200
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..4535125
--- /dev/null
+++ b/clean
@@ -0,0 +1 @@
+tmp/restart.txt
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..ff0193a
--- /dev/null
+++ b/control
@@ -0,0 +1,37 @@
+Source: puma
+Section: web
+Priority: optional
+Maintainer: Debian Ruby Team <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
+Uploaders: Pirate Praveen <praveen@debian.org>,
+           Lucas Kanashiro <kanashiro@debian.org>
+Build-Depends: curl,
+               debhelper-compat (= 13),
+               gem2deb (>= 1.6),
+               libssl-dev,
+               procps,
+               rake,
+               ruby-concurrent,
+               ruby-localhost,
+               ruby-minitest-stub-const,
+               ruby-nio4r (>= 2),
+               ruby-rack,
+               ruby-rackup,
+               ruby-sd-notify
+Standards-Version: 4.7.0
+Vcs-Git: https://salsa.debian.org/ruby-team/puma.git
+Vcs-Browser: https://salsa.debian.org/ruby-team/puma
+Homepage: https://puma.io
+Testsuite: autopkgtest-pkg-ruby
+Rules-Requires-Root: binary-targets
+
+Package: puma
+Architecture: any
+Breaks: rails (<< 2:6.1.7.3+dfsg-3~)
+Depends: ruby,
+         ${misc:Depends},
+         ${ruby:Depends},
+         ${shlibs:Depends}
+Description: threaded HTTP 1.1 server for Ruby/Rack applications
+ Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
+ Ruby/Rack applications. Puma is intended for use in both development and
+ production environments.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..70590cd
--- /dev/null
+++ b/copyright
@@ -0,0 +1,42 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: puma
+Upstream-Contact: https://github.com/puma/puma/issues
+Source: https://github.com/puma/puma
+
+Files: *
+Copyright: 2005, Zed Shaw
+           2011, Evan Phoenix
+License: BSD-3-clause
+
+Files: debian/*
+Copyright: 2016 Antonio Terceiro <terceiro@debian.org>
+           2020,2023 Daniel Leidert <dleidert@debian.org>
+           2023 Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
+License: BSD-3-clause
+Comment: The Debian packaging is licensed under the same terms as the source.
+
+License: BSD-3-clause
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ * Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of the Evan Phoenix nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..da9f191
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+pristine-tar = true
+sign-tags = true
+verbose = true
diff --git a/patches/0004-puma.gemspec-drop-git-usage.patch b/patches/0004-puma.gemspec-drop-git-usage.patch
new file mode 100644 (file)
index 0000000..45b69ad
--- /dev/null
@@ -0,0 +1,23 @@
+From: Antonio Terceiro <terceiro@softwarelivre.org>
+Date: Wed, 5 Feb 2020 21:36:05 +0100
+Subject: Drop git usage from gemspec
+
+Forwarded: not-needed
+---
+ puma.gemspec | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+Index: puma/puma.gemspec
+===================================================================
+--- puma.orig/puma.gemspec
++++ puma/puma.gemspec
+@@ -18,8 +18,7 @@ Gem::Specification.new do |s|
+   if RbConfig::CONFIG['ruby_version'] >= '2.5'
+     s.metadata["msys2_mingw_dependencies"] = "openssl"
+   end
+-  s.files = `git ls-files -- bin docs ext lib tools`.split("\n") +
+-            %w[History.md LICENSE README.md]
++  s.files = Dir.glob('**/*').reject { |f| f =~ /^debian\//}
+   s.homepage = "https://puma.io"
+   if s.respond_to?(:metadata=)
diff --git a/patches/0010-Disable-test-concurrency-without-concurrent_ruby.patch b/patches/0010-Disable-test-concurrency-without-concurrent_ruby.patch
new file mode 100644 (file)
index 0000000..967e60d
--- /dev/null
@@ -0,0 +1,25 @@
+From: Lucas Nussbaum <lucas@debian.org>
+Date: Wed, 5 Feb 2025 14:17:14 +0100
+Subject: Disable test concurrency without concurrent_ruby
+
+The way this is implemented (moving away the gem in $HOME) looks dangerous and
+doesn't work for non-user-installed packages.
+
+Forwarded: not-needed
+---
+ test/test_web_concurrency_auto.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/test_web_concurrency_auto.rb b/test/test_web_concurrency_auto.rb
+index 8afebe6..a2fed7a 100644
+--- a/test/test_web_concurrency_auto.rb
++++ b/test/test_web_concurrency_auto.rb
+@@ -39,7 +39,7 @@ class TestWebConcurrencyAuto < TestIntegration
+   end
+   # Rename the processor_counter file, then restore
+-  def test_web_concurrency_with_concurrent_ruby_unavailable
++  def xxtest_web_concurrency_with_concurrent_ruby_unavailable
+     file_path = nil
+     skip_unless :fork
diff --git a/patches/0011-disable-minitest-extensions.patch b/patches/0011-disable-minitest-extensions.patch
new file mode 100644 (file)
index 0000000..6ec39ca
--- /dev/null
@@ -0,0 +1,43 @@
+From: Daniel Leidert <daniel.leidert@wgdd.de>
+Date: Wed, 5 Feb 2020 22:20:42 +0100
+Subject: Disable unavailable minitest extensions
+
+Forwarded: not-needed
+---
+ test/helper.rb | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+Index: puma/test/helper.rb
+===================================================================
+--- puma.orig/test/helper.rb
++++ puma/test/helper.rb
+@@ -25,7 +25,6 @@ require_relative "helpers/test_puma/asse
+ require_relative "minitest/verbose"
+ require "minitest/autorun"
+ require "minitest/pride"
+-require "minitest/proveit"
+ require "minitest/stub_const"
+ require "net/http"
+ require_relative "helpers/apps"
+@@ -105,12 +104,9 @@ class TimeoutTestCase < Minitest::Test #
+ end
+ if ENV['CI']
+-  require 'minitest/retry'
+   SUMMARY_FILE = ENV['GITHUB_STEP_SUMMARY']
+-  Minitest::Retry.use!
+-
+   if SUMMARY_FILE && ENV['GITHUB_ACTIONS'] == 'true'
+     GITHUB_STEP_SUMMARY_MUTEX = Mutex.new
+@@ -210,7 +206,7 @@ class Minitest::Test
+   PROJECT_ROOT = File.dirname(__dir__)
+   def self.run(reporter, options = {}) # :nodoc:
+-    prove_it!
++    #prove_it!
+     super
+   end
diff --git a/patches/0012-disable-cli-ssl-tests.patch b/patches/0012-disable-cli-ssl-tests.patch
new file mode 100644 (file)
index 0000000..e8dcd42
--- /dev/null
@@ -0,0 +1,28 @@
+From: Daniel Leidert <daniel.leidert@wgdd.de>
+Date: Wed, 5 Feb 2020 23:18:37 +0100
+Subject: Disable cli ssl tests
+
+Forwarded: not-needed
+---
+ test/test_pumactl.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: puma/test/test_pumactl.rb
+===================================================================
+--- puma.orig/test/test_pumactl.rb
++++ puma/test/test_pumactl.rb
+@@ -251,12 +251,12 @@ class TestPumaControlCli < TimeoutTestCa
+   end
+-  def test_control_ssl_ipv4
++  def __test_control_ssl_ipv4
+     skip_unless :ssl
+     control_ssl '127.0.0.1'
+   end
+-  def test_control_ssl_ipv6
++  def __test_control_ssl_ipv6
+     skip_unless :ssl
+     control_ssl '[::1]'
+   end
diff --git a/patches/0013-fix-test-term-not-accepts-new-connections.patch b/patches/0013-fix-test-term-not-accepts-new-connections.patch
new file mode 100644 (file)
index 0000000..4583cad
--- /dev/null
@@ -0,0 +1,24 @@
+From: Daniel Leidert <daniel.leidert@wgdd.de>
+Date: Thu, 6 Feb 2020 11:24:24 +0100
+Subject: Fix test to read output locale independent
+
+The test fails if run in a non-English environment.
+
+Forwarded: https://github.com/puma/puma/issues/2149
+---
+ test/test_integration_single.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: puma/test/test_integration_single.rb
+===================================================================
+--- puma.orig/test/test_integration_single.rb
++++ puma/test/test_integration_single.rb
+@@ -121,7 +121,7 @@ class TestIntegrationSingle < TestIntegr
+     assert wait_for_server_to_include('Gracefully stopping') # wait for server to begin graceful shutdown
+     # Invoke a request which must be rejected
+-    _stdin, _stdout, rejected_curl_stderr, rejected_curl_wait_thread = Open3.popen3("curl #{HOST}:#{@tcp_port}")
++    _stdin, _stdout, rejected_curl_stderr, rejected_curl_wait_thread = Open3.popen3({ "LC_ALL" => "C" }, "curl http://#{HOST}:#{@tcp_port}")
+     assert nil != Process.getpgid(@server.pid) # ensure server is still running
+     assert nil != Process.getpgid(curl_wait_thread[:pid]) # ensure first curl invocation still in progress
diff --git a/patches/0014-disable-test-failing-on-amd64.patch b/patches/0014-disable-test-failing-on-amd64.patch
new file mode 100644 (file)
index 0000000..ce0677d
--- /dev/null
@@ -0,0 +1,25 @@
+From: Pirate Praveen <praveen@debian.org>
+Date: Mon, 8 Mar 2021 23:03:21 +0530
+Subject: Disable test that failied on amd64 buildd
+
+This test failed on amd64 buildd
+https://buildd.debian.org/status/fetch.php?pkg=puma&arch=amd64&ver=5.2.2-1&stamp=1615133735&raw=0
+
+Forwarded: not-needed
+---
+ test/test_puma_server.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: puma/test/test_puma_server.rb
+===================================================================
+--- puma.orig/test/test_puma_server.rb
++++ puma/test/test_puma_server.rb
+@@ -1735,7 +1735,7 @@ class TestPumaServer < TimeoutTestCase
+     end
+   end
+-  def test_command_ignored_before_run
++  def __test_command_ignored_before_run
+     @server.stop # ignored
+     @server.run
+     @server.halt
diff --git a/patches/0015-disable-different-output-test.patch b/patches/0015-disable-different-output-test.patch
new file mode 100644 (file)
index 0000000..75c31e4
--- /dev/null
@@ -0,0 +1,15 @@
+Output changed from 'OK' to '::Rack::URLMap is loaded'
+
+Index: puma/test/test_url_map.rb
+===================================================================
+--- puma.orig/test/test_url_map.rb
++++ puma/test/test_url_map.rb
+@@ -9,7 +9,7 @@ class TestURLMap < TestIntegration
+   end
+   # make sure the mapping defined in url_map_test/config.ru works
+-  def test_basic_url_mapping
++  def __test_basic_url_mapping
+     skip_if :jruby
+     env = { "BUNDLE_GEMFILE" => "#{__dir__}/url_map_test/Gemfile" }
+     Dir.chdir("#{__dir__}/url_map_test") do
diff --git a/patches/0016-disable-test-failing-on-arm64.patch b/patches/0016-disable-test-failing-on-arm64.patch
new file mode 100644 (file)
index 0000000..6e038dd
--- /dev/null
@@ -0,0 +1,15 @@
+this test is failing on arm64 buildd (sometimes on other archs as well)
+
+Index: puma/test/test_plugin_systemd.rb
+===================================================================
+--- puma.orig/test/test_plugin_systemd.rb
++++ puma/test/test_plugin_systemd.rb
+@@ -31,7 +31,7 @@ class TestPluginSystemd < TestIntegratio
+     super
+   end
+-  def test_systemd_notify_usr1_phased_restart_cluster
++  def __test_systemd_notify_usr1_phased_restart_cluster
+     skip_unless :fork
+     assert_restarts_with_systemd :USR1
+   end
diff --git a/patches/0017-disable-test-failing-on-armhf.patch b/patches/0017-disable-test-failing-on-armhf.patch
new file mode 100644 (file)
index 0000000..7e984f2
--- /dev/null
@@ -0,0 +1,15 @@
+https://ci.debian.net/packages/p/puma/testing/armhf/42745746/
+
+Index: puma/test/test_integration_ssl_session.rb
+===================================================================
+--- puma.orig/test/test_integration_ssl_session.rb
++++ puma/test/test_integration_ssl_session.rb
+@@ -122,7 +122,7 @@ class TestIntegrationSSLSession < TestIn
+     assert reused, 'session was not reused'
+   end
+-  def test_off_tls1_2
++  def __test_off_tls1_2
+     ssl_vers = Puma::MiniSSL::OPENSSL_LIBRARY_VERSION
+     old_ssl = ssl_vers.include?(' 1.0.') || ssl_vers.match?(/ 1\.1\.1[ a-e]/)
+     skip 'Requires 1.1.1f or later' if old_ssl
diff --git a/patches/0018-disable-test-failing-with-ruby3.2.patch b/patches/0018-disable-test-failing-with-ruby3.2.patch
new file mode 100644 (file)
index 0000000..5749467
--- /dev/null
@@ -0,0 +1,179 @@
+From: Debian Ruby Team <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
+Date: Mon, 23 Dec 2024 19:26:53 -0300
+Subject: Skip tests failing with ruby3.2 in Ubuntu
+
+  1) Error:
+TestRackUp::RackUp#test_bin:
+TimeoutEveryTestCase::TestTookTooLong: execution expired
+    /<<PKGBUILDDIR>>/test/test_rack_handler.rb:318:in `sysread'
+    /<<PKGBUILDDIR>>/test/test_rack_handler.rb:318:in `test_bin'
+    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
+    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
+    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
+    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'
+
+Those tests reported the following errors:
+
+  2) Error:
+TestCLI#test_control_clustered:
+TimeoutEveryTestCase::TestTookTooLong: execution expired
+    /<<PKGBUILDDIR>>/test/test_cli.rb:136:in `join'
+    /<<PKGBUILDDIR>>/test/test_cli.rb:136:in `test_control_clustered'
+    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
+    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
+    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
+    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'
+
+  3) Error:
+TestPluginSystemd#test_systemd_notify_usr2_hot_restart_cluster:
+Errno::EPIPE: Broken pipe
+    /<<PKGBUILDDIR>>/test/test_plugin_systemd.rb:90:in `write'
+    /<<PKGBUILDDIR>>/test/test_plugin_systemd.rb:90:in `assert_restarts_with_systemd'
+    /<<PKGBUILDDIR>>/test/test_plugin_systemd.rb:42:in `test_systemd_notify_usr2_hot_restart_cluster'
+    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
+    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
+    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
+    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'
+
+  4) Error:
+TestIntegrationPumactl#test_halt_unix:
+Errno::ECHILD: No child processes
+    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `wait2'
+    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `ctl_unix'
+    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:42:in `test_halt_unix'
+    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
+    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
+    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
+    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'
+
+  5) Error:
+TestIntegrationPumactl#test_stop_unix:
+Errno::ECHILD: No child processes
+    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `wait2'
+    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `ctl_unix'
+    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:38:in `test_stop_unix'
+    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
+    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
+    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
+    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'
+
+  6) Error:
+TestPumaServer#test_timeout_in_data_phase:
+TimeoutEveryTestCase::TestTookTooLong: execution expired
+    /<<PKGBUILDDIR>>/debian/puma/usr/lib/x86_64-linux-gnu/rubygems-integration/3.2.0/gems/puma-6.4.2/lib/puma/server.rb:627:in `join'
+    /<<PKGBUILDDIR>>/debian/puma/usr/lib/x86_64-linux-gnu/rubygems-integration/3.2.0/gems/puma-6.4.2/lib/puma/server.rb:627:in `stop'
+    /<<PKGBUILDDIR>>/test/test_puma_server.rb:31:in `teardown'
+    /<<PKGBUILDDIR>>/test/helper.rb:96:in `block (5 levels) in run'
+    /<<PKGBUILDDIR>>/test/helper.rb:96:in `each'
+    /<<PKGBUILDDIR>>/test/helper.rb:96:in `block (4 levels) in run'
+    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
+    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
+    /<<PKGBUILDDIR>>/test/helper.rb:95:in `block (3 levels) in run'
+ .
+ Extra failure in Debian:
+ .
+  1) Error:
+TestIntegrationSingle#test_puma_debug_loaded_exts:
+TimeoutEveryTestCase::TestTookTooLong: execution expired
+    /build/reproducible-path/puma-6.4.3/test/helpers/integration.rb:125:in `wait2'
+    /build/reproducible-path/puma-6.4.3/test/helpers/integration.rb:125:in `stop_server'
+    /build/reproducible-path/puma-6.4.3/test/helpers/integration.rb:39:in `teardown'
+    /build/reproducible-path/puma-6.4.3/test/helper.rb:96:in `block (5 levels) in run'
+    /build/reproducible-path/puma-6.4.3/test/helper.rb:96:in `each'
+    /build/reproducible-path/puma-6.4.3/test/helper.rb:96:in `block (4 levels) in run'
+    /usr/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
+    /usr/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
+    /build/reproducible-path/puma-6.4.3/test/helper.rb:95:in `block (3 levels) in run'
+ .
+ They do not seem real regressions, so skipping them for now.
+Author: Lucas Kanashiro <lucas.kanashiro@canonical.com>
+Last-Updated: 2024-12-23
+Forwarded: not-needed
+---
+ test/test_cli.rb                 | 2 +-
+ test/test_integration_pumactl.rb | 4 ++--
+ test/test_integration_single.rb  | 2 +-
+ test/test_plugin_systemd.rb      | 2 +-
+ test/test_puma_server.rb         | 4 ++--
+ test/test_rack_handler.rb        | 2 +-
+ 6 files changed, 8 insertions(+), 8 deletions(-)
+
+Index: puma/test/test_integration_pumactl.rb
+===================================================================
+--- puma.orig/test/test_integration_pumactl.rb
++++ puma/test/test_integration_pumactl.rb
+@@ -31,11 +31,11 @@ class TestIntegrationPumactl < TestInteg
+     wait_server
+   end
+-  def test_stop_unix
++  def __test_stop_unix
+     ctl_unix
+   end
+-  def test_halt_unix
++  def __test_halt_unix
+     ctl_unix 'halt'
+   end
+Index: puma/test/test_integration_single.rb
+===================================================================
+--- puma.orig/test/test_integration_single.rb
++++ puma/test/test_integration_single.rb
+@@ -247,7 +247,7 @@ class TestIntegrationSingle < TestIntegr
+     assert true
+   end
+-  def test_puma_debug_loaded_exts
++  def _test_puma_debug_loaded_exts
+     cli_server "#{set_pumactl_args} test/rackup/hello.ru", puma_debug: true
+     assert wait_for_server_to_include('Loaded Extensions:')
+Index: puma/test/test_plugin_systemd.rb
+===================================================================
+--- puma.orig/test/test_plugin_systemd.rb
++++ puma/test/test_plugin_systemd.rb
+@@ -36,7 +36,7 @@ class TestPluginSystemd < TestIntegratio
+     assert_restarts_with_systemd :USR1
+   end
+-  def test_systemd_notify_usr2_hot_restart_cluster
++  def __test_systemd_notify_usr2_hot_restart_cluster
+     skip_unless :fork
+     assert_restarts_with_systemd :USR2
+   end
+Index: puma/test/test_puma_server.rb
+===================================================================
+--- puma.orig/test/test_puma_server.rb
++++ puma/test/test_puma_server.rb
+@@ -602,7 +602,7 @@ class TestPumaServer < TimeoutTestCase
+     assert_equal [:booting, :running, :stop, :done], states
+   end
+-  def test_timeout_in_data_phase(**options)
++  def __test_timeout_in_data_phase(**options)
+     server_run(first_data_timeout: 1, **options)
+     socket = send_http "POST / HTTP/1.1\r\nHost: test.com\r\nContent-Type: text/plain\r\nContent-Length: 5\r\n\r\n"
+@@ -615,7 +615,7 @@ class TestPumaServer < TimeoutTestCase
+     assert_equal "HTTP/1.1 408 #{STATUS_CODES[408]}", response.status
+   end
+-  def test_timeout_data_no_queue
++  def __test_timeout_data_no_queue
+     test_timeout_in_data_phase(queue_requests: false)
+   end
+Index: puma/test/test_rack_handler.rb
+===================================================================
+--- puma.orig/test/test_rack_handler.rb
++++ puma/test/test_rack_handler.rb
+@@ -345,7 +345,7 @@ module TestRackUp
+       FileUtils.rm 'config.ru'
+     end
+-    def test_bin
++    def __test_bin
+       pid = nil
+       # JRuby & TruffleRuby take a long time using IO.popen
+       skip_unless :mri
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..c5b71d5
--- /dev/null
@@ -0,0 +1,10 @@
+0004-puma.gemspec-drop-git-usage.patch
+0011-disable-minitest-extensions.patch
+0012-disable-cli-ssl-tests.patch
+0013-fix-test-term-not-accepts-new-connections.patch
+0014-disable-test-failing-on-amd64.patch
+0015-disable-different-output-test.patch
+0016-disable-test-failing-on-arm64.patch
+0017-disable-test-failing-on-armhf.patch
+0018-disable-test-failing-with-ruby3.2.patch
+0010-Disable-test-concurrency-without-concurrent_ruby.patch
diff --git a/puma.1 b/puma.1
new file mode 100644 (file)
index 0000000..47a94c3
--- /dev/null
+++ b/puma.1
@@ -0,0 +1,165 @@
+.TH PUMA "1" "January 2020" "PUMA 3.12" "User Commands"
+
+.SH NAME
+puma \- fast, concurrent web server for ruby and rack
+
+.SH USAGE
+.BI "puma [options...]" " [rackup file]"
+.PP
+.B puma [\-h | \-\-help | \-V | \-\-version]
+
+.SH OPTIONS
+.PP
+The following options are available:
+.TP
+.BI "\-b, \-\-bind " URI
+URI to bind to (tcp://, unix://, ssl://).
+.TP
+.BI "\-C, \-\-config " PATH
+Load given path as a config file.
+.TP
+.BI "\-\-control " URL
+DEPRECATED alias for \fB\-\-control\-url\fR.
+.TP
+.BI "\-\-control\-token " TOKEN
+The \fITOKEN\fR to use as authentication for the control server.
+.TP
+.BI "\-\-control\-url " URL
+The bind \fIURL\fR to use for the control server and app. Use \fIauto\fR to
+use a temp unix server. This requires to use a \fB\-\-control\-token\fR, which
+needs to be given with every request to the control server (\fItoken=foo\fR).
+.TP
+.B \-d, \-\-daemon
+Demonize the server into the background.
+.TP
+.B \-\-debug
+Show low level debugging information.
+.TP
+.BI "\-\-dir " DIR
+Change to given directory before starting.
+.TP
+.BI "\-e, \-\-environment " ENVIRONMENT
+The environment to run the Rack app on. Default \fIdevelopment\fR.
+.TP
+.BI "\-I, \-\-include " PATH
+Specify \fB$LOAD_PATH\fR directories.
+.TP
+.BI "\-p, \-\-port " PORT
+Define the TCP port to bind to. Use \fB\-b\fR for more advanced options.
+.TP
+.BI "\-\-pidfile " PATH
+Use the given path as PID file.
+.TP
+.B \-\-preload
+Preload the application. This loads all the application code prior to forking.
+Preloading reduces total memory usage of an application and is only available
+in cluster mode.
+.TP
+.B \-\-prune\-bundler
+Prune out the bundler env if possible.
+.TP
+.B \-q, \-\-quiet
+Do not log requests internally. Default: \fItrue\fR.
+.TP
+.B \-v, \-\-log-requests
+Log requests as they occur.
+.TP
+.BI "\-R, \-\-restart\-cmd " CMD
+The \fBpuma\fR command to run during a hot restart. Default: \fIinferred\fR.
+.TP
+.BI "\-S, \-\-state " PATH
+Where to store the state details.
+.TP
+.BI "\-t, \-\-threads " INT
+Min:max threads to use. Puma will automatically scale the number of threads,
+from the minimum until it caps out at the maximum, based on how much traffic
+is present. Default: \fI0:16\fR.
+.TP
+.B \-\-tcp\-mode
+Run the app in raw TCP mode instead of HTTP mode.
+.TP
+.B \-\-early-hints
+Enable early hints support.
+.TP
+.BI "\-w, \-\-workers " COUNT
+Activate cluster mode and define number of worker processes to create. In this
+mode workers are forked from a master process. Each child process still has
+its own thread pool and the \fB\-t\fR setting is per worker.
+.TP
+.BI "\-\-tag " NAME
+Additional text to display in process listing.
+.TP
+.BI "\-\-redirect\-stdout " FILE
+Redirect \fBSTDOUT\fR to a specific file.
+.TP
+.BI "\-\-redirect\-stderr " FILE
+Redirect \fBSTDERR\fR to a specific file.
+.TP
+.B \-\-[no\-]redirect\-append
+Append to redirected files.
+.TP
+.B \-h, \-\-help
+Show help.
+.TP    
+.B \-V, \-\-version
+Print the version information.
+
+.SH EXAMPLES
+.PP
+The following examples show how to bind TCP or sockets:
+.PP
+Bind Puma to a socket with the -b (or --bind) flag:
+.RS
+.B puma -b tcp://127.0.0.1:9292
+.RE
+.PP
+To use a UNIX Socket instead of TCP:
+.RS
+.B puma -b unix:///var/run/puma.sock
+.RE
+.PP
+To change the permissions of the UNIX socket, add a umask parameter:
+.RS
+.B puma -b 'unix:///var/run/puma.sock?umask=0111'
+.RE
+.PP
+In need of a bit of security use SSL sockets:
+.RS
+.B puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'
+.RE
+.PP
+The following example show how to Create a control server and use
+.BR pumactl (1)
+to interact with the control server to restart \fBpuma\fR.
+.RS
+.B puma --control-url tcp://127.0.0.1:9293 --control-token foo
+.br
+.B pumactl --control-url 'tcp://127.0.0.1:9293' --control-token foo restart
+.RE
+.PP
+
+.SH "CONFIGURATION FILE"
+.B puma
+will look for a configuration file at \fIconfig/puma.rb\fR. If an environment
+is specified, either via the \fB\-e\fR and \fB\-\-environment\fR flags, or
+through the \fIRACK_ENV\fR or the \fIRAILS_ENV\fR environment variables, it
+looks for configuration at \fIconfig/puma/<environment_name>.rb\fR.
+.PP
+The \fB\-C\fR flag allows one to pass on a custom configuration location. If
+the value specified is a dash (\fI\-\fR) \fBpuma\fR won't look for any
+configuration file:
+.PP
+.RS
+.B puma -C \(dq\-\(dq
+.RE
+
+.SH "SEE ALSO"
+.PP
+There is extensive documentation at <\%https://puma.io/puma/\%> and
+<\%https://github.com/puma/puma\%>.
+
+.SH AUTHOR
+.PP
+This manual page was written by \fBDaniel Leidert\fP
+<\%dleidert@debian\.org\%>, for the Debian GNU/Linux system (but may be used by
+others).
diff --git a/puma.docs b/puma.docs
new file mode 100644 (file)
index 0000000..b43bf86
--- /dev/null
+++ b/puma.docs
@@ -0,0 +1 @@
+README.md
diff --git a/puma.examples b/puma.examples
new file mode 100644 (file)
index 0000000..e39721e
--- /dev/null
@@ -0,0 +1 @@
+examples/*
diff --git a/puma.lintian-overrides b/puma.lintian-overrides
new file mode 100644 (file)
index 0000000..711e981
--- /dev/null
@@ -0,0 +1,3 @@
+# this is one of several sub-directories; no need to rename it
+repeated-path-segment puma [usr/share/doc/puma/examples/puma/]
+repeated-path-segment 3.1.0 [usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/extensions/x86_64-linux/3.1.0/]
diff --git a/puma.manpages b/puma.manpages
new file mode 100644 (file)
index 0000000..8c2d587
--- /dev/null
@@ -0,0 +1,2 @@
+debian/puma.1
+debian/pumactl.1
diff --git a/pumactl.1 b/pumactl.1
new file mode 100644 (file)
index 0000000..67e70d6
--- /dev/null
+++ b/pumactl.1
@@ -0,0 +1,99 @@
+.TH PUMA "1" "January 2020" "PUMA 3.12" "User Commands"
+
+.SH NAME
+pumactl \- command line client for puma
+
+.SH USAGE
+.B pumactl [options...] [commands]
+.PP
+.B pumactl [\-h | \-\-help | \-V | \-\-version]
+
+.SH COMMANDS
+.TP
+.B halt
+Halt the server.
+.TP
+.B restart
+Restart the server.
+.TP
+.B phased-restart
+Restart server but phase out old workers while starting new workers one at a
+time.
+.TP
+.B start
+Start the server.
+.TP
+.B stats
+Show stats about the server.
+.TP
+.B status
+Show server status.
+.TP
+.B stop
+Stop server.
+.TP
+.B reload-worker-directory
+Reload the worker directory.
+.TP
+.B gc
+Start garbage collector.
+.TP
+.B gc-stats
+Show information about garbage collector.
+
+.SH OPTIONS
+.PP
+The following options are available:
+.TP
+.BI "\-F, \-\-config\-file " PATH
+Load given path as a config file.
+.TP
+.BI "\-T, \-\-control\-token " TOKEN
+The \fITOKEN\fR to use as authentication for the control server.
+.TP
+.BI "\-C, \-\-control\-url " URL
+The bind \fIURL\fR to use for the control server and app. Use \fIauto\fR to
+use a temp unix server. This requires to use a \fB\-\-control\-token\fR, which
+needs to be given with every request to the control server (\fItoken=foo\fR).
+.TP
+.BI "\-p, \-\-pid " PID
+Define the TCP port to bind to. Use \fB\-b\fR for more advanced options.
+.TP
+.BI "\-P, \-\-pidfile " PATH
+Use the given path as PID file.
+.TP
+.B \-Q, \-\-quiet
+Don't display messages.
+.TP
+.BI "\-S, \-\-state " PATH
+Where the state file is.
+.TP
+.B \-H, \-\-help
+Show help.
+.TP    
+.B \-V, \-\-version
+Print the version information.
+
+.SH EXAMPLES
+Create a control server and use
+.BR pumactl (1)
+to interact with the control server to restart \fBpuma\fR.
+.RS
+.B puma --control-url tcp://127.0.0.1:9293 --control-token foo
+.br
+.B pumactl --control-url 'tcp://127.0.0.1:9293' --control-token foo restart
+.RE
+.PP
+
+.SH "SEE ALSO"
+.PP
+.BR puma (1)
+.PP
+There is extensive documentation at <\%https://puma.io/puma/\%> and
+<\%https://github.com/puma/puma\%>.
+
+.SH AUTHOR
+.PP
+This manual page was written by \fBDaniel Leidert\fP
+<\%dleidert@debian\.org\%>, for the Debian GNU/Linux system (but may be used by
+others).
diff --git a/ruby-tests.rake b/ruby-tests.rake
new file mode 100644 (file)
index 0000000..67a5a4a
--- /dev/null
@@ -0,0 +1,22 @@
+require 'gem2deb/rake/testtask'
+
+Gem2Deb::Rake::TestTask.new do |t|
+  t.libs = ['test']
+    t.test_files = FileList['test/**/*_test.rb'] + FileList['test/**/test_*.rb'] - FileList[
+      'test/test_integration_cluster.rb',
+      'test/test_worker_gem_independence.rb',
+      'test/test_rack_version_restriction.rb',
+      'test/test_preserve_bundler_env.rb',
+    ]
+  t.verbose = true
+end.tap do |t|
+  exclude = %w[
+    test_application_logs_are_flushed_on_write
+    test_hot_restart_does_not_drop_connections
+    test_logs_all_localhost_bindings
+    test_multiple_requests_waiting_on_less_busy_worker
+    test_term_not_accepts_new_connections
+    test_prune_bundler_with_multiple_workers
+  ]
+  t.options << ' ' << "-e'/" << exclude.join('|') << "/'"
+end
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..da15652
--- /dev/null
+++ b/rules
@@ -0,0 +1,14 @@
+#!/usr/bin/make -f
+
+export GEM2DEB_TEST_RUNNER = --check-dependencies
+export DH_RUBY = --gem-install
+export DH_RUBY_GEM_INSTALL_EXCLUDE = benchmarks/* docs/* win_gem_test/* tools/* bin/puma-wild
+export LANG = C.UTF-8
+export LC_ALL = C.UTF-8
+export TEST_CASE_TIMEOUT = 300
+
+%:
+       dh $@ --buildsystem=ruby --with ruby
+
+override_dh_installchangelogs:
+       dh_installchangelogs History.md
diff --git a/salsa-ci.yml b/salsa-ci.yml
new file mode 100644 (file)
index 0000000..33c3a64
--- /dev/null
@@ -0,0 +1,4 @@
+---
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/lintian-overrides b/source/lintian-overrides
new file mode 100644 (file)
index 0000000..362d49e
--- /dev/null
@@ -0,0 +1,2 @@
+# no signed tarballs by upstream
+puma source: debian-watch-does-not-check-gpg-signature 
diff --git a/upstream/metadata b/upstream/metadata
new file mode 100644 (file)
index 0000000..cbe22a2
--- /dev/null
@@ -0,0 +1,7 @@
+---
+Archive: GitHub
+Bug-Database: https://github.com/puma/puma/issues
+Bug-Submit: https://github.com/puma/puma/issues/new
+Changelog: https://github.com/puma/puma/releases
+Repository: https://github.com/puma/puma.git
+Repository-Browse: https://github.com/puma/puma
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..b06856f
--- /dev/null
+++ b/watch
@@ -0,0 +1,5 @@
+version=4
+opts="searchmode=plain, \
+  filenamemangle=s/.+\/v@ANY_VERSION@/@PACKAGE@-$1\.tar\.gz/" \
+https://api.github.com/repos/puma/puma/tags \
+https://api.github.com/repos/puma/puma/tarball/refs/tags/v@ANY_VERSION@