virtbuilder_pel7ppc64bebuilder0
5 years ago
2 changed files with 904 additions and 0 deletions
@ -0,0 +1,276 @@ |
|||||||
|
From a52f7bfdea91550eee25ee5af1efed4bf1def869 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Giuseppe Scrivano <gscrivan@redhat.com> |
||||||
|
Date: Fri, 25 May 2018 18:04:06 +0200 |
||||||
|
Subject: [PATCH] sd-notify: do not hang when NOTIFY_SOCKET is used with create |
||||||
|
|
||||||
|
if NOTIFY_SOCKET is used, do not block the main runc process waiting |
||||||
|
for events on the notify socket. Bind mount the parent directory of |
||||||
|
the notify socket, so that "start" can create the socket and it is |
||||||
|
still accessible from the container. |
||||||
|
|
||||||
|
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> |
||||||
|
--- |
||||||
|
notify_socket.go | 113 ++++++++++++++++++++++++++++++++++------------- |
||||||
|
signals.go | 4 +- |
||||||
|
start.go | 13 +++++- |
||||||
|
utils_linux.go | 12 ++++- |
||||||
|
4 files changed, 106 insertions(+), 36 deletions(-) |
||||||
|
|
||||||
|
diff --git a/notify_socket.go b/notify_socket.go |
||||||
|
index b890b5b1c..286ce1ddd 100644 |
||||||
|
--- a/notify_socket.go |
||||||
|
+++ b/notify_socket.go |
||||||
|
@@ -6,11 +6,14 @@ import ( |
||||||
|
"bytes" |
||||||
|
"fmt" |
||||||
|
"net" |
||||||
|
+ "os" |
||||||
|
+ "path" |
||||||
|
"path/filepath" |
||||||
|
+ "strconv" |
||||||
|
+ "time" |
||||||
|
|
||||||
|
+ "github.com/opencontainers/runc/libcontainer" |
||||||
|
"github.com/opencontainers/runtime-spec/specs-go" |
||||||
|
- |
||||||
|
- "github.com/sirupsen/logrus" |
||||||
|
"github.com/urfave/cli" |
||||||
|
) |
||||||
|
|
||||||
|
@@ -26,12 +29,12 @@ func newNotifySocket(context *cli.Context, notifySocketHost string, id string) * |
||||||
|
} |
||||||
|
|
||||||
|
root := filepath.Join(context.GlobalString("root"), id) |
||||||
|
- path := filepath.Join(root, "notify.sock") |
||||||
|
+ socketPath := filepath.Join(root, "notify", "notify.sock") |
||||||
|
|
||||||
|
notifySocket := ¬ifySocket{ |
||||||
|
socket: nil, |
||||||
|
host: notifySocketHost, |
||||||
|
- socketPath: path, |
||||||
|
+ socketPath: socketPath, |
||||||
|
} |
||||||
|
|
||||||
|
return notifySocket |
||||||
|
@@ -43,13 +46,19 @@ func (s *notifySocket) Close() error { |
||||||
|
|
||||||
|
// If systemd is supporting sd_notify protocol, this function will add support |
||||||
|
// for sd_notify protocol from within the container. |
||||||
|
-func (s *notifySocket) setupSpec(context *cli.Context, spec *specs.Spec) { |
||||||
|
- mount := specs.Mount{Destination: s.host, Source: s.socketPath, Options: []string{"bind"}} |
||||||
|
+func (s *notifySocket) setupSpec(context *cli.Context, spec *specs.Spec) error { |
||||||
|
+ pathInContainer := filepath.Join("/run/notify", path.Base(s.socketPath)) |
||||||
|
+ mount := specs.Mount{ |
||||||
|
+ Destination: path.Dir(pathInContainer), |
||||||
|
+ Source: path.Dir(s.socketPath), |
||||||
|
+ Options: []string{"bind", "nosuid", "noexec", "nodev", "ro"}, |
||||||
|
+ } |
||||||
|
spec.Mounts = append(spec.Mounts, mount) |
||||||
|
- spec.Process.Env = append(spec.Process.Env, fmt.Sprintf("NOTIFY_SOCKET=%s", s.host)) |
||||||
|
+ spec.Process.Env = append(spec.Process.Env, fmt.Sprintf("NOTIFY_SOCKET=%s", pathInContainer)) |
||||||
|
+ return nil |
||||||
|
} |
||||||
|
|
||||||
|
-func (s *notifySocket) setupSocket() error { |
||||||
|
+func (s *notifySocket) bindSocket() error { |
||||||
|
addr := net.UnixAddr{ |
||||||
|
Name: s.socketPath, |
||||||
|
Net: "unixgram", |
||||||
|
@@ -64,45 +73,89 @@ func (s *notifySocket) setupSocket() error { |
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
-// pid1 must be set only with -d, as it is used to set the new process as the main process |
||||||
|
-// for the service in systemd |
||||||
|
-func (s *notifySocket) run(pid1 int) { |
||||||
|
- buf := make([]byte, 512) |
||||||
|
- notifySocketHostAddr := net.UnixAddr{Name: s.host, Net: "unixgram"} |
||||||
|
+func (s *notifySocket) setupSocketDirectory() error { |
||||||
|
+ return os.Mkdir(path.Dir(s.socketPath), 0755) |
||||||
|
+} |
||||||
|
+ |
||||||
|
+func notifySocketStart(context *cli.Context, notifySocketHost, id string) (*notifySocket, error) { |
||||||
|
+ notifySocket := newNotifySocket(context, notifySocketHost, id) |
||||||
|
+ if notifySocket == nil { |
||||||
|
+ return nil, nil |
||||||
|
+ } |
||||||
|
+ |
||||||
|
+ if err := notifySocket.bindSocket(); err != nil { |
||||||
|
+ return nil, err |
||||||
|
+ } |
||||||
|
+ return notifySocket, nil |
||||||
|
+} |
||||||
|
+ |
||||||
|
+func (n *notifySocket) waitForContainer(container libcontainer.Container) error { |
||||||
|
+ s, err := container.State() |
||||||
|
+ if err != nil { |
||||||
|
+ return err |
||||||
|
+ } |
||||||
|
+ return n.run(s.InitProcessPid) |
||||||
|
+} |
||||||
|
+ |
||||||
|
+func (n *notifySocket) run(pid1 int) error { |
||||||
|
+ if n.socket == nil { |
||||||
|
+ return nil |
||||||
|
+ } |
||||||
|
+ notifySocketHostAddr := net.UnixAddr{Name: n.host, Net: "unixgram"} |
||||||
|
client, err := net.DialUnix("unixgram", nil, ¬ifySocketHostAddr) |
||||||
|
if err != nil { |
||||||
|
- logrus.Error(err) |
||||||
|
- return |
||||||
|
+ return err |
||||||
|
} |
||||||
|
- for { |
||||||
|
- r, err := s.socket.Read(buf) |
||||||
|
- if err != nil { |
||||||
|
- break |
||||||
|
+ |
||||||
|
+ ticker := time.NewTicker(time.Millisecond * 100) |
||||||
|
+ defer ticker.Stop() |
||||||
|
+ |
||||||
|
+ fileChan := make(chan []byte) |
||||||
|
+ go func() { |
||||||
|
+ for { |
||||||
|
+ buf := make([]byte, 512) |
||||||
|
+ r, err := n.socket.Read(buf) |
||||||
|
+ if err != nil { |
||||||
|
+ return |
||||||
|
+ } |
||||||
|
+ got := buf[0:r] |
||||||
|
+ if !bytes.HasPrefix(got, []byte("READY=")) { |
||||||
|
+ continue |
||||||
|
+ } |
||||||
|
+ fileChan <- got |
||||||
|
+ return |
||||||
|
} |
||||||
|
- var out bytes.Buffer |
||||||
|
- for _, line := range bytes.Split(buf[0:r], []byte{'\n'}) { |
||||||
|
- if bytes.HasPrefix(line, []byte("READY=")) { |
||||||
|
+ }() |
||||||
|
+ |
||||||
|
+ for { |
||||||
|
+ select { |
||||||
|
+ case <-ticker.C: |
||||||
|
+ _, err := os.Stat(filepath.Join("/proc", strconv.Itoa(pid1))) |
||||||
|
+ if err != nil { |
||||||
|
+ return nil |
||||||
|
+ } |
||||||
|
+ case b := <-fileChan: |
||||||
|
+ for _, line := range bytes.Split(b, []byte{'\n'}) { |
||||||
|
+ var out bytes.Buffer |
||||||
|
_, err = out.Write(line) |
||||||
|
if err != nil { |
||||||
|
- return |
||||||
|
+ return err |
||||||
|
} |
||||||
|
|
||||||
|
_, err = out.Write([]byte{'\n'}) |
||||||
|
if err != nil { |
||||||
|
- return |
||||||
|
+ return err |
||||||
|
} |
||||||
|
|
||||||
|
_, err = client.Write(out.Bytes()) |
||||||
|
if err != nil { |
||||||
|
- return |
||||||
|
+ return err |
||||||
|
} |
||||||
|
|
||||||
|
// now we can inform systemd to use pid1 as the pid to monitor |
||||||
|
- if pid1 > 0 { |
||||||
|
- newPid := fmt.Sprintf("MAINPID=%d\n", pid1) |
||||||
|
- client.Write([]byte(newPid)) |
||||||
|
- } |
||||||
|
- return |
||||||
|
+ newPid := fmt.Sprintf("MAINPID=%d\n", pid1) |
||||||
|
+ client.Write([]byte(newPid)) |
||||||
|
+ return nil |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
diff --git a/signals.go b/signals.go |
||||||
|
index b67f65a03..dd25e094c 100644 |
||||||
|
--- a/signals.go |
||||||
|
+++ b/signals.go |
||||||
|
@@ -70,6 +70,7 @@ func (h *signalHandler) forward(process *libcontainer.Process, tty *tty, detach |
||||||
|
h.notifySocket.run(pid1) |
||||||
|
return 0, nil |
||||||
|
} |
||||||
|
+ h.notifySocket.run(os.Getpid()) |
||||||
|
go h.notifySocket.run(0) |
||||||
|
} |
||||||
|
|
||||||
|
@@ -97,9 +98,6 @@ func (h *signalHandler) forward(process *libcontainer.Process, tty *tty, detach |
||||||
|
// status because we must ensure that any of the go specific process |
||||||
|
// fun such as flushing pipes are complete before we return. |
||||||
|
process.Wait() |
||||||
|
- if h.notifySocket != nil { |
||||||
|
- h.notifySocket.Close() |
||||||
|
- } |
||||||
|
return e.status, nil |
||||||
|
} |
||||||
|
} |
||||||
|
diff --git a/start.go b/start.go |
||||||
|
index 2bb698b20..3a1769a43 100644 |
||||||
|
--- a/start.go |
||||||
|
+++ b/start.go |
||||||
|
@@ -3,6 +3,7 @@ package main |
||||||
|
import ( |
||||||
|
"errors" |
||||||
|
"fmt" |
||||||
|
+ "os" |
||||||
|
|
||||||
|
"github.com/opencontainers/runc/libcontainer" |
||||||
|
"github.com/urfave/cli" |
||||||
|
@@ -31,7 +32,17 @@ your host.`, |
||||||
|
} |
||||||
|
switch status { |
||||||
|
case libcontainer.Created: |
||||||
|
- return container.Exec() |
||||||
|
+ notifySocket, err := notifySocketStart(context, os.Getenv("NOTIFY_SOCKET"), container.ID()) |
||||||
|
+ if err != nil { |
||||||
|
+ return err |
||||||
|
+ } |
||||||
|
+ if err := container.Exec(); err != nil { |
||||||
|
+ return err |
||||||
|
+ } |
||||||
|
+ if notifySocket != nil { |
||||||
|
+ return notifySocket.waitForContainer(container) |
||||||
|
+ } |
||||||
|
+ return nil |
||||||
|
case libcontainer.Stopped: |
||||||
|
return errors.New("cannot start a container that has stopped") |
||||||
|
case libcontainer.Running: |
||||||
|
diff --git a/utils_linux.go b/utils_linux.go |
||||||
|
index a37b1c3df..4921bd94b 100644 |
||||||
|
--- a/utils_linux.go |
||||||
|
+++ b/utils_linux.go |
||||||
|
@@ -401,7 +401,9 @@ func startContainer(context *cli.Context, spec *specs.Spec, action CtAct, criuOp |
||||||
|
|
||||||
|
notifySocket := newNotifySocket(context, os.Getenv("NOTIFY_SOCKET"), id) |
||||||
|
if notifySocket != nil { |
||||||
|
- notifySocket.setupSpec(context, spec) |
||||||
|
+ if err := notifySocket.setupSpec(context, spec); err != nil { |
||||||
|
+ return -1, err |
||||||
|
+ } |
||||||
|
} |
||||||
|
|
||||||
|
container, err := createContainer(context, id, spec) |
||||||
|
@@ -410,10 +412,16 @@ func startContainer(context *cli.Context, spec *specs.Spec, action CtAct, criuOp |
||||||
|
} |
||||||
|
|
||||||
|
if notifySocket != nil { |
||||||
|
- err := notifySocket.setupSocket() |
||||||
|
+ err := notifySocket.setupSocketDirectory() |
||||||
|
if err != nil { |
||||||
|
return -1, err |
||||||
|
} |
||||||
|
+ if action == CT_ACT_RUN { |
||||||
|
+ err := notifySocket.bindSocket() |
||||||
|
+ if err != nil { |
||||||
|
+ return -1, err |
||||||
|
+ } |
||||||
|
+ } |
||||||
|
} |
||||||
|
|
||||||
|
// Support on-demand socket activation by passing file descriptors into the container init process. |
@ -0,0 +1,628 @@ |
|||||||
|
%global with_devel 0 |
||||||
|
%global with_bundled 1 |
||||||
|
%global with_check 0 |
||||||
|
%global with_unit_test 0 |
||||||
|
%global with_debug 1 |
||||||
|
|
||||||
|
%if 0%{?with_debug} |
||||||
|
%global _find_debuginfo_dwz_opts %{nil} |
||||||
|
%global _dwz_low_mem_die_limit 0 |
||||||
|
%else |
||||||
|
%global debug_package %{nil} |
||||||
|
%endif |
||||||
|
|
||||||
|
%global provider github |
||||||
|
%global provider_tld com |
||||||
|
%global project opencontainers |
||||||
|
%global repo runc |
||||||
|
# https://github.com/opencontainers/runc |
||||||
|
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} |
||||||
|
%global import_path %{provider_prefix} |
||||||
|
%global git0 https://github.com/opencontainers/runc |
||||||
|
%global commit0 11fc498ffa5c4561eef9242e7f7115d57e57055b |
||||||
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) |
||||||
|
|
||||||
|
Name: %{repo} |
||||||
|
Epoch: 2 |
||||||
|
Version: 1.0.0 |
||||||
|
Release: 86.dev.git%{shortcommit0}%{?dist} |
||||||
|
Summary: CLI for running Open Containers |
||||||
|
License: ASL 2.0 |
||||||
|
URL: %{git0} |
||||||
|
Source0: %{git0}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz |
||||||
|
Patch0: 1807.patch |
||||||
|
|
||||||
|
# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required |
||||||
|
#ExclusiveArch: %%{?go_arches:%%{go_arches}}%%{!?go_arches:%%{ix86} x86_64 %%{arm}} |
||||||
|
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x |
||||||
|
# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. |
||||||
|
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} |
||||||
|
BuildRequires: pkgconfig(libseccomp) |
||||||
|
BuildRequires: go-md2man |
||||||
|
BuildRequires: make |
||||||
|
BuildRequires: git |
||||||
|
|
||||||
|
%if ! 0%{?with_bundled} |
||||||
|
BuildRequires: golang(github.com/Sirupsen/logrus) |
||||||
|
BuildRequires: golang(github.com/codegangsta/cli) |
||||||
|
BuildRequires: golang(github.com/coreos/go-systemd/activation) |
||||||
|
BuildRequires: golang(github.com/coreos/go-systemd/dbus) |
||||||
|
BuildRequires: golang(github.com/coreos/go-systemd/util) |
||||||
|
BuildRequires: golang(github.com/docker/docker/pkg/mount) |
||||||
|
BuildRequires: golang(github.com/docker/docker/pkg/symlink) |
||||||
|
BuildRequires: golang(github.com/docker/docker/pkg/term) |
||||||
|
BuildRequires: golang(github.com/docker/go-units) |
||||||
|
BuildRequires: golang(github.com/godbus/dbus) |
||||||
|
BuildRequires: golang(github.com/golang/protobuf/proto) |
||||||
|
BuildRequires: golang(github.com/opencontainers/runtime-spec/specs-go) |
||||||
|
BuildRequires: golang(github.com/opencontainers/specs/specs-go) |
||||||
|
BuildRequires: golang(github.com/seccomp/libseccomp-golang) |
||||||
|
BuildRequires: golang(github.com/syndtr/gocapability/capability) |
||||||
|
BuildRequires: golang(github.com/vishvananda/netlink) |
||||||
|
BuildRequires: golang(github.com/vishvananda/netlink/nl) |
||||||
|
%endif |
||||||
|
Recommends: container-selinux >= 2:2.85-1 |
||||||
|
|
||||||
|
%ifnarch s390x |
||||||
|
Recommends: criu |
||||||
|
%endif |
||||||
|
|
||||||
|
%description |
||||||
|
The runc command can be used to start containers which are packaged |
||||||
|
in accordance with the Open Container Initiative's specifications, |
||||||
|
and to manage containers running under runc. |
||||||
|
|
||||||
|
%if 0%{?with_devel} |
||||||
|
%package devel |
||||||
|
Summary: %{summary} |
||||||
|
BuildArch: noarch |
||||||
|
|
||||||
|
%if 0%{?with_check} |
||||||
|
BuildRequires: golang(github.com/Sirupsen/logrus) |
||||||
|
BuildRequires: golang(github.com/coreos/go-systemd/dbus) |
||||||
|
BuildRequires: golang(github.com/coreos/go-systemd/util) |
||||||
|
BuildRequires: golang(github.com/docker/docker/pkg/mount) |
||||||
|
BuildRequires: golang(github.com/docker/docker/pkg/symlink) |
||||||
|
BuildRequires: golang(github.com/docker/go-units) |
||||||
|
BuildRequires: golang(github.com/godbus/dbus) |
||||||
|
BuildRequires: golang(github.com/golang/protobuf/proto) |
||||||
|
BuildRequires: golang(github.com/opencontainers/runtime-spec/specs-go) |
||||||
|
BuildRequires: golang(github.com/seccomp/libseccomp-golang) |
||||||
|
BuildRequires: golang(github.com/syndtr/gocapability/capability) |
||||||
|
BuildRequires: golang(github.com/vishvananda/netlink) |
||||||
|
BuildRequires: golang(github.com/vishvananda/netlink/nl) |
||||||
|
%endif |
||||||
|
|
||||||
|
Requires: golang(github.com/Sirupsen/logrus) |
||||||
|
Requires: golang(github.com/coreos/go-systemd/dbus) |
||||||
|
Requires: golang(github.com/coreos/go-systemd/util) |
||||||
|
Requires: golang(github.com/docker/docker/pkg/mount) |
||||||
|
Requires: golang(github.com/docker/docker/pkg/symlink) |
||||||
|
Requires: golang(github.com/docker/go-units) |
||||||
|
Requires: golang(github.com/godbus/dbus) |
||||||
|
Requires: golang(github.com/golang/protobuf/proto) |
||||||
|
Requires: golang(github.com/opencontainers/runtime-spec/specs-go) |
||||||
|
Requires: golang(github.com/seccomp/libseccomp-golang) |
||||||
|
Requires: golang(github.com/syndtr/gocapability/capability) |
||||||
|
Requires: golang(github.com/vishvananda/netlink) |
||||||
|
Requires: golang(github.com/vishvananda/netlink/nl) |
||||||
|
|
||||||
|
Provides: golang(%{import_path}/libcontainer) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/apparmor) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/cgroups) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/cgroups/fs) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/cgroups/systemd) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/configs) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/configs/validate) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/criurpc) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/devices) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/integration) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/keys) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/nsenter) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/seccomp) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/specconv) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/stacktrace) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/system) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/user) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/utils) = %{version}-%{release} |
||||||
|
Provides: golang(%{import_path}/libcontainer/xattr) = %{version}-%{release} |
||||||
|
|
||||||
|
%description devel |
||||||
|
The runc command can be used to start containers which are packaged |
||||||
|
in accordance with the Open Container Initiative's specifications, |
||||||
|
and to manage containers running under runc. |
||||||
|
|
||||||
|
This package contains library source intended for |
||||||
|
building other packages which use import path with |
||||||
|
%{import_path} prefix. |
||||||
|
%endif |
||||||
|
|
||||||
|
%if 0%{?with_unit_test} && 0%{?with_devel} |
||||||
|
%package unit-test |
||||||
|
Summary: Unit tests for %{name} package |
||||||
|
# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. |
||||||
|
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} |
||||||
|
|
||||||
|
%if 0%{?with_check} |
||||||
|
#Here comes all BuildRequires: PACKAGE the unit tests |
||||||
|
#in %%check section need for running |
||||||
|
%endif |
||||||
|
|
||||||
|
# test subpackage tests code from devel subpackage |
||||||
|
Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
||||||
|
|
||||||
|
%description unit-test |
||||||
|
The runc command can be used to start containers which are packaged |
||||||
|
in accordance with the Open Container Initiative's specifications, |
||||||
|
and to manage containers running under runc. |
||||||
|
|
||||||
|
This package contains unit tests for project |
||||||
|
providing packages with %{import_path} prefix. |
||||||
|
%endif |
||||||
|
|
||||||
|
%prep |
||||||
|
%autosetup -Sgit -n %{name}-%{commit0} |
||||||
|
|
||||||
|
%build |
||||||
|
mkdir -p GOPATH |
||||||
|
pushd GOPATH |
||||||
|
mkdir -p src/%{provider}.%{provider_tld}/%{project} |
||||||
|
ln -s $(dirs +1 -l) src/%{import_path} |
||||||
|
popd |
||||||
|
|
||||||
|
pushd GOPATH/src/%{import_path} |
||||||
|
export GOPATH=%{gopath}:$(pwd)/GOPATH |
||||||
|
|
||||||
|
make BUILDTAGS="seccomp selinux" all |
||||||
|
|
||||||
|
sed -i '/\#\!\/bin\/bash/d' contrib/completions/bash/%{name} |
||||||
|
|
||||||
|
%install |
||||||
|
install -d -p %{buildroot}%{_bindir} |
||||||
|
install -p -m 755 %{name} %{buildroot}%{_bindir} |
||||||
|
|
||||||
|
# generate man pages |
||||||
|
man/md2man-all.sh |
||||||
|
|
||||||
|
# install man pages |
||||||
|
install -d -p %{buildroot}%{_mandir}/man8 |
||||||
|
install -p -m 0644 man/man8/*.8 %{buildroot}%{_mandir}/man8/. |
||||||
|
# install bash completion |
||||||
|
install -d -p %{buildroot}%{_datadir}/bash-completion/completions |
||||||
|
install -p -m 0644 contrib/completions/bash/%{name} %{buildroot}%{_datadir}/bash-completion/completions |
||||||
|
|
||||||
|
# source codes for building projects |
||||||
|
%if 0%{?with_devel} |
||||||
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ |
||||||
|
# find all *.go but no *_test.go files and generate devel.file-list |
||||||
|
for file in $(find . -iname "*.go" \! -iname "*_test.go" | grep -v "^./Godeps") ; do |
||||||
|
echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list |
||||||
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file) |
||||||
|
cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file |
||||||
|
echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list |
||||||
|
done |
||||||
|
for file in $(find . -iname "*.proto" | grep -v "^./Godeps") ; do |
||||||
|
echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list |
||||||
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file) |
||||||
|
cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file |
||||||
|
echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list |
||||||
|
done |
||||||
|
%endif |
||||||
|
|
||||||
|
# testing files for this project |
||||||
|
%if 0%{?with_unit_test} && 0%{?with_devel} |
||||||
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ |
||||||
|
# find all *_test.go files and generate unit-test.file-list |
||||||
|
for file in $(find . -iname "*_test.go" | grep -v "^./Godeps"); do |
||||||
|
echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list |
||||||
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file) |
||||||
|
cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file |
||||||
|
echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list |
||||||
|
done |
||||||
|
%endif |
||||||
|
|
||||||
|
%if 0%{?with_devel} |
||||||
|
sort -u -o devel.file-list devel.file-list |
||||||
|
%endif |
||||||
|
|
||||||
|
%check |
||||||
|
%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} |
||||||
|
%if ! 0%{?with_bundled} |
||||||
|
export GOPATH=%{buildroot}/%{gopath}:%{gopath} |
||||||
|
%else |
||||||
|
export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath} |
||||||
|
%endif |
||||||
|
|
||||||
|
%if ! 0%{?gotest:1} |
||||||
|
%global gotest go test |
||||||
|
%endif |
||||||
|
|
||||||
|
# FAIL: TestFactoryNewTmpfs (0.00s), factory_linux_test.go:59: operation not permitted |
||||||
|
#%%gotest %%{import_path}/libcontainer |
||||||
|
#%%gotest %%{import_path}/libcontainer/cgroups |
||||||
|
# --- FAIL: TestInvalidCgroupPath (0.00s) |
||||||
|
# apply_raw_test.go:16: couldn't get cgroup root: mountpoint for cgroup not found |
||||||
|
# apply_raw_test.go:25: couldn't get cgroup data: mountpoint for cgroup not found |
||||||
|
#%%gotest %%{import_path}/libcontainer/cgroups/fs |
||||||
|
#%%gotest %%{import_path}/libcontainer/configs |
||||||
|
#%%gotest %%{import_path}/libcontainer/devices |
||||||
|
# undefined reference to `nsexec' |
||||||
|
#%%gotest %%{import_path}/libcontainer/integration |
||||||
|
# Unable to create tstEth link: operation not permitted |
||||||
|
#%%gotest %%{import_path}/libcontainer/netlink |
||||||
|
# undefined reference to `nsexec' |
||||||
|
#%%gotest %%{import_path}/libcontainer/nsenter |
||||||
|
#%%gotest %%{import_path}/libcontainer/stacktrace |
||||||
|
#constant 2147483648 overflows int |
||||||
|
#%%gotest %%{import_path}/libcontainer/user |
||||||
|
#%%gotest %%{import_path}/libcontainer/utils |
||||||
|
#%%gotest %%{import_path}/libcontainer/xattr |
||||||
|
%endif |
||||||
|
|
||||||
|
#define license tag if not already defined |
||||||
|
%{!?_licensedir:%global license %doc} |
||||||
|
|
||||||
|
%files |
||||||
|
%license LICENSE |
||||||
|
%doc MAINTAINERS_GUIDE.md PRINCIPLES.md README.md CONTRIBUTING.md |
||||||
|
%{_bindir}/%{name} |
||||||
|
%{_mandir}/man8/%{name}* |
||||||
|
%{_datadir}/bash-completion/completions/%{name} |
||||||
|
|
||||||
|
%if 0%{?with_devel} |
||||||
|
%files devel -f devel.file-list |
||||||
|
%license LICENSE |
||||||
|
%doc MAINTAINERS_GUIDE.md PRINCIPLES.md README.md CONTRIBUTING.md |
||||||
|
%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project} |
||||||
|
%dir %{gopath}/src/%{import_path} |
||||||
|
%endif |
||||||
|
|
||||||
|
%if 0%{?with_unit_test} && 0%{?with_devel} |
||||||
|
%files unit-test -f unit-test.file-list |
||||||
|
%license LICENSE |
||||||
|
%doc MAINTAINERS_GUIDE.md PRINCIPLES.md README.md CONTRIBUTING.md |
||||||
|
%endif |
||||||
|
|
||||||
|
%changelog |
||||||
|
* Sat Mar 23 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-86.dev.git11fc498 |
||||||
|
- autobuilt 11fc498 |
||||||
|
|
||||||
|
* Thu Mar 21 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-85.dev.gitdd22a84 |
||||||
|
- autobuilt dd22a84 |
||||||
|
|
||||||
|
* Sun Mar 17 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-84.dev.gitf56b4cb |
||||||
|
- autobuilt f56b4cb |
||||||
|
|
||||||
|
* Sat Mar 16 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-83.dev.git7341c22 |
||||||
|
- autobuilt 7341c22 |
||||||
|
|
||||||
|
* Mon Mar 11 2019 Dan Walsh (Bot) <dwalsh@fedoraproject.org> - 2:1.0.0-82.dev.git2b18fe1 |
||||||
|
- Change Requires container-selinux to recommends container-selinux |
||||||
|
|
||||||
|
* Fri Mar 08 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-81.dev.git2b18fe1 |
||||||
|
- autobuilt 2b18fe1 |
||||||
|
|
||||||
|
* Wed Mar 06 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-80.dev.git923a8f8 |
||||||
|
- autobuilt 923a8f8 |
||||||
|
|
||||||
|
* Tue Mar 05 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-79.dev.gitf739110 |
||||||
|
- autobuilt f739110 |
||||||
|
|
||||||
|
* Tue Feb 26 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-78.dev.gitf79e211 |
||||||
|
- autobuilt f79e211 |
||||||
|
|
||||||
|
* Sun Feb 24 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-77.dev.git5b5130a |
||||||
|
- autobuilt 5b5130a |
||||||
|
|
||||||
|
* Fri Feb 22 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-76.dev.git8084f76 |
||||||
|
- autobuilt 8084f76 |
||||||
|
|
||||||
|
* Sat Feb 16 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-75.dev.git751f18d |
||||||
|
- autobuilt 751f18d |
||||||
|
|
||||||
|
* Thu Feb 14 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-74.dev.gitf414f49 |
||||||
|
- autobuilt f414f49 |
||||||
|
|
||||||
|
* Wed Feb 13 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-73.dev.git0a012df |
||||||
|
- autobuilt 0a012df |
||||||
|
|
||||||
|
* Tue Feb 12 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-72.dev.git6635b4f |
||||||
|
- autobuilt 6635b4f |
||||||
|
|
||||||
|
* Sat Feb 09 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-71.dev.gitdd023c4 |
||||||
|
- autobuilt dd023c4 |
||||||
|
|
||||||
|
* Sat Feb 02 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-70.dev.gite4fa8a4 |
||||||
|
- autobuilt e4fa8a4 |
||||||
|
|
||||||
|
* Sat Jan 26 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-69.dev.git8011af4 |
||||||
|
- autobuilt 8011af4 |
||||||
|
|
||||||
|
* Wed Jan 16 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-68.dev.gitc1e454b |
||||||
|
- autobuilt c1e454b |
||||||
|
|
||||||
|
* Tue Jan 15 2019 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-67.dev.git12f6a99 |
||||||
|
- autobuilt 12f6a99 |
||||||
|
|
||||||
|
* Fri Dec 21 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-66.dev.gitbbb17ef |
||||||
|
- autobuilt bbb17ef |
||||||
|
|
||||||
|
* Tue Dec 11 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-65.dev.gitf5b9991 |
||||||
|
- autobuilt f5b9991 |
||||||
|
|
||||||
|
* Sun Dec 09 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-64.dev.git859f745 |
||||||
|
- autobuilt 859f745 |
||||||
|
|
||||||
|
* Wed Dec 05 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-63.dev.git25f3f89 |
||||||
|
- autobuilt 25f3f89 |
||||||
|
|
||||||
|
* Tue Dec 04 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-62.dev.git96ec217 |
||||||
|
- autobuilt 96ec217 |
||||||
|
|
||||||
|
* Tue Nov 27 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-61.dev.git4932620 |
||||||
|
- autobuilt 4932620 |
||||||
|
|
||||||
|
* Sun Nov 25 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-60.dev.git9397a6f |
||||||
|
- autobuilt 9397a6f |
||||||
|
|
||||||
|
* Sat Nov 24 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-59.dev.gitccb5efd3 |
||||||
|
- rc6 build |
||||||
|
|
||||||
|
* Wed Nov 07 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-58.dev.git079817c |
||||||
|
- autobuilt 079817c |
||||||
|
|
||||||
|
* Thu Nov 01 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-57.dev.git9e5aa74 |
||||||
|
- built commit 9e5aa74 |
||||||
|
|
||||||
|
* Tue Oct 16 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-56.dev.git78ef28e |
||||||
|
- built commit 78ef28e |
||||||
|
|
||||||
|
* Tue Sep 25 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-55.dev.gitfdd8055 |
||||||
|
- built commit 578fe65e4fb86b95cc67b304d99d799f976dc40c |
||||||
|
|
||||||
|
* Mon Sep 24 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-54.dev.git00dc700 |
||||||
|
- built commit 00dc700 |
||||||
|
- rebase 1807.patch |
||||||
|
- enable debuginfo for all versions |
||||||
|
|
||||||
|
* Fri Sep 07 2018 baude <bbaude@redhat.com> - 2:1.0.0-53.dev.git70ca035 |
||||||
|
- Add BuildRequires git |
||||||
|
|
||||||
|
* Thu Sep 06 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-52.dev.git70ca035 |
||||||
|
- built commit 70ca035 |
||||||
|
|
||||||
|
* Fri Aug 31 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-51.dev.gitfdd8055 |
||||||
|
- Fix handling of tmpcopyup |
||||||
|
|
||||||
|
* Wed Aug 15 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-50.dev.git20aff4f |
||||||
|
- Revert minor cleanup patch |
||||||
|
|
||||||
|
* Tue Aug 7 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-49.dev.gitb4056a4 |
||||||
|
- Pass GOMAXPROCS to init processes |
||||||
|
|
||||||
|
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 2:1.0.0-48.dev.gitbeadf0e |
||||||
|
- Rebuild with fixed binutils |
||||||
|
|
||||||
|
* Sun Jul 29 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-47.dev.gitbeadf0e |
||||||
|
- autobuilt beadf0e |
||||||
|
|
||||||
|
* Fri Jul 27 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-46.dev.gitb4e2ecb |
||||||
|
- Add patch https://github.com/opencontainers/runc/pull/1807 to allow |
||||||
|
- runc and podman to work with sd_notify |
||||||
|
|
||||||
|
* Thu Jul 26 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-45.dev.gitb4e2ecb |
||||||
|
- autobuilt b4e2ecb |
||||||
|
|
||||||
|
* Wed Jul 25 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-44.dev.gitbc14672 |
||||||
|
- autobuilt bc14672 |
||||||
|
|
||||||
|
* Fri Jul 20 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-43.dev.git21ac086 |
||||||
|
- Resolves: #1606281 - temp disable debuginfo for rawhide |
||||||
|
|
||||||
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.0.0-42.dev.git21ac086 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jul 11 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-41.dev.git21ac086 |
||||||
|
- autobuilt 21ac086 |
||||||
|
|
||||||
|
* Fri Jul 06 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-40.git45e08f6 |
||||||
|
- autobuilt 45e08f6 |
||||||
|
|
||||||
|
* Tue Jun 26 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-39.git2c632d1 |
||||||
|
- autobuilt 2c632d1 |
||||||
|
|
||||||
|
* Mon Jun 25 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-38.git3ccfa2f |
||||||
|
- autobuilt 3ccfa2f |
||||||
|
|
||||||
|
* Sun Jun 24 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-37.git0154d05 |
||||||
|
- autobuilt 0154d05 |
||||||
|
|
||||||
|
* Sat Jun 16 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-36.gitad0f525 |
||||||
|
- autobuilt ad0f525 |
||||||
|
|
||||||
|
* Tue Jun 05 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-35.gitdd56ece |
||||||
|
- autobuilt dd56ece |
||||||
|
|
||||||
|
* Sun Jun 03 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-34.git2e91544 |
||||||
|
- autobuilt 2e91544 |
||||||
|
|
||||||
|
* Thu May 31 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-33.gitecd55a4 |
||||||
|
- autobuilt ecd55a4 |
||||||
|
|
||||||
|
* Fri May 25 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-32.gitdd67ab1 |
||||||
|
- autobuilt dd67ab1 |
||||||
|
|
||||||
|
* Fri Apr 27 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-31.git0cbfd83 |
||||||
|
- autobuilt commit 0cbfd83 |
||||||
|
|
||||||
|
* Tue Apr 24 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-30.git871ba2e |
||||||
|
- autobuilt commit 871ba2e |
||||||
|
|
||||||
|
* Fri Apr 20 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-29.git1f11dc5 |
||||||
|
- autobuilt commit 1f11dc5 |
||||||
|
|
||||||
|
* Thu Apr 19 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-28.git63e6708 |
||||||
|
- autobuilt commit 63e6708 |
||||||
|
|
||||||
|
* Tue Apr 17 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-27.gitd56f6cc |
||||||
|
- autobuilt commit d56f6cc |
||||||
|
|
||||||
|
* Tue Apr 17 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-26.gitd56f6cc |
||||||
|
- autobuilt commit d56f6cc |
||||||
|
|
||||||
|
* Mon Apr 16 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-25.gitd56f6cc |
||||||
|
- autobuilt commit d56f6cc |
||||||
|
|
||||||
|
* Mon Apr 16 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-24.gitd56f6cc |
||||||
|
- autobuilt commit d56f6cc |
||||||
|
|
||||||
|
* Mon Apr 16 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 2:1.0.0-23.gitf753f30 |
||||||
|
- autobuilt commit f753f30 |
||||||
|
|
||||||
|
* Fri Apr 13 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-22.gitf753f30 |
||||||
|
- Resolves: #1567229 |
||||||
|
- built commit f753f30 |
||||||
|
|
||||||
|
* Mon Apr 09 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-21.gitcc4307a |
||||||
|
- autobuilt commit cc4307a |
||||||
|
|
||||||
|
* Mon Mar 12 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2:1.0.0-20.rc5.git4bb1fe4 |
||||||
|
- Rebuild for aarch64 install issue |
||||||
|
|
||||||
|
* Tue Feb 27 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-19.rc5.git4bb1fe4 |
||||||
|
- release v1.0.0~rc5 |
||||||
|
|
||||||
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.0.0-17.rc4.git9f9c962.1 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jan 24 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-17.rc4.git9f9c962 |
||||||
|
- Bump to the latest from upstream |
||||||
|
|
||||||
|
* Tue Dec 26 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-16.rc4.gite6516b3 |
||||||
|
- install bash completion to correct location |
||||||
|
- remove shebang from bash completion gh#1679 |
||||||
|
- correct rpmlint issues |
||||||
|
|
||||||
|
* Mon Dec 18 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-15.rc4.gite6516b3 |
||||||
|
- built commit e6516b3 |
||||||
|
|
||||||
|
* Fri Dec 15 2017 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-14.rc4.gitdb093f6 |
||||||
|
- Lots of fixes for libcontainer |
||||||
|
- support unbindable,runbindable for rootfs propagation |
||||||
|
|
||||||
|
* Sun Dec 10 2017 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-13.rc4.git1d3ab6d |
||||||
|
- Many Stability fixes |
||||||
|
- Many fixes for rootless containers |
||||||
|
- Many fixes for static builds |
||||||
|
|
||||||
|
* Wed Oct 25 2017 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-12.rc4.gitaea4f21 |
||||||
|
- Add container-selinux prerequires to make sure runc is labeled correctly |
||||||
|
|
||||||
|
* Tue Sep 12 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-11.rc4.gitaea4f21 |
||||||
|
- disable devel package and %%check - makes life easier for module building |
||||||
|
|
||||||
|
* Tue Sep 5 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.0.0-10.rc4.gitaea4f21 |
||||||
|
- bump Epoch to 2 since bump to v1.0.1 was in error |
||||||
|
- bump to v1.0.0-rc4 |
||||||
|
- built commit aea4f21 |
||||||
|
|
||||||
|
* Tue Sep 5 2017 Dan Walsh <dwalsh@redhat.name> - 1.0.1-4.rc.gitaea4f21 |
||||||
|
- Rebuilt from master, with requierements needed for CRI-O |
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.1-3.gitc5ec254 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.1-2.gitc5ec254 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Jul 20 2017 Dan Walsh <dwalsh@redhat.name> - 1.0.1-1.gitc5ec25487 |
||||||
|
- v1.0.0-rc5 release of runc |
||||||
|
|
||||||
|
* Tue Jun 27 2017 Till Maas <opensource@till.name> - 1.0.0-9.git6394544 |
||||||
|
- Just make the criu dependency optional (https://bugzilla.redhat.com/show_bug.cgi?id=1460148) |
||||||
|
|
||||||
|
* Tue Jun 27 2017 Till Maas <opensource@till.name> - 1.0.0-8.git6394544.1 |
||||||
|
- Do not build for ix86: there is no criu on ix86 |
||||||
|
|
||||||
|
* Fri Jun 02 2017 Antonio Murdaca <runcom@fedoraproject.org> - 1:1.0.0-7.git6394544.1 |
||||||
|
- rebuilt |
||||||
|
|
||||||
|
* Fri Mar 24 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:1.0.0-6.git75f8da7 |
||||||
|
- bump to v1.0.0-rc3 |
||||||
|
- built opencontainers/v1.0.0-rc3 commit 75f8da7 |
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.0-5.rc2.gitc91b5be.1 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Feb 01 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:1.0.0-5.rc2 |
||||||
|
- depend on criu for checkpoint/restore |
||||||
|
|
||||||
|
* Wed Jan 18 2017 Dennis Gilmore <dennis@ausil.us> - 1:1.0.0-4.rc2 |
||||||
|
- enable aarch64 |
||||||
|
|
||||||
|
* Wed Jan 11 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:1.0.0-3.rc2 |
||||||
|
- Resolves: #1412238 - *CVE-2016-9962* - set init processes as non-dumpable, |
||||||
|
runc patch from Michael Crosby <crosbymichael@gmail.com> |
||||||
|
|
||||||
|
* Fri Jan 06 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:1.0.0-2.rc2.git47ea5c7 |
||||||
|
- patch to enable seccomp |
||||||
|
- Pass $BUILDTAGS to the compiler in cases where we don't have to define |
||||||
|
gobuild for ourselves. |
||||||
|
- From: Nalin Dahyabhai <nalin@redhat.com> |
||||||
|
|
||||||
|
* Wed Dec 21 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:1.0.0-1.rc2.git47ea5c7 |
||||||
|
- bump to 1.0.0 rc2 |
||||||
|
- built commit 47ea5c7 |
||||||
|
- build with bundled sources for now (some new dependencies need to be packaged) |
||||||
|
|
||||||
|
* Wed Aug 24 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:1.0.0-1.rc1.git04f275d |
||||||
|
- Resolves: #1342707 - bump to v1.0.0-rc1 |
||||||
|
- built commit 04f275d |
||||||
|
- cosmetic changes to make rpmlint happy |
||||||
|
|
||||||
|
* Thu Jul 21 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.1-4.git57b9972 |
||||||
|
- https://fedoraproject.org/wiki/Changes/golang1.7 |
||||||
|
|
||||||
|
* Thu May 26 2016 jchaloup <jchaloup@redhat.com> - 1:0.1.1-3.git57b9972 |
||||||
|
- Add bash completion |
||||||
|
resolves: #1340119 |
||||||
|
|
||||||
|
* Thu May 19 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1:0.1.1-2.gitbaf6536 |
||||||
|
- add selinux to BUILDTAGS in addition to the default seccomp tag |
||||||
|
|
||||||
|
* Tue Apr 26 2016 jchaloup <jchaloup@redhat.com> - 1:0.1.1-0.1.gitbaf6536 |
||||||
|
- Update to v0.1.1 |
||||||
|
resolves: #1330378 |
||||||
|
|
||||||
|
* Tue Apr 12 2016 jchaloup <jchaloup@redhat.com> - 1:0.0.9-0.3.git94dc520 |
||||||
|
- Ship man pages too |
||||||
|
resolves: #1326115 |
||||||
|
|
||||||
|
* Wed Apr 06 2016 jchaloup <jchaloup@redhat.com> - 1:0.0.9-0.2.git94dc520 |
||||||
|
- Extend supported architectures to golang_arches |
||||||
|
Disable failing test |
||||||
|
related: #1290943 |
||||||
|
|
||||||
|
* Wed Mar 16 2016 jchaloup <jchaloup@redhat.com> - 1:0.0.9-0.1.git94dc520 |
||||||
|
- Update to 0.0.9 |
||||||
|
resolves: #1290943 |
||||||
|
|
||||||
|
* Wed Mar 02 2016 jchaloup <jchaloup@redhat.com> - 1:0.0.8-0.1.git1a124e9 |
||||||
|
- Update to 0.0.8 |
||||||
|
|
||||||
|
* Mon Feb 22 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.0.5-0.4.git97bc9a7 |
||||||
|
- https://fedoraproject.org/wiki/Changes/golang1.6 |
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.0.5-0.3.git97bc9a7 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Dec 02 2015 jchaloup <jchaloup@redhat.com> - 1:0.0.5-0.2.git97bc9a7 |
||||||
|
- unit-test-devel subpackage requires devel with correct epoch |
||||||
|
|
||||||
|
* Wed Nov 25 2015 jchaloup <jchaloup@redhat.com> - 1:0.0.5-0.1.git97bc9a7 |
||||||
|
- Update to 0.0.5, introduce Epoch for Fedora due to 0.2 version instead of 0.0.2 |
||||||
|
resolves: #1286114 |
||||||
|
|
||||||
|
* Fri Aug 21 2015 Jan Chaloupka <jchaloup@redhat.com> - 0.2-0.2.git90e6d37 |
||||||
|
- First package for Fedora |
||||||
|
resolves: #1255179 |
Loading…
Reference in new issue