move docker stuff here
This commit is contained in:
parent
a1a19c553b
commit
7802ac7740
15
base/containerd/config.toml
Normal file
15
base/containerd/config.toml
Normal file
@ -0,0 +1,15 @@
|
||||
#root = "/var/lib/containerd"
|
||||
#state = "/run/containerd"
|
||||
#subreaper = true
|
||||
#oom_score = 0
|
||||
|
||||
#[grpc]
|
||||
# address = "/run/containerd/containerd.sock"
|
||||
# uid = 0
|
||||
# gid = 0
|
||||
|
||||
#[debug]
|
||||
# address = "/run/containerd/debug.sock"
|
||||
# uid = 0
|
||||
# gid = 0
|
||||
# level = "info"
|
@ -0,0 +1,26 @@
|
||||
From b5190a190d133660b3bba2187c6b5186a1655224 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Tue, 15 Sep 2020 17:40:30 +0000
|
||||
Subject: [PATCH] Update path to use packaged daemon executable in service unit
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
containerd.service | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/containerd.service b/containerd.service
|
||||
index 38a345945..4e262acb3 100644
|
||||
--- a/containerd.service
|
||||
+++ b/containerd.service
|
||||
@@ -21,7 +21,7 @@ After=network.target local-fs.target
|
||||
#uncomment to enable the experimental sbservice (sandboxed) version of containerd/cri integration
|
||||
#Environment="ENABLE_CRI_SANDBOXES=sandboxed"
|
||||
ExecStartPre=-/sbin/modprobe overlay
|
||||
-ExecStart=/usr/local/bin/containerd
|
||||
+ExecStart=/usr/bin/containerd
|
||||
|
||||
Type=notify
|
||||
Delegate=yes
|
||||
--
|
||||
2.40.1
|
||||
|
308
base/containerd/containerd.spec
Normal file
308
base/containerd/containerd.spec
Normal file
@ -0,0 +1,308 @@
|
||||
%bcond_with btrfs
|
||||
%bcond_without seccomp
|
||||
%bcond_without systemd
|
||||
|
||||
%define golang_set_gopath(d:) \
|
||||
export GOPATH="%{-d:%{-d*}}%{!-d:$(pwd -P)}"; \
|
||||
export PATH="$PATH:$GOPATH/bin"; \
|
||||
export GO111MODULE=off
|
||||
|
||||
%define golang_init_gopath(d:) \
|
||||
%{golang_set_gopath} \
|
||||
rm -rf "${GOPATH}/"{src,pkg,bin} \
|
||||
install -d "${GOPATH}"/{src,pkg,bin}
|
||||
|
||||
%define golang_src_path(p:) ${GOPATH:-.}/src/%{-p*}
|
||||
%define gobuilddir %{golang_src_path}
|
||||
|
||||
%define golang_prep(p:s:S:) \
|
||||
install -d "$GOPATH/src/%{-p*}" && \
|
||||
tar -x %{-S:--strip-components=%{-S*}} -C "%{golang_src_path -p %{-p*}}" -f %{-s*}
|
||||
|
||||
%define golang_install(p:s:S:) %{golang_prep}\
|
||||
go install %{-p*}
|
||||
|
||||
%define containerd_release 1.7.2
|
||||
%define containerd_commit 0cae528dd6cb557f7201036e9f43420650207b58
|
||||
%global containerd_short_sha %(c=%containerd_commit; echo ${c:0:7})
|
||||
%define containerd_package github.com/containerd/containerd
|
||||
%define containerd_src %{golang_src_path -p %containerd_package}
|
||||
|
||||
## Pre/Post release VCS metadata, for NVR when unmatched with a
|
||||
## release tag.
|
||||
# Update date to datestamp when containerd upstream data is bumped.
|
||||
%global containerd_rpm_snapshot_date 20210617
|
||||
%global containerd_rpm_snapshot_vcs git%{containerd_short_sha}
|
||||
# Get the version bits before the dash or plus.
|
||||
%global containerd_rpm_version %(r=%containerd_release; echo ${r%%%%-*})
|
||||
# Pre/Post release suffix with VCS info embedded into release.
|
||||
%global containerd_rpm_release_suffix .%{containerd_rpm_snapshot_date}.%{containerd_rpm_snapshot_vcs}
|
||||
|
||||
%global containerd_buildtags %{?containerd_buildtags} selinux
|
||||
%if %{with btrfs}
|
||||
%global containerd_buildtags %{?containerd_buildtags} btrfs
|
||||
%else
|
||||
%global containerd_buildtags %{?containerd_buildtags} no_btrfs
|
||||
%endif
|
||||
%if %{with seccomp}
|
||||
%global containerd_buildtags %{?containerd_buildtags} seccomp
|
||||
%endif
|
||||
|
||||
Name: containerd
|
||||
Version: %{containerd_rpm_version}
|
||||
Release: 1%{?dist}
|
||||
# Upstream license specification: Apache-2.0
|
||||
License: ASL 2.0
|
||||
Summary: An industry-standard container runtime with an emphasis on simplicity, robustness and portability
|
||||
|
||||
Source0: https://%{containerd_package}/archive/%{containerd_commit}/containerd-%{containerd_release}-%{containerd_short_sha}.tar.gz
|
||||
Source1: config.toml
|
||||
|
||||
Patch1000: containerd-1.4.0-Update-path-to-use-packaged-daemon-executable-in-ser.patch
|
||||
|
||||
# Runtime requirements
|
||||
Requires: runc
|
||||
%if %{with seccomp}
|
||||
# Require the version of seccomp that we were built against.
|
||||
%global seccomp_version %(pkg-config --modversion libseccomp 2>/dev/null || echo 0)
|
||||
Requires: libseccomp%{?_isa} >= %{seccomp_version}
|
||||
%endif
|
||||
# container-selinux 2.120.0 adds necessary support for containerd-cri
|
||||
Conflicts: container-selinux < 2.120.0
|
||||
|
||||
# Compilation requirements
|
||||
BuildRequires: golang >= 1.18.3
|
||||
BuildRequires: kernel-headers
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: go-rpm-macros
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: go-md2man
|
||||
%if %{with btrfs}
|
||||
BuildRequires: btrfs-progs-devel
|
||||
%endif
|
||||
%if %{with seccomp}
|
||||
BuildRequires: libseccomp-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
containerd is an industry-standard container runtime with an emphasis
|
||||
on simplicity, robustness and portability. It is available as a daemon
|
||||
for Linux and Windows, which can manage the complete container
|
||||
lifecycle of its host system: image transfer and storage, container
|
||||
execution and supervision, low-level storage and network attachments,
|
||||
etc.
|
||||
|
||||
%package stress
|
||||
License: ASL 2.0
|
||||
Summary: stress test a containerd daemon
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description stress
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%setup -c -T -n %{name}-%{version}-%{release}
|
||||
%golang_init_gopath
|
||||
|
||||
%golang_prep -p %{containerd_package} -s %SOURCE0 -S 1
|
||||
|
||||
cd "%containerd_src"
|
||||
%patch1000 -p1
|
||||
|
||||
%build
|
||||
%golang_set_gopath
|
||||
cd "%containerd_src"
|
||||
export LDFLAGS="-X %{containerd_package}/version.Version=%{version} -X %{containerd_package}/version.Revision=%{containerd_commit} "
|
||||
export BUILDTAGS="%{containerd_buildtags}"
|
||||
for cmd in containerd containerd-shim containerd-shim-runc-v1 containerd-shim-runc-v2 containerd-stress ctr gen-manpages ; do
|
||||
%gobuild -o %{gobuilddir}/bin/$cmd %{containerd_src}/cmd/$cmd
|
||||
done
|
||||
mkdir _man
|
||||
go-md2man -in docs/man/containerd-config.8.md -out _man/containerd-config.8
|
||||
go-md2man -in docs/man/containerd-config.toml.5.md -out _man/containerd-config.toml.5
|
||||
%{gobuilddir}/bin/gen-manpages containerd.8 _man
|
||||
%{gobuilddir}/bin/gen-manpages ctr.8 _man
|
||||
rm %{gobuilddir}/bin/gen-manpages
|
||||
|
||||
%check
|
||||
%golang_set_gopath
|
||||
export BUILDTAGS="%{containerd_buildtags}"
|
||||
# Run scoped unit tests - skips some if not running as root.
|
||||
%if %{without btrfs}
|
||||
# We want to build/run tests the same way we build the binaries
|
||||
export EXTRA_TESTFLAGS="-tags='%{containerd_buildtags}'"
|
||||
%endif
|
||||
make -C %{containerd_src} test
|
||||
|
||||
%install
|
||||
%golang_set_gopath
|
||||
|
||||
# Install containerd binaries
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install -p %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
|
||||
install -d %{buildroot}%{_mandir}/man{5,8}
|
||||
install -p -m 644 %{containerd_src}/_man/*.5 %{buildroot}%{_mandir}/man5/
|
||||
install -p -m 644 %{containerd_src}/_man/*.8 %{buildroot}%{_mandir}/man8/
|
||||
install -D -p -m 0644 %{S:1} %{buildroot}%{_sysconfdir}/containerd/config.toml
|
||||
|
||||
%if %{with systemd}
|
||||
install -D -p -m 644 %{containerd_src}/containerd.service %{buildroot}%{_unitdir}/containerd.service
|
||||
%endif
|
||||
install -d %{buildroot}%{_localstatedir}/lib/containerd
|
||||
|
||||
%if 0%{?amzn} == 2
|
||||
# On a fresh install of container-selinux, or updating from selinux-policy in
|
||||
# amzn2-core to one that more closely tracks upstream, we need to relabel critical
|
||||
# files to pick up changes to file_contexts introduced by those packages.
|
||||
%define selinux_relabel_paths %{_bindir}/ctr %{_bindir}/containerd %{_bindir}/containerd-shim* %{_sysconfdir}/containerd/config.toml %{_localstatedir}/lib/containerd
|
||||
%define do_selinux_relabel() /usr/sbin/selinuxenabled && /usr/sbin/restorecon -r %*
|
||||
|
||||
%triggerin -- container-selinux
|
||||
if [ $1 -eq 1 ]; then # new install, not update
|
||||
%{do_selinux_relabel} %{selinux_relabel_paths} ||:
|
||||
fi
|
||||
|
||||
%triggerun -- selinux-policy < 3.13.1-266
|
||||
if [ $1 -eq 1 ]; then # update, not uninstall
|
||||
%{do_selinux_relabel} %{selinux_relabel_paths} ||:
|
||||
fi
|
||||
|
||||
%triggerin stress -- container-selinux
|
||||
if [ $1 -eq 1 ]; then # new install, not update
|
||||
%{do_selinux_relabel} %{_bindir}/containerd-stress ||:
|
||||
fi
|
||||
|
||||
%triggerun stress -- selinux-policy < 3.13.1-266
|
||||
if [ $1 -eq 1 ]; then # update, not uninstall
|
||||
%{do_selinux_relabel} %{_bindir}/containerd-stress ||:
|
||||
fi
|
||||
%endif
|
||||
|
||||
%files
|
||||
%license src/github.com/containerd/containerd/LICENSE
|
||||
%doc src/github.com/containerd/containerd/README.md
|
||||
%{_bindir}/ctr
|
||||
%{_bindir}/containerd
|
||||
%{_bindir}/containerd-shim
|
||||
%{_bindir}/containerd-shim-runc-v1
|
||||
%{_bindir}/containerd-shim-runc-v2
|
||||
%config(noreplace) %{_sysconfdir}/containerd/config.toml
|
||||
%dir %{_localstatedir}/lib/containerd
|
||||
%if %{with systemd}
|
||||
%{_unitdir}/containerd.service
|
||||
%endif
|
||||
%{_mandir}/man5/containerd-config.toml.5*
|
||||
%{_mandir}/man8/containerd-config.8*
|
||||
%{_mandir}/man8/containerd.8*
|
||||
%{_mandir}/man8/ctr.8*
|
||||
|
||||
%files stress
|
||||
%{_bindir}/containerd-stress
|
||||
|
||||
%post
|
||||
%if %{with systemd}
|
||||
%systemd_post containerd
|
||||
%endif
|
||||
|
||||
%preun
|
||||
%if %{with systemd}
|
||||
%systemd_preun containerd
|
||||
%endif
|
||||
|
||||
%postun
|
||||
%if %{with systemd}
|
||||
%systemd_postun_with_restart containerd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Jul 06 2023 Lucas Meneghel <lmr@amazon.com> - 1.7.2-1.amzn2023.0.1
|
||||
- containerd: Update to upstream 1.7.2
|
||||
- Dropped patches that are included with the new version
|
||||
|
||||
* Fri Mar 17 2023 Sonia Xu <sonix@amazon.com> - 1.6.19-1.amzn2023.0.1
|
||||
- Update to v1.6.19
|
||||
- Update patch to apply properly
|
||||
|
||||
* Tue Mar 14 2023 Sai Harsha <ssuryad@amazon.com> - 1.6.8-2.amzn2023.0.4
|
||||
- Fix CVE-2022-1996
|
||||
|
||||
* Mon Jan 30 2023 Stewart Smith <trawets@amazon.com> - 1.6.8-2.amzn2023.0.3
|
||||
- Mass rebuild for AL2023
|
||||
|
||||
* Tue Dec 20 2022 Chanchal Mathew <chancham@amazon.com> - 1.6.8-2.amzn2022.0.2
|
||||
- Rebuild for CVE-2022-2879, CVE-2022-41715, CVE-2022-41716 in golang
|
||||
|
||||
* Tue Oct 11 2022 Chanchal Mathew <chancham@amazon.com> - 1.6.8-2
|
||||
- Fix FTBFS
|
||||
|
||||
* Tue Oct 04 2022 Chanchal Mathew <chancham@amazon.com> - 1.6.8-1
|
||||
- Update to 1.6.8 from upstream
|
||||
|
||||
* Mon Oct 03 2022 Stewart Smith <trawets@amazon.com> - 1.6.6-1.amzn2022.0.3
|
||||
- AL2022 pre-GA mass rebuild
|
||||
|
||||
* Wed Sep 28 2022 Mansi Jaitly <mjaitly@amazon.com> - 1.6.6-1.amzn2022.0.2
|
||||
- Rebuild due to golang-1.19.1-1.amzn2022.0.1 update
|
||||
|
||||
* Fri Jul 22 2022 Stewart Smith <trawets@amazon.com> - 1.6.6-1.amzn2022.0.1
|
||||
- build without btrfs on Amazon Linux
|
||||
|
||||
* Mon Jun 20 2022 Sai Harsha <ssuryad@amazon.com> - 1.6.6-1
|
||||
- Update to 1.6.6 from upstream
|
||||
- Remove patches included upstream since 1.4.13
|
||||
|
||||
* Tue May 31 2022 Sai Harsha <ssuryad@amazon.com> - 1.4.13-3
|
||||
- Limit the response size of ExecSync
|
||||
|
||||
* Tue Mar 29 2022 Malcolm Inglis <miinglis@amazon.com> - 1.4.13-2
|
||||
- Apply patch for CVE-2022-24769
|
||||
|
||||
* Tue Mar 29 2022 Malcolm Inglis <miinglis@amazon.com> - 1.4.13-1
|
||||
- Update to 1.4.13 from upstream
|
||||
- Update golang BuildRequires to 1.16.15
|
||||
- Remove patches included upstream since 1.4.6
|
||||
|
||||
* Thu Feb 24 2022 Malcolm Inglis <miinglis@amazon.com> - 1.4.6-9
|
||||
- Apply patch for CVE-2022-23648
|
||||
|
||||
* Wed Dec 08 2021 Paul Ezvan <paulezva@amazon.fr> - 1.4.6-8
|
||||
- Build for AL2022
|
||||
|
||||
* Wed Nov 17 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.6-7
|
||||
- CVE-2021-41190
|
||||
|
||||
* Tue Nov 02 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.6-5
|
||||
- Fix typo in container-selinux Conflicts:
|
||||
|
||||
* Fri Oct 29 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.6-4
|
||||
- Add selinux to buildtags
|
||||
- Conflict with container-selinux versions that don't have containerd-cri support
|
||||
|
||||
* Fri Sep 24 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.6-3
|
||||
- Apply patches for CVE-2021-41103
|
||||
|
||||
* Mon Jul 12 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.6-2
|
||||
- Apply patch for CVE-2021-32760
|
||||
|
||||
* Thu Jun 17 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.6-1
|
||||
- Update to 1.4.6 from upstream
|
||||
|
||||
* Thu Feb 25 2021 Jamie Anderson <jamieand@amazon.com> - 1.4.4-1
|
||||
- Update to 1.4.4 from upstream
|
||||
|
||||
* Tue Nov 17 2020 Samuel Karp <skarp@amazon.com> - 1.4.1-2
|
||||
- Apply patch for CVE-2020-15257
|
||||
|
||||
* Fri Nov 13 2020 Jamie Anderson <jamieand@amazon.com> - 1.4.1
|
||||
- Update to 1.4.1 from upstream
|
||||
|
||||
* Wed Sep 23 2020 Jamie Anderson <jamieand@amazon.com> - 1.4.0
|
||||
- Update to 1.4.0 from upstream
|
||||
- Add triggers to relabel after container-selinux install
|
||||
|
||||
* Mon Feb 10 2020 Jamie Anderson <jamieand@amazon.com> - 1.3.2
|
||||
- Update to 1.3.2 from upstream
|
||||
|
||||
* Mon May 13 2019 Jacob Vallejo <jakeev@amazon.com> - 1.2.6-1
|
||||
- Initial packaging
|
||||
|
7
base/docker/README-docker-runtimes.d
Normal file
7
base/docker/README-docker-runtimes.d
Normal file
@ -0,0 +1,7 @@
|
||||
Users can add runtimes (in addition to runc) to Docker by adding executable
|
||||
files in /etc/docker-runtimes.d.
|
||||
|
||||
The name of the file becomes the name of the runtime.
|
||||
|
||||
To disable an installed runtime file without RPM clobbering it and re-enabling
|
||||
it on an update, remove the executable bits (chmod a-x).
|
@ -0,0 +1,54 @@
|
||||
From 4c4d58519541008ef8982e1fcffe76c60e1389f5 Mon Sep 17 00:00:00 2001
|
||||
From: Sai Harsha <ssuryad@amazon.com>
|
||||
Date: Tue, 14 Jun 2022 06:39:31 +0000
|
||||
Subject: [PATCH 1/1] Skip TestSaveLoadContexts and TestExportKubeconfig
|
||||
|
||||
Skipping TestExportKubeconfig and TestSaveLoadContexts tests which require root access
|
||||
|
||||
---
|
||||
cli/command/context/export-import_test.go | 2 ++
|
||||
cli/context/kubernetes/endpoint_test.go | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/cli/command/context/export-import_test.go b/cli/command/context/export-import_test.go
|
||||
index bf0cd88..6be9384 100644
|
||||
--- a/cli/command/context/export-import_test.go
|
||||
+++ b/cli/command/context/export-import_test.go
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
+ "github.com/docker/docker/testutil"
|
||||
"github.com/docker/cli/cli/streams"
|
||||
"gotest.tools/v3/assert"
|
||||
)
|
||||
@@ -71,6 +72,7 @@ func TestExportImportPipe(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestExportKubeconfig(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextFile := filepath.Join(t.TempDir(), "exported")
|
||||
cli := makeFakeCli(t)
|
||||
createTestContextWithKube(t, cli)
|
||||
diff --git a/cli/context/kubernetes/endpoint_test.go b/cli/context/kubernetes/endpoint_test.go
|
||||
index 89eeb9d..700e21e 100644
|
||||
--- a/cli/context/kubernetes/endpoint_test.go
|
||||
+++ b/cli/context/kubernetes/endpoint_test.go
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
+ "github.com/docker/docker/testutil"
|
||||
"github.com/docker/cli/cli/context"
|
||||
"github.com/docker/cli/cli/context/store"
|
||||
"gotest.tools/v3/assert"
|
||||
@@ -41,6 +42,7 @@ var testStoreCfg = store.NewConfig(
|
||||
)
|
||||
|
||||
func TestSaveLoadContexts(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
store := store.New(t.TempDir(), testStoreCfg)
|
||||
assert.NilError(t, save(store, testEndpoint("https://test", "test", nil, nil, nil, false), "raw-notls"))
|
||||
assert.NilError(t, save(store, testEndpoint("https://test", "test", nil, nil, nil, true), "raw-notls-skip"))
|
||||
--
|
||||
2.32.0
|
@ -0,0 +1,112 @@
|
||||
From fb5a9ec741c4a2246624b694d88db2e5fabc9118 Mon Sep 17 00:00:00 2001
|
||||
From: Angel Velazquez <angelcar@amazon.com>
|
||||
Date: Thu, 20 May 2021 16:59:30 -0700
|
||||
Subject: [PATCH] Limit the rate at which logger errors are logged into daemon
|
||||
logs
|
||||
|
||||
Logging to daemon logs every time there's an error with a log driver can be
|
||||
problematic since daemon logs can grow rapidly, potentially exhausting disk
|
||||
space.
|
||||
|
||||
Instead, it's preferable to limit the rate at which log driver errors are allowed
|
||||
to be written. By default, this limit is 333 entries per second max.
|
||||
|
||||
Signed-off-by: Angel Velazquez <angelcar@amazon.com>
|
||||
---
|
||||
daemon/logger/copier.go | 6 ++----
|
||||
daemon/logger/logger_error.go | 24 ++++++++++++++++++++++++
|
||||
daemon/logger/ring.go | 12 ++----------
|
||||
3 files changed, 28 insertions(+), 14 deletions(-)
|
||||
create mode 100644 daemon/logger/logger_error.go
|
||||
|
||||
diff --git a/daemon/logger/copier.go b/daemon/logger/copier.go
|
||||
index e2ee36c0987e..30c68ea364d2 100644
|
||||
--- a/daemon/logger/copier.go
|
||||
+++ b/daemon/logger/copier.go
|
||||
@@ -126,8 +126,7 @@ func (c *Copier) copySrc(name string, src io.Reader) {
|
||||
}
|
||||
|
||||
if logErr := c.dst.Log(msg); logErr != nil {
|
||||
- logWritesFailedCount.Inc(1)
|
||||
- logrus.Errorf("Failed to log msg %q for logger %s: %s", msg.Line, c.dst.Name(), logErr)
|
||||
+ logDriverError(c.dst.Name(), string(msg.Line), logErr)
|
||||
}
|
||||
}
|
||||
p += q + 1
|
||||
@@ -159,8 +158,7 @@ func (c *Copier) copySrc(name string, src io.Reader) {
|
||||
hasMorePartial = true
|
||||
|
||||
if logErr := c.dst.Log(msg); logErr != nil {
|
||||
- logWritesFailedCount.Inc(1)
|
||||
- logrus.Errorf("Failed to log msg %q for logger %s: %s", msg.Line, c.dst.Name(), logErr)
|
||||
+ logDriverError(c.dst.Name(), string(msg.Line), logErr)
|
||||
}
|
||||
p = 0
|
||||
n = 0
|
||||
diff --git a/daemon/logger/logger_error.go b/daemon/logger/logger_error.go
|
||||
new file mode 100644
|
||||
index 000000000000..70f4311979c4
|
||||
--- /dev/null
|
||||
+++ b/daemon/logger/logger_error.go
|
||||
@@ -0,0 +1,24 @@
|
||||
+package logger
|
||||
+
|
||||
+import (
|
||||
+ "github.com/sirupsen/logrus"
|
||||
+ "golang.org/x/time/rate"
|
||||
+)
|
||||
+
|
||||
+// Rates based on journald defaults of 10,000 messages in 30s.
|
||||
+// reference: https://www.freedesktop.org/software/systemd/man/journald.conf.html#RateLimitIntervalSec=
|
||||
+var logErrorLimiter = rate.NewLimiter(333, 333)
|
||||
+
|
||||
+// logDriverError logs errors produced by log drivers to the daemon logs. It also increments the logWritesFailedCount
|
||||
+// metric.
|
||||
+// Logging to the daemon logs is limited to 333 operations per second at most. If this limit is exceeded, the
|
||||
+// logWritesFailedCount is still counted, but logging to the daemon logs is omitted in order to prevent disk saturation.
|
||||
+func logDriverError(loggerName, msgLine string, logErr error) {
|
||||
+ logWritesFailedCount.Inc(1)
|
||||
+ if logErrorLimiter.Allow() {
|
||||
+ logrus.WithError(logErr).
|
||||
+ WithField("driver", loggerName).
|
||||
+ WithField("message", msgLine).
|
||||
+ Errorf("Error writing log message")
|
||||
+ }
|
||||
+}
|
||||
diff --git a/daemon/logger/ring.go b/daemon/logger/ring.go
|
||||
index b6432aed36f7..3b2652af63c1 100644
|
||||
--- a/daemon/logger/ring.go
|
||||
+++ b/daemon/logger/ring.go
|
||||
@@ -4,8 +4,6 @@ import (
|
||||
"errors"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
-
|
||||
- "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -104,10 +102,7 @@ func (r *RingLogger) Close() error {
|
||||
}
|
||||
|
||||
if err := r.l.Log(msg); err != nil {
|
||||
- logrus.WithField("driver", r.l.Name()).
|
||||
- WithField("container", r.logInfo.ContainerID).
|
||||
- WithError(err).
|
||||
- Errorf("Error writing log message")
|
||||
+ logDriverError(r.l.Name(), string(msg.Line), err)
|
||||
logErr = true
|
||||
}
|
||||
}
|
||||
@@ -128,10 +123,7 @@ func (r *RingLogger) run() {
|
||||
return
|
||||
}
|
||||
if err := r.l.Log(msg); err != nil {
|
||||
- logrus.WithField("driver", r.l.Name()).
|
||||
- WithField("container", r.logInfo.ContainerID).
|
||||
- WithError(err).
|
||||
- Errorf("Error writing log message")
|
||||
+ logDriverError(r.l.Name(), string(msg.Line), err)
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
From e2d3dd827bcca6cba9e0f2b869d872af07ff2999 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Mon, 22 Mar 2021 20:33:57 +0000
|
||||
Subject: [PATCH] Restore containerd dependency, restart policy, and nofile
|
||||
settings to service file
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
contrib/init/systemd/docker.service | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/contrib/init/systemd/docker.service b/contrib/init/systemd/docker.service
|
||||
index 7e87245..1654f0b 100644
|
||||
--- a/contrib/init/systemd/docker.service
|
||||
+++ b/contrib/init/systemd/docker.service
|
||||
@@ -1,7 +1,8 @@
|
||||
[Unit]
|
||||
Description=Docker Application Container Engine
|
||||
Documentation=https://docs.docker.com
|
||||
-After=network-online.target docker.socket firewalld.service
|
||||
+BindsTo=containerd.service
|
||||
+After=network-online.target docker.socket firewalld.service containerd.service
|
||||
Wants=network-online.target
|
||||
Requires=docker.socket
|
||||
|
||||
@@ -17,7 +18,7 @@ ExecStartPre=/usr/libexec/docker/docker-setup-runtimes.sh
|
||||
# for containers run by docker
|
||||
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_ADD_RUNTIMES
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
-LimitNOFILE=1048576
|
||||
+LimitNOFILE=infinity
|
||||
# Having non-zero Limit*s causes performance problems due to accounting overhead
|
||||
# in the kernel. We recommend using cgroups to do container-local accounting.
|
||||
LimitNPROC=infinity
|
||||
@@ -31,7 +32,8 @@ Delegate=yes
|
||||
# kill only the docker process, not all processes in the cgroup
|
||||
KillMode=process
|
||||
# restart the docker process if it exits prematurely
|
||||
-Restart=on-failure
|
||||
+RestartSec=2
|
||||
+Restart=always
|
||||
StartLimitBurst=3
|
||||
StartLimitInterval=60s
|
||||
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
33
base/docker/docker-20.10.4-Skip-auth-middleware-test.patch
Normal file
33
base/docker/docker-20.10.4-Skip-auth-middleware-test.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From ff6ad03b4a9774b2a87c12445b31f54078c06b55 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Thu, 4 Mar 2021 17:48:05 +0000
|
||||
Subject: [PATCH] Skip auth/middleware test that creates sockets
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
pkg/authorization/middleware_unix_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/pkg/authorization/middleware_unix_test.go b/pkg/authorization/middleware_unix_test.go
|
||||
index 468cb59..b5e26ac 100644
|
||||
--- a/pkg/authorization/middleware_unix_test.go
|
||||
+++ b/pkg/authorization/middleware_unix_test.go
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/pkg/plugingetter"
|
||||
"gotest.tools/v3/assert"
|
||||
@@ -14,6 +15,7 @@ import (
|
||||
)
|
||||
|
||||
func TestMiddlewareWrapHandler(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
server := authZPluginTestServer{t: t}
|
||||
server.start()
|
||||
defer server.stop()
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,53 @@
|
||||
From 4d116f8caee01d47e344571c0fe4b805ae44e8d8 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Fri, 19 Mar 2021 20:59:20 +0000
|
||||
Subject: [PATCH] Skip btrfs graphdriver tests if not root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
daemon/graphdriver/btrfs/btrfs_test.go | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/daemon/graphdriver/btrfs/btrfs_test.go b/daemon/graphdriver/btrfs/btrfs_test.go
|
||||
index b70e93b..c75960b 100644
|
||||
--- a/daemon/graphdriver/btrfs/btrfs_test.go
|
||||
+++ b/daemon/graphdriver/btrfs/btrfs_test.go
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"os"
|
||||
"path"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/daemon/graphdriver/graphtest"
|
||||
)
|
||||
@@ -13,22 +14,27 @@ import (
|
||||
// This avoids creating a new driver for each test if all tests are run
|
||||
// Make sure to put new tests between TestBtrfsSetup and TestBtrfsTeardown
|
||||
func TestBtrfsSetup(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
graphtest.GetDriver(t, "btrfs")
|
||||
}
|
||||
|
||||
func TestBtrfsCreateEmpty(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
graphtest.DriverTestCreateEmpty(t, "btrfs")
|
||||
}
|
||||
|
||||
func TestBtrfsCreateBase(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
graphtest.DriverTestCreateBase(t, "btrfs")
|
||||
}
|
||||
|
||||
func TestBtrfsCreateSnap(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
graphtest.DriverTestCreateSnap(t, "btrfs")
|
||||
}
|
||||
|
||||
func TestBtrfsSubvolDelete(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
d := graphtest.GetDriver(t, "btrfs")
|
||||
if err := d.CreateReadWrite("test", "", nil); err != nil {
|
||||
t.Fatal(err)
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
@ -0,0 +1,102 @@
|
||||
From 1f8ac5f2a45ccbedb0904f6ac938f94ea655c49a Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 3 Mar 2021 22:00:57 +0000
|
||||
Subject: [PATCH] Skip builder tests that require root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
builder/dockerfile/internals_test.go | 5 +++++
|
||||
builder/remotecontext/tarsum_test.go | 5 +++++
|
||||
2 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/builder/dockerfile/internals_test.go b/builder/dockerfile/internals_test.go
|
||||
index 5353167..5a68a39 100644
|
||||
--- a/builder/dockerfile/internals_test.go
|
||||
+++ b/builder/dockerfile/internals_test.go
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"os"
|
||||
"runtime"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/api/types/backend"
|
||||
@@ -23,6 +24,7 @@ import (
|
||||
)
|
||||
|
||||
func TestEmptyDockerfile(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-dockerfile-test")
|
||||
defer cleanup()
|
||||
|
||||
@@ -32,6 +34,7 @@ func TestEmptyDockerfile(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSymlinkDockerfile(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-dockerfile-test")
|
||||
defer cleanup()
|
||||
|
||||
@@ -47,6 +50,7 @@ func TestSymlinkDockerfile(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDockerfileOutsideTheBuildContext(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-dockerfile-test")
|
||||
defer cleanup()
|
||||
|
||||
@@ -59,6 +63,7 @@ func TestDockerfileOutsideTheBuildContext(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNonExistingDockerfile(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-dockerfile-test")
|
||||
defer cleanup()
|
||||
|
||||
diff --git a/builder/remotecontext/tarsum_test.go b/builder/remotecontext/tarsum_test.go
|
||||
index c6a417d..93643a5 100644
|
||||
--- a/builder/remotecontext/tarsum_test.go
|
||||
+++ b/builder/remotecontext/tarsum_test.go
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/builder"
|
||||
"github.com/docker/docker/pkg/archive"
|
||||
@@ -23,6 +24,7 @@ func init() {
|
||||
}
|
||||
|
||||
func TestCloseRootDirectory(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, err := os.MkdirTemp("", "builder-tarsum-test")
|
||||
defer os.RemoveAll(contextDir)
|
||||
if err != nil {
|
||||
@@ -44,6 +46,7 @@ func TestCloseRootDirectory(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestHashFile(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-tarsum-test")
|
||||
defer cleanup()
|
||||
|
||||
@@ -69,6 +72,7 @@ func TestHashFile(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestHashSubdir(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-tarsum-test")
|
||||
defer cleanup()
|
||||
|
||||
@@ -106,6 +110,7 @@ func TestHashSubdir(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRemoveDirectory(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir, cleanup := createTestTempDir(t, "", "builder-tarsum-test")
|
||||
defer cleanup()
|
||||
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,54 @@
|
||||
From 29cf333688cf38c615f6a2c4dfc8a1fddbbbb4aa Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 3 Mar 2021 23:02:57 +0000
|
||||
Subject: [PATCH] Skip cli tests that require network
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
cli/command/image/pull_test.go | 2 ++
|
||||
cli/command/image/push_test.go | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/cli/command/image/pull_test.go b/cli/command/image/pull_test.go
|
||||
index b9d4970..bb7ce0e 100644
|
||||
--- a/cli/command/image/pull_test.go
|
||||
+++ b/cli/command/image/pull_test.go
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"io"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/cli/testutil"
|
||||
|
||||
"github.com/docker/cli/internal/test"
|
||||
"github.com/docker/cli/internal/test/notary"
|
||||
@@ -16,6 +17,7 @@ import (
|
||||
)
|
||||
|
||||
func TestNewPullCommandErrors(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
testCases := []struct {
|
||||
name string
|
||||
args []string
|
||||
diff --git a/cli/command/image/push_test.go b/cli/command/image/push_test.go
|
||||
index 9636369..14bfbd2 100644
|
||||
--- a/cli/command/image/push_test.go
|
||||
+++ b/cli/command/image/push_test.go
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"io"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/cli/testutil"
|
||||
|
||||
"github.com/docker/cli/internal/test"
|
||||
"github.com/docker/docker/api/types"
|
||||
@@ -13,6 +14,7 @@ import (
|
||||
)
|
||||
|
||||
func TestNewPushCommandErrors(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
testCases := []struct {
|
||||
name string
|
||||
args []string
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,46 @@
|
||||
From 4622551eb4d29bee8fb30290368a4cce5af56737 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Fri, 19 Mar 2021 20:10:01 +0000
|
||||
Subject: [PATCH] Skip compression tests that require root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
cli/command/image/build/context_test.go | 2 ++
|
||||
cli/command/image/build_test.go | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/cli/command/image/build/context_test.go b/cli/command/image/build/context_test.go
|
||||
index f216978..1dbea0b 100644
|
||||
--- a/cli/command/image/build/context_test.go
|
||||
+++ b/cli/command/image/build/context_test.go
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/cli/testutil"
|
||||
|
||||
"github.com/docker/docker/pkg/archive"
|
||||
"github.com/docker/docker/pkg/fileutils"
|
||||
@@ -173,6 +174,7 @@ func TestGetContextFromReaderString(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetContextFromReaderTar(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
contextDir := createTestTempDir(t)
|
||||
createTestTempFile(t, contextDir, DefaultDockerfileName, dockerfileContents)
|
||||
|
||||
diff --git a/cli/command/image/build_test.go b/cli/command/image/build_test.go
|
||||
index cef80a3..34014dd 100644
|
||||
--- a/cli/command/image/build_test.go
|
||||
+++ b/cli/command/image/build_test.go
|
||||
@@ -27,6 +27,7 @@ import (
|
||||
)
|
||||
|
||||
func TestRunBuildDockerfileFromStdinWithCompress(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
defer env.Patch(t, "DOCKER_BUILDKIT", "0")()
|
||||
buffer := new(bytes.Buffer)
|
||||
fakeBuild := newFakeBuild()
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
@ -0,0 +1,85 @@
|
||||
From 00faa3a1652a57c9f8f6ceeb930020680d3d5295 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Tue, 2 Mar 2021 19:11:09 +0000
|
||||
Subject: [PATCH] Skip devmapper tests that don't work in a buildroot
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
daemon/graphdriver/devmapper/devmapper_test.go | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/daemon/graphdriver/devmapper/devmapper_test.go b/daemon/graphdriver/devmapper/devmapper_test.go
|
||||
index afd6c5b..dc59dc5 100644
|
||||
--- a/daemon/graphdriver/devmapper/devmapper_test.go
|
||||
+++ b/daemon/graphdriver/devmapper/devmapper_test.go
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"os/exec"
|
||||
"syscall"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
"time"
|
||||
|
||||
"github.com/docker/docker/daemon/graphdriver"
|
||||
@@ -17,6 +18,10 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
+ if _, err := os.Stat("/.initialized"); err == nil {
|
||||
+ // Don't try to call initLoopbacks() in a buildroot
|
||||
+ return nil
|
||||
+ }
|
||||
// Reduce the size of the base fs and loopback for the tests
|
||||
defaultDataLoopbackSize = 300 * 1024 * 1024
|
||||
defaultMetaDataLoopbackSize = 200 * 1024 * 1024
|
||||
@@ -71,26 +76,32 @@ func getBaseLoopStats() (*syscall.Stat_t, error) {
|
||||
// This avoids creating a new driver for each test if all tests are run
|
||||
// Make sure to put new tests between TestDevmapperSetup and TestDevmapperTeardown
|
||||
func TestDevmapperSetup(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.GetDriver(t, "devicemapper")
|
||||
}
|
||||
|
||||
func TestDevmapperCreateEmpty(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestCreateEmpty(t, "devicemapper")
|
||||
}
|
||||
|
||||
func TestDevmapperCreateBase(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestCreateBase(t, "devicemapper")
|
||||
}
|
||||
|
||||
func TestDevmapperCreateSnap(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestCreateSnap(t, "devicemapper")
|
||||
}
|
||||
|
||||
func TestDevmapperTeardown(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.PutDriver(t)
|
||||
}
|
||||
|
||||
func TestDevmapperReduceLoopBackSize(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
tenMB := int64(10 * 1024 * 1024)
|
||||
testChangeLoopBackSize(t, -tenMB, defaultDataLoopbackSize, defaultMetaDataLoopbackSize)
|
||||
}
|
||||
@@ -101,6 +112,7 @@ func TestDevmapperIncreaseLoopBackSize(t *testing.T) {
|
||||
}
|
||||
|
||||
func testChangeLoopBackSize(t *testing.T, delta, expectDataSize, expectMetaDataSize int64) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
driver := graphtest.GetDriver(t, "devicemapper").(*graphtest.Driver).Driver.(*graphdriver.NaiveDiffDriver).ProtoDriver.(*Driver)
|
||||
defer graphtest.PutDriver(t)
|
||||
// make sure data or metadata loopback size are the default size
|
||||
@@ -129,6 +141,7 @@ func testChangeLoopBackSize(t *testing.T, delta, expectDataSize, expectMetaDataS
|
||||
|
||||
// Make sure devices.Lock() has been release upon return from cleanupDeletedDevices() function
|
||||
func TestDevmapperLockReleasedDeviceDeletion(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
driver := graphtest.GetDriver(t, "devicemapper").(*graphtest.Driver).Driver.(*graphdriver.NaiveDiffDriver).ProtoDriver.(*Driver)
|
||||
defer graphtest.PutDriver(t)
|
||||
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,32 @@
|
||||
From e880fb184cc9147cc9dd3387752c1ef8b3d20be2 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 3 Mar 2021 21:20:24 +0000
|
||||
Subject: [PATCH] Skip distribution tests that network
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
distribution/xfer/transfer_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/distribution/xfer/transfer_test.go b/distribution/xfer/transfer_test.go
|
||||
index f8f8e96..6764f17 100644
|
||||
--- a/distribution/xfer/transfer_test.go
|
||||
+++ b/distribution/xfer/transfer_test.go
|
||||
@@ -3,12 +3,14 @@ package xfer // import "github.com/docker/docker/distribution/xfer"
|
||||
import (
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
"time"
|
||||
|
||||
"github.com/docker/docker/pkg/progress"
|
||||
)
|
||||
|
||||
func TestTransfer(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, _ chan<- struct{}) Transfer {
|
||||
select {
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
160
base/docker/docker-20.10.4-Skip-engine-layer-tests.patch
Normal file
160
base/docker/docker-20.10.4-Skip-engine-layer-tests.patch
Normal file
@ -0,0 +1,160 @@
|
||||
From bad779d02c86a9cf6bdd3b376920093da9441739 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Mon, 8 Mar 2021 19:27:36 +0000
|
||||
Subject: [PATCH] Skip layer tests that require root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
layer/layer_test.go | 7 +++++++
|
||||
layer/layer_unix_test.go | 2 ++
|
||||
layer/migration_test.go | 3 +++
|
||||
layer/mount_test.go | 4 ++++
|
||||
4 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/layer/layer_test.go b/layer/layer_test.go
|
||||
index 9199b9c..abd6bde 100644
|
||||
--- a/layer/layer_test.go
|
||||
+++ b/layer/layer_test.go
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/containerd/continuity/driver"
|
||||
"github.com/docker/docker/daemon/graphdriver"
|
||||
@@ -258,6 +259,7 @@ func assertLayerEqual(t *testing.T, l1, l2 Layer) {
|
||||
}
|
||||
|
||||
func TestMountAndRegister(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
ls, _, cleanup := newTestStore(t)
|
||||
defer cleanup()
|
||||
|
||||
@@ -299,6 +301,7 @@ func TestMountAndRegister(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestLayerRelease(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
@@ -348,6 +351,7 @@ func TestLayerRelease(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestStoreRestore(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
@@ -463,6 +467,7 @@ func TestStoreRestore(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestTarStreamStability(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
@@ -656,6 +661,7 @@ func assertReferences(t *testing.T, references ...Layer) {
|
||||
}
|
||||
|
||||
func TestRegisterExistingLayer(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
ls, _, cleanup := newTestStore(t)
|
||||
defer cleanup()
|
||||
|
||||
@@ -692,6 +698,7 @@ func TestRegisterExistingLayer(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestTarStreamVerification(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
diff --git a/layer/layer_unix_test.go b/layer/layer_unix_test.go
|
||||
index 6830158..fc12af7 100644
|
||||
--- a/layer/layer_unix_test.go
|
||||
+++ b/layer/layer_unix_test.go
|
||||
@@ -4,6 +4,7 @@ package layer // import "github.com/docker/docker/layer"
|
||||
|
||||
import (
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
)
|
||||
|
||||
func graphDiffSize(ls Store, l Layer) (int64, error) {
|
||||
@@ -18,6 +19,7 @@ func graphDiffSize(ls Store, l Layer) (int64, error) {
|
||||
// Unix as Windows graph driver does not support Changes which is indirectly
|
||||
// invoked by calling DiffSize on the driver
|
||||
func TestLayerSize(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
ls, _, cleanup := newTestStore(t)
|
||||
defer cleanup()
|
||||
|
||||
diff --git a/layer/migration_test.go b/layer/migration_test.go
|
||||
index 2b5c330..1cb6d0d 100644
|
||||
--- a/layer/migration_test.go
|
||||
+++ b/layer/migration_test.go
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/daemon/graphdriver"
|
||||
"github.com/docker/docker/pkg/stringid"
|
||||
@@ -41,6 +42,7 @@ func writeTarSplitFile(name string, tarContent []byte) error {
|
||||
}
|
||||
|
||||
func TestLayerMigration(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
@@ -177,6 +179,7 @@ func tarFromFilesInGraph(graph graphdriver.Driver, graphID, parentID string, fil
|
||||
}
|
||||
|
||||
func TestLayerMigrationNoTarsplit(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
diff --git a/layer/mount_test.go b/layer/mount_test.go
|
||||
index 3c868b2..c2ea782 100644
|
||||
--- a/layer/mount_test.go
|
||||
+++ b/layer/mount_test.go
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"runtime"
|
||||
"sort"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/containerd/continuity/driver"
|
||||
"github.com/docker/docker/pkg/archive"
|
||||
@@ -12,6 +13,7 @@ import (
|
||||
)
|
||||
|
||||
func TestMountInit(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
@@ -71,6 +73,7 @@ func TestMountInit(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestMountSize(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
@@ -120,6 +123,7 @@ func TestMountSize(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestMountChanges(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows: Figure out why this is failing
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Failing on Windows")
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
33
base/docker/docker-20.10.4-Skip-get-source-mount.patch
Normal file
33
base/docker/docker-20.10.4-Skip-get-source-mount.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From a7a12b2fcec36a5d60e60f87dc6808bdf012f4d8 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Thu, 11 Mar 2021 21:40:57 +0000
|
||||
Subject: [PATCH] Skip daemon/TestGetSourceMount in buildroot
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
daemon/oci_linux_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/daemon/oci_linux_test.go b/daemon/oci_linux_test.go
|
||||
index 890875a..f814dbc 100644
|
||||
--- a/daemon/oci_linux_test.go
|
||||
+++ b/daemon/oci_linux_test.go
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
containertypes "github.com/docker/docker/api/types/container"
|
||||
"github.com/docker/docker/container"
|
||||
@@ -180,6 +181,7 @@ func TestSysctlOverrideHost(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetSourceMount(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
// must be able to find source mount for /
|
||||
mnt, _, err := getSourceMount("/")
|
||||
assert.NilError(t, err)
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
35
base/docker/docker-20.10.4-Skip-git-tests.patch
Normal file
35
base/docker/docker-20.10.4-Skip-git-tests.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From 41d73e0b128e30ea17f5e319906846a9da2fcdd5 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Fri, 19 Mar 2021 18:34:30 +0000
|
||||
Subject: [PATCH] Skip git tests
|
||||
|
||||
These tests fail in a buildroot because they try to talk to GitHub
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
cli/command/image/build_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/cli/command/image/build_test.go b/cli/command/image/build_test.go
|
||||
index 4317a74..cef80a3 100644
|
||||
--- a/cli/command/image/build_test.go
|
||||
+++ b/cli/command/image/build_test.go
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"testing"
|
||||
+ "github.com/docker/cli/testutil"
|
||||
|
||||
"github.com/docker/cli/cli/streams"
|
||||
"github.com/docker/cli/internal/test"
|
||||
@@ -126,6 +127,7 @@ COPY data /data
|
||||
// TODO: test "context selection" logic directly when runBuild is refactored
|
||||
// to support testing (ex: docker/cli#294)
|
||||
func TestRunBuildFromGitHubSpecialCase(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
defer env.Patch(t, "DOCKER_BUILDKIT", "0")()
|
||||
cmd := NewBuildCommand(test.NewFakeCli(&fakeClient{}))
|
||||
// Clone a small repo that exists so git doesn't prompt for credentials
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
57
base/docker/docker-20.10.4-Skip-mutating-vfs-tests.patch
Normal file
57
base/docker/docker-20.10.4-Skip-mutating-vfs-tests.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 29304ba81dd3a600454c017d7720a608143d87a0 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Tue, 2 Mar 2021 19:26:37 +0000
|
||||
Subject: [PATCH] Skip mutating vfs tests
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
daemon/graphdriver/vfs/vfs_test.go | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/daemon/graphdriver/vfs/vfs_test.go b/daemon/graphdriver/vfs/vfs_test.go
|
||||
index 7c59ec3..9562959 100644
|
||||
--- a/daemon/graphdriver/vfs/vfs_test.go
|
||||
+++ b/daemon/graphdriver/vfs/vfs_test.go
|
||||
@@ -4,6 +4,7 @@ package vfs // import "github.com/docker/docker/daemon/graphdriver/vfs"
|
||||
|
||||
import (
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/daemon/graphdriver/graphtest"
|
||||
|
||||
@@ -17,25 +18,31 @@ func init() {
|
||||
// This avoids creating a new driver for each test if all tests are run
|
||||
// Make sure to put new tests between TestVfsSetup and TestVfsTeardown
|
||||
func TestVfsSetup(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.GetDriver(t, "vfs")
|
||||
}
|
||||
|
||||
func TestVfsCreateEmpty(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestCreateEmpty(t, "vfs")
|
||||
}
|
||||
|
||||
func TestVfsCreateBase(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestCreateBase(t, "vfs")
|
||||
}
|
||||
|
||||
func TestVfsCreateSnap(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestCreateSnap(t, "vfs")
|
||||
}
|
||||
|
||||
func TestVfsSetQuota(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.DriverTestSetQuota(t, "vfs", false)
|
||||
}
|
||||
|
||||
func TestVfsTeardown(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
graphtest.PutDriver(t)
|
||||
}
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,57 @@
|
||||
From cdaa60828f12a4e3f122e2120e57c6508456cb4d Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 3 Mar 2021 17:55:10 +0000
|
||||
Subject: [PATCH] Skip mutating volume/local tests
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
volume/local/local_test.go | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/volume/local/local_test.go b/volume/local/local_test.go
|
||||
index 8045e87..12bc7d8 100644
|
||||
--- a/volume/local/local_test.go
|
||||
+++ b/volume/local/local_test.go
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/pkg/idtools"
|
||||
"github.com/moby/sys/mountinfo"
|
||||
@@ -31,6 +32,7 @@ func TestGetAddress(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRemove(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
skip.If(t, runtime.GOOS == "windows", "FIXME: investigate why this test fails on CI")
|
||||
rootDir, err := os.MkdirTemp("", "local-volume-test")
|
||||
if err != nil {
|
||||
@@ -74,6 +76,7 @@ func TestRemove(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestInitializeWithVolumes(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
rootDir, err := os.MkdirTemp("", "local-volume-test")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -106,6 +109,7 @@ func TestInitializeWithVolumes(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestCreate(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
rootDir, err := os.MkdirTemp("", "local-volume-test")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -277,6 +281,7 @@ func TestCreateWithOpts(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRelaodNoOpts(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
rootDir, err := os.MkdirTemp("", "volume-test-reload-no-opts")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,49 @@
|
||||
From 56221d3508e4e82f4fc51c17836609eb031af670 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 3 Mar 2021 18:19:29 +0000
|
||||
Subject: [PATCH] Skip pkg/authorization tests that create sockets
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
pkg/authorization/authz_unix_test.go | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/pkg/authorization/authz_unix_test.go b/pkg/authorization/authz_unix_test.go
|
||||
index 9b48986..0ac5e92 100644
|
||||
--- a/pkg/authorization/authz_unix_test.go
|
||||
+++ b/pkg/authorization/authz_unix_test.go
|
||||
@@ -17,6 +17,7 @@ import (
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/pkg/plugins"
|
||||
"github.com/docker/go-connections/tlsconfig"
|
||||
@@ -28,6 +29,7 @@ const (
|
||||
)
|
||||
|
||||
func TestAuthZRequestPluginError(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
server := authZPluginTestServer{t: t}
|
||||
server.start()
|
||||
defer server.stop()
|
||||
@@ -59,6 +61,7 @@ func TestAuthZRequestPluginError(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAuthZRequestPlugin(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
server := authZPluginTestServer{t: t}
|
||||
server.start()
|
||||
defer server.stop()
|
||||
@@ -91,6 +94,7 @@ func TestAuthZRequestPlugin(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAuthZResponsePlugin(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
server := authZPluginTestServer{t: t}
|
||||
server.start()
|
||||
defer server.stop()
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
@ -0,0 +1,20 @@
|
||||
Index: docker-ce-17.11.0-ce/pkg/idtools/idtools_unix_test.go
|
||||
===================================================================
|
||||
--- docker-ce-17.11.0-ce.orig/pkg/idtools/idtools_unix_test.go
|
||||
+++ docker-ce-17.11.0-ce/pkg/idtools/idtools_unix_test.go
|
||||
@@ -239,6 +239,7 @@ func delUser(t *testing.T, name string)
|
||||
}
|
||||
|
||||
func TestParseSubidFileWithNewlinesAndComments(t *testing.T) {
|
||||
+ RequiresRoot(t)
|
||||
tmpDir, err := os.MkdirTemp("", "parsesubid")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -267,6 +268,7 @@ dockremap:231072:65536`
|
||||
}
|
||||
|
||||
func TestGetRootUIDGID(t *testing.T) {
|
||||
+ RequiresRoot(t)
|
||||
uidMap := []IDMap{
|
||||
{
|
||||
ContainerID: 0,
|
@ -0,0 +1,32 @@
|
||||
From 34f63b7d07c0a1c9a8986c896ebbdf6ae131629f Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 3 Mar 2021 17:45:43 +0000
|
||||
Subject: [PATCH] Skip pkg/sysinfo tests that require root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
pkg/sysinfo/sysinfo_linux_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/pkg/sysinfo/sysinfo_linux_test.go b/pkg/sysinfo/sysinfo_linux_test.go
|
||||
index aa557c9..ffb4b70 100644
|
||||
--- a/pkg/sysinfo/sysinfo_linux_test.go
|
||||
+++ b/pkg/sysinfo/sysinfo_linux_test.go
|
||||
@@ -6,12 +6,14 @@ import (
|
||||
"path"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
"gotest.tools/v3/assert"
|
||||
)
|
||||
|
||||
func TestReadProcBool(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
tmpDir, err := os.MkdirTemp("", "test-sysinfo-proc")
|
||||
assert.NilError(t, err)
|
||||
defer os.RemoveAll(tmpDir)
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
33
base/docker/docker-20.10.4-Skip-quota-tests.patch
Normal file
33
base/docker/docker-20.10.4-Skip-quota-tests.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 6ff01f51e73537015d6ec9a182f6b740cea16e76 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Thu, 4 Mar 2021 18:11:39 +0000
|
||||
Subject: [PATCH] Skip quota tests that try to manage block devices
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
quota/projectquota_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/quota/projectquota_test.go b/quota/projectquota_test.go
|
||||
index 9bf5c29..4e1e9c2 100644
|
||||
--- a/quota/projectquota_test.go
|
||||
+++ b/quota/projectquota_test.go
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"gotest.tools/v3/assert"
|
||||
is "gotest.tools/v3/assert/cmp"
|
||||
@@ -17,6 +18,7 @@ import (
|
||||
const testQuotaSize = 10 * 1024 * 1024
|
||||
|
||||
func TestBlockDev(t *testing.T) {
|
||||
+ testutil.SkipIfBuildroot(t)
|
||||
if msg, ok := CanTestQuota(); !ok {
|
||||
t.Skip(msg)
|
||||
}
|
||||
--
|
||||
2.25.0.24.gbc7a3d4
|
||||
|
41
base/docker/docker-20.10.4-Skip-volume-store-tests.patch
Normal file
41
base/docker/docker-20.10.4-Skip-volume-store-tests.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From de0a19b6da6b704d63e4c36586f120a6ee6b262a Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 10 Mar 2021 19:12:49 +0000
|
||||
Subject: [PATCH] Skip volume store tests that require root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
volume/service/store_test.go | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/volume/service/store_test.go b/volume/service/store_test.go
|
||||
index 5442f45..ef044d0 100644
|
||||
--- a/volume/service/store_test.go
|
||||
+++ b/volume/service/store_test.go
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
|
||||
"github.com/docker/docker/volume"
|
||||
volumedrivers "github.com/docker/docker/volume/drivers"
|
||||
@@ -288,6 +289,7 @@ func TestDefererencePluginOnCreateError(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRefDerefRemove(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
t.Parallel()
|
||||
|
||||
driverName := "test-ref-deref-remove"
|
||||
@@ -309,6 +311,7 @@ func TestRefDerefRemove(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGet(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
t.Parallel()
|
||||
|
||||
driverName := "test-get"
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
@ -0,0 +1,22 @@
|
||||
diff --git a/pkg/archive/archive_unix_test.go b/pkg/archive/archive_unix_test.go
|
||||
index dc4e1fd..6fb8895 100644
|
||||
--- a/pkg/archive/archive_unix_test.go
|
||||
+++ b/pkg/archive/archive_unix_test.go
|
||||
@@ -241,7 +241,7 @@ func TestTarUntarWithXattr(t *testing.T) {
|
||||
err = os.WriteFile(filepath.Join(origin, "3"), []byte("will be ignored"), 0700)
|
||||
assert.NilError(t, err)
|
||||
// there is no known Go implementation of setcap/getcap with support for v3 file capability
|
||||
- out, err := exec.Command("setcap", "cap_block_suspend+ep", filepath.Join(origin, "2")).CombinedOutput()
|
||||
+ out, err := exec.Command("setcap", "cap_sys_nice+ep", filepath.Join(origin, "2")).CombinedOutput()
|
||||
assert.NilError(t, err, string(out))
|
||||
|
||||
for _, c := range []Compression{
|
||||
@@ -262,7 +262,7 @@ func TestTarUntarWithXattr(t *testing.T) {
|
||||
}
|
||||
out, err := exec.Command("getcap", filepath.Join(origin, "2")).CombinedOutput()
|
||||
assert.NilError(t, err, string(out))
|
||||
- assert.Check(t, is.Contains(string(out), "cap_block_suspend=ep"), "untar should have kept the 'security.capability' xattr")
|
||||
+ assert.Check(t, is.Contains(string(out), "cap_sys_nice+ep"), "untar should have kept the 'security.capability' xattr")
|
||||
}
|
||||
}
|
||||
|
43
base/docker/docker-20.10.4-systemd-unit-runtimes.d.patch
Normal file
43
base/docker/docker-20.10.4-systemd-unit-runtimes.d.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From 414e5fb4ca7f14fae5ff57c4fb1fd64b77e9b733 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Fri, 12 Mar 2021 17:10:08 +0000
|
||||
Subject: [PATCH] Support /etc/docker-runtimes.d
|
||||
|
||||
Reworked for docker 20.10.4
|
||||
Original patch message:
|
||||
From 77efbceb6f074900c72855af903b63685803bc59 Mon Sep 17 00:00:00 2001
|
||||
From: Jacob Vallejo <jakeev@amazon.com>
|
||||
Date: Mon, 23 Sep 2019 15:58:38 -0700
|
||||
Subject: [PATCH] Support /etc/docker-runtimes.d
|
||||
|
||||
Use additional configured runtimes by evaluating their configs and
|
||||
subsequently providing any necessary configuration flags to the docker
|
||||
daemon at startup.
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
contrib/init/systemd/docker.service | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/contrib/init/systemd/docker.service b/contrib/init/systemd/docker.service
|
||||
index d76aee3..7e87245 100644
|
||||
--- a/contrib/init/systemd/docker.service
|
||||
+++ b/contrib/init/systemd/docker.service
|
||||
@@ -9,10 +9,13 @@ Requires=docker.socket
|
||||
Type=notify
|
||||
EnvironmentFile=-/etc/sysconfig/docker
|
||||
EnvironmentFile=-/etc/sysconfig/docker-storage
|
||||
+EnvironmentFile=-/run/docker/runtimes.env
|
||||
+ExecStartPre=/bin/mkdir -p /run/docker
|
||||
+ExecStartPre=/usr/libexec/docker/docker-setup-runtimes.sh
|
||||
# the default is not to use systemd for cgroups because the delegate issues still
|
||||
# exists and systemd currently does not support the cgroup feature set required
|
||||
# for containers run by docker
|
||||
-ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $OPTIONS $DOCKER_STORAGE_OPTIONS
|
||||
+ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_ADD_RUNTIMES
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
LimitNOFILE=1048576
|
||||
# Having non-zero Limit*s causes performance problems due to accounting overhead
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
40
base/docker/docker-20.10.4-systemd-unit-sysconfig.patch
Normal file
40
base/docker/docker-20.10.4-systemd-unit-sysconfig.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 863e370fa7b6abffe839ba405b72f409116ad677 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 10 Mar 2021 19:25:02 +0000
|
||||
Subject: [PATCH] Support the use of sysconfig envvars in unit
|
||||
|
||||
Reworked for 20.10.4
|
||||
Original patch message:
|
||||
From: Jacob Vallejo <jakeev@amazon.com>
|
||||
Date: Mon, 23 Sep 2019 15:55:53 -0700
|
||||
Subject: [PATCH] Support the use of sysconfig envvars in unit
|
||||
|
||||
Environment variables may be conventionally configured here and are
|
||||
wired up into the startup of docker if they are provided.
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
contrib/init/systemd/docker.service | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/contrib/init/systemd/docker.service b/contrib/init/systemd/docker.service
|
||||
index 5174631..a92685e 100644
|
||||
--- a/contrib/init/systemd/docker.service
|
||||
+++ b/contrib/init/systemd/docker.service
|
||||
@@ -7,10 +7,12 @@ Requires=docker.socket
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
+EnvironmentFile=-/etc/sysconfig/docker
|
||||
+EnvironmentFile=-/etc/sysconfig/docker-storage
|
||||
# the default is not to use systemd for cgroups because the delegate issues still
|
||||
# exists and systemd currently does not support the cgroup feature set required
|
||||
# for containers run by docker
|
||||
-ExecStart=/usr/bin/dockerd -H fd://
|
||||
+ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $OPTIONS $DOCKER_STORAGE_OPTIONS
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
LimitNOFILE=1048576
|
||||
# Having non-zero Limit*s causes performance problems due to accounting overhead
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
29
base/docker/docker-20.10.4-sysvinit-add-storage-opts.patch
Normal file
29
base/docker/docker-20.10.4-sysvinit-add-storage-opts.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Index: docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
===================================================================
|
||||
--- docker-20.10.4.orig/contrib/init/sysvinit-redhat/docker
|
||||
+++ docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
@@ -30,6 +30,15 @@ lockfile="/var/lock/subsys/$prog"
|
||||
logfile="/var/log/$prog"
|
||||
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
+[ -e /etc/sysconfig/${prog}-storage ] && . /etc/sysconfig/${prog}-storage
|
||||
+
|
||||
+# Additional start options for the Docker daemon can
|
||||
+# be defined in the $OPTIONS variable in /etc/sysconfig/docker,
|
||||
+# which is also the variable name referenced by the systemd unit.
|
||||
+# If $OPTIONS is not defined, we set it to the value of $other_args,
|
||||
+# which is the variable name expected by the upstream sysvinit script.
|
||||
+OPTIONS="${OPTIONS:-${other_args}}"
|
||||
+
|
||||
|
||||
prestart() {
|
||||
service cgconfig status > /dev/null
|
||||
@@ -56,7 +65,7 @@ start() {
|
||||
prestart
|
||||
printf "Starting $prog:\t"
|
||||
echo "\n$(date)\n" >> $logfile
|
||||
- "$unshare" -m -- nohup $exec $other_args >> $logfile 2>&1 &
|
||||
+ "$unshare" -m -- nohup $exec ${OPTIONS} ${DOCKER_STORAGE_OPTIONS} >> $logfile 2>&1 &
|
||||
pid=$!
|
||||
touch $lockfile
|
||||
# wait up to 10 seconds for the pidfile to exist. see
|
@ -0,0 +1,26 @@
|
||||
Index: docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
===================================================================
|
||||
--- docker-20.10.4.orig/contrib/init/sysvinit-redhat/docker
|
||||
+++ docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
@@ -41,6 +41,9 @@ logfile="/var/log/$prog"
|
||||
# which is the variable name expected by the upstream sysvinit script.
|
||||
OPTIONS="${OPTIONS:-${other_args}}"
|
||||
|
||||
+# How many seconds to wait for the pidfile to appear after starting the daemon.
|
||||
+# The default value from upstream is 10.
|
||||
+DAEMON_PIDFILE_TIMEOUT="${DAEMON_PIDFILE_TIMEOUT:-10}"
|
||||
|
||||
prestart() {
|
||||
service cgconfig status > /dev/null
|
||||
@@ -70,10 +73,8 @@ start() {
|
||||
"$unshare" -m -- nohup $exec ${OPTIONS} ${DOCKER_STORAGE_OPTIONS} >> $logfile 2>&1 &
|
||||
pid=$!
|
||||
touch $lockfile
|
||||
- # wait up to 10 seconds for the pidfile to exist. see
|
||||
- # https://github.com/docker/docker/issues/5359
|
||||
tries=0
|
||||
- while [ ! -f $pidfile -a $tries -lt 10 ]; do
|
||||
+ while [ ! -f $pidfile -a $tries -lt ${DAEMON_PIDFILE_TIMEOUT} ]; do
|
||||
sleep 1
|
||||
tries=$((tries + 1))
|
||||
echo -n '.'
|
@ -0,0 +1,13 @@
|
||||
Index: docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
===================================================================
|
||||
--- docker-20.10.4.orig/contrib/init/sysvinit-redhat/docker
|
||||
+++ docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
@@ -32,6 +32,8 @@ logfile="/var/log/$prog"
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
[ -e /etc/sysconfig/${prog}-storage ] && . /etc/sysconfig/${prog}-storage
|
||||
|
||||
+[ -n "${DAEMON_MAXFILES}" ] && ulimit -n "${DAEMON_MAXFILES}"
|
||||
+
|
||||
# Additional start options for the Docker daemon can
|
||||
# be defined in the $OPTIONS variable in /etc/sysconfig/docker,
|
||||
# which is also the variable name referenced by the systemd unit.
|
@ -0,0 +1,13 @@
|
||||
Index: docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
===================================================================
|
||||
--- docker-20.10.4.orig/contrib/init/sysvinit-redhat/docker
|
||||
+++ docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# Daemon for docker.com
|
||||
#
|
||||
-# chkconfig: 2345 95 95
|
||||
+# chkconfig: 2345 95 05
|
||||
# description: Daemon for docker.com
|
||||
|
||||
### BEGIN INIT INFO
|
13
base/docker/docker-20.10.4-sysvinit-use-nohup.patch
Normal file
13
base/docker/docker-20.10.4-sysvinit-use-nohup.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
===================================================================
|
||||
--- docker-20.10.4.orig/contrib/init/sysvinit-redhat/docker
|
||||
+++ docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
@@ -56,7 +56,7 @@ start() {
|
||||
prestart
|
||||
printf "Starting $prog:\t"
|
||||
echo "\n$(date)\n" >> $logfile
|
||||
- "$unshare" -m -- $exec $other_args >> $logfile 2>&1 &
|
||||
+ "$unshare" -m -- nohup $exec $other_args >> $logfile 2>&1 &
|
||||
pid=$!
|
||||
touch $lockfile
|
||||
# wait up to 10 seconds for the pidfile to exist. see
|
@ -0,0 +1,96 @@
|
||||
From f8f7e0d380488665cb77d8213d816bfdeeb7a252 Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 18 Aug 2021 22:33:15 +0000
|
||||
Subject: [PATCH] Add test skip helpers to cli/testutil
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
testutil/helpers.go | 14 ++++++++++++++
|
||||
testutil/helpers_unix.go | 34 ++++++++++++++++++++++++++++++++++
|
||||
testutil/helpers_windows.go | 12 ++++++++++++
|
||||
3 files changed, 60 insertions(+)
|
||||
create mode 100644 testutil/helpers.go
|
||||
create mode 100644 testutil/helpers_unix.go
|
||||
create mode 100644 testutil/helpers_windows.go
|
||||
|
||||
diff --git a/testutil/helpers.go b/testutil/helpers.go
|
||||
new file mode 100644
|
||||
index 0000000..0eeff25
|
||||
--- /dev/null
|
||||
+++ b/testutil/helpers.go
|
||||
@@ -0,0 +1,14 @@
|
||||
+package testutil // import "github.com/docker/cli/testutil"
|
||||
+
|
||||
+import (
|
||||
+ "flag"
|
||||
+)
|
||||
+
|
||||
+// This variable and the init() function copied from
|
||||
+// https://github.com/containerd/containerd/blob/master/pkg/testutil/helpers.go
|
||||
+// Original Copyright The Containerd Authors. Licensed under the Apache License, Version 2.0.
|
||||
+var rootEnabled bool
|
||||
+
|
||||
+func init() {
|
||||
+ flag.BoolVar(&rootEnabled, "test.root", false, "enable tests that require root")
|
||||
+}
|
||||
diff --git a/testutil/helpers_unix.go b/testutil/helpers_unix.go
|
||||
new file mode 100644
|
||||
index 0000000..c846775
|
||||
--- /dev/null
|
||||
+++ b/testutil/helpers_unix.go
|
||||
@@ -0,0 +1,34 @@
|
||||
+// +build !windows
|
||||
+
|
||||
+package testutil
|
||||
+
|
||||
+import (
|
||||
+ "os"
|
||||
+ "testing"
|
||||
+
|
||||
+ "gotest.tools/v3/assert"
|
||||
+)
|
||||
+
|
||||
+// This function was copied from
|
||||
+// https://github.com/containerd/containerd/blob/master/pkg/testutil/helpers_unix.go
|
||||
+// Original Copyright The Containerd Authors. Licensed under the Apache License, Version 2.0.
|
||||
+// RequiresRoot skips tests that require root, unless the test.root flag has
|
||||
+// been set
|
||||
+func RequiresRoot(t testing.TB) {
|
||||
+ if !rootEnabled {
|
||||
+ t.Skip("skipping test that requires root")
|
||||
+ }
|
||||
+ assert.Equal(t, 0, os.Getuid(), "This test must be run as root.")
|
||||
+}
|
||||
+
|
||||
+// This function is adapted from a previous patch applied by Amazon
|
||||
+// The existence of /.initialized or /builddir is a marker that we're in a build chroot
|
||||
+// Tests that perform filesystem operations, generate non-localhost network traffic,
|
||||
+// and possibly other things, are likely to not work correctly
|
||||
+func SkipIfBuildroot(t testing.TB) {
|
||||
+ if _, err := os.Stat("/.initialized"); err == nil {
|
||||
+ t.Skip("not appropriate for a buildroot environment")
|
||||
+ } else if _, err := os.Stat("/builddir"); err == nil {
|
||||
+ t.Skip("not appropriate for a buildroot environment")
|
||||
+ }
|
||||
+}
|
||||
diff --git a/testutil/helpers_windows.go b/testutil/helpers_windows.go
|
||||
new file mode 100644
|
||||
index 0000000..aefeca0
|
||||
--- /dev/null
|
||||
+++ b/testutil/helpers_windows.go
|
||||
@@ -0,0 +1,12 @@
|
||||
+// +build windows
|
||||
+
|
||||
+package testutil
|
||||
+
|
||||
+import "testing"
|
||||
+
|
||||
+func RequiresRoot(t testing.TB) {
|
||||
+}
|
||||
+
|
||||
+func SkipIfBuildroot(t testing.TB) {
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
@ -0,0 +1,99 @@
|
||||
From 021e33a5b2c3384243e3ae76444bb90006214f5a Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Wed, 18 Aug 2021 22:17:52 +0000
|
||||
Subject: [PATCH] Add test skip helpers to testutil
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
testutil/helpers.go | 10 ++++++++++
|
||||
testutil/helpers_unix.go | 34 ++++++++++++++++++++++++++++++++++
|
||||
testutil/helpers_windows.go | 12 ++++++++++++
|
||||
3 files changed, 56 insertions(+)
|
||||
create mode 100644 testutil/helpers_unix.go
|
||||
create mode 100644 testutil/helpers_windows.go
|
||||
|
||||
diff --git a/testutil/helpers.go b/testutil/helpers.go
|
||||
index e522b5a..6de9de5 100644
|
||||
--- a/testutil/helpers.go
|
||||
+++ b/testutil/helpers.go
|
||||
@@ -1,9 +1,19 @@
|
||||
package testutil // import "github.com/docker/docker/testutil"
|
||||
|
||||
import (
|
||||
+ "flag"
|
||||
"io"
|
||||
)
|
||||
|
||||
+// This variable and the init() function copied from
|
||||
+// https://github.com/containerd/containerd/blob/master/pkg/testutil/helpers.go
|
||||
+// Original Copyright The Containerd Authors. Licensed under the Apache License, Version 2.0.
|
||||
+var rootEnabled bool
|
||||
+
|
||||
+func init() {
|
||||
+ flag.BoolVar(&rootEnabled, "test.root", false, "enable tests that require root")
|
||||
+}
|
||||
+
|
||||
// DevZero acts like /dev/zero but in an OS-independent fashion.
|
||||
var DevZero io.Reader = devZero{}
|
||||
|
||||
diff --git a/testutil/helpers_unix.go b/testutil/helpers_unix.go
|
||||
new file mode 100644
|
||||
index 0000000..c846775
|
||||
--- /dev/null
|
||||
+++ b/testutil/helpers_unix.go
|
||||
@@ -0,0 +1,34 @@
|
||||
+// +build !windows
|
||||
+
|
||||
+package testutil
|
||||
+
|
||||
+import (
|
||||
+ "os"
|
||||
+ "testing"
|
||||
+
|
||||
+ "gotest.tools/v3/assert"
|
||||
+)
|
||||
+
|
||||
+// This function was copied from
|
||||
+// https://github.com/containerd/containerd/blob/master/pkg/testutil/helpers_unix.go
|
||||
+// Original Copyright The Containerd Authors. Licensed under the Apache License, Version 2.0.
|
||||
+// RequiresRoot skips tests that require root, unless the test.root flag has
|
||||
+// been set
|
||||
+func RequiresRoot(t testing.TB) {
|
||||
+ if !rootEnabled {
|
||||
+ t.Skip("skipping test that requires root")
|
||||
+ }
|
||||
+ assert.Equal(t, 0, os.Getuid(), "This test must be run as root.")
|
||||
+}
|
||||
+
|
||||
+// This function is adapted from a previous patch applied by Amazon
|
||||
+// The existence of /.initialized or /builddir is a marker that we're in a build chroot
|
||||
+// Tests that perform filesystem operations, generate non-localhost network traffic,
|
||||
+// and possibly other things, are likely to not work correctly
|
||||
+func SkipIfBuildroot(t testing.TB) {
|
||||
+ if _, err := os.Stat("/.initialized"); err == nil {
|
||||
+ t.Skip("not appropriate for a buildroot environment")
|
||||
+ } else if _, err := os.Stat("/builddir"); err == nil {
|
||||
+ t.Skip("not appropriate for a buildroot environment")
|
||||
+ }
|
||||
+}
|
||||
diff --git a/testutil/helpers_windows.go b/testutil/helpers_windows.go
|
||||
new file mode 100644
|
||||
index 0000000..aefeca0
|
||||
--- /dev/null
|
||||
+++ b/testutil/helpers_windows.go
|
||||
@@ -0,0 +1,12 @@
|
||||
+// +build windows
|
||||
+
|
||||
+package testutil
|
||||
+
|
||||
+import "testing"
|
||||
+
|
||||
+func RequiresRoot(t testing.TB) {
|
||||
+}
|
||||
+
|
||||
+func SkipIfBuildroot(t testing.TB) {
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
41
base/docker/docker-20.10.7-Skip-overlay-tar-untar-test.patch
Normal file
41
base/docker/docker-20.10.7-Skip-overlay-tar-untar-test.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From fc8490a29aa87f81ad4a58c5b759317acb77876e Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Mon, 16 Aug 2021 17:21:38 +0000
|
||||
Subject: [PATCH] Skip overlay/tar/untar test
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
pkg/archive/archive_linux_test.go | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/pkg/archive/archive_linux_test.go b/pkg/archive/archive_linux_test.go
|
||||
index 800fda6..08a196b 100644
|
||||
--- a/pkg/archive/archive_linux_test.go
|
||||
+++ b/pkg/archive/archive_linux_test.go
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
"github.com/containerd/containerd/sys"
|
||||
"github.com/docker/docker/pkg/system"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
"golang.org/x/sys/unix"
|
||||
"gotest.tools/v3/assert"
|
||||
"gotest.tools/v3/skip"
|
||||
@@ -87,6 +88,7 @@ func checkFileMode(t *testing.T, path string, perm os.FileMode) {
|
||||
}
|
||||
|
||||
func TestOverlayTarUntar(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
oldmask, err := system.Umask(0)
|
||||
assert.NilError(t, err)
|
||||
defer system.Umask(oldmask)
|
||||
@@ -126,6 +128,7 @@ func TestOverlayTarUntar(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOverlayTarAUFSUntar(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
oldmask, err := system.Umask(0)
|
||||
assert.NilError(t, err)
|
||||
defer system.Umask(oldmask)
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
@ -0,0 +1,33 @@
|
||||
From d099d78e4ac135ff2fcf24e08ad7573067b37a5a Mon Sep 17 00:00:00 2001
|
||||
From: Jamie Anderson <jamieand@amazon.com>
|
||||
Date: Mon, 16 Aug 2021 17:31:32 +0000
|
||||
Subject: [PATCH] Skip pkg/archive tests that require root
|
||||
|
||||
Signed-off-by: Jamie Anderson <jamieand@amazon.com>
|
||||
---
|
||||
pkg/archive/changes_test.go | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/pkg/archive/changes_test.go b/pkg/archive/changes_test.go
|
||||
index 0a2689d..490af6d 100644
|
||||
--- a/pkg/archive/changes_test.go
|
||||
+++ b/pkg/archive/changes_test.go
|
||||
@@ -13,6 +13,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/docker/docker/pkg/system"
|
||||
+ "github.com/docker/docker/testutil"
|
||||
"gotest.tools/v3/assert"
|
||||
"gotest.tools/v3/skip"
|
||||
)
|
||||
@@ -187,6 +188,7 @@ func TestChangesWithChanges(t *testing.T) {
|
||||
|
||||
// See https://github.com/docker/docker/pull/13590
|
||||
func TestChangesWithChangesGH13590(t *testing.T) {
|
||||
+ testutil.RequiresRoot(t)
|
||||
// TODO Windows. Needs further investigation to identify the failure
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("needs more investigation")
|
||||
--
|
||||
2.31.0.rc2
|
||||
|
8
base/docker/docker-setup-runtimes.sh
Normal file
8
base/docker/docker-setup-runtimes.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
{
|
||||
echo -n "DOCKER_ADD_RUNTIMES=\""
|
||||
for file in /etc/docker-runtimes.d/*; do
|
||||
[ -f "$file" ] && [ -x "$file" ] && echo -n "--add-runtime $(basename "$file")=$file "
|
||||
done
|
||||
echo "\""
|
||||
} > /run/docker/runtimes.env
|
14
base/docker/docker-storage.sysconfig
Normal file
14
base/docker/docker-storage.sysconfig
Normal file
@ -0,0 +1,14 @@
|
||||
# This file may be automatically generated by an installation program.
|
||||
|
||||
# By default, Docker uses a loopback-mounted sparse file in
|
||||
# /var/lib/docker. The loopback makes it slower, and there are some
|
||||
# restrictive defaults, such as 100GB max storage.
|
||||
|
||||
# If your installation did not set a custom storage for Docker, you
|
||||
# may do it below.
|
||||
|
||||
# Example: Use a custom pair of raw logical volumes (one for metadata,
|
||||
# one for data).
|
||||
# DOCKER_STORAGE_OPTIONS="--storage-opt dm.metadatadev=/dev/myvg/my-docker-metadata --storage-opt dm.datadev=/dev/myvg/my-docker-data"
|
||||
|
||||
DOCKER_STORAGE_OPTIONS=
|
1578
base/docker/docker.spec
Normal file
1578
base/docker/docker.spec
Normal file
File diff suppressed because it is too large
Load Diff
13
base/docker/docker.sysconfig
Normal file
13
base/docker/docker.sysconfig
Normal file
@ -0,0 +1,13 @@
|
||||
# The max number of open files for the daemon itself, and all
|
||||
# running containers. The default value of 1048576 mirrors the value
|
||||
# used by the systemd service unit.
|
||||
DAEMON_MAXFILES=1048576
|
||||
|
||||
# Additional startup options for the Docker daemon, for example:
|
||||
# OPTIONS="--ip-forward=true --iptables=true"
|
||||
# By default we limit the number of open files per container
|
||||
OPTIONS="--default-ulimit nofile=32768:65536"
|
||||
|
||||
# How many seconds the sysvinit script waits for the pidfile to appear
|
||||
# when starting the daemon.
|
||||
DAEMON_PIDFILE_TIMEOUT=10
|
13
base/docker/no-private-mnt-namespace.patch
Normal file
13
base/docker/no-private-mnt-namespace.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
===================================================================
|
||||
--- docker-20.10.4.orig/contrib/init/sysvinit-redhat/docker
|
||||
+++ docker-20.10.4/contrib/init/sysvinit-redhat/docker
|
||||
@@ -70,7 +70,7 @@ start() {
|
||||
prestart
|
||||
printf "Starting $prog:\t"
|
||||
echo "\n$(date)\n" >> $logfile
|
||||
- "$unshare" -m -- nohup $exec ${OPTIONS} ${DOCKER_STORAGE_OPTIONS} >> $logfile 2>&1 &
|
||||
+ nohup $exec ${OPTIONS} ${DOCKER_STORAGE_OPTIONS} >> $logfile 2>&1 &
|
||||
pid=$!
|
||||
touch $lockfile
|
||||
tries=0
|
19
base/docker/runc-allow-git-sha-override.patch
Normal file
19
base/docker/runc-allow-git-sha-override.patch
Normal file
@ -0,0 +1,19 @@
|
||||
Index: docker-ce-17.11.0-ce/components/engine/runc-69663f0bd4b60df09991c08812a60108003fa340/Makefile
|
||||
===================================================================
|
||||
--- docker-ce-17.11.0-ce.orig/components/engine/runc-69663f0bd4b60df09991c08812a60108003fa340/Makefile
|
||||
+++ docker-ce-17.11.0-ce/components/engine/runc-69663f0bd4b60df09991c08812a60108003fa340/Makefile
|
||||
@@ -12,8 +12,12 @@ GIT_BRANCH_CLEAN := $(shell echo $(GIT_B
|
||||
RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
|
||||
PROJECT := github.com/opencontainers/runc
|
||||
BUILDTAGS := seccomp
|
||||
-COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true)
|
||||
-COMMIT := $(if $(shell git status --porcelain --untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}")
|
||||
+ifeq ($(GIT_COMMIT_OVERRIDE),)
|
||||
+ COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true)
|
||||
+ COMMIT := $(if $(shell git status --porcelain --untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}")
|
||||
+else
|
||||
+ COMMIT := $(GIT_COMMIT_OVERRIDE)
|
||||
+endif
|
||||
|
||||
MAN_DIR := $(CURDIR)/man/man8
|
||||
MAN_PAGES = $(shell ls $(MAN_DIR)/*.8)
|
55
base/docker/tini-allow-git-sha-override.patch
Normal file
55
base/docker/tini-allow-git-sha-override.patch
Normal file
@ -0,0 +1,55 @@
|
||||
Index: tini/CMakeLists.txt
|
||||
===================================================================
|
||||
--- a/tini/CMakeLists.txt
|
||||
+++ b/tini/CMakeLists.txt
|
||||
@@ -13,27 +13,32 @@ if(MINIMAL)
|
||||
add_definitions(-DTINI_MINIMAL=1)
|
||||
endif()
|
||||
|
||||
-# Extract git version and dirty-ness
|
||||
-execute_process (
|
||||
- COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
|
||||
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
- RESULT_VARIABLE git_version_check_ret
|
||||
- OUTPUT_VARIABLE tini_VERSION_GIT
|
||||
-)
|
||||
-
|
||||
-execute_process(
|
||||
- COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
|
||||
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
- OUTPUT_VARIABLE git_dirty_check_out
|
||||
-)
|
||||
+if("$ENV{GIT_COMMIT_OVERRIDE}" EQUAL "")
|
||||
|
||||
-if("${git_version_check_ret}" EQUAL 0)
|
||||
- set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
|
||||
- if(NOT "${git_dirty_check_out}" STREQUAL "")
|
||||
- set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
|
||||
+ # Extract git version and dirty-ness
|
||||
+ execute_process (
|
||||
+ COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
|
||||
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
+ RESULT_VARIABLE git_version_check_ret
|
||||
+ OUTPUT_VARIABLE tini_VERSION_GIT
|
||||
+ )
|
||||
+
|
||||
+ execute_process(
|
||||
+ COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
|
||||
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
+ OUTPUT_VARIABLE git_dirty_check_out
|
||||
+ )
|
||||
+
|
||||
+ if("${git_version_check_ret}" EQUAL 0)
|
||||
+ set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
|
||||
+ if(NOT "${git_dirty_check_out}" STREQUAL "")
|
||||
+ set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
|
||||
+ endif()
|
||||
+ else()
|
||||
+ set(tini_VERSION_GIT "")
|
||||
endif()
|
||||
else()
|
||||
- set(tini_VERSION_GIT "")
|
||||
+ set(tini_VERSION_GIT " - git.$ENV{GIT_COMMIT_OVERRIDE}")
|
||||
endif()
|
||||
|
||||
# Flags
|
248
base/libseccomp/libseccomp.spec
Normal file
248
base/libseccomp/libseccomp.spec
Normal file
@ -0,0 +1,248 @@
|
||||
Name: libseccomp
|
||||
Version: 2.5.3
|
||||
Release: 1%{?dist}
|
||||
Summary: Enhanced seccomp library
|
||||
License: LGPLv2
|
||||
URL: https://github.com/seccomp/libseccomp
|
||||
Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gperf
|
||||
BuildRequires: make
|
||||
|
||||
%ifnarch riscv64 s390
|
||||
# Versions prior to 3.13.0-4 do not work on ARM with newer glibc 2.25.0-6
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=1466017
|
||||
BuildRequires: valgrind >= 1:3.13.0-4
|
||||
%endif
|
||||
|
||||
%description
|
||||
The libseccomp library provides an easy to use interface to the Linux Kernel's
|
||||
syscall filtering mechanism, seccomp. The libseccomp API allows an application
|
||||
to specify which syscalls, and optionally which syscall arguments, the
|
||||
application is allowed to execute, all of which are enforced by the Linux
|
||||
Kernel.
|
||||
|
||||
%package devel
|
||||
Summary: Development files used to build applications with libseccomp support
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The libseccomp library provides an easy to use interface to the Linux Kernel's
|
||||
syscall filtering mechanism, seccomp. The libseccomp API allows an application
|
||||
to specify which syscalls, and optionally which syscall arguments, the
|
||||
application is allowed to execute, all of which are enforced by the Linux
|
||||
Kernel.
|
||||
|
||||
%package static
|
||||
Summary: Enhanced seccomp static library
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
The libseccomp library provides an easy to use interface to the Linux Kernel's
|
||||
syscall filtering mechanism, seccomp. The libseccomp API allows an application
|
||||
to specify which syscalls, and optionally which syscall arguments, the
|
||||
application is allowed to execute, all of which are enforced by the Linux
|
||||
Kernel.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}/%{_libdir}
|
||||
mkdir -p %{buildroot}/%{_includedir}
|
||||
mkdir -p %{buildroot}/%{_mandir}
|
||||
|
||||
%make_install
|
||||
|
||||
rm -f %{buildroot}/%{_libdir}/libseccomp.la
|
||||
|
||||
%check
|
||||
%make_build check
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc CREDITS README.md CHANGELOG CONTRIBUTING.md
|
||||
%{_libdir}/libseccomp.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/seccomp.h
|
||||
%{_includedir}/seccomp-syscalls.h
|
||||
%{_libdir}/libseccomp.so
|
||||
%{_libdir}/pkgconfig/libseccomp.pc
|
||||
%{_bindir}/scmp_sys_resolver
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%files static
|
||||
%{_libdir}/libseccomp.a
|
||||
|
||||
%changelog
|
||||
* Wed Feb 01 2023 Stewart Smith <trawets@amazon.com> - 2.5.3-1.amzn2023.0.2
|
||||
- Mass rebuild for AL2023
|
||||
|
||||
* Sat Oct 01 2022 Stewart Smith <trawets@amazon.com> - 2.5.3-1.amzn2022.0.1
|
||||
- AL2022 pre-GA mass rebuild
|
||||
|
||||
* Sat Nov 06 2021 Neal Gompa <ngompa@fedoraproject.org> - 2.5.3-1
|
||||
- New upstream version (#2020824)
|
||||
|
||||
* Wed Nov 03 2021 Debarshi Ray <rishi@fedoraproject.org> - 2.5.2-1
|
||||
- New upstream version (#1900097)
|
||||
|
||||
* Wed Nov 03 2021 Debarshi Ray <rishi@fedoraproject.org> - 2.5.1-1
|
||||
- New upstream version (#1900097)
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Aug 05 2020 Neal Gompa <ngompa13@gmail.com> - 2.5.0-3
|
||||
- Apply fixes to change internal handling of the notification fd (#1865802)
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jul 24 2020 Neal Gompa <ngompa13@gmail.com> - 2.5.0-1
|
||||
- New upstream version (#1858965)
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Dec 16 2019 Neal Gompa <ngompa13@gmail.com> - 2.4.2-2
|
||||
- Modernize spec
|
||||
- Backport fix for missing __SNR_ppoll symbol (#1777889)
|
||||
- Refresh patch to build on aarch64 with upstream version
|
||||
|
||||
* Wed Nov 20 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4.2-1
|
||||
- New upstream version (#1765314)
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed Apr 17 2019 Paul Moore <paul@paul-moore.com> - 2.4.1-0
|
||||
- New upstream version
|
||||
|
||||
* Thu Mar 14 2019 Paul Moore <paul@paul-moore.com> - 2.4.0-0
|
||||
- New upstream version
|
||||
- Added a hack to workaround test failures (see %%check above)
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Wed Nov 07 2018 Paul Moore <paul@paul-moore.com> - 2.3.3-4
|
||||
- Remove ldconfig scriptlet, thanks to James Antill (RHBZ #1644074)
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Jan 10 2018 Paul Moore <pmoore@redhat.com> - 2.3.3-1
|
||||
- New upstream version
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jun 29 2017 Stephen Gallagher <sgallagh@redhat.com> - 2.3.2-3
|
||||
- Re-enable valgrind-based tests on ARMv7
|
||||
|
||||
* Thu Jun 29 2017 Stephen Gallagher <sgallagh@redhat.com> - 2.3.2-2
|
||||
- Disable running valgrind-based tests on ARMv7 due to glibc/valgrind bug (RHBZ #1466017)
|
||||
|
||||
* Wed Mar 01 2017 Paul Moore <pmoore@redhat.com> -2.3.2-1
|
||||
- New upstream version
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Apr 20 2016 Paul Moore <pmoore@redhat.com> - 2.3.1-1
|
||||
- Cleanup the changelog whitespace and escape the macros to make rpmlint happy
|
||||
|
||||
* Wed Apr 20 2016 Paul Moore <pmoore@redhat.com> - 2.3.1-0
|
||||
- New upstream version
|
||||
|
||||
* Tue Mar 1 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.3.0-1
|
||||
- No valgrind on s390
|
||||
|
||||
* Mon Feb 29 2016 Paul Moore <pmoore@redhat.com> - 2.3.0-0
|
||||
- New upstream version
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jul 08 2015 Paul Moore <pmoore@redhat.com> - 2.2.3-0
|
||||
- New upstream version
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Wed May 13 2015 Paul Moore <pmoore@redhat.com> - 2.2.1-0
|
||||
- New upstream version
|
||||
|
||||
* Thu Feb 12 2015 Paul Moore <pmoore@redhat.com> - 2.2.0-0
|
||||
- New upstream version
|
||||
- Added aarch64 support
|
||||
- Added a static build
|
||||
|
||||
* Thu Sep 18 2014 Paul Moore <pmoore@redhat.com> - 2.1.1-6
|
||||
- Fully builds on i686, x86_64, and armv7hl (RHBZ #1106071)
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Fri Jul 18 2014 Tom Callaway <spot@fedoraproject.org> - 2.1.1-4
|
||||
- fix license handling
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu Feb 27 2014 Paul Moore <pmoore@redhat.com> - 2.1.1-2
|
||||
- Build with CFLAGS="${optflags}"
|
||||
|
||||
* Mon Feb 17 2014 Paul Moore <pmoore@redhat.com> - 2.1.1-1
|
||||
- Removed the kernel dependency (RHBZ #1065572)
|
||||
|
||||
* Thu Oct 31 2013 Paul Moore <pmoore@redhat.com> - 2.1.1-0
|
||||
- New upstream version
|
||||
- Added a %%check procedure for self-test during build
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue Jun 11 2013 Paul Moore <pmoore@redhat.com> - 2.1.0-0
|
||||
- New upstream version
|
||||
- Added support for the ARM architecture
|
||||
- Added the scmp_sys_resolver tool
|
||||
|
||||
* Mon Jan 28 2013 Paul Moore <pmoore@redhat.com> - 2.0.0-0
|
||||
- New upstream version
|
||||
|
||||
* Tue Nov 13 2012 Paul Moore <pmoore@redhat.com> - 1.0.1-0
|
||||
- New upstream version with several important fixes
|
||||
|
||||
* Tue Jul 31 2012 Paul Moore <pmoore@redhat.com> - 1.0.0-0
|
||||
- New upstream version
|
||||
- Remove verbose build patch as it is no longer needed
|
||||
- Enable _smp_mflags during build stage
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Tue Jul 10 2012 Paul Moore <pmoore@redhat.com> - 0.1.0-1
|
||||
- Limit package to x86/x86_64 platforms (RHBZ #837888)
|
||||
|
||||
* Tue Jun 12 2012 Paul Moore <pmoore@redhat.com> - 0.1.0-0
|
||||
- Initial version
|
||||
|
Loading…
x
Reference in New Issue
Block a user