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
...
$
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"
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6602):
https://lists.yoctoproject.org/g/meta-virtualization/message/6602
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]]
-=-=-=-=-=-=-=-=-=-=-=-