%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 500c57f424dbd31a1ce731a35364323a092f5c97 %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