From 835cfdd13527119d5d00935e9a99c81ac2ade492119ee1c033fb36de6052d6b8 Mon Sep 17 00:00:00 2001 From: Johannes Kastl Date: Sun, 12 May 2024 08:03:42 +0000 Subject: [PATCH] Accepting request 1173478 from home:ojkastl_buildservice:Branch_devel_kubic add completion subpackages and fix version output OBS-URL: https://build.opensuse.org/request/show/1173478 OBS-URL: https://build.opensuse.org/package/show/devel:kubic/grype?expand=0&rev=124 --- grype.changes | 6 +++++ grype.spec | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/grype.changes b/grype.changes index 98a7b0e..3430b04 100644 --- a/grype.changes +++ b/grype.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun May 12 07:52:24 UTC 2024 - Johannes Kastl + +- add completion subpackages +- fix version output + ------------------------------------------------------------------- Fri May 10 05:07:49 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/grype.spec b/grype.spec index effa6d7..e237ab0 100644 --- a/grype.spec +++ b/grype.spec @@ -31,25 +31,89 @@ BuildRequires: go >= 1.21 %description A vulnerability scanner for container images and filesystems. Easily install the binary to try it out. Works with Syft, the powerful SBOM (software bill of materials) tool for container images and filesystems. +%package -n %{name}-bash-completion +Summary: Bash Completion for %{name} +Group: System/Shells +Requires: %{name} = %{version} +Requires: bash-completion +Supplements: (%{name} and bash-completion) +BuildArch: noarch + +%description -n %{name}-bash-completion +Bash command line completion support for %{name}. + +%package -n %{name}-fish-completion +Summary: Fish Completion for %{name} +Group: System/Shells +Requires: %{name} = %{version} +Supplements: (%{name} and fish) +BuildArch: noarch + +%description -n %{name}-fish-completion +Fish command line completion support for %{name}. + +%package -n %{name}-zsh-completion +Summary: Zsh Completion for %{name} +Group: System/Shells +Requires: %{name} = %{version} +Supplements: (%{name} and zsh) +BuildArch: noarch + +%description -n %{name}-zsh-completion +zsh command line completion support for %{name}. + %prep %autosetup -p 1 -a 1 %build +COMMIT_HASH="$(sed -n 's/commit: \(.*\)/\1/p' %_sourcedir/%{name}.obsinfo)" + DATE_FMT="+%%Y-%%m-%%dT%%H:%%M:%%SZ" BUILD_DATE=$(date -u -d "@${SOURCE_DATE_EPOCH}" "${DATE_FMT}" 2>/dev/null || date -u -r "${SOURCE_DATE_EPOCH}" "${DATE_FMT}" 2>/dev/null || date -u "${DATE_FMT}") + go build \ -mod=vendor \ -buildmode=pie \ - -ldflags="-X github.com/anchore/grype/internal/version.version=%{version} -X github.com/anchore/grype/internal/version.buildDate=$BUILD_DATE" \ + -ldflags=" \ + -X main.version=%{version} \ + -X main.gitCommit=${COMMIT_HASH} \ + -X main.gitDescription=v%{version} \ + -X main.buildDate=$BUILD_DATE" \ -o bin/grype ./cmd/grype/ %install # Install the binary. install -D -m 0755 bin/%{name} "%{buildroot}/%{_bindir}/%{name}" +# create the bash completion file +mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/ +%{buildroot}/%{_bindir}/%{name} completion bash > %{buildroot}%{_datarootdir}/bash-completion/completions/%{name} + +# create the fish completion file +mkdir -p %{buildroot}%{_datarootdir}/fish/vendor_completions.d/ +%{buildroot}/%{_bindir}/%{name} completion fish > %{buildroot}%{_datarootdir}/fish/vendor_completions.d/%{name}.fish + +# create the zsh completion file +mkdir -p %{buildroot}%{_datarootdir}/zsh_completion.d/ +%{buildroot}/%{_bindir}/%{name} completion zsh > %{buildroot}%{_datarootdir}/zsh_completion.d/_%{name} + %files %doc README.md %license LICENSE %{_bindir}/%{name} +%files -n %{name}-bash-completion +%dir %{_datarootdir}/bash-completion/completions/ +%{_datarootdir}/bash-completion/completions/%{name} + +%files -n %{name}-fish-completion +%dir %{_datarootdir}/fish +%dir %{_datarootdir}/fish/vendor_completions.d +%{_datarootdir}/fish/vendor_completions.d/%{name}.fish + +%files -n %{name}-zsh-completion +%defattr(-,root,root) +%dir %{_datarootdir}/zsh_completion.d/ +%{_datarootdir}/zsh_completion.d/_%{name} + %changelog