catatonit/catatonit.spec
Aleksa Sarai 83a8c21966 Accepting request 594071 from home:cyphar:containers:catatonit
- 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.

OBS-URL: https://build.opensuse.org/request/show/594071
OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/catatonit?expand=0&rev=6
2018-04-06 18:38:34 +00:00

74 lines
2.1 KiB
RPMSpec

#
# spec file for package catatonit
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: catatonit
Version: 0.1.2
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: %{name}-%{version}.tar.xz
Source1: %{name}-%{version}.tar.xz.asc
Source2: %{name}.keyring
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
%setup -q
%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