%bcond_without check %global has_go_rpm_macros (0%{?fedora} || 0%{?rhel} >= 9) # https://github.com/redhatinsights/yggdrasil-worker-package-manager %global goipath github.com/redhatinsights/yggdrasil-worker-package-manager Version: 0.2.2 %global commit 9a7897035624dad9db516cf7a3bfd6f4fd86923a %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global archivename yggdrasil-worker-package-manager-%{version} %if %{has_go_rpm_macros} %gometa %{?fedora:-f} %else %global gourl https://github.com/RedHatInsights/%{name} %global gomodulesmode GO111MODULES=off %global gosource %{gourl}/releases/download/%{version}/%{name}-%{version}.tar.gz %global gocompilerflags "-buildmode pie -compiler gc" %endif %if 0%{?fedora} %global setup_flags -Dvendor=False %else %global setup_flags -Dvendor=True %endif %global common_description %{expand: yggdrasil-worker-package-manager is a simple package manager yggd worker. It knows how to install and remove packages, add, remove, enable and disable repositories, and does rudimentary detection of the host it is running on to guess the package manager to use. It only installs packages that match one of the provided allow-pattern regular expressions.} %global golicenses LICENSE %global godocs README.md Name: yggdrasil-worker-package-manager Release: 0%{?dist} Summary: Package manager worker for yggdrasil License: GPL-3.0-only URL: %{gourl} Source: %{gosource} BuildRequires: systemd-rpm-macros BuildRequires: meson BuildRequires: pkgconfig(dbus-1) BuildRequires: golang >= 1.18 %description %{common_description} %if %{has_go_rpm_macros} %gopkg %endif %prep %if %{has_go_rpm_macros} %goprep %{?rhel:-k} %else %autosetup %endif %if 0%{?fedora} %generate_buildrequires %go_generate_buildrequires %endif %build %undefine _auto_set_build_flags export %gomodulesmode %{?gobuilddir:export GOPATH="%{gobuilddir}:${GOPATH:+${GOPATH}:}%{?gopath}"} %meson %setup_flags "-Dgobuildflags=[%(echo %{expand:%gocompilerflags} | sed -e s/"^"/"'"/ -e s/" "/"', '"/g -e s/"$"/"'"/), '-tags', '"rpm_crashtraceback\ ${BUILDTAGS:-}"', '-a', '-v', '-x']" -Dgoldflags='%{?currentgoldflags} -B 0x%(head -c20 /dev/urandom|od -An -tx1|tr -d " \n") -compressdwarf=false -linkmode=external -extldflags "%{build_ldflags} %{?__golang_extldflags}"' %meson_build %install %meson_install %if %{has_go_rpm_macros} %gopkginstall %endif %if %{with check} %check %if %{has_go_rpm_macros} %gocheck %else %meson_test %endif %endif %files %license LICENSE %if %{defined rhel} %license vendor/modules.txt %endif %doc README.md %{_libexecdir}/* %config(noreplace) %{_sysconfdir}/%{name} %{_datadir}/dbus-1/system-services/* %if %{has_go_rpm_macros} %gopkgfiles %endif %changelog