commit 89417854182de96e7bddea29be98bf8eaafd4fd39afb73212b3ed828897d1f7f Author: Adrian Schröter Date: Fri May 3 11:31:23 2024 +0200 Sync from SUSE:SLFO:Main catatonit revision 4a96d8c6cb74340bd365b347e1bc9ffd diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/99bb9048f.patch b/99bb9048f.patch new file mode 100644 index 0000000..06c3092 --- /dev/null +++ b/99bb9048f.patch @@ -0,0 +1,36 @@ +From 99bb9048f532257f3a2c3856cfa19fe957ab6cec Mon Sep 17 00:00:00 2001 +From: Antonio Terceiro +Date: Thu, 4 Nov 2021 07:37:13 -0300 +Subject: [PATCH] configure.ac: call AM_INIT_AUTOMAKE only once + +That second call seems to be there since the beginning, and autoconf +2.69 was fine with it. autoconf 2.71 doesn't allow it anymore: + + $ ./autogen.sh + autoreconf: export WARNINGS= + autoreconf: Entering directory '.' + autoreconf: configure.ac: not using Gettext + autoreconf: running: aclocal --force + configure.ac:34: error: AM_INIT_AUTOMAKE expanded multiple times + /usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from... + configure.ac:19: the top level + /usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from... + configure.ac:34: the top level + autom4te: error: /usr/bin/m4 failed with exit status: 1 + aclocal: error: /usr/bin/autom4te failed with exit status: 1 + autoreconf: error: aclocal failed with exit status: 1 + +Signed-off-by: Antonio Terceiro +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 12c9186..94c5c84 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -31,4 +31,3 @@ AC_FUNC_FORK + + AC_CONFIG_FILES([Makefile config.h]) + AC_OUTPUT +-AM_INIT_AUTOMAKE diff --git a/catatonit-0.1.7.tar.xz b/catatonit-0.1.7.tar.xz new file mode 100644 index 0000000..27af26a --- /dev/null +++ b/catatonit-0.1.7.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ea6cb8c7feeca2cf101e7f794dab6eeb192cde177ecc7714d2939655d3d8997 +size 20052 diff --git a/catatonit-0.1.7.tar.xz.asc b/catatonit-0.1.7.tar.xz.asc new file mode 100644 index 0000000..c90546f --- /dev/null +++ b/catatonit-0.1.7.tar.xz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- + +iQJDBAABCAAtFiEEXzbGxhtUYBJKdfWmnhiqJn3bjbQFAmF/daIPHGFzYXJhaUBz +dXNlLmRlAAoJEJ4YqiZ92420N4QP/i47N53mZku98HPqzZxgq7wpCPWsWIv0Fyxv +jkqsWsI1wwnLZoP3Q5RmR6Qqtv5bRpmOIN0p8qpXGHjZD4cGK1gsP4s5szVl3ecb +VnSDwtdFK+b76amgKWsgLe/3m4xwSNWONGPOy66MSmZIYWTEGpnEN7qsz4QQ2ORW +f6dYa2kjO+bY9Fg3nqO18iXAXYWZw2t5lIiUSG8fG5QFt676EyGnPuMnpXR+XiSk +pCbA+4v4l/Ix4OlJZgmS96dqvPc91OAMlX4xhfPjJhyR/j+YSrTm63Fd3NxlXCIa +x0AIU9WO4DK/cYVthq33ZaM56xcqMSAh7iTh2kkUvCRJZxyhOG+/0eEaTtLWpt/O +Hg5W1Mk4tzk+F2fNHTazcWc6aaRNvAZUnl0IveJkyjlDshi1r7vMKz7wRTZ2ZrBe +P83Z0y8HjjWu6Ij9W3xRLUpgZ2IsF+e3EEt1JUapvH/6U2R5D+fIXltb0HS1vhVC +XQiZQO5nQJ3r0E5r1V4UtwiprtdRpr+3rIDa7HemHPutClGmkW1w5+KmxDFu3Sms +YVW1aDWjhYXFvY1A8UKs5UtX3p1QNmFPh5+NWFUIK6yuFV39cLmRNWLcXCYuaz6W +siADqcAiMVWbt6yVEwrQ4yyv6v/pW8sMdBC+MqQs97RwEmN5lxHz6sdMkv5oVR/7 +U5xkovR3 +=05Kh +-----END PGP SIGNATURE----- diff --git a/catatonit-rpmlintrc b/catatonit-rpmlintrc new file mode 100644 index 0000000..2f272a9 --- /dev/null +++ b/catatonit-rpmlintrc @@ -0,0 +1,3 @@ +# We need catatonit to be statically linked. +addFilter ("^catatonit.*: [EW]: statically-linked-binary /usr/bin/catatonit") +addFilter ("^catatonit.*: W: position-independent-executable-suggested /usr/bin/catatonit") diff --git a/catatonit.changes b/catatonit.changes new file mode 100644 index 0000000..ee8b054 --- /dev/null +++ b/catatonit.changes @@ -0,0 +1,70 @@ +------------------------------------------------------------------- +Mon Apr 11 09:57:33 UTC 2022 - Richard Brown + +- Update to catatont v0.1.7 +- This release adds the ability for catatonit to be used as the only +process in a pause container, by passing the -P flag (in this mode no +subprocess is spawned and thus no signal forwarding is done). + +------------------------------------------------------------------- +Thu Nov 25 14:28:41 UTC 2021 - Dominique Leuenberger + +- Add 99bb9048f.patch: configure.ac: call AM_INIT_AUTOMAKE only + once. Fix build with autocnf 2.71 / automake 1.16.5. + +------------------------------------------------------------------- +Thu Sep 16 05:16:12 UTC 2021 - Aleksa Sarai + +- Update to catatonit v0.1.6, which fixes a few bugs -- mainly ones related to + socket activation or features somewhat adjacent to socket activation (such as + passing file descriptors). +- Update catatonit-rpmlintrc in order to cover that static binaries are now an + error not a warning. + +------------------------------------------------------------------- +Mon Mar 2 16:20:29 UTC 2020 - Aleksa Sarai + +- Update to catatonit v0.1.5, which fixes two bugs where catatonit would hang + endlessly when pid1 died in very specific ways. bsc#1176155 + +------------------------------------------------------------------- +Tue Jan 29 07:35:13 UTC 2019 - Aleksa Sarai + +- Update to catatonit v0.1.4, which includes support for "-g". + +------------------------------------------------------------------- +Wed Apr 18 13:06:13 UTC 2018 - asarai@suse.com + +- Update to catatonit v0.1.3, which includes a fix for docker compatiblity so + that dockerd doesn't give spurrious warnings. + +------------------------------------------------------------------- +Fri Apr 6 18:31:08 UTC 2018 - asarai@suse.com + +- Fix build to correctly build a static binary (which will allow it to work in + all containers). This was caused by forgetting to include + 'glibc-devel-static'. I've added a check to ensure it doesn't happen by + accident again. +- Add catatonit-rpmlintrc to include filters for "static binary" warnings, + since this is intentional. + +------------------------------------------------------------------- +Tue Apr 3 23:27:27 UTC 2018 - jengelh@inai.de + +- Update package descriptions. + +------------------------------------------------------------------- +Thu Mar 29 09:13:58 UTC 2018 - asarai@suse.com + +- Update to catatonit v0.1.2 and update links to point to openSUSE repo. + +------------------------------------------------------------------- +Tue Mar 27 09:27:17 UTC 2018 - asarai@suse.com + +- Update to catatonit v0.1.1, which includes a fix for the libtool requirement. + This lets us build on much older distributions. + +------------------------------------------------------------------- +Tue Mar 27 08:39:07 UTC 2018 - asarai@suse.com + +- Initial import of catatonit v0.1.0. diff --git a/catatonit.keyring b/catatonit.keyring new file mode 100644 index 0000000..0f485e8 --- /dev/null +++ b/catatonit.keyring @@ -0,0 +1,69 @@ +pub rsa4096 2016-06-21 [SC] [expires: 2031-06-18] + 5F36C6C61B5460124A75F5A69E18AA267DDB8DB4 +uid [ultimate] Aleksa Sarai +uid [ultimate] Aleksa Sarai +sub rsa4096 2016-06-21 [E] [expires: 2031-06-18] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=3/jE +-----END PGP PUBLIC KEY BLOCK----- diff --git a/catatonit.spec b/catatonit.spec new file mode 100644 index 0000000..b401540 --- /dev/null +++ b/catatonit.spec @@ -0,0 +1,75 @@ +# +# spec file for package catatonit +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: catatonit +Version: 0.1.7 +Release: 0 +Summary: A signal-forwarding process manager for containers +License: GPL-3.0-or-later +Group: System/Management +URL: https://github.com/openSUSE/catatonit +Source0: https://github.com/openSUSE/catatonit/releases/download/v%{version}/%{name}.tar.xz#/%{name}-%{version}.tar.xz +Source1: https://github.com/openSUSE/catatonit/releases/download/v%{version}/%{name}.tar.xz.asc#/%{name}-%{version}.tar.xz.asc +Source2: %{name}.keyring +Source3: %{name}-rpmlintrc +Patch0: https://github.com/openSUSE/catatonit/commit/99bb9048f.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: file +BuildRequires: gcc +BuildRequires: glibc-devel-static +BuildRequires: libtool + +%description +Catatonit is a /sbin/init program for use within containers. It +forwards (almost) all signals to the spawned child, tears down +the container when the spawned child exits, and otherwise +cleans up other exited processes (zombies). + +This is a reimplementation of other container init programs (such as +"tini" or "dumb-init"), but uses modern Linux facilities (such as +signalfd(2)) and has no additional features. + +%prep +%autosetup -p1 + +%build +autoreconf -fi +%configure +make %{?_smp_mflags} + +# Make sure we *always* build a static binary. Otherwise we'll break containers +# that don't have the necessary shared libs. +file ./%{name} | grep 'statically linked' + +%install +%make_install +ln -s %{_bindir}/%{name} %{buildroot}%{_bindir}/docker-init + +%files +%defattr(-,root,root) +%doc README.md +%if 0%{?suse_version} >= 1500 +%license COPYING +%else +%doc COPYING +%endif +%{_bindir}/%{name} +%{_bindir}/docker-init + +%changelog