diff options
Diffstat (limited to 'recipes-containers/skopeo/skopeo_git.bb')
-rw-r--r-- | recipes-containers/skopeo/skopeo_git.bb | 73 |
1 files changed, 42 insertions, 31 deletions
diff --git a/recipes-containers/skopeo/skopeo_git.bb b/recipes-containers/skopeo/skopeo_git.bb index f5a62313..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 \ - 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 = "1cf1e06582142c522543560f2bc6d6756696e8ad" -PV = "v0.1.39-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,40 +48,44 @@ 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}" - oe_runmake binary-local + export GO111MODULE=off + export GOBUILDFLAGS="-trimpath" + export EXTRA_LDFLAGS="-s -w" + + oe_runmake bin/skopeo } do_install() { install -d ${D}/${sbindir} install -d ${D}/${sysconfdir}/containers - install ${S}/src/import/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" |