All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bruce Ashfield" <bruce.ashfield@gmail.com>
To: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: Hongxu Jia <hongxu.jia@windriver.com>,
	meta-virtualization@lists.yoctoproject.org
Subject: Re: [meta-virtualization][PATCH] umoci: rework recipe
Date: Fri, 2 Jul 2021 09:12:28 -0400	[thread overview]
Message-ID: <CADkTA4NFipXx59_rYdgxJY0p1k7SrJhxAYAQ-EWADTnNXoX2EQ@mail.gmail.com> (raw)
In-Reply-To: <168DFAA59EFCBE06.30759@lists.yoctoproject.org>

On Fri, Jul 2, 2021 at 8:57 AM Bruce Ashfield via
lists.yoctoproject.org
<bruce.ashfield=gmail.com@lists.yoctoproject.org> wrote:
>
> On Fri, Jul 2, 2021 at 3:59 AM Hongxu Jia <hongxu.jia@windriver.com> wrote:
> >
> > 1. tweak homepage
> >
> > 2. Use go_do_compile of go bbclass in oe-core to replace
> >    the do_compile in recipe, variables such as LD,CC,
> >    CFLAGS, CGO_CFLAGS will be set automatically
> >
> > 3. Use go_do_install of go bbclass in oe-core to replace
> >    the do_install in recipe, all necessary will be installed
> >
> > 4. export GO111MODULE=off globally
> >
> > 5. Skip file-rdeps insane for umoci dev packages since scripts
> >    in umoci dev packages contains awk, bash shebang
> >
>
> Hmm. no. We need to keep all of the local parts of this recipe, it
> needs to stay somewhat the bbclasses in oe-core, due to the way it
> changes over time.
>
> What we have works, and I'll leave it as-is.

I should add that there is a middle ground.

Leave the source layout as-is, and the explicit compile/install
routines in place. If there are some variables that can now safely
take defaults from the bbclass, we can use those. But dropping the
recipe structure as it stands, and using the default routines (which
have lost me days and weeks of time over the years), isn't going to
make it into the tree as-is.

Bruce

>
> cheers,
>
> Bruce
>
> > Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> > ---
> >  recipes-containers/umoci/umoci_git.bb | 75 ++++-----------------------
> >  1 file changed, 10 insertions(+), 65 deletions(-)
> >
> > diff --git a/recipes-containers/umoci/umoci_git.bb b/recipes-containers/umoci/umoci_git.bb
> > index f83a35a7..c4007eb3 100644
> > --- a/recipes-containers/umoci/umoci_git.bb
> > +++ b/recipes-containers/umoci/umoci_git.bb
> > @@ -1,80 +1,25 @@
> > -HOMEPAGE = "https://github.com/openSUSE/umoci"
> > +HOMEPAGE = "https://umo.ci"
> >  SUMMARY = "umoci modifies Open Container images"
> >  LICENSE = "Apache-2.0"
> > -LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
> > +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
> >
> >  RDEPENDS_${PN} = "skopeo"
> >  RDEPENDS_${PN}_class-native = ""
> >
> > -SRCREV_umoci = "758044fc26ad65eb900143e90d1e22c2d6e4484d"
> > -SRC_URI = "git://github.com/opencontainers/umoci.git;branch=master;name=umoci;destsuffix=github.com/opencontainers/umoci \
> > -          "
> > +SRCREV = "758044fc26ad65eb900143e90d1e22c2d6e4484d"
> > +SRC_URI = " \
> > +    git://${GO_IMPORT}; \
> > +"
> >
> >  PV = "v0.4.7-dev+git${SRCPV}"
> > -S = "${WORKDIR}/github.com/opencontainers/umoci"
> > +S = "${WORKDIR}/git"
> >  GO_IMPORT = "github.com/opencontainers/umoci"
> >
> >  inherit goarch
> >  inherit go
> >
> > -# This disables seccomp and apparmor, which are on by default in the
> > -# go package.
> > -EXTRA_OEMAKE="BUILDTAGS=''"
> > +export GO111MODULE="off"
> >
> > -
> > -do_compile_class-native () {
> > -    export GOARCH="${BUILD_GOARCH}"
> > -
> > -    # Pass the needed cflags/ldflags so that cgo can find the needed headers files and libraries
> > -    export CGO_ENABLED="1"
> > -    export CFLAGS="${BUILD_CFLAGS}"
> > -    export LDFLAGS="${BUILD_LDFLAGS}"
> > -    export CGO_CFLAGS="${BUILD_CFLAGS}"
> > -
> > -    # as of go 1.15.5, there are some flags the CGO doesn't like. Rather than
> > -    # clearing them all, we sed away the ones we don't want.
> > -    # export CGO_LDFLAGS="$(echo ${BUILD_LDFLAGS} | sed 's/-Wl,-O1//g' | sed 's/-Wl,--dynamic-linker.*?( \|$\)//g')"
> > -    export CC="${BUILD_CC}"
> > -    export LD="${BUILD_LD}"
> > -
> > -    export GOPATH="${WORKDIR}/git/"
> > -    export GO111MODULE=off
> > -
> > -    cd ${S}
> > -
> > -    # why static ? patchelf will be run on dynamic binaries and it breaks
> > -    # the executable (coredump)
> > -    # https://forum.snapcraft.io/t/patchelf-broke-my-binary/4928
> > -    # https://github.com/NixOS/patchelf/issues/146
> > -    oe_runmake umoci.static
> > -
> > -    # so the common install can find our binary
> > -    cp umoci.static umoci
> > -}
> > -
> > -do_compile() {
> > -    export GOARCH="${TARGET_GOARCH}"
> > -    export GOPATH="${WORKDIR}/git/"
> > -
> > -    # 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}"
> > -
> > -    export GO111MODULE=off
> > -
> > -    cd ${S}
> > -
> > -    oe_runmake umoci
> > -}
> > -
> > -do_install() {
> > -    install -d ${D}/${sbindir}
> > -    install ${S}/umoci ${D}/${sbindir}
> > -}
> > -
> > -INSANE_SKIP_${PN} += "ldflags already-stripped"
> > +INSANE_SKIP_${PN}-dev += "file-rdeps"
> > +INSANE_SKIP_${PN} += "already-stripped"
> >  BBCLASSEXTEND = "native nativesdk"
> > --
> > 2.27.0
> >
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
>
> 
>


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

  parent reply	other threads:[~2021-07-02 13:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-02  7:59 [meta-virtualization][PATCH] umoci: rework recipe hongxu
2021-07-02 12:56 ` Bruce Ashfield
     [not found] ` <168DFAA59EFCBE06.30759@lists.yoctoproject.org>
2021-07-02 13:12   ` Bruce Ashfield [this message]
     [not found] <168DEA6BA6D7C3F7.26864@lists.yoctoproject.org>
2021-07-02  8:11 ` hongxu
2021-07-02 13:23   ` Bruce Ashfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADkTA4NFipXx59_rYdgxJY0p1k7SrJhxAYAQ-EWADTnNXoX2EQ@mail.gmail.com \
    --to=bruce.ashfield@gmail.com \
    --cc=hongxu.jia@windriver.com \
    --cc=meta-virtualization@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.