diff --git a/.gitignore b/.gitignore index f6a3a77..7830026 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/*.tar.gz +/oci-seccomp-bpf-hook-3baa603a.tar.gz +/oci-seccomp-bpf-hook-ba7bbb16.tar.gz diff --git a/oci-seccomp-bpf-hook.spec b/oci-seccomp-bpf-hook.spec index e81e3f9..73f3609 100644 --- a/oci-seccomp-bpf-hook.spec +++ b/oci-seccomp-bpf-hook.spec @@ -11,13 +11,8 @@ %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,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; -%endif +%define gobuild 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 %{?**}; %endif %global provider github @@ -28,19 +23,22 @@ go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} %global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo} +%global commit0 ba7bbb1682fd295539bdfc76322803951a06198c +%global shortcommit0 %(c=%{commit0}; echo ${c:0:8}) -# use the same arch definitions as present in the bcc package -ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl +# bcc is built only for these arches +ExclusiveArch: x86_64 %{power64} aarch64 s390x Name: oci-seccomp-bpf-hook -Version: 1.2.0 -Release: 4%{?dist} +Version: 0.0.1 +Release: 0.6.git%{shortcommit0}%{?dist} Summary: OCI Hook to generate seccomp json files based on EBF syscalls used by container License: ASL 2.0 URL: %{git0} -Source0: %{git0}/archive/v%{version}.tar.gz -BuildRequires: golang -BuildRequires: go-md2man +Source0: %{git0}/archive/%{commit0}/%{repo}-%{shortcommit0}.tar.gz +# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +BuildRequires: golang-github-cpuguy83-md2man BuildRequires: glib2-devel BuildRequires: glibc-devel BuildRequires: bcc-devel @@ -48,25 +46,27 @@ BuildRequires: git BuildRequires: gpgme-devel BuildRequires: libseccomp-devel BuildRequires: make -Enhances: podman -Enhances: cri-o %description %{summary} %{repo} provides a library for applications looking to use the Container Pod concept popularized by Kubernetes. +%package remote +Summary: Remote Oci-Seccomp-Bpf client + +%description remote +%{summary} +%{repo} provides a library for applications looking to use +the Container Pod concept popularized by Kubernetes. + %prep -%autosetup -Sgit +%autosetup -Sgit -n %{repo}-%{commit0} 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} @@ -75,7 +75,6 @@ popd ln -s vendor src export GOPATH=$(pwd)/_build:$(pwd) -export LDFLAGS="-X main.version=%{version}" %gobuild -o bin/%{name} %{import_path} pushd docs @@ -83,8 +82,16 @@ go-md2man -in %{name}.md -out %{name}.1 popd %install -%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install-nobuild -%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} GOMD2MAN=go-md2man -C docs install-nobuild +# install binary +%{__make} PREFIX=%{buildroot}%{_usr} ETCDIR=%{buildroot}%{_sysconfdir} OCI-SECCOMP-BPF_VERSION=%{version} install + +# install %%{name}.json to /usr/share/containers/oci/hooks.d +install -dp %{buildroot}%{_datadir}/containers/oci/hooks.d +install -m 0644 %{name}.json %{buildroot}%{_datadir}/containers/oci/hooks.d + +# install manpage +install -dp %{buildroot}%{_mandir}/man1 +install -m 0644 docs/%{name}.1 %{buildroot}/%{_mandir}/man1 %check %if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} @@ -115,37 +122,6 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath} %{_mandir}/man1/%{name}.1* %changelog -* Fri Oct 02 2020 Jindrich Novy - 1.2.0-4 -- use the same arch definitions as present in the bcc package - -* Fri Oct 02 2020 Jindrich Novy - 1.2.0-3 -- exclude also armv7hl arch as bcc is not built there - -* 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 - -* Sat Aug 01 2020 Fedora Release Engineering - 1.1.1-3 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 1.1.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 17 2020 Jindrich Novy - 1.1.1-1 -- update to - https://github.com/containers/oci-seccomp-bpf-hook/releases/tag/v1.1.1 - -* Fri Jul 17 2020 Jindrich Novy - 1.1.0-2 -- switch to mainline releases - -* Tue May 19 2020 Lokesh Mandvekar - 1.1.0-1.1.git05a82a1 -- bump version -- reuse Makefile targets - * Mon Feb 17 2020 Lokesh Mandvekar - 0.0.1-0.6.gitba7bbb16 - Resolves: #1799105 - solve ftbfs and build latest upstream commit diff --git a/sources b/sources index 4632587..c8d79b6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v1.2.0.tar.gz) = 9d686380bd250278b038660fa13085801396493bcfd71754d943840ad9af47f6206c33515b4a876460c67e8e2092fe22493d1c64acafff9d24585cb713c0b888 +SHA512 (oci-seccomp-bpf-hook-ba7bbb16.tar.gz) = 44c80506c328968f0ccf7ab454baeaf39075ed67624a75ae833a7b6086fb29e19891da63493519cbf05314dbe21ca53e7bf0928217e451f09b835d3b8944311b