On Fri, Jul 2, 2021 at 4:11 AM Hongxu Jia <[email protected]> wrote:
>
> On 7/2/21 3:59 PM, hongxu 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
>
> Signed-off-by: Hongxu Jia <[email protected]>
> ---
>  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
> -
>
> Hi Bruce,
>
> About native umoci, I've no idea about the patchelf testing, I directly run 
> native umoci -h in my build
>

I have a whole series of OCI image construction changes that do need
that static support. both sloci and umoci run in some unique ways to
do the image work, hence why it must be static and isolated from the
defaults.

Once I get 5.13 into oe-core as the default kernel, I'll be returning
to that image work.

Cheers,

Bruce

> ...
>
> $ 
> image/buildarea/raid5/hjia/wrlinux-20/lat_deb_061621/build-binary/tmp-glibc/work/x86_64-linux/umoci-native/0.4.6-r0/recipe-sysroot-native/usr/bin/umoci
>  -h
> NAME:
>    umoci - umoci modifies Open Container images
>
> USAGE:
>    umoci [global options] command [command options] [arguments...]
>
> VERSION:
>    unknown
>
> AUTHOR:
>    Aleksa Sarai <[email protected]>
>
> COMMANDS:
>    raw      advanced internal image tooling
>    help, h  Shows a list of commands or help for one command
>
>    image:
>      config      modifies the image configuration of an OCI image
>      unpack      unpacks a reference into an OCI runtime bundle
>      repack      repacks an OCI runtime bundle into a reference
>      new         creates a blank tagged OCI image
>      tag         creates a new tag in an OCI image
>      remove, rm  removes a tag from an OCI image
>      stat        displays status information of an image manifest
>      insert      insert content into an OCI image
>
>    layout:
>      gc        garbage-collects an OCI image's blobs
>      init      create a new OCI layout
>      list, ls  lists the set of tags in an OCI layout
>
> GLOBAL OPTIONS:
>    --verbose      alias for --log=info
>    --log value    set the log level (debug, info, [warn], error, fatal) 
> (default: "warn")
>    --help, -h     show help
>    --version, -v  print the version
>
> ...
>
> //Hongxu
>
> -    # 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"
>
>
> 
>
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6609): 
https://lists.yoctoproject.org/g/meta-virtualization/message/6609
Mute This Topic: https://lists.yoctoproject.org/mt/83935671/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to