From 5700677e715b2bf1839639a7ad5ad20da8a55d54 Mon Sep 17 00:00:00 2001 From: lijingwei Date: Wed, 29 Sep 2021 14:17:33 +0800 Subject: [PATCH] Package init Signed-off-by: lijingwei --- catatonit.spec | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ v0.1.7.tar.gz | Bin 0 -> 21720 bytes 2 files changed, 63 insertions(+) create mode 100644 catatonit.spec create mode 100644 v0.1.7.tar.gz diff --git a/catatonit.spec b/catatonit.spec new file mode 100644 index 0000000..26d30dc --- /dev/null +++ b/catatonit.spec @@ -0,0 +1,63 @@ +%define built_tag v0.1.7 +%define built_tag_strip %(b=%{built_tag}; echo ${b:1}) +%define download_url %{url}/archive/%{built_tag}.tar.gz + +Name: catatonit +Version: 0.1.7 +Release: 1 +Summary: A signal-forwarding process manager for containers +License: GPLv3+ +URL: https://github.com/openSUSE/catatonit +Source0: %{download_url} +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: file +BuildRequires: gcc +BuildRequires: git +BuildRequires: glibc-static +BuildRequires: libtool +BuildRequires: make + +%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 -Sgit -n %{name}-%{built_tag_strip} + +%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' +if [ $? != 0 ]; then + echo "ERROR: %{name} binary must be statically linked!" + exit 1 +fi + +%install +install -dp %{buildroot}%{_libexecdir}/%{name} +install -p %{name} %{buildroot}%{_libexecdir}/%{name} +install -dp %{buildroot}%{_libexecdir}/podman +ln -s %{_libexecdir}/%{name}/%{name} %{buildroot}%{_libexecdir}/podman/%{name} + +%files +%license COPYING +%doc README.md +%dir %{_libexecdir}/%{name} +%{_libexecdir}/%{name}/%{name} +%dir %{_libexecdir}/podman +%{_libexecdir}/podman/%{name} + +%changelog +* Mon Nov 22 2021 Li Jingwei - 0.1.7-1 +- package init diff --git a/v0.1.7.tar.gz b/v0.1.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b4309d46af152b9175dd7f0172e8a3dc6bb37f0e GIT binary patch literal 21720 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 literal 0 HcmV?d00001 -- Gitee