Accepting request 1144656 from server:http

OBS-URL: https://build.opensuse.org/request/show/1144656
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/caddy?expand=0&rev=23
This commit is contained in:
Ana Guerrero 2024-02-06 15:35:30 +00:00 committed by Git OBS Bridge
commit 48f10c1f35
2 changed files with 43 additions and 19 deletions

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Tue Feb 6 13:22:22 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Packaging improvements:
* Remove define github project name components no longer needed
* Remove define gname and uname for user and group creation, use
package name macro with identical value
* 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.
* Use autosetup -a 1 to unpack source and vendored dependencies
* Drop export CGO_ENABLED="0". Use the default unless there is a
defined requirement or benefit.
* 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
* Remove ldflags -s (Omit symbol table and debug info) and -w
(Omit DWARF symbol table). This information is used to produce
separate debuginfo packages and binaries are stripped for
reduced size by GNU strip during RPM build.
* Add basic %check to execute binary --help
-------------------------------------------------------------------
Tue Feb 6 08:23:06 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Drop deprecated go_provides macro: even though it tries to guard
on suse_version <= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
sysusers.d; the auto-provides were not working due to the broken
go_provides.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Feb 5 13:40:52 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com> Mon Feb 5 13:40:52 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>

View File

@ -16,10 +16,6 @@
# #
%define project github.com/caddyserver/caddy
%define gname caddy
%define uname caddy
# SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected # SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
# SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var # SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
# _sharedstatedir used here as home directory for newly created user caddy # _sharedstatedir used here as home directory for newly created user caddy
@ -43,17 +39,11 @@ Source4: index.html
Source5: bash-completion Source5: bash-completion
Source6: zsh-completion Source6: zsh-completion
Source7: caddy.sysusers Source7: caddy.sysusers
BuildRequires: golang-packaging
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
BuildRequires: sysuser-tools BuildRequires: sysuser-tools
BuildRequires: golang(API) >= 1.20 BuildRequires: golang(API) >= 1.20
Provides: group(%{gname})
Provides: user(%{uname})
%{?systemd_requires} %{?systemd_requires}
%{sysusers_requires} %{sysusers_requires}
%{go_provides}
# Make sure that the binary is not getting stripped.
%{go_nostrip}
%description %description
Caddy is a powerful, extensible platform to serve your sites, services, and Caddy is a powerful, extensible platform to serve your sites, services, and
@ -63,17 +53,18 @@ It operates primarily at L4 (transport layer) and L7 (application layer) of
the OSI model, though it has the ability to work with other layers. the OSI model, though it has the ability to work with other layers.
%prep %prep
%setup -q %autosetup -a 1
%build %build
%{goprep} %{project} # Build the binary.
%ifnarch ppc64
export GOFLAGS="-buildmode=pie"
%endif
go build ./cmd/%{name}
# tarball causes "inconsistent vendoring" %check
tar -xf %{SOURCE1} # execute the binary as a basic check
./%{name} --help
CGO_ENABLED=0
go build -v -buildmode=pie -mod=vendor -ldflags "-s -w" -o caddy cmd/caddy/main.go
%sysusers_generate_pre %{SOURCE7} %{name} %{name}.conf %sysusers_generate_pre %{SOURCE7} %{name} %{name}.conf
@ -122,7 +113,7 @@ install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_datadir}/zsh/site-functions/_%{n
%{_sysusersdir}/%{name}.conf %{_sysusersdir}/%{name}.conf
%dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/Caddyfile %config(noreplace) %{_sysconfdir}/%{name}/Caddyfile
%dir %attr(0750, %{uname}, %{gname}) %{_sharedstatedir}/%{name} %dir %attr(0750, %{name}, %{name}) %{_sharedstatedir}/%{name}
# filesystem owns all the parent directories here # filesystem owns all the parent directories here
%{_datadir}/bash-completion/completions/%{name} %{_datadir}/bash-completion/completions/%{name}
# own parent directories in case zsh is not installed # own parent directories in case zsh is not installed