[meta-virtualization] [PATCH 4/6] skopeo: add skopeo

Bruce Ashfield bruce.ashfield at gmail.com
Tue Sep 3 10:18:00 PDT 2019


On Sun, Sep 1, 2019 at 4:35 PM Stefan Agner <stefan at agner.ch> wrote:
>
> From: Stefan Agner <stefan.agner at toradex.com>
>
> skopeo is a command line utility that performs various operations on
> container images and image repositories.
>
> skopeo can work with OCI images as well as the original Docker v2
> images.
>
> The recipe originates from from meta-overc commit a497792. It has
> been updated with the new project URL and v0.1.39.

Nice!

This was on my list to bring into meta-virtualization. Once I can
confirm that it passes the meta-overc use cases, I'll merge this and
drop the one from meta-overc.

Bruce

>
> Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
> ---
>  recipes-containers/skopeo/skopeo_git.bb | 73 +++++++++++++++++++++++++
>  1 file changed, 73 insertions(+)
>  create mode 100644 recipes-containers/skopeo/skopeo_git.bb
>
> diff --git a/recipes-containers/skopeo/skopeo_git.bb b/recipes-containers/skopeo/skopeo_git.bb
> new file mode 100644
> index 0000000..82d3f23
> --- /dev/null
> +++ b/recipes-containers/skopeo/skopeo_git.bb
> @@ -0,0 +1,73 @@
> +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"
> +
> +DEPENDS = " \
> +    gpgme \
> +    multipath-tools \
> +    btrfs-tools \
> +    glib-2.0 \
> +    ostree \
> +"
> +
> +inherit go
> +
> +RDEPENDS_${PN} = " \
> +     gpgme \
> +     libgpg-error \
> +     libassuan \
> +"
> +
> +SRC_URI = "git://github.com/containers/skopeo"
> +
> +SRCREV = "1cf1e06582142c522543560f2bc6d6756696e8ad"
> +PV = "v0.1.39-dev+git${SRCPV}"
> +GO_IMPORT = "import"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit goarch
> +inherit pkgconfig
> +
> +# This disables seccomp and apparmor, which are on by default in the
> +# go package.
> +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"
> +
> +       # 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
> +
> +       oe_runmake binary-local
> +}
> +
> +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
> +}
> +
> +INSANE_SKIP_${PN} += "ldflags"
> --
> 2.20.1
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


More information about the meta-virtualization mailing list