Package init

Signed-off-by: lijingwei <lijingwei@uniontech.com>
This commit is contained in:
lijingwei 2021-09-29 14:17:33 +08:00
parent 4550d23475
commit 5700677e71
2 changed files with 63 additions and 0 deletions

63
catatonit.spec Normal file
View File

@ -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 <lijingwei@uniontech.com> - 0.1.7-1
- package init

BIN
v0.1.7.tar.gz Normal file

Binary file not shown.