forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.6, Repoman-2.3.1
- Loading branch information
Showing
4 changed files
with
224 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
DIST skopeo-0.1.22.tar.gz 1921286 SHA256 a2090f84e5318752bf506fd7aa6d8420285726c32dcbac3ab735ec5762104692 SHA512 10ed4e577b07f672540ff86774b5c5b6b7531765fd36313b9e4e6bf974840fee98ede193014977c381b96875cb9147307ee690f4fc8dd4f97d87681d7fa2f4f2 WHIRLPOOL 94c88b784c8a7186ff6abd5d4a1f2c2307fb9c29c98f256a28a5d066546afc7cbb0c848aec77c8835c63f5c62628a8e983d25f4e63e3c6bfa5f4322dd9420522 |
158 changes: 158 additions & 0 deletions
158
app-emulation/skopeo/files/skopeo-0.1.22-make-ostree-optional.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
From a49f22efd84d1cc656242319cca27cbdf8852e05 Mon Sep 17 00:00:00 2001 | ||
From: William Hubbs <[email protected]> | ||
Date: Fri, 23 Jun 2017 12:34:25 -0500 | ||
Subject: [PATCH] make ostree optional | ||
|
||
--- | ||
vendor/github.com/containers/image/README.md | 14 ++++++--- | ||
.../transports/alltransports/alltransports.go | 2 +- | ||
.../image/transports/alltransports/ostree.go | 8 +++++ | ||
.../image/transports/alltransports/ostree_stub.go | 9 ++++++ | ||
.../github.com/containers/image/transports/stub.go | 36 ++++++++++++++++++++++ | ||
.../containers/image/transports/stub_test.go | 18 +++++++++++ | ||
6 files changed, 82 insertions(+), 5 deletions(-) | ||
create mode 100644 vendor/github.com/containers/image/transports/alltransports/ostree.go | ||
create mode 100644 vendor/github.com/containers/image/transports/alltransports/ostree_stub.go | ||
create mode 100644 vendor/github.com/containers/image/transports/stub.go | ||
create mode 100644 vendor/github.com/containers/image/transports/stub_test.go | ||
|
||
diff --git a/vendor/github.com/containers/image/README.md b/vendor/github.com/containers/image/README.md | ||
index ca8afd4..8e812bb 100644 | ||
--- a/vendor/github.com/containers/image/README.md | ||
+++ b/vendor/github.com/containers/image/README.md | ||
@@ -51,14 +51,20 @@ Ensure that the dependencies documented [in vendor.conf](https://github.com/cont | ||
are also available | ||
(using those exact versions or different versions of your choosing). | ||
|
||
-This library, by default, also depends on the GpgME C library. Either install it: | ||
+This library, by default, also depends on the GpgME and libostree C libraries. Either install them: | ||
```sh | ||
-Fedora$ dnf install gpgme-devel libassuan-devel | ||
+Fedora$ dnf install gpgme-devel libassuan-devel libostree-devel | ||
macOS$ brew install gpgme | ||
``` | ||
-or use the `containers_image_openpgp` build tag (e.g. using `go build -tags …`) | ||
-This will use a Golang-only OpenPGP implementation for signature verification instead of the default cgo/gpgme-based implementation; | ||
+or use the build tags described below to avoid the dependencies (e.g. using `go build -tags …`) | ||
+ | ||
+### Supported build tags | ||
+ | ||
+- `containers_image_openpgp`: Use a Golang-only OpenPGP implementation for signature verification instead of the default cgo/gpgme-based implementation; | ||
the primary downside is that creating new signatures with the Golang-only implementation is not supported. | ||
+- `containers_image_ostree_stub`: Instead of importing `ostree:` transport in `github.com/containers/image/transports/alltransports`, use a stub which reports that the transport is not supported. This allows building the library without requiring the `libostree` development libraries. | ||
+ | ||
+ (Note that explicitly importing `github.com/containers/image/ostree` will still depend on the `libostree` library, this build tag only affects generic users of …`/alltransports`.) | ||
|
||
## Contributing | ||
|
||
diff --git a/vendor/github.com/containers/image/transports/alltransports/alltransports.go b/vendor/github.com/containers/image/transports/alltransports/alltransports.go | ||
index dc70fad..dd80b7f 100644 | ||
--- a/vendor/github.com/containers/image/transports/alltransports/alltransports.go | ||
+++ b/vendor/github.com/containers/image/transports/alltransports/alltransports.go | ||
@@ -12,7 +12,7 @@ import ( | ||
_ "github.com/containers/image/docker/daemon" | ||
_ "github.com/containers/image/oci/layout" | ||
_ "github.com/containers/image/openshift" | ||
- _ "github.com/containers/image/ostree" | ||
+ // The ostree transport is registered by ostree*.go | ||
_ "github.com/containers/image/storage" | ||
"github.com/containers/image/transports" | ||
"github.com/containers/image/types" | ||
diff --git a/vendor/github.com/containers/image/transports/alltransports/ostree.go b/vendor/github.com/containers/image/transports/alltransports/ostree.go | ||
new file mode 100644 | ||
index 0000000..0fc5d7e | ||
--- /dev/null | ||
+++ b/vendor/github.com/containers/image/transports/alltransports/ostree.go | ||
@@ -0,0 +1,8 @@ | ||
+// +build !containers_image_ostree_stub | ||
+ | ||
+package alltransports | ||
+ | ||
+import ( | ||
+ // Register the ostree transport | ||
+ _ "github.com/containers/image/ostree" | ||
+) | ||
diff --git a/vendor/github.com/containers/image/transports/alltransports/ostree_stub.go b/vendor/github.com/containers/image/transports/alltransports/ostree_stub.go | ||
new file mode 100644 | ||
index 0000000..8b01afe | ||
--- /dev/null | ||
+++ b/vendor/github.com/containers/image/transports/alltransports/ostree_stub.go | ||
@@ -0,0 +1,9 @@ | ||
+// +build containers_image_ostree_stub | ||
+ | ||
+package alltransports | ||
+ | ||
+import "github.com/containers/image/transports" | ||
+ | ||
+func init() { | ||
+ transports.Register(transports.NewStubTransport("ostree")) | ||
+} | ||
diff --git a/vendor/github.com/containers/image/transports/stub.go b/vendor/github.com/containers/image/transports/stub.go | ||
new file mode 100644 | ||
index 0000000..087f69b | ||
--- /dev/null | ||
+++ b/vendor/github.com/containers/image/transports/stub.go | ||
@@ -0,0 +1,36 @@ | ||
+package transports | ||
+ | ||
+import ( | ||
+ "fmt" | ||
+ | ||
+ "github.com/containers/image/types" | ||
+) | ||
+ | ||
+// stubTransport is an implementation of types.ImageTransport which has a name, but rejects any references with “the transport $name: is not supported in this build”. | ||
+type stubTransport string | ||
+ | ||
+// NewStubTransport returns an implementation of types.ImageTransport which has a name, but rejects any references with “the transport $name: is not supported in this build”. | ||
+func NewStubTransport(name string) types.ImageTransport { | ||
+ return stubTransport(name) | ||
+} | ||
+ | ||
+// Name returns the name of the transport, which must be unique among other transports. | ||
+func (s stubTransport) Name() string { | ||
+ return string(s) | ||
+} | ||
+ | ||
+// ParseReference converts a string, which should not start with the ImageTransport.Name prefix, into an ImageReference. | ||
+func (s stubTransport) ParseReference(reference string) (types.ImageReference, error) { | ||
+ return nil, fmt.Errorf(`The transport "%s:" is not supported in this build`, string(s)) | ||
+} | ||
+ | ||
+// ValidatePolicyConfigurationScope checks that scope is a valid name for a signature.PolicyTransportScopes keys | ||
+// (i.e. a valid PolicyConfigurationIdentity() or PolicyConfigurationNamespaces() return value). | ||
+// It is acceptable to allow an invalid value which will never be matched, it can "only" cause user confusion. | ||
+// scope passed to this function will not be "", that value is always allowed. | ||
+func (s stubTransport) ValidatePolicyConfigurationScope(scope string) error { | ||
+ // Allowing any reference in here allows tools with some transports stubbed-out to still | ||
+ // use signature verification policies which refer to these stubbed-out transports. | ||
+ // See also the treatment of unknown transports in policyTransportScopesWithTransport.UnmarshalJSON . | ||
+ return nil | ||
+} | ||
diff --git a/vendor/github.com/containers/image/transports/stub_test.go b/vendor/github.com/containers/image/transports/stub_test.go | ||
new file mode 100644 | ||
index 0000000..f181a1a | ||
--- /dev/null | ||
+++ b/vendor/github.com/containers/image/transports/stub_test.go | ||
@@ -0,0 +1,18 @@ | ||
+package transports | ||
+ | ||
+import ( | ||
+ "testing" | ||
+ | ||
+ "github.com/stretchr/testify/assert" | ||
+) | ||
+ | ||
+func TestStubTransport(t *testing.T) { | ||
+ const name = "whatever" | ||
+ | ||
+ s := NewStubTransport(name) | ||
+ assert.Equal(t, name, s.Name()) | ||
+ _, err := s.ParseReference("this is rejected regardless of content") | ||
+ assert.Error(t, err) | ||
+ err = s.ValidatePolicyConfigurationScope("this is accepted regardless of content") | ||
+ assert.NoError(t, err) | ||
+} | ||
-- | ||
2.13.0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | ||
<pkgmetadata> | ||
<maintainer type="person"> | ||
<email>[email protected]</email> | ||
<name>William Hubbs</name> | ||
</maintainer> | ||
</pkgmetadata> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
EGO_PN=github.com/projectatomic/skopeo | ||
COMMIT=5d24b67 | ||
inherit golang-vcs-snapshot | ||
|
||
DESCRIPTION="Command line utility foroperations on container images and image repositories" | ||
HOMEPAGE="http://github.com/projectatomic/skopeo" | ||
SRC_URI="https://github.com/projectatomic/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="Apache-2.0" | ||
SLOT="0" | ||
KEYWORDS="~amd64" | ||
IUSE="" | ||
|
||
COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:= | ||
>=dev-libs/libassuan-2.4.3 | ||
>=sys-fs/btrfs-progs-4.0.1 | ||
>=sys-fs/lvm2-2.02.145" | ||
DEPEND="${COMMON_DEPEND} | ||
dev-go/go-md2man" | ||
RDEPEND="${COMMON_DEPEND}" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${P}-make-ostree-optional.patch | ||
) | ||
|
||
S="${WORKDIR}/${P}/src/${EGO_PN}" | ||
|
||
RESTRICT="test" | ||
|
||
src_compile() { | ||
local BUILDTAGS="containers_image_ostree_stub" | ||
set -- env GOPATH="${WORKDIR}/${P}" \ | ||
go build -ldflags "-X main.gitCommit=${COMMIT}" \ | ||
-gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \ | ||
-o skopeo ./cmd/skopeo | ||
echo "$@" | ||
"$@" || die | ||
cd docs | ||
for f in *.1.md; do | ||
go-md2man -in ${f} -out ${f%%.md} || die | ||
done | ||
} | ||
|
||
src_install() { | ||
dobin skopeo | ||
doman docs/*.1 | ||
insinto /etc/containers | ||
newins default-policy.json policy.json | ||
insinto /etc/containers/registries.d | ||
doins default.yaml | ||
dodir /var/lib/atomic/sigstore | ||
einstalldocs | ||
} |