Accepting request 1121212 from home:jfkw:branches:devel:languages:go

- Packaging improvement:
  * _service change disabled to manual per osc deprecation warning:
    WARNING: Command 'disabledrun/dr' is obsolete, please convert
    your _service to use 'manual' and then 'manualrun/mr' instead.
  * _service reorder move set_version earlier so go_modules sees
    updated version
  * Summary and Description clarify the purpose of this CLI tool
  * Use %%name macro where applicable to normalize common lines
    across Go app packages. Also makes renaming binary easier when
    required to handle package name conflict.
  * Drop BuildRequires: libpcre1. libpcre2 is already included
    during build, and there is no mention in upstream source or
    docs that only libpcre1 is supported. Since upstream uses
    CGO_ENABLED=0 in their Makefile, it is not clear if or how
    libpcre would be a required dependency.
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Remove %%{go_nostrip} macro which is no longer recommended
  * Extract go build command from upstream Makefile. The go build
    command straightforward in this package. Calling go build
    directly from packaging where possible helps package
    maintainers review usage and normalize packaging standards.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Drop export CGO_ENABLED="0" used by Makefile. Use the default
    unless there is a defined requirement or benefit.

OBS-URL: https://build.opensuse.org/request/show/1121212
OBS-URL: https://build.opensuse.org/package/show/devel:languages:go/trufflehog?expand=0&rev=25
This commit is contained in:
Jeff Kowalczyk 2023-10-30 15:10:34 +00:00 committed by Git OBS Bridge
parent 3807f8471b
commit c5b4afc2bc
3 changed files with 54 additions and 16 deletions

View File

@ -1,5 +1,5 @@
<services>
<service name="obs_scm" mode="disabled">
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/trufflesecurity/trufflehog.git</param>
<param name="scm">git</param>
<param name="revision">main</param>
@ -7,12 +7,11 @@
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="disabled"/>
<service name="set_version" mode="disabled"/>
<service name="go_modules" mode="manual"/>
</services>

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Mon Oct 30 13:46:56 UTC 2023 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Packaging improvement:
* _service change disabled to manual per osc deprecation warning:
WARNING: Command 'disabledrun/dr' is obsolete, please convert
your _service to use 'manual' and then 'manualrun/mr' instead.
* _service reorder move set_version earlier so go_modules sees
updated version
* Summary and Description clarify the purpose of this CLI tool
* Use %%name macro where applicable to normalize common lines
across Go app packages. Also makes renaming binary easier when
required to handle package name conflict.
* Drop BuildRequires: libpcre1. libpcre2 is already included
during build, and there is no mention in upstream source or
docs that only libpcre1 is supported. Since upstream uses
CGO_ENABLED=0 in their Makefile, it is not clear if or how
libpcre would be a required dependency.
* Drop BuildRequires: golang-packaging. The original macros for
file movements into GOPATH are obsolete with Go modules. Macro
go_nostrip is no longer needed with current binutils and Go.
* Remove %%{go_nostrip} macro which is no longer recommended
* Extract go build command from upstream Makefile. The go build
command straightforward in this package. Calling go build
directly from packaging where possible helps package
maintainers review usage and normalize packaging standards.
Makefiles often have targets for building container images,
running tests, etc. Makefiles can include assumptions of online
access that do not hold for the OBS build environment.
* Build PIE with pattern that may become recommended procedure:
%%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
A go toolchain buildmode default config would be preferable
but none exist at this time.
* Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
* Drop export CGO_ENABLED="0" used by Makefile. Use the default
unless there is a defined requirement or benefit.
-------------------------------------------------------------------
Mon Oct 30 10:34:22 UTC 2023 - felix.niederwanger@suse.de

View File

@ -19,34 +19,36 @@
Name: trufflehog
Version: 3.61.0
Release: 0
Summary: Find credentials all over the place
Summary: CLI tool to find exposed secrets in source and archives
License: AGPL-3.0-or-later
URL: https://github.com/trufflesecurity/trufflehog
Source: trufflehog-%{version}.tar.gz
Source1: vendor.tar.gz
BuildRequires: golang-packaging
BuildRequires: libpcre1
BuildRequires: golang(API) >= 1.21
%{go_nostrip}
%description
TruffleHog is an open source secret-scanning engine that helps resolve exposed
secrets across your companys entire tech stack.
TruffleHog is an open source secret-scanning engine that helps find exposed
secrets across your company's entire tech stack.
%prep
%autosetup -D -a 1
%build
make install GOARGS="-mod vendor -buildmode pie"
%ifnarch ppc64
export GOFLAGS="-buildmode=pie"
%endif
go build
%check
# execute the binary as a basic check
./%{name} --help
%install
install -Dm 755 /home/abuild/go/bin/trufflehog %{buildroot}/%{_bindir}/trufflehog
install -D -m 0755 %{name} %{buildroot}%{_bindir}/%{name}
%files
%doc README.md
%license LICENSE
%{_bindir}/trufflehog
%{_bindir}/%{name}
%changelog