* initial import of runC 0.0.9

* add patch seccomp-use-pkg-config.patch which allows us to build runC, since
  they assume that the seccomp.h file lives at /usr/include/seccomp.h.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/runc?expand=0&rev=1
This commit is contained in:
Aleksa Sarai 2016-03-21 08:36:29 +00:00 committed by Git OBS Bridge
commit 47eb55f8be
6 changed files with 156 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

17
_service Normal file
View File

@ -0,0 +1,17 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/opencontainers/runc.git</param>
<param name="scm">git</param>
<param name="filename">runc</param>
<param name="versionformat">0.0.9</param>
<param name="revision">v0.0.9</param>
<param name="exclude">.git</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">runc</param>
</service>
</services>

3
runc-0.0.9.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:34655a93bd652a178a58cf04d8b2585ec0be37bf2fd047d9fbbcf45590cfe618
size 351256

7
runc.changes Normal file
View File

@ -0,0 +1,7 @@
-------------------------------------------------------------------
Mon Mar 21 08:24:02 UTC 2016 - asarai@suse.de
* initial import of runC 0.0.9
* add patch seccomp-use-pkg-config.patch which allows us to build runC, since
they assume that the seccomp.h file lives at /usr/include/seccomp.h.

61
runc.spec Normal file
View File

@ -0,0 +1,61 @@
#
# spec file for package runc
#
# Copyright (c) 2016 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/
#
%define version_unconverted 0.0.9
Name: runc
Version: 0.0.9
Release: 0
Summary: Tool for spawning and running OCI containers
License: Apache-2.0
Group: System/Management
Url: https://github.com/opencontainers/runc
Source: %{name}-%{version}.tar.xz
Patch0: seccomp-use-pkg-config.patch
BuildRequires: go >= 1.5
BuildRequires: libapparmor-devel
BuildRequires: libseccomp-devel
BuildRequires: libselinux-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
runc is a CLI tool for spawning and running containers according to the OCI
specification. It is designed to be as minimal as possible, and is the workhorse
of Docker. It was originally designed to be a replacement for LXC within Docker,
and has grown to become a separate project entirely.
%prep
%setup -q -n %{name}-%{version}
# Apply the vendor'd patch to the right subdirectory.
%patch0 -p1 -d Godeps/_workspace/src/github.com/seccomp/libseccomp-golang
%build
# TODO: Add support for gcc-go.
export BUILDTAGS="seccomp apparmor selinux"
make BUILDTAGS="$BUILDTAGS" all
%install
%{__install} -D -m755 %{name} %{buildroot}/%{_bindir}/%{name}
%post
%postun
%files
%defattr(-,root,root)
%doc README.md LICENSE
%{_bindir}/%{name}

View File

@ -0,0 +1,45 @@
From 37d7332d4b4159cc3ca09a020319da2492b66a4e Mon Sep 17 00:00:00 2001
From: Aleksa Sarai <asarai@suse.de>
Date: Mon, 21 Mar 2016 19:01:33 +1100
Subject: [PATCH] seccomp: use pkg-config for cgo flag generation
Not all distributions package libseccomp in the same way, but pkg-config
allows the same configuration to work on different distributions. Switch
to using pkg-config to automatically figure out what the correct
commandline flags are for libseccomp.
Signed-off-by: Aleksa Sarai <asarai@suse.de>
---
seccomp.go | 2 +-
seccomp_internal.go | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/seccomp.go b/seccomp.go
index cebafdfae841..de847378d927 100644
--- a/seccomp.go
+++ b/seccomp.go
@@ -20,7 +20,7 @@ import (
// C wrapping code
-// #cgo LDFLAGS: -lseccomp
+// #cgo pkg-config: libseccomp
// #include <stdlib.h>
// #include <seccomp.h>
import "C"
diff --git a/seccomp_internal.go b/seccomp_internal.go
index 306ed17570be..04095f664879 100644
--- a/seccomp_internal.go
+++ b/seccomp_internal.go
@@ -15,7 +15,7 @@ import (
// Get the seccomp header in scope
// Need stdlib.h for free() on cstrings
-// #cgo LDFLAGS: -lseccomp
+// #cgo pkg-config: libseccomp
/*
#include <stdlib.h>
#include <seccomp.h>
--
2.7.3