From 97c5d8d057dcb97327a15be94c40fd8729e38e9d Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 28 Apr 2020 11:05:38 +0100 Subject: [PATCH] go-based packages: use go_configure(); GOPATH cleanup --- .../addon-depends/containerd/package.mk | 34 +------ .../addon-depends/libnetwork/package.mk | 34 +------ packages/addons/addon-depends/runc/package.mk | 35 +------ packages/addons/service/docker/package.mk | 97 +++++++------------ packages/addons/service/syncthing/package.mk | 28 +----- 5 files changed, 50 insertions(+), 178 deletions(-) diff --git a/packages/addons/addon-depends/containerd/package.mk b/packages/addons/addon-depends/containerd/package.mk index 77b0808f79..0ce61c7894 100644 --- a/packages/addons/addon-depends/containerd/package.mk +++ b/packages/addons/addon-depends/containerd/package.mk @@ -16,46 +16,20 @@ PKG_TOOLCHAIN="manual" PKG_GIT_COMMIT="a4bc1d432a2c33aa2eed37f338dceabb93641310" pre_make_target() { - case ${TARGET_ARCH} in - x86_64) - export GOARCH=amd64 - ;; - arm) - export GOARCH=arm - case ${TARGET_CPU} in - arm1176jzf-s) - export GOARM=6 - ;; - *) - export GOARM=7 - ;; - esac - ;; - aarch64) - export GOARCH=arm64 - ;; - esac + go_configure - export GOOS=linux - export CGO_ENABLED=1 - export CGO_NO_EMULATION=1 - export CGO_CFLAGS=${CFLAGS} export CONTAINERD_VERSION=${PKG_VERSION} export CONTAINERD_REVISION=${PKG_GIT_COMMIT} export CONTAINERD_PKG=github.com/containerd/containerd export LDFLAGS="-w -extldflags -static -X ${CONTAINERD_PKG}/version.Version=${CONTAINERD_VERSION} -X ${CONTAINERD_PKG}/version.Revision=${CONTAINERD_REVISION} -X ${CONTAINERD_PKG}/version.Package=${CONTAINERD_PKG} -extld $CC" - export GOLANG=${TOOLCHAIN}/lib/golang/bin/go - export GOPATH=${PKG_BUILD}/.gopath - export GOROOT=${TOOLCHAIN}/lib/golang - export PATH=${PATH}:${GOROOT}/bin - mkdir -p ${PKG_BUILD}/.gopath + mkdir -p ${GOPATH} if [ -d ${PKG_BUILD}/vendor ]; then - mv ${PKG_BUILD}/vendor ${PKG_BUILD}/.gopath/src + mv ${PKG_BUILD}/vendor ${GOPATH}/src fi - ln -fs ${PKG_BUILD} ${PKG_BUILD}/.gopath/src/github.com/containerd/containerd + ln -fs ${PKG_BUILD} ${GOPATH}/src/github.com/containerd/containerd } make_target() { diff --git a/packages/addons/addon-depends/libnetwork/package.mk b/packages/addons/addon-depends/libnetwork/package.mk index 3404319168..8157427e76 100644 --- a/packages/addons/addon-depends/libnetwork/package.mk +++ b/packages/addons/addon-depends/libnetwork/package.mk @@ -13,43 +13,17 @@ PKG_LONGDESC="A native Go implementation for connecting containers." PKG_TOOLCHAIN="manual" pre_make_target() { - case $TARGET_ARCH in - x86_64) - export GOARCH=amd64 - ;; - arm) - export GOARCH=arm + go_configure - case $TARGET_CPU in - arm1176jzf-s) - export GOARM=6 - ;; - *) - export GOARM=7 - ;; - esac - ;; - aarch64) - export GOARCH=arm64 - ;; - esac - - export GOOS=linux export CGO_ENABLED=0 - export CGO_NO_EMULATION=1 - export CGO_CFLAGS=$CFLAGS export LDFLAGS="-extld $CC" - export GOLANG=$TOOLCHAIN/lib/golang/bin/go - export GOPATH=$PKG_BUILD/.gopath - export GOROOT=$TOOLCHAIN/lib/golang - export PATH=$PATH:$GOROOT/bin - mkdir -p $PKG_BUILD/.gopath + mkdir -p ${GOPATH} if [ -d $PKG_BUILD/vendor ]; then - mv $PKG_BUILD/vendor $PKG_BUILD/.gopath/src + mv $PKG_BUILD/vendor ${GOPATH}/src fi - ln -fs $PKG_BUILD $PKG_BUILD/.gopath/src/github.com/docker/libnetwork + ln -fs $PKG_BUILD ${GOPATH}/src/github.com/docker/libnetwork } make_target() { diff --git a/packages/addons/addon-depends/runc/package.mk b/packages/addons/addon-depends/runc/package.mk index 9f8f531d9d..6cfa2f0d89 100644 --- a/packages/addons/addon-depends/runc/package.mk +++ b/packages/addons/addon-depends/runc/package.mk @@ -16,43 +16,16 @@ PKG_TOOLCHAIN="manual" PKG_GIT_COMMIT="425e105d5a03fabd737a126ad93d62a9eeede87f" pre_make_target() { - case $TARGET_ARCH in - x86_64) - export GOARCH=amd64 - ;; - arm) - export GOARCH=arm + go_configure - case $TARGET_CPU in - arm1176jzf-s) - export GOARM=6 - ;; - *) - export GOARM=7 - ;; - esac - ;; - aarch64) - export GOARCH=arm64 - ;; - esac - - export GOOS=linux - export CGO_ENABLED=1 - export CGO_NO_EMULATION=1 - export CGO_CFLAGS=$CFLAGS export LDFLAGS="-w -extldflags -static -X main.gitCommit=${PKG_GIT_COMMIT} -X main.version=$(cat ./VERSION) -extld $CC" - export GOLANG=$TOOLCHAIN/lib/golang/bin/go - export GOPATH=$PKG_BUILD/.gopath - export GOROOT=$TOOLCHAIN/lib/golang - export PATH=$PATH:$GOROOT/bin - mkdir -p $PKG_BUILD/.gopath + mkdir -p ${GOPATH} if [ -d $PKG_BUILD/vendor ]; then - mv $PKG_BUILD/vendor $PKG_BUILD/.gopath/src + mv $PKG_BUILD/vendor ${GOPATH}/src fi - ln -fs $PKG_BUILD $PKG_BUILD/.gopath/src/github.com/opencontainers/runc + ln -fs $PKG_BUILD ${GOPATH}/src/github.com/opencontainers/runc } make_target() { diff --git a/packages/addons/service/docker/package.mk b/packages/addons/service/docker/package.mk index d3c542da62..7b024feb80 100644 --- a/packages/addons/service/docker/package.mk +++ b/packages/addons/service/docker/package.mk @@ -23,86 +23,63 @@ PKG_IS_ADDON="yes" PKG_ADDON_NAME="Docker" PKG_ADDON_TYPE="xbmc.service" +PKG_DOCKER_BUILDTAGS="daemon \ + autogen \ + exclude_graphdriver_devicemapper \ + exclude_graphdriver_aufs \ + exclude_graphdriver_btrfs \ + journald" + configure_target() { - export DOCKER_BUILDTAGS="daemon \ - autogen \ - exclude_graphdriver_devicemapper \ - exclude_graphdriver_aufs \ - exclude_graphdriver_btrfs \ - journald" + go_configure - case ${TARGET_ARCH} in - x86_64) - export GOARCH=amd64 - ;; - arm) - export GOARCH=arm + PKG_GOPATH_ENGINE=${GOPATH} + PKG_GOPATH_CLI=${GOPATH}_cli + export GOPATH=${PKG_GOPATH_CLI}:${PKG_GOPATH_ENGINE} - case ${TARGET_CPU} in - arm1176jzf-s) - export GOARM=6 - ;; - *) - export GOARM=7 - ;; - esac - ;; - aarch64) - export GOARCH=arm64 - ;; - esac - - export GOOS=linux - export CGO_ENABLED=1 - export CGO_NO_EMULATION=1 - export CGO_CFLAGS=${CFLAGS} export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld $CC" - export GOLANG=${TOOLCHAIN}/lib/golang/bin/go - export GOPATH=${PKG_BUILD}/.gopath_cli:${PKG_BUILD}/.gopath - export GOROOT=${TOOLCHAIN}/lib/golang - export PATH=${PATH}:${GOROOT}/bin - mkdir -p ${PKG_BUILD}/.gopath - mkdir -p ${PKG_BUILD}/.gopath_cli + mkdir -p ${PKG_GOPATH_ENGINE} + mkdir -p ${PKG_GOPATH_CLI} PKG_ENGINE_PATH=${PKG_BUILD}/components/engine PKG_CLI_PATH=${PKG_BUILD}/components/cli if [ -d ${PKG_ENGINE_PATH}/vendor ]; then - mv ${PKG_ENGINE_PATH}/vendor ${PKG_BUILD}/.gopath/src + mv ${PKG_ENGINE_PATH}/vendor ${PKG_GOPATH_ENGINE}/src fi if [ -d ${PKG_CLI_PATH}/vendor ]; then - mv ${PKG_CLI_PATH}/vendor ${PKG_BUILD}/.gopath_cli/src + mv ${PKG_CLI_PATH}/vendor ${PKG_GOPATH_CLI}/src fi # Fix missing/incompatible .go files - cp -rf ${PKG_BUILD}/.gopath/src/github.com/moby/buildkit/frontend/* ${PKG_BUILD}/.gopath_cli/src/github.com/moby/buildkit/frontend - cp -rf ${PKG_BUILD}/.gopath/src/github.com/moby/buildkit/frontend/gateway/* ${PKG_BUILD}/.gopath_cli/src/github.com/moby/buildkit/frontend/gateway - cp -rf ${PKG_BUILD}/.gopath/src/github.com/moby/buildkit/solver/* ${PKG_BUILD}/.gopath_cli/src/github.com/moby/buildkit/solver - cp -rf ${PKG_BUILD}/.gopath/src/github.com/moby/buildkit/util/progress/* ${PKG_BUILD}/.gopath_cli/src/github.com/moby/buildkit/util/progress - cp -rf ${PKG_BUILD}/.gopath/src/github.com/docker/swarmkit/manager/* ${PKG_BUILD}/.gopath_cli/src/github.com/docker/swarmkit/manager - cp -rf ${PKG_BUILD}/.gopath/src/github.com/coreos/etcd/raft/* ${PKG_BUILD}/.gopath_cli/src/github.com/coreos/etcd/raft - cp -rf ${PKG_BUILD}/.gopath/src/golang.org/x/* ${PKG_BUILD}/.gopath_cli/src/golang.org/x - cp -rf ${PKG_BUILD}/.gopath/src/github.com/opencontainers/runtime-spec/specs-go/* ${PKG_BUILD}/.gopath_cli/src/github.com/opencontainers/runtime-spec/specs-go + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/moby/buildkit/frontend/* ${PKG_GOPATH_CLI}/src/github.com/moby/buildkit/frontend + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/moby/buildkit/frontend/gateway/* ${PKG_GOPATH_CLI}/src/github.com/moby/buildkit/frontend/gateway + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/moby/buildkit/solver/* ${PKG_GOPATH_CLI}/src/github.com/moby/buildkit/solver + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/moby/buildkit/util/progress/* ${PKG_GOPATH_CLI}/src/github.com/moby/buildkit/util/progress + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/docker/swarmkit/manager/* ${PKG_GOPATH_CLI}/src/github.com/docker/swarmkit/manager + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/coreos/etcd/raft/* ${PKG_GOPATH_CLI}/src/github.com/coreos/etcd/raft + cp -rf ${PKG_GOPATH_ENGINE}/src/golang.org/x/* ${PKG_GOPATH_CLI}/src/golang.org/x + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/opencontainers/runtime-spec/specs-go/* ${PKG_GOPATH_CLI}/src/github.com/opencontainers/runtime-spec/specs-go - rm -rf ${PKG_BUILD}/.gopath_cli/src/github.com/containerd/containerd - mkdir -p ${PKG_BUILD}/.gopath_cli/src/github.com/containerd/containerd - cp -rf ${PKG_BUILD}/.gopath/src/github.com/containerd/containerd/* ${PKG_BUILD}/.gopath_cli/src/github.com/containerd/containerd + rm -rf ${PKG_GOPATH_CLI}/src/github.com/containerd/containerd + mkdir -p ${PKG_GOPATH_CLI}/src/github.com/containerd/containerd + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/containerd/containerd/* ${PKG_GOPATH_CLI}/src/github.com/containerd/containerd - rm -rf ${PKG_BUILD}/.gopath_cli/src/github.com/containerd/continuity - mkdir -p ${PKG_BUILD}/.gopath_cli/src/github.com/containerd/continuity - cp -rf ${PKG_BUILD}/.gopath/src/github.com/containerd/continuity/* ${PKG_BUILD}/.gopath_cli/src/github.com/containerd/continuity + rm -rf ${PKG_GOPATH_CLI}/src/github.com/containerd/continuity + mkdir -p ${PKG_GOPATH_CLI}/src/github.com/containerd/continuity + cp -rf ${PKG_GOPATH_ENGINE}/src/github.com/containerd/continuity/* ${PKG_GOPATH_CLI}/src/github.com/containerd/continuity - mkdir -p ${PKG_BUILD}/.gopath_cli/src/github.com/docker/docker/builder - cp -rf ${PKG_ENGINE_PATH}/builder/* ${PKG_BUILD}/.gopath_cli/src/github.com/docker/docker/builder + mkdir -p ${PKG_GOPATH_CLI}/src/github.com/docker/docker/builder + cp -rf ${PKG_ENGINE_PATH}/builder/* ${PKG_GOPATH_CLI}/src/github.com/docker/docker/builder - if [ ! -L ${PKG_BUILD}/.gopath/src/github.com/docker/docker ];then - ln -fs ${PKG_ENGINE_PATH} ${PKG_BUILD}/.gopath/src/github.com/docker/docker + if [ ! -L ${PKG_GOPATH_ENGINE}/src/github.com/docker/docker ];then + ln -fs ${PKG_ENGINE_PATH} ${PKG_GOPATH_ENGINE}/src/github.com/docker/docker fi - if [ ! -L ${PKG_BUILD}/.gopath_cli/src/github.com/docker/cli ];then - ln -fs ${PKG_CLI_PATH} ${PKG_BUILD}/.gopath_cli/src/github.com/docker/cli + if [ ! -L ${PKG_GOPATH_CLI}/src/github.com/docker/cli ];then + ln -fs ${PKG_CLI_PATH} ${PKG_GOPATH_CLI}/src/github.com/docker/cli fi # used for docker version @@ -120,8 +97,8 @@ make_target() { PKG_CLI_FLAGS="-X 'github.com/docker/cli/cli/version.Version=${VERSION}'" PKG_CLI_FLAGS="${PKG_CLI_FLAGS} -X 'github.com/docker/cli/cli/version.GitCommit=${GITCOMMIT}'" PKG_CLI_FLAGS="${PKG_CLI_FLAGS} -X 'github.com/docker/cli/cli/version.BuildTime=${BUILDTIME}'" - ${GOLANG} build -v -o bin/docker -a -tags "${DOCKER_BUILDTAGS}" -ldflags "${LDFLAGS} ${PKG_CLI_FLAGS}" ./components/cli/cmd/docker - ${GOLANG} build -v -o bin/dockerd -a -tags "${DOCKER_BUILDTAGS}" -ldflags "${LDFLAGS}" ./components/engine/cmd/dockerd + ${GOLANG} build -v -o bin/docker -a -tags "${PKG_DOCKER_BUILDTAGS}" -ldflags "${LDFLAGS} ${PKG_CLI_FLAGS}" ./components/cli/cmd/docker + ${GOLANG} build -v -o bin/dockerd -a -tags "${PKG_DOCKER_BUILDTAGS}" -ldflags "${LDFLAGS}" ./components/engine/cmd/dockerd } makeinstall_target() { diff --git a/packages/addons/service/syncthing/package.mk b/packages/addons/service/syncthing/package.mk index fd01aa84d8..9f4f07dc45 100644 --- a/packages/addons/service/syncthing/package.mk +++ b/packages/addons/service/syncthing/package.mk @@ -21,35 +21,9 @@ PKG_ADDON_TYPE="xbmc.service" PKG_MAINTAINER="Anton Voyl (awiouy)" configure_target() { - export CGO_CFLAGS=${CFLAGS} - export CGO_ENABLED=1 - export CGO_NO_EMULATION=1 - export GOLANG=${TOOLCHAIN}/lib/golang/bin/go - export GOOS=linux - export GOROOT=${TOOLCHAIN}/lib/golang + go_configure export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld ${CC} \ -X github.com/syncthing/syncthing/lib/build.Version=v${PKG_VERSION}" - export PATH=${PATH}:${GOROOT}/bin - - case $TARGET_ARCH in - x86_64) - export GOARCH=amd64 - ;; - aarch64) - export GOARCH=arm64 - ;; - arm) - export GOARCH=arm - case $TARGET_CPU in - arm1176jzf-s) - export GOARM=6 - ;; - *) - export GOARM=7 - ;; - esac - ;; - esac } make_target() {