From: Peter Michael Green Date: Thu, 13 Feb 2025 15:24:52 +0000 (+0000) Subject: Import puma_6.6.0-2+rpi1.debian.tar.xz X-Git-Tag: archive/raspbian/6.6.0-4+rpi1~12^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d6dd5ca8669ea8cdac58403b47efd4c4314952ee;p=puma.git Import puma_6.6.0-2+rpi1.debian.tar.xz [dgit import tarball puma 6.6.0-2+rpi1 puma_6.6.0-2+rpi1.debian.tar.xz] --- d6dd5ca8669ea8cdac58403b47efd4c4314952ee diff --git a/README.source b/README.source new file mode 100644 index 0000000..620cda3 --- /dev/null +++ b/README.source @@ -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 Wed, 05 Feb 2020 23:51:51 +0100 diff --git a/changelog b/changelog new file mode 100644 index 0000000..cced2de --- /dev/null +++ b/changelog @@ -0,0 +1,414 @@ +puma (6.6.0-2+rpi1) trixie-staging; urgency=medium + + * Disable testsuite. + + -- Peter Michael Green Thu, 13 Feb 2025 15:24:52 +0000 + +puma (6.6.0-2) unstable; urgency=medium + + * Team upload + * Change build-dependency on ruby-rackup to + ruby-rackup | ruby-rack (<< 3), to allow migration to testing + independently of rackup or rack 3. + + -- Lucas Nussbaum Fri, 07 Feb 2025 21:46:17 +0100 + +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 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 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 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 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 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 Sat, 20 Jul 2024 12:24:05 -0300 + +puma (6.4.2-4) unstable; urgency=medium + + * Disable test failing on armhf + + -- Pirate Praveen 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 Mon, 05 Feb 2024 15:12:00 +0530 + +puma (6.4.2-2) unstable; urgency=medium + + * Disable test failing on arm64 buildd + + -- Pirate Praveen 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 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 Mon, 05 Feb 2024 00:52:13 +0530 + +puma (6.4.0-3) unstable; urgency=medium + + * Reupload to unstable + + -- Pirate Praveen 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Wed, 28 Mar 2018 18:53:22 -0300 + +puma (3.6.0-1) unstable; urgency=medium + + * Initial release (Closes: #720336) + + -- Antonio Terceiro Thu, 10 Nov 2016 16:47:06 -0200 diff --git a/clean b/clean new file mode 100644 index 0000000..4535125 --- /dev/null +++ b/clean @@ -0,0 +1 @@ +tmp/restart.txt diff --git a/control b/control new file mode 100644 index 0000000..659a047 --- /dev/null +++ b/control @@ -0,0 +1,37 @@ +Source: puma +Section: web +Priority: optional +Maintainer: Debian Ruby Team +Uploaders: Pirate Praveen , + Lucas Kanashiro +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-rack (<< 3), + 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 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 + 2020,2023 Daniel Leidert + 2023 Debian Ruby Extras Maintainers +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 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 index 0000000..45b69ad --- /dev/null +++ b/patches/0004-puma.gemspec-drop-git-usage.patch @@ -0,0 +1,23 @@ +From: Antonio Terceiro +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 index 0000000..967e60d --- /dev/null +++ b/patches/0010-Disable-test-concurrency-without-concurrent_ruby.patch @@ -0,0 +1,25 @@ +From: Lucas Nussbaum +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 index 0000000..6ec39ca --- /dev/null +++ b/patches/0011-disable-minitest-extensions.patch @@ -0,0 +1,43 @@ +From: Daniel Leidert +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 index 0000000..e8dcd42 --- /dev/null +++ b/patches/0012-disable-cli-ssl-tests.patch @@ -0,0 +1,28 @@ +From: Daniel Leidert +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 index 0000000..4583cad --- /dev/null +++ b/patches/0013-fix-test-term-not-accepts-new-connections.patch @@ -0,0 +1,24 @@ +From: Daniel Leidert +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 index 0000000..ce0677d --- /dev/null +++ b/patches/0014-disable-test-failing-on-amd64.patch @@ -0,0 +1,25 @@ +From: Pirate Praveen +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 index 0000000..75c31e4 --- /dev/null +++ b/patches/0015-disable-different-output-test.patch @@ -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 index 0000000..6e038dd --- /dev/null +++ b/patches/0016-disable-test-failing-on-arm64.patch @@ -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 index 0000000..7e984f2 --- /dev/null +++ b/patches/0017-disable-test-failing-on-armhf.patch @@ -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 index 0000000..5749467 --- /dev/null +++ b/patches/0018-disable-test-failing-with-ruby3.2.patch @@ -0,0 +1,179 @@ +From: Debian Ruby Team +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 + /<>/test/test_rack_handler.rb:318:in `sysread' + /<>/test/test_rack_handler.rb:318:in `test_bin' + /<>/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' + /<>/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 + /<>/test/test_cli.rb:136:in `join' + /<>/test/test_cli.rb:136:in `test_control_clustered' + /<>/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' + /<>/test/helper.rb:88:in `block (3 levels) in run' + + 3) Error: +TestPluginSystemd#test_systemd_notify_usr2_hot_restart_cluster: +Errno::EPIPE: Broken pipe + /<>/test/test_plugin_systemd.rb:90:in `write' + /<>/test/test_plugin_systemd.rb:90:in `assert_restarts_with_systemd' + /<>/test/test_plugin_systemd.rb:42:in `test_systemd_notify_usr2_hot_restart_cluster' + /<>/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' + /<>/test/helper.rb:88:in `block (3 levels) in run' + + 4) Error: +TestIntegrationPumactl#test_halt_unix: +Errno::ECHILD: No child processes + /<>/test/test_integration_pumactl.rb:55:in `wait2' + /<>/test/test_integration_pumactl.rb:55:in `ctl_unix' + /<>/test/test_integration_pumactl.rb:42:in `test_halt_unix' + /<>/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' + /<>/test/helper.rb:88:in `block (3 levels) in run' + + 5) Error: +TestIntegrationPumactl#test_stop_unix: +Errno::ECHILD: No child processes + /<>/test/test_integration_pumactl.rb:55:in `wait2' + /<>/test/test_integration_pumactl.rb:55:in `ctl_unix' + /<>/test/test_integration_pumactl.rb:38:in `test_stop_unix' + /<>/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' + /<>/test/helper.rb:88:in `block (3 levels) in run' + + 6) Error: +TestPumaServer#test_timeout_in_data_phase: +TimeoutEveryTestCase::TestTookTooLong: execution expired + /<>/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' + /<>/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' + /<>/test/test_puma_server.rb:31:in `teardown' + /<>/test/helper.rb:96:in `block (5 levels) in run' + /<>/test/helper.rb:96:in `each' + /<>/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' + /<>/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 +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 index 0000000..c5b71d5 --- /dev/null +++ b/patches/series @@ -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 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/.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 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 index 0000000..e39721e --- /dev/null +++ b/puma.examples @@ -0,0 +1 @@ +examples/* diff --git a/puma.lintian-overrides b/puma.lintian-overrides new file mode 100644 index 0000000..711e981 --- /dev/null +++ b/puma.lintian-overrides @@ -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 index 0000000..8c2d587 --- /dev/null +++ b/puma.manpages @@ -0,0 +1,2 @@ +debian/puma.1 +debian/pumactl.1 diff --git a/pumactl.1 b/pumactl.1 new file mode 100644 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 index 0000000..67a5a4a --- /dev/null +++ b/ruby-tests.rake @@ -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 index 0000000..71b4aea --- /dev/null +++ b/rules @@ -0,0 +1,16 @@ +#!/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 +export DH_RUBY_IGNORE_TESTS = all + + +%: + 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 index 0000000..33c3a64 --- /dev/null +++ b/salsa-ci.yml @@ -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 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 0000000..362d49e --- /dev/null +++ b/source/lintian-overrides @@ -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 index 0000000..cbe22a2 --- /dev/null +++ b/upstream/metadata @@ -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 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@