diff --git a/oci-seccomp-bpf-hook.spec b/oci-seccomp-bpf-hook.spec index 2366363..37ee65a 100644 --- a/oci-seccomp-bpf-hook.spec +++ b/oci-seccomp-bpf-hook.spec @@ -11,8 +11,13 @@ %global debug_package %{nil} %endif +%if 0%{?rhel} > 7 && ! 0%{?fedora} +%define gobuild(o:) \ +go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; +%else %if ! 0%{?gobuild:1} -%define gobuild(o:) GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; +%define gobuild(o:) GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; +%endif %endif %global provider github @@ -20,20 +25,16 @@ %global project containers %global repo oci-seccomp-bpf-hook # https://github.com/containers/oci-seccomp-bpf-hook -%global import_path %{provider}.%{provider_tld}/%{project}/%{repo} -%global git0 https://%{import_path} +%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} +%global import_path %{provider_prefix} +%global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo} -# bcc is built only for these arches -ExclusiveArch: x86_64 %{power64} aarch64 s390x - -# Used for comparing with latest upstream tag -# to decide whether to autobuild (non-rawhide only) -%define built_tag v1.1.0 -%define built_tag_strip %(b=%{built_tag}; echo ${b:1}) +# bcc is not built for i686 +ExcludeArch: i686 Name: oci-seccomp-bpf-hook Version: 1.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: OCI Hook to generate seccomp json files based on EBF syscalls used by container License: ASL 2.0 URL: %{git0} @@ -57,25 +58,33 @@ the Container Pod concept popularized by Kubernetes. %prep %autosetup -Sgit +sed -i '/$(MAKE) -C docs install/d' Makefile +sed -i 's/HOOK_BIN_DIR/\%{_usr}\/libexec\/oci\/hooks.d/' %{name}.json +sed -i '/$(HOOK_DIR)\/%{name}.json/d' Makefile %build +export GO111MODULE=off +export GOPATH=$(pwd):$(pwd)/_build +export CGO_CFLAGS="%{optflags} -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" + mkdir _build pushd _build mkdir -p src/%{provider}.%{provider_tld}/%{project} ln -s ../../../../ src/%{import_path} popd ln -s vendor src + export GOPATH=$(pwd)/_build:$(pwd) +export LDFLAGS="-X main.version=%{version}" %gobuild -o bin/%{name} %{import_path} -%{__make} GOMD2MAN=go-md2man -C docs + +pushd docs +go-md2man -in %{name}.md -out %{name}.1 +popd %install -%{__make} \ - DESTDIR=%{buildroot} \ - PREFIX=%{_prefix} \ - OCI-SECCOMP-BPF_VERSION=%{version} \ - install-nobuild \ - install.docs-nobuild +%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install-nobuild +%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} GOMD2MAN=go-md2man -C docs install-nobuild %check %if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} @@ -100,16 +109,15 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath} %files %license LICENSE %doc README.md -%dir %{_libexecdir}/oci %dir %{_libexecdir}/oci/hooks.d %{_libexecdir}/oci/hooks.d/%{name} -%dir %{_datadir}/containers -%dir %{_datadir}/containers/oci -%dir %{_datadir}/containers/oci/hooks.d %{_datadir}/containers/oci/hooks.d/%{name}.json %{_mandir}/man1/%{name}.1* %changelog +* Wed Sep 30 2020 Jindrich Novy - 1.2.0-2 +- fix spec file to accommodate the new upstream release + * Wed Sep 30 2020 Jindrich Novy - 1.2.0-1 - update to https://github.com/containers/oci-seccomp-bpf-hook/releases/tag/v1.2.0