trufflehog/trufflehog.spec
Jeff Kowalczyk c5b4afc2bc 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
2023-10-30 15:10:34 +00:00

55 lines
1.4 KiB
RPMSpec

#
# spec file for package trufflehog
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: trufflehog
Version: 3.61.0
Release: 0
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(API) >= 1.21
%description
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
%ifnarch ppc64
export GOFLAGS="-buildmode=pie"
%endif
go build
%check
# execute the binary as a basic check
./%{name} --help
%install
install -D -m 0755 %{name} %{buildroot}%{_bindir}/%{name}
%files
%doc README.md
%license LICENSE
%{_bindir}/%{name}
%changelog