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

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


On Tue, Sep 3, 2019 at 4:41 PM Mark Asselstine
<mark.asselstine at windriver.com> wrote:
>
> On Tue, Sep 3, 2019 at 1:18 PM Bruce Ashfield <bruce.ashfield at gmail.com> wrote:
> >
> > 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.
>
> Which takes an item off my todo list. So double nice!
>
> Eventually I want to have this build -native and an addition to the
> fetcher so it can be used to populate a rootfs with container images
> from something like docker hub.

I can honestly say "good luck wit that". There has to be an easier
route than skopeo for that functionality.

It simply has too many dependencies (and yet unused functionality) to
be built -native. IMHO, it's just not the right tool for that job.

Bruce

>
> MarkA
>
> >
> > 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
> > --
> > _______________________________________________
> > 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