From 385847227c46bbb86d689537ed10f67f94aeb2e2 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Fri, 22 Sep 2017 10:27:47 +0000 Subject: [PATCH 01/28] Add default transport to push if not provided Avoid trying to print a nil ImageReference Add authentication to commit and push Add information on buildah from man page on transports Remove --transport flag Run: do not complain about missing volume locations Add credentials to buildah from Remove export command Run(): create the right working directory Improve "from" behavior with unnamed references Avoid parsing image metadata for dates and layers Read the image's creation date from public API Bump containers/storage and containers/image Don't panic if an image's ID can't be parsed Turn on --enable-gc when running gometalinter rmi: handle truncated image IDs --- .gitignore | 1 + buildah.spec | 24 +++++++++++++++++++++--- sources | 2 +- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e013161..427a91f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /buildah-ac2aad6.tar.gz /buildah-b37a981.tar.gz /buildah-b9b2a8a.tar.gz +/buildah-9cbccf8.tar.gz diff --git a/buildah.spec b/buildah.spec index 1129cc9..9bef3a7 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,12 +21,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit b9b2a8a7ef87833a1db600ed2a3d5295644b2f1c +%global commit 9cbccf88cfc1f6e205af30f7e048eab0949468ad %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.3 -Release: 5.git%{shortcommit}%{?dist} +Version: 0.4 +Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -90,6 +90,24 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Fri Sep 22 2017 Dan Walsh 0.4-1.git9cbccf88c +- Add default transport to push if not provided +- Avoid trying to print a nil ImageReference +- Add authentication to commit and push +- Add information on buildah from man page on transports +- Remove --transport flag +- Run: do not complain about missing volume locations +- Add credentials to buildah from +- Remove export command +- Run(): create the right working directory +- Improve "from" behavior with unnamed references +- Avoid parsing image metadata for dates and layers +- Read the image's creation date from public API +- Bump containers/storage and containers/image +- Don't panic if an image's ID can't be parsed +- Turn on --enable-gc when running gometalinter +- rmi: handle truncated image IDs + * Tue Aug 15 2017 Josh Boyer - 0.3-5.gitb9b2a8a - Build for s390x as well diff --git a/sources b/sources index 10ad6e1..06d244c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-b9b2a8a.tar.gz) = 4af5e62d7fb1ec2cc05e5dac09c713b9822d0384fe4a9dc97af9677a0741998726b236022f4d817c9534e229e71bddd1e339f4a886557b6f16deb46eeabfbac7 +SHA512 (buildah-9cbccf8.tar.gz) = b205d8ec5a9cc08e08a9ae62d6fd2bd21146b88bf324d6618a4b686101f744819a74430d13d64e7debd7d6deee0f555e4d18aa9c2db4241667c78a25a56e3636 From b37bc51a410b7ea8b14e9659d75325ac3ff495cb Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 8 Nov 2017 00:57:24 +0000 Subject: [PATCH 02/28] Add secrets patch to buildah Add proper SELinux labeling to buildah run Add tls-verify to bud command Make filtering by date use the image's date images: don't list unnamed images twice Fix timeout issue Add further tty verbiage to buildah run Make inspect try an image on failure if type not specified Add support for `buildah run --hostname` Tons of bug fixes and code cleanup --- .gitignore | 1 + buildah.spec | 16 ++++++++++++++-- sources | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 427a91f..f306b79 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /buildah-b37a981.tar.gz /buildah-b9b2a8a.tar.gz /buildah-9cbccf8.tar.gz +/buildah-35afa1c.tar.gz diff --git a/buildah.spec b/buildah.spec index 9bef3a7..757788d 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,11 +21,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 9cbccf88cfc1f6e205af30f7e048eab0949468ad +%global commit 35afa1c1f4143130668eff755187bac1866a8704 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.4 +Version: 0.5 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -90,6 +90,18 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Tue Nov 07 2017 Dan Walsh 0.5-1 +- Add secrets patch to buildah +- Add proper SELinux labeling to buildah run +- Add tls-verify to bud command +- Make filtering by date use the image's date +- images: don't list unnamed images twice +- Fix timeout issue +- Add further tty verbiage to buildah run +- Make inspect try an image on failure if type not specified +- Add support for `buildah run --hostname` +- Tons of bug fixes and code cleanup + * Fri Sep 22 2017 Dan Walsh 0.4-1.git9cbccf88c - Add default transport to push if not provided - Avoid trying to print a nil ImageReference diff --git a/sources b/sources index 06d244c..db04117 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-9cbccf8.tar.gz) = b205d8ec5a9cc08e08a9ae62d6fd2bd21146b88bf324d6618a4b686101f744819a74430d13d64e7debd7d6deee0f555e4d18aa9c2db4241667c78a25a56e3636 +SHA512 (buildah-35afa1c.tar.gz) = df23f69a566c52dc45fb2f4c1014066a063abe70b42c006f08cd59860fe8fa7906137510591875c0d3664155fe688363af8ea335908a9580ea0753493a045972 From 616a0338c04774b63b2b26af9186327b1a071103 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 8 Nov 2017 17:53:55 +0000 Subject: [PATCH 03/28] Bump github.com/vbatts/tar-split Fixes CVE That could allow a container image to cause a DOS --- .gitignore | 1 + buildah.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f306b79..57985c7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /buildah-b9b2a8a.tar.gz /buildah-9cbccf8.tar.gz /buildah-35afa1c.tar.gz +/buildah-f7dc659.tar.gz diff --git a/buildah.spec b/buildah.spec index 757788d..4b0db0b 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,12 +21,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 35afa1c1f4143130668eff755187bac1866a8704 +%global commit f7dc659e52ba861f12f13c7f98030773a785cbb9 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah Version: 0.5 -Release: 1.git%{shortcommit}%{?dist} +Release: 2.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -70,7 +70,7 @@ popd mv vendor src export GOPATH=$(pwd)/_build:$(pwd):%{gopath} -make all +make all GIT_COMMIT=%{shortcommit} %install @@ -90,6 +90,10 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Wed Nov 08 2017 Dan Walsh 0.5-2 +- Bump github.com/vbatts/tar-split +- Fixes CVE That could allow a container image to cause a DOS + * Tue Nov 07 2017 Dan Walsh 0.5-1 - Add secrets patch to buildah - Add proper SELinux labeling to buildah run diff --git a/sources b/sources index db04117..2891950 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-35afa1c.tar.gz) = df23f69a566c52dc45fb2f4c1014066a063abe70b42c006f08cd59860fe8fa7906137510591875c0d3664155fe688363af8ea335908a9580ea0753493a045972 +SHA512 (buildah-f7dc659.tar.gz) = 0685d651166a75e6e41f727f790b9b849f469cd3181b3b62d69771767e7b5e44c53e4354cf3a9f6c1662cecd71141b0ad2c54da01955731211f9e3b783089b95 From bf71f009a42d0dd1a9a421a68bac1199a09792d8 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 15 Nov 2017 17:50:37 +0000 Subject: [PATCH 04/28] Adds support for converting manifest types when using the dir transport Rework how we do UID resolution in images Bump github.com/vbatts/tar-split Set option.terminal appropriately in run --- .gitignore | 1 + buildah.spec | 12 +++++++++--- sources | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 57985c7..e8eae07 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /buildah-9cbccf8.tar.gz /buildah-35afa1c.tar.gz /buildah-f7dc659.tar.gz +/buildah-de0fb93.tar.gz diff --git a/buildah.spec b/buildah.spec index 4b0db0b..fa70894 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,12 +21,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit f7dc659e52ba861f12f13c7f98030773a785cbb9 +%global commit de0fb93f3d207817021d62171d85e572312523a9 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.5 -Release: 2.git%{shortcommit}%{?dist} +Version: 0.6 +Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -90,6 +90,12 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Wed Nov 15 2017 Dan Walsh 0.6-1 +- Adds support for converting manifest types when using the dir transport +- Rework how we do UID resolution in images +- Bump github.com/vbatts/tar-split +- Set option.terminal appropriately in run + * Wed Nov 08 2017 Dan Walsh 0.5-2 - Bump github.com/vbatts/tar-split - Fixes CVE That could allow a container image to cause a DOS diff --git a/sources b/sources index 2891950..e8dd24e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-f7dc659.tar.gz) = 0685d651166a75e6e41f727f790b9b849f469cd3181b3b62d69771767e7b5e44c53e4354cf3a9f6c1662cecd71141b0ad2c54da01955731211f9e3b783089b95 +SHA512 (buildah-de0fb93.tar.gz) = 9d601f2829284e3b677bd7965ec5c2ea0ed30404509f9e796d1c25e0fce5ea32ffc8178288438a715b7f1c5e43628e969a807e4739901537d58fee19c420b9d9 From 4a5ce4679aebca83b96a4483cb3f2647eb6c5378 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 15 Nov 2017 17:53:26 +0000 Subject: [PATCH 05/28] Adds support for converting manifest types when using the dir transport Rework how we do UID resolution in images Bump github.com/vbatts/tar-split Set option.terminal appropriately in run --- buildah.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/buildah.spec b/buildah.spec index fa70894..2a3d574 100644 --- a/buildah.spec +++ b/buildah.spec @@ -46,6 +46,7 @@ BuildRequires: btrfs-progs-devel BuildRequires: libassuan-devel Requires: runc >= 1.0.0-7 Requires: skopeo-containers >= 0.1.20-2 +Requires: container-selinux Provides: %{repo} = %{version}-%{release} %description From b27a11cda918a4fe29338b6aa9b00970864a00c7 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Thu, 16 Nov 2017 22:04:12 +0000 Subject: [PATCH 06/28] Ignore errors when trying to read containers buildah.json for loading SELinux reservations Use credentials from kpod login for buildah --- .gitignore | 1 + buildah.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e8eae07..f1c24b4 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /buildah-35afa1c.tar.gz /buildah-f7dc659.tar.gz /buildah-de0fb93.tar.gz +/buildah-b7e3320.tar.gz diff --git a/buildah.spec b/buildah.spec index 2a3d574..82a2cfe 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,11 +21,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit de0fb93f3d207817021d62171d85e572312523a9 +%global commit b7e3320fe487ddaa859506df991c365ff2737870 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.6 +Version: 0.7 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -91,6 +91,10 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Thu Nov 16 2017 Dan Walsh 0.7-1 +- Ignore errors when trying to read containers buildah.json for loading SELinux reservations +- Use credentials from kpod login for buildah + * Wed Nov 15 2017 Dan Walsh 0.6-1 - Adds support for converting manifest types when using the dir transport - Rework how we do UID resolution in images diff --git a/sources b/sources index e8dd24e..9ef659b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-de0fb93.tar.gz) = 9d601f2829284e3b677bd7965ec5c2ea0ed30404509f9e796d1c25e0fce5ea32ffc8178288438a715b7f1c5e43628e969a807e4739901537d58fee19c420b9d9 +SHA512 (buildah-b7e3320.tar.gz) = 021e5f47068b3d7aafbf9563aa0f2f28b7d2bfdcb885d8ba052705d883a543a8d407fa70b6b840c10c9b81d778a49842fd7b4396a0431a0d8f02e711b1bc81b3 From d876eee7ecea2e66ef35b6d3c3125dba3fcf2373 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 22 Nov 2017 16:39:03 +0000 Subject: [PATCH 07/28] Buildah bud was failing on SELinux machines, this fixes this Block access to certain kernel file systems inside of the container --- .gitignore | 1 + buildah.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f1c24b4..4a0928d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /buildah-f7dc659.tar.gz /buildah-de0fb93.tar.gz /buildah-b7e3320.tar.gz +/buildah-bf40000.tar.gz diff --git a/buildah.spec b/buildah.spec index 82a2cfe..77c43c7 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,11 +21,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit b7e3320fe487ddaa859506df991c365ff2737870 +%global commit bf40000e72b351067ebae7b77d212a200f9ce051 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.7 +Version: 0.8 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -91,6 +91,10 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Thu Nov 16 2017 Dan Walsh 0.8-1 +- Buildah bud was failing on SELinux machines, this fixes this +- Block access to certain kernel file systems inside of the container + * Thu Nov 16 2017 Dan Walsh 0.7-1 - Ignore errors when trying to read containers buildah.json for loading SELinux reservations - Use credentials from kpod login for buildah diff --git a/sources b/sources index 9ef659b..492e4a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-b7e3320.tar.gz) = 021e5f47068b3d7aafbf9563aa0f2f28b7d2bfdcb885d8ba052705d883a543a8d407fa70b6b840c10c9b81d778a49842fd7b4396a0431a0d8f02e711b1bc81b3 +SHA512 (buildah-bf40000.tar.gz) = a956a0e316e8febbd5554de94f6cf4f9ecd3f09972e442486d2b6c67018fea47d4c8a2586e70ff404343b94b106a123302c09506121804f5ddc00b2770b6e7de From 2e0affbd22898bc01ab19ab11c74e5481cccb5e7 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sat, 2 Dec 2017 11:57:19 +0000 Subject: [PATCH 08/28] Allow push to use the image id Make sure builtin volumes have the correct label --- .gitignore | 1 + buildah.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4a0928d..fb99fa4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /buildah-de0fb93.tar.gz /buildah-b7e3320.tar.gz /buildah-bf40000.tar.gz +/buildah-04ea079.tar.gz diff --git a/buildah.spec b/buildah.spec index 77c43c7..e7cb9e4 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,11 +21,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit bf40000e72b351067ebae7b77d212a200f9ce051 +%global commit 04ea0791308720d032fdf7f1efb55488ac633351 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.8 +Version: 0.9 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -91,6 +91,10 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Sat Dec 2 2017 Dan Walsh 0.9-1 +- Allow push to use the image id +- Make sure builtin volumes have the correct label + * Thu Nov 16 2017 Dan Walsh 0.8-1 - Buildah bud was failing on SELinux machines, this fixes this - Block access to certain kernel file systems inside of the container diff --git a/sources b/sources index 492e4a5..fb74c8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-bf40000.tar.gz) = a956a0e316e8febbd5554de94f6cf4f9ecd3f09972e442486d2b6c67018fea47d4c8a2586e70ff404343b94b106a123302c09506121804f5ddc00b2770b6e7de +SHA512 (buildah-04ea079.tar.gz) = fc91d16ef5b223788c08d2888ce2aeb9c7a630c8407c2661b4f6ab3c923edcccdfb612cef0d18b390bd848c5e3578eb5258e8292ce11aa8c0949285a4dd72d1e From 5d0975fa0bc0af201a9463a5dfb153b3c31ebaeb Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Sun, 3 Dec 2017 21:52:22 -0500 Subject: [PATCH 09/28] remove git from builddep can't find git in the module ecosystem and git isn't critical for package build. Signed-off-by: Lokesh Mandvekar --- buildah.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/buildah.spec b/buildah.spec index e7cb9e4..d926a46 100644 --- a/buildah.spec +++ b/buildah.spec @@ -35,7 +35,6 @@ Source: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcomm ExclusiveArch: x86_64 aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} -BuildRequires: git BuildRequires: glib2-devel BuildRequires: ostree-devel BuildRequires: glibc-static @@ -59,7 +58,7 @@ or * delete a working container or an image %prep -%autosetup -Sgit -n %{name}-%{commit} +%setup -q -n %{name}-%{commit} %build mkdir _build From 180200710c86049c6c6a4f5410a9fb39cfb6bf57 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Mon, 4 Dec 2017 19:10:08 -0500 Subject: [PATCH 10/28] remove ostree-devel from builddep buildah is already built without ostree, this commit just removes the dependency. Signed-off-by: Lokesh Mandvekar --- buildah.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/buildah.spec b/buildah.spec index d926a46..8ae5cd6 100644 --- a/buildah.spec +++ b/buildah.spec @@ -36,7 +36,6 @@ ExclusiveArch: x86_64 aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: glib2-devel -BuildRequires: ostree-devel BuildRequires: glibc-static BuildRequires: go-md2man BuildRequires: gpgme-devel @@ -72,7 +71,6 @@ mv vendor src export GOPATH=$(pwd)/_build:$(pwd):%{gopath} make all GIT_COMMIT=%{shortcommit} - %install export GOPATH=$(pwd)/_build:$(pwd):%{gopath} make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions From 1963bfea4d0791fe084c866ccaa7d79cb5fa2cf7 Mon Sep 17 00:00:00 2001 From: Yevhenii Shapovalov Date: Tue, 12 Dec 2017 13:28:04 +0200 Subject: [PATCH 11/28] add tests --- tests/README.md | 3 + tests/binary.yml | 10 + tests/callback_plugins/log.py | 193 ++++++++++++++++++ tests/roles/binary/tasks/buildah.yml | 15 ++ tests/roles/binary/tasks/main.yml | 4 + tests/roles/binary/tasks/runc.yml | 16 ++ tests/roles/cli/tasks/add.yaml | 41 ++++ tests/roles/cli/tasks/bud.yaml | 24 +++ tests/roles/cli/tasks/cleanup.yaml | 4 + tests/roles/cli/tasks/config.yaml | 16 ++ tests/roles/cli/tasks/containers.yaml | 18 ++ tests/roles/cli/tasks/copy.yaml | 41 ++++ tests/roles/cli/tasks/from.yaml | 12 ++ tests/roles/cli/tasks/main.yaml | 44 ++++ tests/roles/cli/tasks/mount.yaml | 27 +++ tests/roles/cli/tasks/prepare-containers.yaml | 6 + tests/roles/cli/tasks/push.yaml | 60 ++++++ tests/roles/cli/tasks/tag.yaml | 43 ++++ tests/roles/prepare-env/tasks/main.yml | 41 ++++ tests/roles/tear-down/tasks/main.yml | 6 + tests/rpm.yml | 9 + tests/test_binary.sh | 1 + tests/test_rpm.sh | 1 + tests/tests.yml | 12 ++ 24 files changed, 647 insertions(+) create mode 100644 tests/README.md create mode 100644 tests/binary.yml create mode 100644 tests/callback_plugins/log.py create mode 100644 tests/roles/binary/tasks/buildah.yml create mode 100644 tests/roles/binary/tasks/main.yml create mode 100644 tests/roles/binary/tasks/runc.yml create mode 100644 tests/roles/cli/tasks/add.yaml create mode 100644 tests/roles/cli/tasks/bud.yaml create mode 100644 tests/roles/cli/tasks/cleanup.yaml create mode 100644 tests/roles/cli/tasks/config.yaml create mode 100644 tests/roles/cli/tasks/containers.yaml create mode 100644 tests/roles/cli/tasks/copy.yaml create mode 100644 tests/roles/cli/tasks/from.yaml create mode 100644 tests/roles/cli/tasks/main.yaml create mode 100644 tests/roles/cli/tasks/mount.yaml create mode 100644 tests/roles/cli/tasks/prepare-containers.yaml create mode 100644 tests/roles/cli/tasks/push.yaml create mode 100644 tests/roles/cli/tasks/tag.yaml create mode 100644 tests/roles/prepare-env/tasks/main.yml create mode 100644 tests/roles/tear-down/tasks/main.yml create mode 100644 tests/rpm.yml create mode 100755 tests/test_binary.sh create mode 100755 tests/test_rpm.sh create mode 100644 tests/tests.yml diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..3a997a6 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,3 @@ +Buildah - a tool which facilitates building OCI container images + +When executing the buildah bud testing, it will cost much time as it is building image in the background. diff --git a/tests/binary.yml b/tests/binary.yml new file mode 100644 index 0000000..1c7803d --- /dev/null +++ b/tests/binary.yml @@ -0,0 +1,10 @@ +--- +# test buildah +- hosts: all + become: true + tags: + - classic + roles: + - binary + - prepare-env + - cli diff --git a/tests/callback_plugins/log.py b/tests/callback_plugins/log.py new file mode 100644 index 0000000..f4f1ce9 --- /dev/null +++ b/tests/callback_plugins/log.py @@ -0,0 +1,193 @@ +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Inspired from: https://github.com/redhat-openstack/khaleesi/blob/master/plugins/callbacks/human_log.py +# Further improved support Ansible 2.0 + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +try: + from ansible.plugins.callback import CallbackBase + BASECLASS = CallbackBase +except ImportError: # < ansible 2.1 + BASECLASS = DEFAULT_MODULE.CallbackModule + +import os, sys +reload(sys) +sys.setdefaultencoding('utf-8') + +try: + import simplejson as json +except ImportError: + import json + +# Fields to reformat output for +FIELDS = ['cmd', 'command', 'start', 'end', 'delta', 'msg', 'stdout', + 'stderr', 'results', 'failed', 'reason'] + + +class CallbackModule(CallbackBase): + + """ + Ansible callback plugin for human-readable result logging + """ + CALLBACK_VERSION = 2.0 + CALLBACK_TYPE = 'notification' + CALLBACK_NAME = 'human_log' + CALLBACK_NEEDS_WHITELIST = False + + def __init__(self, *args, **kwargs): + # pylint: disable=non-parent-init-called + BASECLASS.__init__(self, *args, **kwargs) + self.artifacts = './artifacts' + self.result_file = os.path.join(self.artifacts, 'test.log') + if not os.path.exists(self.artifacts): + os.makedirs(self.artifacts) + with open(self.result_file, 'w'): pass + + def human_log(self, data, taskname, status): + if type(data) == dict: + with open('./artifacts/test.log', 'a') as f: + f.write("\n\n") + f.write("# TASK NAME: %s \n" % taskname) + f.write("# STATUS: %s \n\n" % status) + f.write("Outputs: \n\n") + for field in FIELDS: + no_log = data.get('_ansible_no_log', False) + if field in data.keys() and data[field] and no_log != True: + output = self._format_output(data[field]) + # The following two lines are a hack to make it work with UTF-8 characters + if type(output) != list: + output = output.encode('utf-8', 'replace') + #self._display.display("\n{0}:\n{1}".format(field, output.replace("\\n","\n")), log_only=False) + with open('./artifacts/test.log', 'a') as f: + f.write("{0}: {1}".format(field, output.replace("\\n","\n"))+"\n") + + + def _format_output(self, output): + # Strip unicode + if type(output) == unicode: + output = output.encode(sys.getdefaultencoding(), 'replace') + + # If output is a dict + if type(output) == dict: + return json.dumps(output, indent=2, sort_keys=True) + + # If output is a list of dicts + if type(output) == list and type(output[0]) == dict: + # This gets a little complicated because it potentially means + # nested results, usually because of with_items. + real_output = list() + for index, item in enumerate(output): + copy = item + if type(item) == dict: + for field in FIELDS: + if field in item.keys(): + copy[field] = self._format_output(item[field]) + real_output.append(copy) + return json.dumps(output, indent=2, sort_keys=True) + + # If output is a list of strings + if type(output) == list and type(output[0]) != dict: + return '\n'.join(output) + + # Otherwise it's a string, (or an int, float, etc.) just return it + return str(output) + + ####### V2 METHODS ###### + def v2_on_any(self, *args, **kwargs): + pass + + def v2_runner_on_failed(self, result, ignore_errors=False): + self.human_log(result._result, result._task.name, "fail") + + def v2_runner_on_ok(self, result): + self.human_log(result._result, result._task.name, "pass") + + def v2_runner_on_skipped(self, result): + pass + + def v2_runner_on_unreachable(self, result): + self.human_log(result._result, result._task.name, "unreachable") + + def v2_runner_on_no_hosts(self, task): + pass + + def v2_runner_on_async_poll(self, result): + self.human_log(result._result, result._task.name, "") + + def v2_runner_on_async_ok(self, host, result): + self.human_log(result._result, result._task.name, "pass") + + def v2_runner_on_async_failed(self, result): + self.human_log(result._result, result._task.name, "fail") + + def v2_playbook_on_start(self, playbook): + pass + + def v2_playbook_on_notify(self, result, handler): + pass + + def v2_playbook_on_no_hosts_matched(self): + pass + + def v2_playbook_on_no_hosts_remaining(self): + pass + + def v2_playbook_on_task_start(self, task, is_conditional): + pass + + def v2_playbook_on_vars_prompt(self, varname, private=True, prompt=None, + encrypt=None, confirm=False, salt_size=None, + salt=None, default=None): + pass + + def v2_playbook_on_setup(self): + pass + + def v2_playbook_on_import_for_host(self, result, imported_file): + pass + + def v2_playbook_on_not_import_for_host(self, result, missing_file): + pass + + def v2_playbook_on_play_start(self, play): + pass + + def v2_playbook_on_stats(self, stats): + pass + + def v2_on_file_diff(self, result): + pass + + def v2_playbook_on_item_ok(self, result): + pass + + def v2_playbook_on_item_failed(self, result): + pass + + def v2_playbook_on_item_skipped(self, result): + pass + + def v2_playbook_on_include(self, included_file): + pass + + def v2_playbook_item_on_ok(self, result): + pass + + def v2_playbook_item_on_failed(self, result): + pass + + def v2_playbook_item_on_skipped(self, result): + pass diff --git a/tests/roles/binary/tasks/buildah.yml b/tests/roles/binary/tasks/buildah.yml new file mode 100644 index 0000000..5122105 --- /dev/null +++ b/tests/roles/binary/tasks/buildah.yml @@ -0,0 +1,15 @@ +--- +- name: pull latest buildah source from github + git: + repo: https://github.com/projectatomic/buildah + dest: "{{ HOME }}/go/src/github.com/projectatomic/buildah" + +- name: make binary for buildah + command: make + args: + chdir: "{{ HOME }}/go/src/github.com/projectatomic/buildah" + +- name: install buildah to /usr/local/bin + command: make install + args: + chdir: "{{ HOME }}/go/src/github.com/projectatomic/buildah" diff --git a/tests/roles/binary/tasks/main.yml b/tests/roles/binary/tasks/main.yml new file mode 100644 index 0000000..771725d --- /dev/null +++ b/tests/roles/binary/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- import_tasks: runc.yml + +- import_tasks: buildah.yml diff --git a/tests/roles/binary/tasks/runc.yml b/tests/roles/binary/tasks/runc.yml new file mode 100644 index 0000000..d64d5fb --- /dev/null +++ b/tests/roles/binary/tasks/runc.yml @@ -0,0 +1,16 @@ +--- +- name: pull latest runc source from github + git: + repo: https://github.com/opencontainers/runc + dest: "{{ HOME }}/go/src/github.com/opencontainers/runc" + +- name: building runc for buildah runtime + command: make + args: + chdir: "{{ HOME }}/go/src/github.com/opencontainers/runc" + +- name: copy runc to /usr/bin + copy: + remote_src: True + src: "{{ HOME }}/go/src/github.com/opencontainers/runc/runc" + dest: /usr/bin/runc diff --git a/tests/roles/cli/tasks/add.yaml b/tests/roles/cli/tasks/add.yaml new file mode 100644 index 0000000..0bd6498 --- /dev/null +++ b/tests/roles/cli/tasks/add.yaml @@ -0,0 +1,41 @@ +--- +- name: buildah add + command: buildah add nginxc /tmp/buildah/bud/Dockerfile + +- name: check buildah add + command: ls {{mount.stdout}}/Dockerfile + +- name: buildah add to destination + command: buildah add nginxc /tmp/buildah/bud/Dockerfile /home + +- name: check buildah add to + command: ls {{mount.stdout}}/home/Dockerfile + +- name: buildah add URL + command: buildah add nginxc https://github.com/projectatomic/buildah/raw/master/README.md + +- name: check buildah add URL + command: ls {{mount.stdout}}/README.md + +- name: buildah add URL to destination + command: buildah add nginxc https://github.com/projectatomic/buildah/raw/master/README.md /home + +- name: check buildah add URL to destination + command: ls {{mount.stdout}}/home/README.md + +- name: Download buildah README.md + get_url: + url: https://github.com/projectatomic/buildah/raw/master/README.md + dest: /tmp/buildah/ + +- name: buildah add dir + command: buildah add nginxc /tmp + +- name: check buildah add dir + command: ls {{mount.stdout}}/buildah/README.md + +- name: buildah add dir to destination + command: buildah add nginxc /tmp /home + +- name: check buildah add dir to destination + command: ls {{mount.stdout}}/home/buildah/README.md diff --git a/tests/roles/cli/tasks/bud.yaml b/tests/roles/cli/tasks/bud.yaml new file mode 100644 index 0000000..1f1c678 --- /dev/null +++ b/tests/roles/cli/tasks/bud.yaml @@ -0,0 +1,24 @@ +--- +- name: buildah bud localfile + command: buildah bud -t testing/nginx --pull /tmp/buildah/bud + +- name: check bud images with buildah images command + shell: buildah images | grep testing/nginx + +- name: buildah bud -f localfile + command: buildah bud -t testing/nginx2 -f /tmp/buildah/bud/Dockerfile . + +- name: buildah bud URL + command: buildah bud -t testing/nginx3 http://localhost/bud/Dockerfile.tar.gz + +- name: buildah build-using-dockerfile localfile + command: buildah build-using-dockerfile -t testing/nginx4 /tmp/buildah/bud + +- name: buildah build-using-dockerfile -f localfile + command: buildah build-using-dockerfile -t testing/nginx5 --file /tmp/buildah/bud/Dockerfile . + +- name: buildah build-using-dockerfile URL + command: buildah build-using-dockerfile --tag testing/nginx6 http://localhost/bud/Dockerfile.tar.gz + +- name: buildah rmi + command: buildah rmi testing/nginx{2..6} diff --git a/tests/roles/cli/tasks/cleanup.yaml b/tests/roles/cli/tasks/cleanup.yaml new file mode 100644 index 0000000..45f31d5 --- /dev/null +++ b/tests/roles/cli/tasks/cleanup.yaml @@ -0,0 +1,4 @@ +--- +- name: remove buildah containers after testing + command: buildah rm busybox nginxc nginxc-2 + ignore_errors: true diff --git a/tests/roles/cli/tasks/config.yaml b/tests/roles/cli/tasks/config.yaml new file mode 100644 index 0000000..91e8bc3 --- /dev/null +++ b/tests/roles/cli/tasks/config.yaml @@ -0,0 +1,16 @@ +--- +- name: buildah config workingdir + command: buildah config --workingdir /opt nginxc + +- name: get buildah config workingdir + command: buildah run nginxc "pwd" + register: checkworkingdir + failed_when: "'/opt' not in checkworkingdir.stdout" + +- name: buildah config env + command: buildah config --env foo=bar nginxc + +- name: get buildah config env + command: buildah run nginxc env + register: env + failed_when: "'foo=bar' not in env.stdout" diff --git a/tests/roles/cli/tasks/containers.yaml b/tests/roles/cli/tasks/containers.yaml new file mode 100644 index 0000000..fa9add6 --- /dev/null +++ b/tests/roles/cli/tasks/containers.yaml @@ -0,0 +1,18 @@ +--- +- name: buildah containers + shell: buildah containers | grep nginxc + +- name: buildah containers -q + shell: buildah containers -q | grep -v nginxc + +- name: buildah containers -n + shell: buildah containers -n | grep -v NAME + +- name: buildah containers --notruncate + command: buildah containers -- notruncate + +- name: buildah containers --all + command: buildah containers --all + +- name: buildah containers --json + command: buildah containers --json diff --git a/tests/roles/cli/tasks/copy.yaml b/tests/roles/cli/tasks/copy.yaml new file mode 100644 index 0000000..3f0d8c5 --- /dev/null +++ b/tests/roles/cli/tasks/copy.yaml @@ -0,0 +1,41 @@ +--- +- name: buildah copy + command: buildah copy nginxc-2 /tmp/buildah/bud/Dockerfile + +- name: check buildah copy + command: ls {{mount.stdout}}/Dockerfile + +- name: buildah copy to destination + command: buildah copy nginxc-2 /tmp/buildah/bud/Dockerfile /home + +- name: check buildah copy to + command: ls {{mount.stdout}}/home/Dockerfile + +- name: buildah copy URL + command: buildah copy nginxc-2 https://github.com/projectatomic/buildah/raw/master/README.md + +- name: check buildah copy URL + command: ls {{mount.stdout}}/README.md + +- name: buildah copy URL to destination + command: buildah copy nginxc-2 https://github.com/projectatomic/buildah/raw/master/README.md /home + +- name: check buildah copy URL to destination + command: ls {{mount.stdout}}/home/README.md + +- name: Download buildah README.md + get_url: + url: https://github.com/projectatomic/buildah/raw/master/README.md + dest: /tmp/buildah/ + +- name: buildah copy dir + command: buildah copy nginxc-2 /tmp/buildah + +- name: check buildah copy dir + command: ls {{mount.stdout}}/README.md + +- name: buildah copy dir to destination + command: buildah copy nginxc-2 /tmp /home + +- name: check buildah copy dir to destination + command: ls {{mount.stdout}}/home/buildah/README.md diff --git a/tests/roles/cli/tasks/from.yaml b/tests/roles/cli/tasks/from.yaml new file mode 100644 index 0000000..e694b10 --- /dev/null +++ b/tests/roles/cli/tasks/from.yaml @@ -0,0 +1,12 @@ +--- +- name: buildah from pull + command: buildah from --pull nginx + +- name: buildah from pull always + command: buildah from --pull-always nginx + +- name: buildah from with name + command: buildah from --name nginx nginx + +- name: clean from testings + command: buildah delete nginx nginx-working-container nginx-working-container-2 diff --git a/tests/roles/cli/tasks/main.yaml b/tests/roles/cli/tasks/main.yaml new file mode 100644 index 0000000..f709887 --- /dev/null +++ b/tests/roles/cli/tasks/main.yaml @@ -0,0 +1,44 @@ +--- +- block: + - name: prepare containers nginxc + import_tasks: prepare-containers.yaml + tags: + - nginxc + + - name: buildah containers + import_tasks: containers.yaml + tags: + - ctr + + - name: buildah from + import_tasks: from.yaml + tags: + - from + + - name: buildah mount + import_tasks: mount.yaml + tags: + - mount + + - name: buildah tag + import_tasks: tag.yaml + tags: + - tag + + - name: buildah config + import_tasks: config.yaml + tags: + - config + + - name: buildah push + import_tasks: push.yaml + tags: + - push + + - name: buildah build-using-dockerfile + import_tasks: bud.yaml + tags: + - bud + + always: + - import_tasks: cleanup.yaml diff --git a/tests/roles/cli/tasks/mount.yaml b/tests/roles/cli/tasks/mount.yaml new file mode 100644 index 0000000..09bd901 --- /dev/null +++ b/tests/roles/cli/tasks/mount.yaml @@ -0,0 +1,27 @@ +--- +- name: buildah mount container nginxc + command: buildah mount nginxc + register: mount + +- name: buildah mount without args will list all mounts + shell: buildah mount | grep storage + +- name: buildah add + import_tasks: add.yaml + tags: + - add + +- name: buildah umount + command: buildah umount nginxc + +- name: buildah mount --notruncate + command: buildah mount --notruncate nginxc-2 + register: mount + +- name: buildah copy + import_tasks: copy.yaml + tags: + - copy + +- name: buildah unmount + command: buildah unmount nginxc-2 diff --git a/tests/roles/cli/tasks/prepare-containers.yaml b/tests/roles/cli/tasks/prepare-containers.yaml new file mode 100644 index 0000000..1477e62 --- /dev/null +++ b/tests/roles/cli/tasks/prepare-containers.yaml @@ -0,0 +1,6 @@ +--- +- name: prepare container nginxc for later testing + command: buildah from --pull --name nginxc nginx + +- name: prepare container nginxc-2 for later testing + command: buildah from --name nginxc-2 nginx diff --git a/tests/roles/cli/tasks/push.yaml b/tests/roles/cli/tasks/push.yaml new file mode 100644 index 0000000..cc38b51 --- /dev/null +++ b/tests/roles/cli/tasks/push.yaml @@ -0,0 +1,60 @@ +--- +- name: pull busybox before push + command: buildah from --pull --name busybox busybox + +- name: buildah push image to containers-storage + command: buildah push docker.io/busybox:latest containers-storage:docker.io/busybox:latest + +- name: buildah push image to docker daemon + command: buildah push docker.io/busybox:latest docker-daemon:docker.io/buildah/busybox:latest + +- name: check buildah/busybox exist in docker daemon + command: docker images docker.io/buildah/busybox:latest + +- name: buildah push image to docker local registry + command: buildah push --tls-verify=false docker.io/busybox:latest docker://localhost:5000/buildah/busybox:latest + +- name: create /tmp/buildah/busybox + file: path=/tmp/buildah/docker state=directory + +- name: rm busybox.tar because docker archive does not support modify + file: path=/tmp/buildah/docker/busybox.tar state=absent + +- name: buildah push image to docker-archive + command: buildah push docker.io/busybox:latest docker-archive:/tmp/buildah/docker/busybox.tar:latest + +- name: check docker archive exist + file: path=/tmp/buildah/docker/busybox.tar state=file + +- name: create /tmp/buildah/dir + file: path=/tmp/buildah/dir state=directory + +- name: buildah push image to dir + command: buildah push docker.io/busybox:latest dir:/tmp/buildah/dir + +- name: create /tmp/buildah/oci + file: path=/tmp/buildah/oci state=directory + +- name: buildah push image to oci + command: buildah push docker.io/busybox:latest oci:/tmp/buildah/oci:latest + +- name: buildah push image to oci archive + command: buildah push docker.io/busybox:latest oci-archive:/tmp/buildah/oci/busybox.tar:latest + +- name: check oci archive exist + file: path=/tmp/buildah/oci/busybox.tar state=file + +- name: init default ostree repo + command: ostree --repo=/ostree/repo init + +- name: create /tmp/buildah/ostree/repo + file: path=/tmp/buildah/ostree/repo state=directory + +- name: init tmp ostree repo + command: ostree --repo=/tmp/buildah/ostree/repo init + +- name: buildah push image to ostree + command: buildah push docker.io/busybox:latest ostree:busybox:latest + +- name: buildah push image to non-default ostree repo + command: buildah push docker.io/busybox:latest ostree:busybox:latest@/tmp/buildah/ostree/repo diff --git a/tests/roles/cli/tasks/tag.yaml b/tests/roles/cli/tasks/tag.yaml new file mode 100644 index 0000000..32767ba --- /dev/null +++ b/tests/roles/cli/tasks/tag.yaml @@ -0,0 +1,43 @@ +--- +- name: buildah from --pull busybox + command: buildah from busybox + +- name: buildah tag by name + command: buildah tag busybox busybox1 + +- name: check busybox1 exists + shell: buildah images | grep busybox1 + +- name: get image id + command: buildah images -q busybox1 + register: busyboxID + +- name: buildah tag by ID + command: buildah tag {{busyboxID.stdout}} busybox2 + +- name: check busybox2 exists + shell: buildah images | grep busybox2 + +- name: buildah from tagged image + command: buildah from busybox1 + +- name: mount the container which using tagged image + command: buildah mount busybox1-working-container + +- name: buildah umount the container + command: buildah umount busybox1-working-container + +- name: buildah rm container busybox + command: buildah rm busybox-working-container + +- name: buildah rm container busybox1 + command: buildah rm busybox1-working-container + +- name: buildah rmi tagged image + command: buildah rmi busybox{1..2} + +- name: check image busybox is not deleted + shell: buildah images | grep busybox + +- name: buildah rmi image busybox + command: buildah rmi busybox diff --git a/tests/roles/prepare-env/tasks/main.yml b/tests/roles/prepare-env/tasks/main.yml new file mode 100644 index 0000000..bc46794 --- /dev/null +++ b/tests/roles/prepare-env/tasks/main.yml @@ -0,0 +1,41 @@ +--- +- name: install required packages for testings + package: + name: "{{ item }}" + state: latest + with_items: + - docker + - python-docker-py + - buildah + - docker-distribution + - ostree + - httpd + - libselinux-python + +- name: start docker daemon + systemd: state=started name=docker + +- name: create /ostree/repo + file: path=/ostree/repo state=directory + +- name: ensure docker-distribution service is running + systemd: state=started name=docker-distribution + +- name: creates directory buildah testing + file: path=/tmp/buildah/bud state=directory + +- name: download Dockerfile + get_url: + url: https://github.com/fedora-cloud/Fedora-Dockerfiles/raw/master/nginx/Dockerfile + dest: /tmp/buildah/bud/Dockerfile + +- name: creates a bud directory in /var/www/html + file: path=/var/www/html/bud state=directory + +- name: archive dockerfile into httpd directory + command: tar zcvf /var/www/html/bud/Dockerfile.tar.gz Dockerfile + args: + chdir: /tmp/buildah/bud + +- name: start httpd service + systemd: state=started name=httpd diff --git a/tests/roles/tear-down/tasks/main.yml b/tests/roles/tear-down/tasks/main.yml new file mode 100644 index 0000000..f54186d --- /dev/null +++ b/tests/roles/tear-down/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: stop docker-distribution service + systemd: state=stopped name=docker-distribution + +- name: stop httpd service + systemd: state=stopped name=httpd diff --git a/tests/rpm.yml b/tests/rpm.yml new file mode 100644 index 0000000..27a9349 --- /dev/null +++ b/tests/rpm.yml @@ -0,0 +1,9 @@ +--- +# test buildah +- hosts: all + become: true + tags: + - classic + roles: + - prepare-env + - cli diff --git a/tests/test_binary.sh b/tests/test_binary.sh new file mode 100755 index 0000000..1290479 --- /dev/null +++ b/tests/test_binary.sh @@ -0,0 +1 @@ +ansible-playbook -i inventory binary.yml "$@" diff --git a/tests/test_rpm.sh b/tests/test_rpm.sh new file mode 100755 index 0000000..3634f61 --- /dev/null +++ b/tests/test_rpm.sh @@ -0,0 +1 @@ +ansible-playbook -i inventory buildah_rpm.yml "$@" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..74f63e8 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +--- +# test buildah +- hosts: localhost + become: true + tags: + - classic + roles: + - prepare-env + - role: cli + tags: + - cli + - tear-down From 552ff2e33ff7c5c5ed4d9dbefdcb564bec3c8e5a Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 24 Dec 2017 05:54:29 -0500 Subject: [PATCH 12/28] Display Config and Manifest as strings Bump containers/image Use configured registries to resolve image names Update to work with newer image library Add --chown option to add/copy commands --- .gitignore | 1 + buildah.spec | 11 +++++++++-- sources | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index fb99fa4..ab833b2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /buildah-b7e3320.tar.gz /buildah-bf40000.tar.gz /buildah-04ea079.tar.gz +/buildah-979c945.tar.gz diff --git a/buildah.spec b/buildah.spec index 8ae5cd6..df9abbf 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,11 +21,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 04ea0791308720d032fdf7f1efb55488ac633351 +%global commit 979c9456744396fe27914d28063fb66dec896744 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.9 +Version: 0.10 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -88,6 +88,13 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Sat Dec 23 2017 Dan Walsh 0.10-1 +- Display Config and Manifest as strings +- Bump containers/image +- Use configured registries to resolve image names +- Update to work with newer image library +- Add --chown option to add/copy commands + * Sat Dec 2 2017 Dan Walsh 0.9-1 - Allow push to use the image id - Make sure builtin volumes have the correct label diff --git a/sources b/sources index fb74c8b..2deb0f1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-04ea079.tar.gz) = fc91d16ef5b223788c08d2888ce2aeb9c7a630c8407c2661b4f6ab3c923edcccdfb612cef0d18b390bd848c5e3578eb5258e8292ce11aa8c0949285a4dd72d1e +SHA512 (buildah-979c945.tar.gz) = 23aba089a0d7c30d344e75aa2894b252d4327240df3c329912fc46e613b3454b637ac5c118d1a15ec7c109fce9d364a1ab57f9ce6426e61efd2c3510d2809054 From 5aea6268745ea966f6e89871465f4e4dbf63ef72 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Tue, 26 Dec 2017 07:22:39 -0500 Subject: [PATCH 13/28] Fix checkin --- buildah.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/buildah.spec b/buildah.spec index df9abbf..1533aec 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,12 +21,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 979c9456744396fe27914d28063fb66dec896744 +%global commit 129fb109d55496c8c3b8889ce15ea76e439c697a %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah Version: 0.10 -Release: 1.git%{shortcommit}%{?dist} +Release: 2.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -35,7 +35,9 @@ Source: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcomm ExclusiveArch: x86_64 aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +BuildRequires: git BuildRequires: glib2-devel +BuildRequires: ostree-devel BuildRequires: glibc-static BuildRequires: go-md2man BuildRequires: gpgme-devel @@ -57,7 +59,7 @@ or * delete a working container or an image %prep -%setup -q -n %{name}-%{commit} +%autosetup -Sgit -n %{name}-%{commit} %build mkdir _build @@ -88,6 +90,9 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Tue Dec 26 2017 Dan Walsh 0.10-2 +- Fix checkin + * Sat Dec 23 2017 Dan Walsh 0.10-1 - Display Config and Manifest as strings - Bump containers/image From 13c54e7972b701f15e36c747901777245869c0f8 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Tue, 26 Dec 2017 07:25:03 -0500 Subject: [PATCH 14/28] Fix checkin --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ab833b2..c90c563 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /buildah-bf40000.tar.gz /buildah-04ea079.tar.gz /buildah-979c945.tar.gz +/buildah-129fb10.tar.gz diff --git a/sources b/sources index 2deb0f1..df13e5d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-979c945.tar.gz) = 23aba089a0d7c30d344e75aa2894b252d4327240df3c329912fc46e613b3454b637ac5c118d1a15ec7c109fce9d364a1ab57f9ce6426e61efd2c3510d2809054 +SHA512 (buildah-129fb10.tar.gz) = f66bcda7400c3d5141ac5c919088637a41baadcf0a55fb1fcc9a1af72dbb7887f9f3f81c47d2db3047da885f6e5b9dd65da56a46393d5551cb4d492071a22bfd From 9eaac8c7864c649d1c08451958afbe483e1464ca Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 17 Jan 2018 08:46:00 -0500 Subject: [PATCH 15/28] Add --all to remove containers Add --all functionality to rmi Show ctrid when doing rm -all Ignore sequential duplicate layers when reading v2s1 Lots of minor bug fixes Vendor in latest containers/image and containers/storage --- .gitignore | 1 + buildah.spec | 14 +++++++++++--- sources | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c90c563..3ac58b7 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /buildah-04ea079.tar.gz /buildah-979c945.tar.gz /buildah-129fb10.tar.gz +/buildah-6bad262.tar.gz diff --git a/buildah.spec b/buildah.spec index 1533aec..3d52da1 100644 --- a/buildah.spec +++ b/buildah.spec @@ -21,12 +21,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 129fb109d55496c8c3b8889ce15ea76e439c697a +%global commit 6bad262ff123ef15f3fcdb26d1c53a037f973a2d %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: buildah -Version: 0.10 -Release: 2.git%{shortcommit}%{?dist} +Version: 0.11 +Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -90,6 +90,14 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/buildah %changelog +* Tue Jan 16 2018 Dan Walsh 0.11-1 +- Add --all to remove containers +- Add --all functionality to rmi +- Show ctrid when doing rm -all +- Ignore sequential duplicate layers when reading v2s1 +- Lots of minor bug fixes +- Vendor in latest containers/image and containers/storage + * Tue Dec 26 2017 Dan Walsh 0.10-2 - Fix checkin diff --git a/sources b/sources index df13e5d..df525a0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-129fb10.tar.gz) = f66bcda7400c3d5141ac5c919088637a41baadcf0a55fb1fcc9a1af72dbb7887f9f3f81c47d2db3047da885f6e5b9dd65da56a46393d5551cb4d492071a22bfd +SHA512 (buildah-6bad262.tar.gz) = 4f919788c363a5b3aaac795b9303546de7c88edb09f730420239ca127b52e57aec8513578bdfef06d6dc4398d23408d91b56d19b42ee8b7b31a67cd2d39290f9 From 336a3494e16e77d62f7558d5ec9e8c4d485e60e6 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Mon, 5 Feb 2018 17:23:05 -0500 Subject: [PATCH 16/28] buildah-0.11-2 - Resolves: upstream gh#432 - enable debuginfo for non-fedora packages Signed-off-by: Lokesh Mandvekar --- buildah.spec | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/buildah.spec b/buildah.spec index 3d52da1..d0f0427 100644 --- a/buildah.spec +++ b/buildah.spec @@ -1,12 +1,5 @@ -%if 0%{?fedora} || 0%{?rhel} == 6 -%global with_bundled 1 %global with_debug 1 -%global with_check 1 -%else -%global with_bundled 0 -%global with_debug 0 -%global with_check 0 -%endif +%global with_bundled 1 %if 0%{?with_debug} %global _dwz_low_mem_die_limit 0 @@ -24,9 +17,9 @@ %global commit 6bad262ff123ef15f3fcdb26d1c53a037f973a2d %global shortcommit %(c=%{commit}; echo ${c:0:7}) -Name: buildah +Name: %{repo} Version: 0.11 -Release: 1.git%{shortcommit}%{?dist} +Release: 2.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -44,13 +37,14 @@ BuildRequires: gpgme-devel BuildRequires: device-mapper-devel BuildRequires: btrfs-progs-devel BuildRequires: libassuan-devel -Requires: runc >= 1.0.0-7 +Requires: runc >= 1.0.0-17 Requires: skopeo-containers >= 0.1.20-2 Requires: container-selinux +Requires: ostree Provides: %{repo} = %{version}-%{release} %description -The buildah package provides a command line tool which can be used to +The %{name} package provides a command line tool which can be used to * create a working container from scratch or * create a working container from an image as a starting point @@ -84,12 +78,16 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %license LICENSE %doc README.md %{_bindir}/%{name} -%{_mandir}/man1/buildah* +%{_mandir}/man1/%{name}* %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/buildah +%{_datadir}/bash-completion/completions/%{name} %changelog +* Mon Feb 05 2018 Lokesh Mandvekar - 0.11-2 +- Resolves: upstream gh#432 +- enable debuginfo for non-fedora packages + * Tue Jan 16 2018 Dan Walsh 0.11-1 - Add --all to remove containers - Add --all functionality to rmi From ac5d3986e46676b50151d7050c8d54c957a2a095 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 12 Feb 2018 12:15:15 -0500 Subject: [PATCH 17/28] Added handing for simpler error message for Unknown Dockerfile instructions. Change default certs directory to /etc/containers/certs.dir Vendor in latest containers/image Vendor in latest containers/storage build-using-dockerfile: set the 'author' field for MAINTAINER Return exit code 1 when buildah-rmi fails Trim the image reference to just its name before calling getImageName Touch up rmi -f usage statement Add --format and --filter to buildah containers Add --prune,-p option to rmi command Add authfile param to commit Fix --runtime-flag for buildah run and bud format should override quiet for images Allow all auth params to work with bud Do not overwrite directory permissions on --chown Unescape HTML characters output into the terminal Fix: setting the container name to the image Prompt for un/pwd if not supplied with --creds Make bud be really quiet Return a better error message when failed to resolve an image Update auth tests and fix bud man page --- buildah.spec | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/buildah.spec b/buildah.spec index d0f0427..0c6799f 100644 --- a/buildah.spec +++ b/buildah.spec @@ -14,12 +14,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 6bad262ff123ef15f3fcdb26d1c53a037f973a2d +%global commit 8badcc2d0229fde5ef3597c1066576fe8a638e7d %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: %{repo} -Version: 0.11 -Release: 2.git%{shortcommit}%{?dist} +Version: 0.12 +Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -84,6 +84,32 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Mon Feb 12 2018 Dan Walsh 0.12-1 +- Added handing for simpler error message for Unknown Dockerfile instructions. +- Change default certs directory to /etc/containers/certs.dir +- Vendor in latest containers/image +- Vendor in latest containers/storage +- build-using-dockerfile: set the 'author' field for MAINTAINER +- Return exit code 1 when buildah-rmi fails +- Trim the image reference to just its name before calling getImageName +- Touch up rmi -f usage statement +- Add --format and --filter to buildah containers +- Add --prune,-p option to rmi command +- Add authfile param to commit +- Fix --runtime-flag for buildah run and bud +- format should override quiet for images +- Allow all auth params to work with bud +- Do not overwrite directory permissions on --chown +- Unescape HTML characters output into the terminal +- Fix: setting the container name to the image +- Prompt for un/pwd if not supplied with --creds +- Make bud be really quiet +- Return a better error message when failed to resolve an image +- Update auth tests and fix bud man page + +* Wed Feb 07 2018 Fedora Release Engineering - 0.11-3.git6bad262 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Mon Feb 05 2018 Lokesh Mandvekar - 0.11-2 - Resolves: upstream gh#432 - enable debuginfo for non-fedora packages From 25137f0c8c635a18b807f118c3b580a20b2daae2 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 12 Feb 2018 13:59:43 -0500 Subject: [PATCH 18/28] Added handing for simpler error message for Unknown Dockerfile instructions. Change default certs directory to /etc/containers/certs.dir Vendor in latest containers/image Vendor in latest containers/storage build-using-dockerfile: set the 'author' field for MAINTAINER Return exit code 1 when buildah-rmi fails Trim the image reference to just its name before calling getImageName Touch up rmi -f usage statement Add --format and --filter to buildah containers Add --prune,-p option to rmi command Add authfile param to commit Fix --runtime-flag for buildah run and bud format should override quiet for images Allow all auth params to work with bud Do not overwrite directory permissions on --chown Unescape HTML characters output into the terminal Fix: setting the container name to the image Prompt for un/pwd if not supplied with --creds Make bud be really quiet Return a better error message when failed to resolve an image Update auth tests and fix bud man page --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3ac58b7..0dcaa0e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /buildah-979c945.tar.gz /buildah-129fb10.tar.gz /buildah-6bad262.tar.gz +/buildah-8badcc2.tar.gz diff --git a/sources b/sources index df525a0..3689a4a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-6bad262.tar.gz) = 4f919788c363a5b3aaac795b9303546de7c88edb09f730420239ca127b52e57aec8513578bdfef06d6dc4398d23408d91b56d19b42ee8b7b31a67cd2d39290f9 +SHA512 (buildah-8badcc2.tar.gz) = 81aa700d95c5f90d76facea82a3f5b650b7b3102cec87f8ac61f72867529d47b1c4b39df2f7d7b9f603954b6063e4cb456fa4a33e9c148282667e0038549e237 From 066b6d1a853e93414cfebfc6cdf80e9b76ee9005 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Tue, 27 Feb 2018 05:01:01 -0800 Subject: [PATCH 19/28] Fix handling of buildah run command options --- .gitignore | 2 ++ buildah.spec | 37 ++++++++++++++++++++++++++++++++++--- sources | 2 +- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 0dcaa0e..4b94a4b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ /buildah-129fb10.tar.gz /buildah-6bad262.tar.gz /buildah-8badcc2.tar.gz +/buildah-ef0ca9c.tar.gz +/buildah-d1330a5.tar.gz diff --git a/buildah.spec b/buildah.spec index 0c6799f..09fc1ea 100644 --- a/buildah.spec +++ b/buildah.spec @@ -14,22 +14,23 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit 8badcc2d0229fde5ef3597c1066576fe8a638e7d +%global commit d1330a5c4680dd18e1d58015f94cb3530c248eb9 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: %{repo} -Version: 0.12 +Version: 0.15 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} Source: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz -ExclusiveArch: x86_64 aarch64 ppc64le s390x +ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: git BuildRequires: glib2-devel +BuildRequires: libseccomp-devel BuildRequires: ostree-devel BuildRequires: glibc-static BuildRequires: go-md2man @@ -84,6 +85,36 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Tue Feb 27 2018 Dan Walsh 0.15-1 +- Fix handling of buildah run command options + +* Mon Feb 26 2018 Dan Walsh 0.14-1 +- If commonOpts do not exist, we should return rather then segfault +- Display full error string instead of just status +- Implement --volume and --shm-size for bud and from +- Fix secrets patch for buildah bud +- Fixes the naming issue of blobs and config for the dir transport by removing the .tar extension + +* Sun Feb 25 2018 Peter Robinson 0.13-2 +- Build on ARMv7 too (Fedora supports containers on that arch too) + +* Thu Feb 22 2018 Dan Walsh 0.13-1 +- Vendor in latest containers/storage +- This fixes a large SELinux bug. +- run: do not open /etc/hosts if not needed +- Add the following flags to buildah bud and from + --add-host + --cgroup-parent + --cpu-period + --cpu-quota + --cpu-shares + --cpuset-cpus + --cpuset-mems + --memory + --memory-swap + --security-opt + --ulimit + * Mon Feb 12 2018 Dan Walsh 0.12-1 - Added handing for simpler error message for Unknown Dockerfile instructions. - Change default certs directory to /etc/containers/certs.dir diff --git a/sources b/sources index 3689a4a..7387fed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-8badcc2.tar.gz) = 81aa700d95c5f90d76facea82a3f5b650b7b3102cec87f8ac61f72867529d47b1c4b39df2f7d7b9f603954b6063e4cb456fa4a33e9c148282667e0038549e237 +SHA512 (buildah-d1330a5.tar.gz) = ec9fde97d29c39bc73bb52afaa68656468fb2325a08bb064137a2d00e1a63fa5f7e881df78de526533b4f56f900322c78940cdbcc317ade4a36464ebd2494fd5 From bc09ba13b38ef4bafd314314d02732f5151d64e8 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Wed, 4 Apr 2018 10:19:29 -0400 Subject: [PATCH 20/28] Add support for shell Vendor in latest containers/image docker-archive generates docker legacy compatible images - Do not create $DiffID subdirectories for layers with no configs Ensure the layer IDs in legacy docker/tarfile metadata are unique - docker-archive: repeated layers are symlinked in the tar file - sysregistries: remove all trailing slashes - Improve docker/* error messages - Fix failure to make auth directory - Create a new slice in Schema1.UpdateLayerInfos - Drop unused storageImageDestination.{image,systemContext} - Load a *storage.Image only once in storageImageSource - Support gzip for docker-archive files - Remove .tar extension from blob and config file names - ostree, src: support copy of compressed layers - ostree: re-pull layer if it misses uncompressed_digest|uncompressed_size - image: fix docker schema v1 -> OCI conversion - Add /etc/containers/certs.d as default certs directory Change image time to locale, add troubleshooting.md, add logo to other mds Allow --cmd parameter to have commands as values Document the mounts.conf file Fix man pages to format correctly buildah from now supports pulling images using the following transports: docker-archive, oci-archive, and dir. If the user overrides the storage driver, the options should be dropped Show Config/Manifest as JSON string in inspect when format is not set Adds feature to pull compressed docker-archive files --- .gitignore | 1 + buildah.spec | 33 +++++++++++++++++++++++++++++++-- sources | 2 +- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4b94a4b..36f6083 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /buildah-8badcc2.tar.gz /buildah-ef0ca9c.tar.gz /buildah-d1330a5.tar.gz +/buildah-82529cd.tar.gz diff --git a/buildah.spec b/buildah.spec index 09fc1ea..8af182b 100644 --- a/buildah.spec +++ b/buildah.spec @@ -14,11 +14,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit d1330a5c4680dd18e1d58015f94cb3530c248eb9 +%global commit 82529cdf31628d4636214d93b8d28a05443fce60 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: %{repo} -Version: 0.15 +Version: 0.16 Release: 1.git%{shortcommit}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -85,6 +85,35 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Wed Apr 4 2018 Dan Walsh 0.16-1 +- Add support for shell +- Vendor in latest containers/image +- docker-archive generates docker legacy compatible images +- Do not create $DiffID subdirectories for layers with no configs +- Ensure the layer IDs in legacy docker/tarfile metadata are unique +- docker-archive: repeated layers are symlinked in the tar file +- sysregistries: remove all trailing slashes +- Improve docker/* error messages +- Fix failure to make auth directory +- Create a new slice in Schema1.UpdateLayerInfos +- Drop unused storageImageDestination.{image,systemContext} +- Load a *storage.Image only once in storageImageSource +- Support gzip for docker-archive files +- Remove .tar extension from blob and config file names +- ostree, src: support copy of compressed layers +- ostree: re-pull layer if it misses uncompressed_digest|uncompressed_size +- image: fix docker schema v1 -> OCI conversion +- Add /etc/containers/certs.d as default certs directory +- Change image time to locale, add troubleshooting.md, add logo to other mds +- Allow --cmd parameter to have commands as values +- Document the mounts.conf file +- Fix man pages to format correctly +- buildah from now supports pulling images using the following transports: +- docker-archive, oci-archive, and dir. +- If the user overrides the storage driver, the options should be dropped +- Show Config/Manifest as JSON string in inspect when format is not set +- Adds feature to pull compressed docker-archive files + * Tue Feb 27 2018 Dan Walsh 0.15-1 - Fix handling of buildah run command options diff --git a/sources b/sources index 7387fed..5083be7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-d1330a5.tar.gz) = ec9fde97d29c39bc73bb52afaa68656468fb2325a08bb064137a2d00e1a63fa5f7e881df78de526533b4f56f900322c78940cdbcc317ade4a36464ebd2494fd5 +SHA512 (buildah-82529cd.tar.gz) = 979a9e1cef5368ae03c0f67b9649b7f74ab3c294e1e1efe2b23e4e2a7ddeb143d73ee8cdd2cbb0bba9266fdf5db059cac0dcdafb461f3e0f60cdecf6e21684a5 From 206186f83319427ea924adda92736a5ea9eb1bd8 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 7 May 2018 06:56:23 -0700 Subject: [PATCH 21/28] Remove buildah run cmd and entrypoint execution Add Files section with registries.conf to pertinent man pages Force "localhost" as a default registry Add --compress, --rm, --squash flags as a noop for bud Add FIPS mode secret to buildah run and bud Add config --comment/--domainname/--history-comment/--hostname Add support for --iidfile to bud and commit Add /bin/sh -c to entrypoint in config buildah images and podman images are listing different sizes Remove tarball as an option from buildah push --help Update entrypoint behaviour to match docker Display imageId after commit config: add support for StopSignal Allow referencing stages as index and names Add multi-stage builds support Vendor in latest imagebuilder, to get mixed case AS support Allow umount to have multi-containers Update buildah push doc buildah bud walks symlinks Imagename is required for commit atm, update manpage --- .gitignore | 18 ++++++ buildah.spec | 160 ++++++++++++++++++++++++++++++++++++++++----------- sources | 2 +- 3 files changed, 146 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index 36f6083..8997ae2 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,21 @@ /buildah-ef0ca9c.tar.gz /buildah-d1330a5.tar.gz /buildah-82529cd.tar.gz +/buildah-4339223.tar.gz +/buildah-83d7d10.tar.gz +/buildah-6421399.tar.gz +/buildah-45a4b81.tar.gz +/buildah-28a27a3.tar.gz +/buildah-e008b73.tar.gz +/buildah-d84f05a.tar.gz +/buildah-b16a1ea.tar.gz +/buildah-fdc3998.tar.gz +/buildah-49abf82.tar.gz +/buildah-ca1704f.tar.gz +/buildah-c50c287.tar.gz +/buildah-adb8e6f.tar.gz +/buildah-e130f2b.tar.gz +/buildah-a4f5707.tar.gz +/buildah-6fe2b55.tar.gz +/buildah-45772e8.tar.gz +/buildah-dd02e70.tar.gz diff --git a/buildah.spec b/buildah.spec index 8af182b..1a83c22 100644 --- a/buildah.spec +++ b/buildah.spec @@ -7,42 +7,42 @@ %global debug_package %{nil} %endif -%global provider github -%global provider_tld com -%global project projectatomic -%global repo buildah +%global provider github +%global provider_tld com +%global project projectatomic +%global repo buildah # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} -%global import_path %{provider_prefix} -%global commit 82529cdf31628d4636214d93b8d28a05443fce60 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global import_path %{provider_prefix} +%global commit0 1ab80bcd88929a94c52268a5af8443c0055a42cb +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) -Name: %{repo} -Version: 0.16 -Release: 1.git%{shortcommit}%{?dist} -Summary: A command line tool used for creating OCI Images -License: ASL 2.0 -URL: https://%{provider_prefix} -Source: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz +Name: %{repo} +Version: 1.0 +Release: 1.git%{shortcommit0}%{?dist} +Summary: A command line tool used for creating OCI Images +License: ASL 2.0 +URL: https://%{provider_prefix} +Source: https://%{provider_prefix}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz -ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x +ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. -BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} -BuildRequires: git -BuildRequires: glib2-devel -BuildRequires: libseccomp-devel -BuildRequires: ostree-devel -BuildRequires: glibc-static -BuildRequires: go-md2man -BuildRequires: gpgme-devel -BuildRequires: device-mapper-devel -BuildRequires: btrfs-progs-devel -BuildRequires: libassuan-devel -Requires: runc >= 1.0.0-17 -Requires: skopeo-containers >= 0.1.20-2 -Requires: container-selinux -Requires: ostree -Provides: %{repo} = %{version}-%{release} +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +BuildRequires: git +BuildRequires: glib2-devel +BuildRequires: libseccomp-devel +BuildRequires: ostree-devel +BuildRequires: glibc-static +BuildRequires: go-md2man +BuildRequires: gpgme-devel +BuildRequires: device-mapper-devel +BuildRequires: btrfs-progs-devel +BuildRequires: libassuan-devel +BuildRequires: make +Requires: runc >= 1.0.0-17 +Requires: skopeo-containers >= 0.1.20-2 +Requires: container-selinux +Requires: ostree %description The %{name} package provides a command line tool which can be used to @@ -54,7 +54,7 @@ or * delete a working container or an image %prep -%autosetup -Sgit -n %{name}-%{commit} +%autosetup -Sgit -n %{name}-%{commit0} %build mkdir _build @@ -66,7 +66,7 @@ popd mv vendor src export GOPATH=$(pwd)/_build:$(pwd):%{gopath} -make all GIT_COMMIT=%{shortcommit} +make all GIT_COMMIT=%{shortcommit0} %install export GOPATH=$(pwd)/_build:$(pwd):%{gopath} @@ -85,6 +85,100 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Mon May 07 2018 Dan Walsh 1.0-1 +- Remove buildah run cmd and entrypoint execution +- Add Files section with registries.conf to pertinent man pages +- Force "localhost" as a default registry +- Add --compress, --rm, --squash flags as a noop for bud +- Add FIPS mode secret to buildah run and bud +- Add config --comment/--domainname/--history-comment/--hostname +- Add support for --iidfile to bud and commit +- Add /bin/sh -c to entrypoint in config +- buildah images and podman images are listing different sizes +- Remove tarball as an option from buildah push --help +- Update entrypoint behaviour to match docker +- Display imageId after commit +- config: add support for StopSignal +- Allow referencing stages as index and names +- Add multi-stage builds support +- Vendor in latest imagebuilder, to get mixed case AS support +- Allow umount to have multi-containers +- Update buildah push doc +- buildah bud walks symlinks +- Imagename is required for commit atm, update manpage + +* Mon May 07 2018 Lokesh Mandvekar (Bot) - 0.16-25.gitdd02e70 +- autobuilt dd02e70 + +* Sat May 05 2018 Lokesh Mandvekar (Bot) - 0.16-24.git45772e8 +- autobuilt 45772e8 + +* Fri May 04 2018 Lokesh Mandvekar (Bot) - 0.16-23.git6fe2b55 +- autobuilt 6fe2b55 + +* Wed May 02 2018 Lokesh Mandvekar (Bot) - 0.16-22.gita4f5707 +- autobuilt a4f5707 + +* Wed May 02 2018 Lokesh Mandvekar (Bot) - 0.16-21.gite130f2b +- autobuilt commit e130f2b + +* Tue May 01 2018 Lokesh Mandvekar (Bot) - 0.16-20.gitadb8e6f +- autobuilt commit adb8e6f + +* Sat Apr 28 2018 Lokesh Mandvekar (Bot) - 0.16-19.gitc50c287 +- autobuilt commit c50c287 + +* Fri Apr 27 2018 Lokesh Mandvekar (Bot) - 0.16-18.gitca1704f +- autobuilt commit ca1704f + +* Wed Apr 25 2018 Lokesh Mandvekar (Bot) - 0.16-17.git49abf82 +- autobuilt commit 49abf82 + +* Tue Apr 24 2018 Lokesh Mandvekar (Bot) - 0.16-16.gitfdc3998 +- autobuilt commit fdc3998 + +* Tue Apr 24 2018 Lokesh Mandvekar (Bot) - 0.16-15.gitb16a1ea +- autobuilt commit b16a1ea + +* Fri Apr 20 2018 Lokesh Mandvekar (Bot) - 0.16-14.gitd84f05a +- autobuilt commit d84f05a + +* Thu Apr 19 2018 Lokesh Mandvekar (Bot) - 0.16-13.gite008b73 +- autobuilt commit e008b73 + +* Thu Apr 19 2018 Lokesh Mandvekar (Bot) - 0.16-12.git28a27a3 +- autobuilt commit 28a27a3 + +* Tue Apr 17 2018 Lokesh Mandvekar (Bot) - 0.16-11.git45a4b81 +- autobuilt commit 45a4b81 + +* Tue Apr 17 2018 Lokesh Mandvekar (Bot) - 0.16-10.git45a4b81 +- autobuilt commit 45a4b81 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-9.git6421399 +- autobuilt commit 6421399 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-8.git83d7d10 +- autobuilt commit 83d7d10 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-7.git83d7d10 +- autobuilt commit 83d7d10 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-6.git83d7d10 +- autobuilt commit 83d7d10 + +* Mon Apr 09 2018 Lokesh Mandvekar (Bot) - 0.16-5.git4339223 +- autobuilt commit 4339223 + +* Mon Apr 09 2018 Lokesh Mandvekar (Bot) - 0.16-4.git4339223 +- autobuilt commit 4339223 + +* Mon Apr 09 2018 Lokesh Mandvekar - 0.16-3.git4339223 +- autobuilt commit 4339223 + +* Sun Apr 08 2018 Lokesh Mandvekar - 0.16-2.git4743c2e +- autobuilt commit 4743c2e + * Wed Apr 4 2018 Dan Walsh 0.16-1 - Add support for shell - Vendor in latest containers/image diff --git a/sources b/sources index 5083be7..4a51cbe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-82529cd.tar.gz) = 979a9e1cef5368ae03c0f67b9649b7f74ab3c294e1e1efe2b23e4e2a7ddeb143d73ee8cdd2cbb0bba9266fdf5db059cac0dcdafb461f3e0f60cdecf6e21684a5 +SHA512 (buildah-dd02e70.tar.gz) = 8030ceee96bcc6839f4ff0b9da388b4ae743f2bdd9ab4f398fca0d9f2dccada54c963527751503dccbb09ee1f4c9c99204fbe9b7d7f64964aef2978b776c8d19 From ae47b13da2e824a6f0160ac3bd72f7aae5f89ba8 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 7 May 2018 06:58:35 -0700 Subject: [PATCH 22/28] Remove buildah run cmd and entrypoint execution Add Files section with registries.conf to pertinent man pages Force "localhost" as a default registry Add --compress, --rm, --squash flags as a noop for bud Add FIPS mode secret to buildah run and bud Add config --comment/--domainname/--history-comment/--hostname Add support for --iidfile to bud and commit Add /bin/sh -c to entrypoint in config buildah images and podman images are listing different sizes Remove tarball as an option from buildah push --help Update entrypoint behaviour to match docker Display imageId after commit config: add support for StopSignal Allow referencing stages as index and names Add multi-stage builds support Vendor in latest imagebuilder, to get mixed case AS support Allow umount to have multi-containers Update buildah push doc buildah bud walks symlinks Imagename is required for commit atm, update manpage --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8997ae2..7b71fbd 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /buildah-6fe2b55.tar.gz /buildah-45772e8.tar.gz /buildah-dd02e70.tar.gz +/buildah-1ab80bc.tar.gz diff --git a/sources b/sources index 4a51cbe..b19b522 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-dd02e70.tar.gz) = 8030ceee96bcc6839f4ff0b9da388b4ae743f2bdd9ab4f398fca0d9f2dccada54c963527751503dccbb09ee1f4c9c99204fbe9b7d7f64964aef2978b776c8d19 +SHA512 (buildah-1ab80bc.tar.gz) = c438d8822411bed1156f4dc24ae223f47741991bad5d1250ea59fc8c2dc304080fa67b4900a40cea48ac3f3cbc159e15d4dcc3f310342eb7542dcda05cf5c076 From e2e2ef6c7a17c39a277b7b7ab7d3b9dda4d0900a Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 10 Jun 2018 17:27:35 -0400 Subject: [PATCH 23/28] bump to v1.1 --- .gitignore | 20 +++++++ buildah.spec | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++- sources | 2 +- 3 files changed, 173 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7b71fbd..ff298d3 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,23 @@ /buildah-45772e8.tar.gz /buildah-dd02e70.tar.gz /buildah-1ab80bc.tar.gz +/buildah-906ee37.tar.gz +/buildah-fe204e4.tar.gz +/buildah-2ea3e11.tar.gz +/buildah-b9a1041.tar.gz +/buildah-ce8d467.tar.gz +/buildah-8515867.tar.gz +/buildah-3e320b9.tar.gz +/buildah-2749191.tar.gz +/buildah-25f4e8e.tar.gz +/buildah-88affbd.tar.gz +/buildah-ebb0d8e.tar.gz +/buildah-5595d4d.tar.gz +/buildah-73bfd79.tar.gz +/buildah-03686e5.tar.gz +/buildah-70641ee.tar.gz +/buildah-f90b6c0.tar.gz +/buildah-d3d097b.tar.gz +/buildah-c306342.tar.gz +/buildah-f449b28.tar.gz +/buildah-fbf46d3.tar.gz diff --git a/buildah.spec b/buildah.spec index 1a83c22..50cc597 100644 --- a/buildah.spec +++ b/buildah.spec @@ -14,11 +14,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit0 1ab80bcd88929a94c52268a5af8443c0055a42cb +%global commit0 fbf46d33c4e01199281c7a69e68605ec7d611fd3 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) Name: %{repo} -Version: 1.0 +Version: 1.1 Release: 1.git%{shortcommit0}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -85,6 +85,156 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Sun Jun 10 2018 Dan Walsh 1.1-1 +- Drop capabilities if running container processes as non root +- Print Warning message if cmd will not be used based on entrypoint +- Update 01-intro.md +- Shouldn't add insecure registries to list of search registries +- Report errors on bad transports specification when pushing images +- Move parsing code out of common for namespaces and into pkg/parse.go +- Add disable-content-trust noop flag to bud +- Change freenode chan to buildah +- runCopyStdio(): don't close stdin unless we saw POLLHUP +- Add registry errors for pull +- runCollectOutput(): just read until the pipes are closed on us +- Run(): provide redirection for stdio +- rmi, rm: add test +- add mount test +- Add parameter judgment for commands that do not require parameters +- Add context dir to bud command in baseline test +- run.bats: check that we can run with symlinks in the bundle path +- Give better messages to users when image can not be found +- use absolute path for bundlePath +- Add environment variable to buildah --format +- rm: add validation to args and all option +- Accept json array input for config entrypoint +- Run(): process RunOptions.Mounts, and its flags +- Run(): only collect error output from stdio pipes if we created some +- Add OnBuild support for Dockerfiles +- Quick fix on demo readme +- run: fix validate flags +- buildah bud should require a context directory or URL +- Touchup tutorial for run changes +- Validate common bud and from flags +- images: Error if the specified imagename does not exist +- inspect: Increase err judgments to avoid panic +- add test to inspect +- buildah bud picks up ENV from base image +- Extend the amount of time travis_wait should wait +- Add a make target for Installing CNI plugins +- Add tests for namespace control flags +- copy.bats: check ownerships in the container +- Fix SELinux test errors when SELinux is enabled +- Add example CNI configurations +- Run: set supplemental group IDs +- Run: use a temporary mount namespace +- Use CNI to configure container networks +- add/secrets/commit: Use mappings when setting permissions on added content +- Add CLI options for specifying namespace and cgroup setup +- Always set mappings when using user namespaces +- Run(): break out creation of stdio pipe descriptors +- Read UID/GID mapping information from containers and images +- Additional bud CI tests +- Run integration tests under travis_wait in Travis +- build-using-dockerfile: add --annotation +- Implement --squash for build-using-dockerfile and commit +- Vendor in latest container/storage for devicemapper support +- add test to inspect +- Vendor github.com/onsi/ginkgo and github.com/onsi/gomega +- Test with Go 1.10, too +- Add console syntax highlighting to troubleshooting page +- bud.bats: print "$output" before checking its contents +- Manage "Run" containers more closely +- Break Builder.Run()'s "run runc" bits out +- util.ResolveName(): handle completion for tagged/digested image names +- Handle /etc/hosts and /etc/resolv.conf properly in container +- Documentation fixes +- Make it easier to parse our temporary directory as an image name +- Makefile: list new pkg/ subdirectoris as dependencies for buildah +- containerImageSource: return more-correct errors +- API cleanup: PullPolicy and TerminalPolicy should be types +- Make "run --terminal" and "run -t" aliases for "run --tty" +- Vendor github.com/containernetworking/cni v0.6.0 +- Update github.com/containers/storage +- Update github.com/projectatomic/libpod +- Add support for buildah bud --label +- buildah push/from can push and pull images with no reference +- Vendor in latest containers/image +- Update gometalinter to fix install.tools error +- Update troubleshooting with new run workaround +- Added a bud demo and tidied up +- Attempt to download file from url, if fails assume Dockerfile +- Add buildah bud CI tests for ENV variables +- Re-enable rpm .spec version check and new commit test +- Update buildah scratch demo to support el7 +- Added Docker compatibility demo +- Update to F28 and new run format in baseline test +- Touchup man page short options across man pages +- Added demo dir and a demo. chged distrorlease +- builder-inspect: fix format option +- Add cpu-shares short flag (-c) and cpu-shares CI tests +- Minor fixes to formatting in rpm spec changelog +- Fix rpm .spec changelog formatting +- CI tests and minor fix for cache related noop flags +- buildah-from: add effective value to mount propagation + +* Sat Jun 09 2018 Lokesh Mandvekar (Bot) - 1.0-20.gitf449b28 +- autobuilt f449b28 + +* Fri Jun 08 2018 Lokesh Mandvekar (Bot) - 1.0-19.gitc306342 +- autobuilt c306342 + +* Wed Jun 06 2018 Lokesh Mandvekar (Bot) - 1.0-18.gitd3d097b +- autobuilt d3d097b + +* Mon Jun 04 2018 Lokesh Mandvekar (Bot) - 1.0-17.gitf90b6c0 +- autobuilt f90b6c0 + +* Sun Jun 03 2018 Lokesh Mandvekar (Bot) - 1.0-16.git70641ee +- autobuilt 70641ee + +* Sat Jun 02 2018 Lokesh Mandvekar (Bot) - 1.0-15.git03686e5 +- autobuilt 03686e5 + +* Fri Jun 01 2018 Lokesh Mandvekar (Bot) - 1.0-14.git73bfd79 +- autobuilt 73bfd79 + +* Thu May 31 2018 Lokesh Mandvekar (Bot) - 1.0-13.git5595d4d +- autobuilt 5595d4d + +* Wed May 30 2018 Lokesh Mandvekar (Bot) - 1.0-12.gitebb0d8e +- autobuilt ebb0d8e + +* Tue May 29 2018 Lokesh Mandvekar (Bot) - 1.0-11.git88affbd +- autobuilt 88affbd + +* Fri May 25 2018 Lokesh Mandvekar (Bot) - 1.0-10.git25f4e8e +- autobuilt 25f4e8e + +* Thu May 17 2018 Lokesh Mandvekar (Bot) - 1.0-9.git2749191 +- autobuilt 2749191 + +* Wed May 16 2018 Lokesh Mandvekar (Bot) - 1.0-8.git3e320b9 +- autobuilt 3e320b9 + +* Tue May 15 2018 Lokesh Mandvekar (Bot) - 1.0-7.git8515867 +- autobuilt 8515867 + +* Sun May 13 2018 Lokesh Mandvekar (Bot) - 1.0-6.gitce8d467 +- autobuilt ce8d467 + +* Sat May 12 2018 Lokesh Mandvekar (Bot) - 1.0-5.gitb9a1041 +- autobuilt b9a1041 + +* Fri May 11 2018 Lokesh Mandvekar (Bot) - 1.0-4.git2ea3e11 +- autobuilt 2ea3e11 + +* Wed May 09 2018 Lokesh Mandvekar (Bot) - 1.0-3.gitfe204e4 +- autobuilt fe204e4 + +* Tue May 08 2018 Lokesh Mandvekar (Bot) - 1.0-2.git906ee37 +- autobuilt 906ee37 + * Mon May 07 2018 Dan Walsh 1.0-1 - Remove buildah run cmd and entrypoint execution - Add Files section with registries.conf to pertinent man pages diff --git a/sources b/sources index b19b522..70ff20c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-1ab80bc.tar.gz) = c438d8822411bed1156f4dc24ae223f47741991bad5d1250ea59fc8c2dc304080fa67b4900a40cea48ac3f3cbc159e15d4dcc3f310342eb7542dcda05cf5c076 +SHA512 (buildah-fbf46d3.tar.gz) = f2e787c037e277baccc54d22abe98a712b4ccdcdd6d73249e4ad51c3c18111881765b78ff4c774560240bcedb042b204df77775f1d2ff2f97847aee512ef6374 From 337fed5a4b8e5b6082620d9bd337092fdd77e14c Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 15 Jul 2018 06:18:10 -0400 Subject: [PATCH 24/28] Vendor in latest containers/image build-using-dockerfile: let -t include transports again Block use of /proc/acpi and /proc/keys from inside containers Fix handling of --registries-conf Fix becoming a maintainer link add optional CI test fo darwin Don't pass a nil error to errors.Wrapf() image filter test: use kubernetes/pause as a "since" Add --cidfile option to from vendor: update containers/storage Contributors need to find the CONTRIBUTOR.md file easier Add a --loglevel option to build-with-dockerfile Create Development plan cmd: Code improvement allow buildah cross compile for a darwin target Add unused function param lint check docs: Follow man-pages(7) suggestions for SYNOPSIS Start using github.com/seccomp/containers-golang umount: add all option to umount all mounted containers runConfigureNetwork(): remove an unused parameter Update github.com/opencontainers/selinux Fix buildah bud --layers Force ownership of /etc/hosts and /etc/resolv.conf to 0:0 main: if unprivileged, reexec in a user namespace Vendor in latest imagebuilder Reduce the complexity of the buildah.Run function mount: output it before replacing lastError Vendor in latest selinux-go code Implement basic recognition of the "--isolation" option Run(): try to resolve non-absolute paths using $PATH Run(): don't include any default environment variables build without seccomp vendor in latest runtime-tools bind/mount_unsupported.go: remove import errors Update github.com/opencontainers/runc Add Capabilities lists to BuilderInfo Tweaks for commit tests commit: recognize committing to second storage locations Fix ARGS parsing for run commands Add info on registries.conf to from manpage Switch from using docker to podman for testing in .papr buildah: set the HTTP User-Agent ONBUILD tutorial Add information about the configuration files to the install docs Makefile: add uninstall Add tilde info for push to troubleshooting mount: support multiple inputs Use the right formatting when adding entries to /etc/hosts Vendor in latest go-selinux bindings Allow --userns-uid-map/--userns-gid-map to be global options bind: factor out UnmountMountpoints Run(): simplify runCopyStdio() Run(): handle POLLNVAL results Run(): tweak terminal mode handling Run(): rename 'copyStdio' to 'copyPipes' Run(): don't set a Pdeathsig for the runtime Run(): add options for adding and removing capabilities Run(): don't use a callback when a slice will do setupSeccomp(): refactor Change RunOptions.Stdin/Stdout/Stderr to just be Reader/Writers Escape use of '_' in .md docs Break out getProcIDMappings() Break out SetupIntermediateMountNamespace() Add Multi From Demo Use the c/image conversion code instead of converting configs manually Don't throw away the manifest MIME type and guess again Consolidate loading manifest and config in initConfig Pass a types.Image to Builder.initConfig Require an image ID in importBuilderDataFromImage Use c/image/manifest.GuessMIMEType instead of a custom heuristic Do not ignore any parsing errors in initConfig Explicitly handle "from scratch" images in Builder.initConfig Fix parsing of OCI images Simplify dead but dangerous-looking error handling Don't ignore v2s1 history if docker_version is not set Add --rm and --force-rm to buildah bud Add --all,-a flag to buildah images Separate stdio buffering from writing Remove tty check from images --format Add environment variable BUILDAH_RUNTIME Add --layers and --no-cache to buildah bud Touch up images man version.md: fix DESCRIPTION tests: add containers test tests: add images test images: fix usage fix make clean error Change 'registries' to 'container registries' in man add commit test Add(): learn to record hashes of what we add Minor update to buildah config documentation for entrypoint Add registries.conf link to a few man pages --- .gitignore | 1 + buildah.spec | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++-- sources | 2 +- 3 files changed, 98 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ff298d3..9252952 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ /buildah-c306342.tar.gz /buildah-f449b28.tar.gz /buildah-fbf46d3.tar.gz +/buildah-be87762.tar.gz diff --git a/buildah.spec b/buildah.spec index 50cc597..99cba4e 100644 --- a/buildah.spec +++ b/buildah.spec @@ -14,11 +14,11 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit0 fbf46d33c4e01199281c7a69e68605ec7d611fd3 +%global commit0 be877622a3b0c7943b3b760ec43c12d177336e4c %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) Name: %{repo} -Version: 1.1 +Version: 1.2 Release: 1.git%{shortcommit0}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 @@ -85,6 +85,100 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Sun Jul 15 2018 Dan Walsh 1.2-1 +- Vendor in latest containers/image +- build-using-dockerfile: let -t include transports again +- Block use of /proc/acpi and /proc/keys from inside containers +- Fix handling of --registries-conf +- Fix becoming a maintainer link +- add optional CI test fo darwin +- Don't pass a nil error to errors.Wrapf() +- image filter test: use kubernetes/pause as a "since" +- Add --cidfile option to from +- vendor: update containers/storage +- Contributors need to find the CONTRIBUTOR.md file easier +- Add a --loglevel option to build-with-dockerfile +- Create Development plan +- cmd: Code improvement +- allow buildah cross compile for a darwin target +- Add unused function param lint check +- docs: Follow man-pages(7) suggestions for SYNOPSIS +- Start using github.com/seccomp/containers-golang +- umount: add all option to umount all mounted containers +- runConfigureNetwork(): remove an unused parameter +- Update github.com/opencontainers/selinux +- Fix buildah bud --layers +- Force ownership of /etc/hosts and /etc/resolv.conf to 0:0 +- main: if unprivileged, reexec in a user namespace +- Vendor in latest imagebuilder +- Reduce the complexity of the buildah.Run function +- mount: output it before replacing lastError +- Vendor in latest selinux-go code +- Implement basic recognition of the "--isolation" option +- Run(): try to resolve non-absolute paths using $PATH +- Run(): don't include any default environment variables +- build without seccomp +- vendor in latest runtime-tools +- bind/mount_unsupported.go: remove import errors +- Update github.com/opencontainers/runc +- Add Capabilities lists to BuilderInfo +- Tweaks for commit tests +- commit: recognize committing to second storage locations +- Fix ARGS parsing for run commands +- Add info on registries.conf to from manpage +- Switch from using docker to podman for testing in .papr +- buildah: set the HTTP User-Agent +- ONBUILD tutorial +- Add information about the configuration files to the install docs +- Makefile: add uninstall +- Add tilde info for push to troubleshooting +- mount: support multiple inputs +- Use the right formatting when adding entries to /etc/hosts +- Vendor in latest go-selinux bindings +- Allow --userns-uid-map/--userns-gid-map to be global options +- bind: factor out UnmountMountpoints +- Run(): simplify runCopyStdio() +- Run(): handle POLLNVAL results +- Run(): tweak terminal mode handling +- Run(): rename 'copyStdio' to 'copyPipes' +- Run(): don't set a Pdeathsig for the runtime +- Run(): add options for adding and removing capabilities +- Run(): don't use a callback when a slice will do +- setupSeccomp(): refactor +- Change RunOptions.Stdin/Stdout/Stderr to just be Reader/Writers +- Escape use of '_' in .md docs +- Break out getProcIDMappings() +- Break out SetupIntermediateMountNamespace() +- Add Multi From Demo +- Use the c/image conversion code instead of converting configs manually +- Don't throw away the manifest MIME type and guess again +- Consolidate loading manifest and config in initConfig +- Pass a types.Image to Builder.initConfig +- Require an image ID in importBuilderDataFromImage +- Use c/image/manifest.GuessMIMEType instead of a custom heuristic +- Do not ignore any parsing errors in initConfig +- Explicitly handle "from scratch" images in Builder.initConfig +- Fix parsing of OCI images +- Simplify dead but dangerous-looking error handling +- Don't ignore v2s1 history if docker_version is not set +- Add --rm and --force-rm to buildah bud +- Add --all,-a flag to buildah images +- Separate stdio buffering from writing +- Remove tty check from images --format +- Add environment variable BUILDAH_RUNTIME +- Add --layers and --no-cache to buildah bud +- Touch up images man +- version.md: fix DESCRIPTION +- tests: add containers test +- tests: add images test +- images: fix usage +- fix make clean error +- Change 'registries' to 'container registries' in man +- add commit test +- Add(): learn to record hashes of what we add +- Minor update to buildah config documentation for entrypoint +- Add registries.conf link to a few man pages + * Sun Jun 10 2018 Dan Walsh 1.1-1 - Drop capabilities if running container processes as non root - Print Warning message if cmd will not be used based on entrypoint diff --git a/sources b/sources index 70ff20c..800622b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-fbf46d3.tar.gz) = f2e787c037e277baccc54d22abe98a712b4ccdcdd6d73249e4ad51c3c18111881765b78ff4c774560240bcedb042b204df77775f1d2ff2f97847aee512ef6374 +SHA512 (buildah-be87762.tar.gz) = c46fb5fd974c603b6e229cdc79b9f2d1eee011e1b6798cf100af3b625af6508ac51cb4a3a0e92cf46f324e32d6587d7f6faba017c7c4dcd60b9ca1e9028d5326 From 07a3420c07e4ca257ab8e47858a377a0042edc5a Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 15 Jul 2018 08:26:15 -0400 Subject: [PATCH 25/28] Vendor in latest containers/image build-using-dockerfile: let -t include transports again Block use of /proc/acpi and /proc/keys from inside containers Fix handling of --registries-conf Fix becoming a maintainer link add optional CI test fo darwin Don't pass a nil error to errors.Wrapf() image filter test: use kubernetes/pause as a "since" Add --cidfile option to from vendor: update containers/storage Contributors need to find the CONTRIBUTOR.md file easier Add a --loglevel option to build-with-dockerfile Create Development plan cmd: Code improvement allow buildah cross compile for a darwin target Add unused function param lint check docs: Follow man-pages(7) suggestions for SYNOPSIS Start using github.com/seccomp/containers-golang umount: add all option to umount all mounted containers runConfigureNetwork(): remove an unused parameter Update github.com/opencontainers/selinux Fix buildah bud --layers Force ownership of /etc/hosts and /etc/resolv.conf to 0:0 main: if unprivileged, reexec in a user namespace Vendor in latest imagebuilder Reduce the complexity of the buildah.Run function mount: output it before replacing lastError Vendor in latest selinux-go code Implement basic recognition of the "--isolation" option Run(): try to resolve non-absolute paths using $PATH Run(): don't include any default environment variables build without seccomp vendor in latest runtime-tools bind/mount_unsupported.go: remove import errors Update github.com/opencontainers/runc Add Capabilities lists to BuilderInfo Tweaks for commit tests commit: recognize committing to second storage locations Fix ARGS parsing for run commands Add info on registries.conf to from manpage Switch from using docker to podman for testing in .papr buildah: set the HTTP User-Agent ONBUILD tutorial Add information about the configuration files to the install docs Makefile: add uninstall Add tilde info for push to troubleshooting mount: support multiple inputs Use the right formatting when adding entries to /etc/hosts Vendor in latest go-selinux bindings Allow --userns-uid-map/--userns-gid-map to be global options bind: factor out UnmountMountpoints Run(): simplify runCopyStdio() Run(): handle POLLNVAL results Run(): tweak terminal mode handling Run(): rename 'copyStdio' to 'copyPipes' Run(): don't set a Pdeathsig for the runtime Run(): add options for adding and removing capabilities Run(): don't use a callback when a slice will do setupSeccomp(): refactor Change RunOptions.Stdin/Stdout/Stderr to just be Reader/Writers Escape use of '_' in .md docs Break out getProcIDMappings() Break out SetupIntermediateMountNamespace() Add Multi From Demo Use the c/image conversion code instead of converting configs manually Don't throw away the manifest MIME type and guess again Consolidate loading manifest and config in initConfig Pass a types.Image to Builder.initConfig Require an image ID in importBuilderDataFromImage Use c/image/manifest.GuessMIMEType instead of a custom heuristic Do not ignore any parsing errors in initConfig Explicitly handle "from scratch" images in Builder.initConfig Fix parsing of OCI images Simplify dead but dangerous-looking error handling Don't ignore v2s1 history if docker_version is not set Add --rm and --force-rm to buildah bud Add --all,-a flag to buildah images Separate stdio buffering from writing Remove tty check from images --format Add environment variable BUILDAH_RUNTIME Add --layers and --no-cache to buildah bud Touch up images man version.md: fix DESCRIPTION tests: add containers test tests: add images test images: fix usage fix make clean error Change 'registries' to 'container registries' in man add commit test Add(): learn to record hashes of what we add Minor update to buildah config documentation for entrypoint Add registries.conf link to a few man pages --- buildah.spec | 1 + runc.patch | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 runc.patch diff --git a/buildah.spec b/buildah.spec index 99cba4e..f68e385 100644 --- a/buildah.spec +++ b/buildah.spec @@ -24,6 +24,7 @@ Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} Source: https://%{provider_prefix}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz +patch: runc.patch ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. diff --git a/runc.patch b/runc.patch new file mode 100644 index 0000000..d098d02 --- /dev/null +++ b/runc.patch @@ -0,0 +1,68 @@ +commit 6bc38cc88392ec7ce52774d36c0b635570aac129 +Author: Daniel J Walsh +Date: Sun Jul 15 06:42:33 2018 -0400 + + Update vendor for runc to fix 32 bit builds + + Current runc builds will not build on 32 bit systems + + Signed-off-by: Daniel J Walsh + +diff --git a/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go b/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go +index 8d353d98..a4ae8901 100644 +--- a/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go ++++ b/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go +@@ -123,8 +123,8 @@ func UIDMapInUserNS(uidmap []user.IDMap) bool { + } + + // GetParentNSeuid returns the euid within the parent user namespace +-func GetParentNSeuid() int { +- euid := os.Geteuid() ++func GetParentNSeuid() int64 { ++ euid := int64(os.Geteuid()) + uidmap, err := user.CurrentProcessUIDMap() + if err != nil { + // This kernel-provided file only exists if user namespaces are supported +diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/user.go b/vendor/github.com/opencontainers/runc/libcontainer/user/user.go +index 37993da8..7b912bbf 100644 +--- a/vendor/github.com/opencontainers/runc/libcontainer/user/user.go ++++ b/vendor/github.com/opencontainers/runc/libcontainer/user/user.go +@@ -78,15 +78,15 @@ func groupFromOS(g *user.Group) (Group, error) { + // SubID represents an entry in /etc/sub{u,g}id + type SubID struct { + Name string +- SubID int +- Count int ++ SubID int64 ++ Count int64 + } + + // IDMap represents an entry in /proc/PID/{u,g}id_map + type IDMap struct { +- ID int +- ParentID int +- Count int ++ ID int64 ++ ParentID int64 ++ Count int64 + } + + func parseLine(line string, v ...interface{}) { +@@ -113,6 +113,8 @@ func parseParts(parts []string, v ...interface{}) { + case *int: + // "numbers", with conversion errors ignored because of some misbehaving configuration files. + *e, _ = strconv.Atoi(p) ++ case *int64: ++ *e, _ = strconv.ParseInt(p, 10, 64) + case *[]string: + // Comma-separated lists. + if p != "" { +@@ -122,7 +124,7 @@ func parseParts(parts []string, v ...interface{}) { + } + default: + // Someone goof'd when writing code using this function. Scream so they can hear us. +- panic(fmt.Sprintf("parseLine only accepts {*string, *int, *[]string} as arguments! %#v is not a pointer!", e)) ++ panic(fmt.Sprintf("parseLine only accepts {*string, *int, *int64, *[]string} as arguments! %#v is not a pointer!", e)) + } + } + } From 30016a5f3a86f57a58c655b2191aa3c9f9dc5e26 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Thu, 19 Jul 2018 16:43:27 -0400 Subject: [PATCH 26/28] buildah does not require ostree --- buildah.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/buildah.spec b/buildah.spec index f68e385..b8a54ee 100644 --- a/buildah.spec +++ b/buildah.spec @@ -19,7 +19,7 @@ Name: %{repo} Version: 1.2 -Release: 1.git%{shortcommit0}%{?dist} +Release: 2.git%{shortcommit0}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -43,7 +43,6 @@ BuildRequires: make Requires: runc >= 1.0.0-17 Requires: skopeo-containers >= 0.1.20-2 Requires: container-selinux -Requires: ostree %description The %{name} package provides a command line tool which can be used to @@ -86,6 +85,9 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Thu Jul 19 2018 Dan Walsh - 1.2-2 +- buildah does not require ostree + * Sun Jul 15 2018 Dan Walsh 1.2-1 - Vendor in latest containers/image - build-using-dockerfile: let -t include transports again From cd675d3e94ccd43b09a2d57411d6e095deab8c9a Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 5 Aug 2018 07:21:25 -0400 Subject: [PATCH 27/28] Bump to v1.3 Vendor in lates containers/image build-using-dockerfile: let -t include transports again Block use of /proc/acpi and /proc/keys from inside containers Fix handling of --registries-conf Fix becoming a maintainer link add optional CI test fo darwin Don't pass a nil error to errors.Wrapf() image filter test: use kubernetes/pause as a "since" Add --cidfile option to from vendor: update containers/storage Contributors need to find the CONTRIBUTOR.md file easier Add a --loglevel option to build-with-dockerfile Create Development plan cmd: Code improvement allow buildah cross compile for a darwin target Add unused function param lint check docs: Follow man-pages(7) suggestions for SYNOPSIS Start using github.com/seccomp/containers-golang umount: add all option to umount all mounted containers runConfigureNetwork(): remove an unused parameter Update github.com/opencontainers/selinux Fix buildah bud --layers Force ownership of /etc/hosts and /etc/resolv.conf to 0:0 main: if unprivileged, reexec in a user namespace Vendor in latest imagebuilder Reduce the complexity of the buildah.Run function mount: output it before replacing lastError Vendor in latest selinux-go code Implement basic recognition of the "--isolation" option Run(): try to resolve non-absolute paths using $PATH Run(): don't include any default environment variables build without seccomp vendor in latest runtime-tools bind/mount_unsupported.go: remove import errors Update github.com/opencontainers/runc Add Capabilities lists to BuilderInfo Tweaks for commit tests commit: recognize committing to second storage locations Fix ARGS parsing for run commands Add info on registries.conf to from manpage Switch from using docker to podman for testing in .papr buildah: set the HTTP User-Agent ONBUILD tutorial Add information about the configuration files to the install docs Makefile: add uninstall Add tilde info for push to troubleshooting mount: support multiple inputs Use the right formatting when adding entries to /etc/hosts Vendor in latest go-selinux bindings Allow --userns-uid-map/--userns-gid-map to be global options bind: factor out UnmountMountpoints Run(): simplify runCopyStdio() Run(): handle POLLNVAL results Run(): tweak terminal mode handling Run(): rename 'copyStdio' to 'copyPipes' Run(): don't set a Pdeathsig for the runtime Run(): add options for adding and removing capabilities Run(): don't use a callback when a slice will do setupSeccomp(): refactor Change RunOptions.Stdin/Stdout/Stderr to just be Reader/Writers Escape use of '_' in .md docs Break out getProcIDMappings() Break out SetupIntermediateMountNamespace() Add Multi From Demo Use the c/image conversion code instead of converting configs manually Don't throw away the manifest MIME type and guess again Consolidate loading manifest and config in initConfig Pass a types.Image to Builder.initConfig Require an image ID in importBuilderDataFromImage Use c/image/manifest.GuessMIMEType instead of a custom heuristic Do not ignore any parsing errors in initConfig Explicitly handle "from scratch" images in Builder.initConfig Fix parsing of OCI images Simplify dead but dangerous-looking error handling Don't ignore v2s1 history if docker_version is not set Add --rm and --force-rm to buildah bud Add --all,-a flag to buildah images Separate stdio buffering from writing Remove tty check from images --format Add environment variable BUILDAH_RUNTIME Add --layers and --no-cache to buildah bud Touch up images man version.md: fix DESCRIPTION tests: add containers test tests: add images test images: fix usage fix make clean error Change 'registries' to 'container registries' in man add commit test Add(): learn to record hashes of what we add Minor update to buildah config documentation for entrypoint Bump to v1.2-dev Add registries.conf link to a few man pages --- buildah.spec | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 99 insertions(+), 3 deletions(-) diff --git a/buildah.spec b/buildah.spec index b8a54ee..aea5765 100644 --- a/buildah.spec +++ b/buildah.spec @@ -14,12 +14,12 @@ # https://github.com/projectatomic/buildah %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} -%global commit0 be877622a3b0c7943b3b760ec43c12d177336e4c +%global commit0 4888163cf12b4e0c0d32ef7eb0ed941c2c81d4f7 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) Name: %{repo} -Version: 1.2 -Release: 2.git%{shortcommit0}%{?dist} +Version: 1.3 +Release: 1.git%{shortcommit0}%{?dist} Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} @@ -85,6 +85,102 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions %{_datadir}/bash-completion/completions/%{name} %changelog +* Sun Aug 5 2018 Dan Walsh - 1.3-1 +- Bump to v1.3 +- Vendor in lates containers/image +- build-using-dockerfile: let -t include transports again +- Block use of /proc/acpi and /proc/keys from inside containers +- Fix handling of --registries-conf +- Fix becoming a maintainer link +- add optional CI test fo darwin +- Don't pass a nil error to errors.Wrapf() +- image filter test: use kubernetes/pause as a "since" +- Add --cidfile option to from +- vendor: update containers/storage +- Contributors need to find the CONTRIBUTOR.md file easier +- Add a --loglevel option to build-with-dockerfile +- Create Development plan +- cmd: Code improvement +- allow buildah cross compile for a darwin target +- Add unused function param lint check +- docs: Follow man-pages(7) suggestions for SYNOPSIS +- Start using github.com/seccomp/containers-golang +- umount: add all option to umount all mounted containers +- runConfigureNetwork(): remove an unused parameter +- Update github.com/opencontainers/selinux +- Fix buildah bud --layers +- Force ownership of /etc/hosts and /etc/resolv.conf to 0:0 +- main: if unprivileged, reexec in a user namespace +- Vendor in latest imagebuilder +- Reduce the complexity of the buildah.Run function +- mount: output it before replacing lastError +- Vendor in latest selinux-go code +- Implement basic recognition of the "--isolation" option +- Run(): try to resolve non-absolute paths using $PATH +- Run(): don't include any default environment variables +- build without seccomp +- vendor in latest runtime-tools +- bind/mount_unsupported.go: remove import errors +- Update github.com/opencontainers/runc +- Add Capabilities lists to BuilderInfo +- Tweaks for commit tests +- commit: recognize committing to second storage locations +- Fix ARGS parsing for run commands +- Add info on registries.conf to from manpage +- Switch from using docker to podman for testing in .papr +- buildah: set the HTTP User-Agent +- ONBUILD tutorial +- Add information about the configuration files to the install docs +- Makefile: add uninstall +- Add tilde info for push to troubleshooting +- mount: support multiple inputs +- Use the right formatting when adding entries to /etc/hosts +- Vendor in latest go-selinux bindings +- Allow --userns-uid-map/--userns-gid-map to be global options +- bind: factor out UnmountMountpoints +- Run(): simplify runCopyStdio() +- Run(): handle POLLNVAL results +- Run(): tweak terminal mode handling +- Run(): rename 'copyStdio' to 'copyPipes' +- Run(): don't set a Pdeathsig for the runtime +- Run(): add options for adding and removing capabilities +- Run(): don't use a callback when a slice will do +- setupSeccomp(): refactor +- Change RunOptions.Stdin/Stdout/Stderr to just be Reader/Writers +- Escape use of '_' in .md docs +- Break out getProcIDMappings() +- Break out SetupIntermediateMountNamespace() +- Add Multi From Demo +- Use the c/image conversion code instead of converting configs manually +- Don't throw away the manifest MIME type and guess again +- Consolidate loading manifest and config in initConfig +- Pass a types.Image to Builder.initConfig +- Require an image ID in importBuilderDataFromImage +- Use c/image/manifest.GuessMIMEType instead of a custom heuristic +- Do not ignore any parsing errors in initConfig +- Explicitly handle "from scratch" images in Builder.initConfig +- Fix parsing of OCI images +- Simplify dead but dangerous-looking error handling +- Don't ignore v2s1 history if docker_version is not set +- Add --rm and --force-rm to buildah bud +- Add --all,-a flag to buildah images +- Separate stdio buffering from writing +- Remove tty check from images --format +- Add environment variable BUILDAH_RUNTIME +- Add --layers and --no-cache to buildah bud +- Touch up images man +- version.md: fix DESCRIPTION +- tests: add containers test +- tests: add images test +- images: fix usage +- fix make clean error +- Change 'registries' to 'container registries' in man +- add commit test +- Add(): learn to record hashes of what we add +- Minor update to buildah config documentation for entrypoint +- Bump to v1.2-dev +- Add registries.conf link to a few man pages + * Thu Jul 19 2018 Dan Walsh - 1.2-2 - buildah does not require ostree From f2be89044ab1e6419b3f46db1e3d4ae462b3e68f Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 5 Aug 2018 07:28:10 -0400 Subject: [PATCH 28/28] Bump to v1.3 Vendor in lates containers/image build-using-dockerfile: let -t include transports again Block use of /proc/acpi and /proc/keys from inside containers Fix handling of --registries-conf Fix becoming a maintainer link add optional CI test fo darwin Don't pass a nil error to errors.Wrapf() image filter test: use kubernetes/pause as a "since" Add --cidfile option to from vendor: update containers/storage Contributors need to find the CONTRIBUTOR.md file easier Add a --loglevel option to build-with-dockerfile Create Development plan cmd: Code improvement allow buildah cross compile for a darwin target Add unused function param lint check docs: Follow man-pages(7) suggestions for SYNOPSIS Start using github.com/seccomp/containers-golang umount: add all option to umount all mounted containers runConfigureNetwork(): remove an unused parameter Update github.com/opencontainers/selinux Fix buildah bud --layers Force ownership of /etc/hosts and /etc/resolv.conf to 0:0 main: if unprivileged, reexec in a user namespace Vendor in latest imagebuilder Reduce the complexity of the buildah.Run function mount: output it before replacing lastError Vendor in latest selinux-go code Implement basic recognition of the "--isolation" option Run(): try to resolve non-absolute paths using $PATH Run(): don't include any default environment variables build without seccomp vendor in latest runtime-tools bind/mount_unsupported.go: remove import errors Update github.com/opencontainers/runc Add Capabilities lists to BuilderInfo Tweaks for commit tests commit: recognize committing to second storage locations Fix ARGS parsing for run commands Add info on registries.conf to from manpage Switch from using docker to podman for testing in .papr buildah: set the HTTP User-Agent ONBUILD tutorial Add information about the configuration files to the install docs Makefile: add uninstall Add tilde info for push to troubleshooting mount: support multiple inputs Use the right formatting when adding entries to /etc/hosts Vendor in latest go-selinux bindings Allow --userns-uid-map/--userns-gid-map to be global options bind: factor out UnmountMountpoints Run(): simplify runCopyStdio() Run(): handle POLLNVAL results Run(): tweak terminal mode handling Run(): rename 'copyStdio' to 'copyPipes' Run(): don't set a Pdeathsig for the runtime Run(): add options for adding and removing capabilities Run(): don't use a callback when a slice will do setupSeccomp(): refactor Change RunOptions.Stdin/Stdout/Stderr to just be Reader/Writers Escape use of '_' in .md docs Break out getProcIDMappings() Break out SetupIntermediateMountNamespace() Add Multi From Demo Use the c/image conversion code instead of converting configs manually Don't throw away the manifest MIME type and guess again Consolidate loading manifest and config in initConfig Pass a types.Image to Builder.initConfig Require an image ID in importBuilderDataFromImage Use c/image/manifest.GuessMIMEType instead of a custom heuristic Do not ignore any parsing errors in initConfig Explicitly handle "from scratch" images in Builder.initConfig Fix parsing of OCI images Simplify dead but dangerous-looking error handling Don't ignore v2s1 history if docker_version is not set Add --rm and --force-rm to buildah bud Add --all,-a flag to buildah images Separate stdio buffering from writing Remove tty check from images --format Add environment variable BUILDAH_RUNTIME Add --layers and --no-cache to buildah bud Touch up images man version.md: fix DESCRIPTION tests: add containers test tests: add images test images: fix usage fix make clean error Change 'registries' to 'container registries' in man add commit test Add(): learn to record hashes of what we add Minor update to buildah config documentation for entrypoint Bump to v1.2-dev Add registries.conf link to a few man pages --- buildah.spec | 1 - runc.patch | 68 ---------------------------------------------------- sources | 2 +- 3 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 runc.patch diff --git a/buildah.spec b/buildah.spec index aea5765..c8c8723 100644 --- a/buildah.spec +++ b/buildah.spec @@ -24,7 +24,6 @@ Summary: A command line tool used for creating OCI Images License: ASL 2.0 URL: https://%{provider_prefix} Source: https://%{provider_prefix}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz -patch: runc.patch ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. diff --git a/runc.patch b/runc.patch deleted file mode 100644 index d098d02..0000000 --- a/runc.patch +++ /dev/null @@ -1,68 +0,0 @@ -commit 6bc38cc88392ec7ce52774d36c0b635570aac129 -Author: Daniel J Walsh -Date: Sun Jul 15 06:42:33 2018 -0400 - - Update vendor for runc to fix 32 bit builds - - Current runc builds will not build on 32 bit systems - - Signed-off-by: Daniel J Walsh - -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go b/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go -index 8d353d98..a4ae8901 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/system/linux.go -@@ -123,8 +123,8 @@ func UIDMapInUserNS(uidmap []user.IDMap) bool { - } - - // GetParentNSeuid returns the euid within the parent user namespace --func GetParentNSeuid() int { -- euid := os.Geteuid() -+func GetParentNSeuid() int64 { -+ euid := int64(os.Geteuid()) - uidmap, err := user.CurrentProcessUIDMap() - if err != nil { - // This kernel-provided file only exists if user namespaces are supported -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/user.go b/vendor/github.com/opencontainers/runc/libcontainer/user/user.go -index 37993da8..7b912bbf 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/user/user.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/user/user.go -@@ -78,15 +78,15 @@ func groupFromOS(g *user.Group) (Group, error) { - // SubID represents an entry in /etc/sub{u,g}id - type SubID struct { - Name string -- SubID int -- Count int -+ SubID int64 -+ Count int64 - } - - // IDMap represents an entry in /proc/PID/{u,g}id_map - type IDMap struct { -- ID int -- ParentID int -- Count int -+ ID int64 -+ ParentID int64 -+ Count int64 - } - - func parseLine(line string, v ...interface{}) { -@@ -113,6 +113,8 @@ func parseParts(parts []string, v ...interface{}) { - case *int: - // "numbers", with conversion errors ignored because of some misbehaving configuration files. - *e, _ = strconv.Atoi(p) -+ case *int64: -+ *e, _ = strconv.ParseInt(p, 10, 64) - case *[]string: - // Comma-separated lists. - if p != "" { -@@ -122,7 +124,7 @@ func parseParts(parts []string, v ...interface{}) { - } - default: - // Someone goof'd when writing code using this function. Scream so they can hear us. -- panic(fmt.Sprintf("parseLine only accepts {*string, *int, *[]string} as arguments! %#v is not a pointer!", e)) -+ panic(fmt.Sprintf("parseLine only accepts {*string, *int, *int64, *[]string} as arguments! %#v is not a pointer!", e)) - } - } - } diff --git a/sources b/sources index 800622b..08a17cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (buildah-be87762.tar.gz) = c46fb5fd974c603b6e229cdc79b9f2d1eee011e1b6798cf100af3b625af6508ac51cb4a3a0e92cf46f324e32d6587d7f6faba017c7c4dcd60b9ca1e9028d5326 +SHA512 (buildah-4888163.tar.gz) = cc1ce68839244f4d538335278182a561e1200d2a83040b6d4f4ad22b9295b099fc0b354815f6498e8e398a1252f0fe75e427a60a57ab1b56ac60da24b482e3eb