diff --git a/docker.spec b/docker.spec index 0b7d0d158ab449dda9bf65588184d338468e5176..758ad84eac7b9765ed0bb0ed0ab4b625d6ada381 100644 --- a/docker.spec +++ b/docker.spec @@ -6,13 +6,14 @@ Summary: The open-source application container engine Group: Tools/Docker License: ASL 2.0 -Source0: https://github.com/docker/docker-ce/archive/v18.09.0.tar.gz +Source0: v%{version}.tar.gz Source1: patch.tar.gz Source2: apply-patches Source3: git-commit Source4: series.conf Source5: VERSION-vendor Source6: gen-commit.sh +Patch0: fix-clang.patch URL: https://mobyproject.org @@ -52,14 +53,16 @@ cp %{SOURCE2} . cp %{SOURCE3} . cp %{SOURCE4} . cp %{SOURCE5} . +sh ./apply-patches +%patch0 -p1 %build -sh ./apply-patches - # for golang 1.17.3, we need set GO111MODULE=off export GO111MODULE=off - +%if "%toolchain" == "clang" +export LDFLAGS='' +%endif # build docker engine WORKDIR=$(pwd) export VERSION=$(cat VERSION) diff --git a/fix-clang.patch b/fix-clang.patch new file mode 100644 index 0000000000000000000000000000000000000000..bb5c2fb34df8be0a6beecebe648c13fb405e40d1 --- /dev/null +++ b/fix-clang.patch @@ -0,0 +1,23 @@ +diff -u -r BUILD/components/cli/scripts/build/dynbinary BUILD/components/cli/scripts/build/dynbinary +--- docker-ce-18.09.0/components/cli/scripts/build/dynbinary 2023-05-25 21:31:06.000000000 +0800 ++++ docker-ce-18.09.0/components/cli/scripts/build/dynbinary 2023-05-25 21:34:27.000000000 +0800 +@@ -17,6 +17,6 @@ + ASM_FLAGS="-asmflags=-trimpath=$GOPATH" + + set -x +-go build $GC_FLAGS $ASM_FLAGS -o "${TARGET}" -tags pkcs11 --ldflags " -buildid=IdByIsula -extldflags=-zrelro -extldflags=-znow $BEP_FLAGS ${LDFLAGS}" -buildmode=pie "${SOURCE}" ++go build $GC_FLAGS $ASM_FLAGS -o "${TARGET}" -tags pkcs11 --ldflags " -buildid=IdByIsula -extldflags=-Wl,-z,relro,-z,now $BEP_FLAGS ${LDFLAGS}" -buildmode=pie "${SOURCE}" + + ln -sf "$(basename "${TARGET}")" build/docker +diff -u -r BUILD/components/engine/hack/make/.binary BUILD/components/engine/hack/make/.binary +--- docker-ce-18.09.0/components/engine/hack/make/.binary 2023-05-25 21:31:07.000000000 +0800 ++++ docker-ce-18.09.0/components/engine/hack/make/.binary 2023-05-25 21:36:34.000000000 +0800 +@@ -70,7 +70,7 @@ + -o "$DEST/$BINARY_FULLNAME" \ + "${BUILDFLAGS[@]}" \ + -ldflags " +- -buildid=IdByIsula -extldflags=-zrelro -extldflags=-znow $BEP_FLAGS ++ -buildid=IdByIsula -extldflags=-Wl,-z,relro,-z,now $BEP_FLAGS + $LDFLAGS + $LDFLAGS_STATIC_DOCKER + $DOCKER_LDFLAGS