aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-containers/skopeo/skopeo_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-containers/skopeo/skopeo_git.bb')
-rw-r--r--recipes-containers/skopeo/skopeo_git.bb71
1 files changed, 41 insertions, 30 deletions
diff --git a/recipes-containers/skopeo/skopeo_git.bb b/recipes-containers/skopeo/skopeo_git.bb
index be72dc13..5083b658 100644
--- a/recipes-containers/skopeo/skopeo_git.bb
+++ b/recipes-containers/skopeo/skopeo_git.bb
@@ -1,39 +1,46 @@
HOMEPAGE = "https://github.com/containers/skopeo"
SUMMARY = "Work with remote images registries - retrieving information, images, signing content"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=7e611105d3e369954840a6668c438584"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7e611105d3e369954840a6668c438584"
DEPENDS = " \
gpgme \
- multipath-tools \
+ libdevmapper \
+ lvm2 \
btrfs-tools \
glib-2.0 \
- ostree \
"
inherit go
-RDEPENDS_${PN} = " \
+COMPATIBLE_HOST = "^(?!mips).*"
+
+RDEPENDS:${PN} = " \
gpgme \
libgpg-error \
libassuan \
"
SRC_URI = " \
- git://github.com/containers/skopeo;branch=release-1.2 \
- file://storage.conf \
- file://registries.conf \
+ git://github.com/containers/skopeo;branch=release-1.14;protocol=https;destsuffix=git/src/github.com/containers/skopeo \
+ file://0001-makefile-add-GOBUILDFLAGS-to-go-build-call.patch \
"
-SRCREV = "6c0e35a50c404c88eba84b4c611e6ea06ed33a44"
-PV = "v1.2.2-dev+git${SRCPV}"
+SRCREV = "1c2ab995059dd011aad74e2c37305d636ebd2675"
+PV = "v1.14.2+git"
GO_IMPORT = "import"
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/git/src/github.com/containers/skopeo"
inherit goarch
inherit pkgconfig
+inherit container-host
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-10214
+# https://github.com/containers/image/issues/654
+CVE_STATUS[CVE-2019-10214] = "fixed-version: This CVE was fixed in the container image go library skopeo is using."
+
# This disables seccomp and apparmor, which are on by default in the
# go package.
EXTRA_OEMAKE="BUILDTAGS=''"
@@ -41,27 +48,20 @@ EXTRA_OEMAKE="BUILDTAGS=''"
do_compile() {
export GOARCH="${TARGET_GOARCH}"
- # Setup vendor directory so that it can be used in GOPATH.
- #
- # Go looks in a src directory under any directory in GOPATH but riddler
- # uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
- #
- # We also need to link in the ipallocator directory as that is not under
- # a src directory.
- ln -sfn . "${S}/src/import/vendor/src"
- mkdir -p "${S}/src/import/vendor/src/github.com/projectatomic/skopeo"
- ln -sfn "${S}/src/import/skopeo" "${S}/src/import/vendor/src/github.com/projectatomic/skopeo"
- ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/github.com/projectatomic/skopeo/version"
- export GOPATH="${S}/src/import/vendor"
+ export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/"
+ cd ${S}
# Pass the needed cflags/ldflags so that cgo
# can find the needed headers files and libraries
export CGO_ENABLED="1"
export CFLAGS=""
export LDFLAGS=""
- export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
- export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
- cd ${S}/src/import
+ export CGO_CFLAGS="${TARGET_CFLAGS}"
+ export CGO_LDFLAGS="${TARGET_LDFLAGS}"
+
+ export GO111MODULE=off
+ export GOBUILDFLAGS="-trimpath"
+ export EXTRA_LDFLAGS="-s -w"
oe_runmake bin/skopeo
}
@@ -70,11 +70,22 @@ do_install() {
install -d ${D}/${sbindir}
install -d ${D}/${sysconfdir}/containers
- install ${S}/src/import/bin/skopeo ${D}/${sbindir}/
- install ${S}/src/import/default-policy.json ${D}/${sysconfdir}/containers/policy.json
+ install ${S}/bin/skopeo ${D}/${sbindir}/
+}
- install ${WORKDIR}/storage.conf ${D}/${sysconfdir}/containers/storage.conf
- install ${WORKDIR}/registries.conf ${D}/${sysconfdir}/containers/registries.conf
+do_install:append:class-native() {
+ create_cmdline_wrapper ${D}/${sbindir}/skopeo \
+ --policy ${sysconfdir}/containers/policy.json
+
+ create_wrapper ${D}/${sbindir}/skopeo.real \
+ LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE}
+}
+
+do_install:append:class-nativesdk() {
+ create_cmdline_wrapper ${D}/${sbindir}/skopeo \
+ --policy ${sysconfdir}/containers/policy.json
}
-INSANE_SKIP_${PN} += "ldflags"
+INSANE_SKIP:${PN} += "ldflags already-stripped"
+
+BBCLASSEXTEND = "native nativesdk"