# SPDX-License-Identifier: Apache-2.0 %bcond check 1 %global app_dir complytime # https://github.com/complytime/complytime-providers %global goipath github.com/complytime/complytime-providers Version: 0.2.1 %gometa -f Name: complytime-providers Release: 1.20261012040328998573.pr196.32.g62ebf74%{?dist} Summary: Compliance scanning providers for complyctl # License includes vendored dependency licenses. # Generated by go-vendor-tools; verify with: # go_vendor_license --config go-vendor-tools.toml report expression License: Apache-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 URL: %{gourl} Source0: complytime-providers-0.2.1.tar.gz # Generated by go-vendor-tools Source1: %{archivename}-vendor.tar.bz2 Source2: go-vendor-tools.toml BuildRequires: go-vendor-tools ExclusiveArch: %{go_arches} %description Compliance scanning providers that extend complyctl with support for different policy validation platforms (PVPs). Each provider communicates with complyctl via gRPC and follows the complyctl-provider-* discovery convention. Providers are distributed as separate sub-packages so users can install only the providers they need. # --- OpenSCAP provider sub-package --- %package openscap Summary: OpenSCAP scanning provider for complyctl Requires: %{name} = %{version}-%{release} Requires: complyctl >= 1.0.0 Requires: openscap-scanner Requires: scap-security-guide %description openscap OpenSCAP scanning provider that extends complyctl with OpenSCAP evaluation capabilities. It receives assessment configurations from complyctl, generates XCCDF tailoring files, executes scans via the OpenSCAP engine, and returns structured results. Communicates via gRPC (Describe, Generate, Scan RPCs) and follows the complyctl-provider-* discovery convention. # --- Ampel provider sub-package --- %package ampel Summary: Ampel scanning provider for complyctl Requires: %{name} = %{version}-%{release} Requires: complyctl >= 1.0.0 %description ampel Ampel scanning provider that extends complyctl with Ampel evaluation capabilities. It communicates via gRPC and follows the complyctl-provider-* discovery convention. NOTE: Requires the 'snappy' and 'ampel' CLI tools at runtime. These are not currently packaged in Fedora and must be installed separately. # --- OPA provider sub-package --- %package opa Summary: OPA/Conftest scanning provider for complyctl Requires: %{name} = %{version}-%{release} Requires: complyctl >= 1.0.0 Requires: git %description opa OPA scanning provider that extends complyctl with Open Policy Agent evaluation capabilities via Conftest. It communicates via gRPC and follows the complyctl-provider-* discovery convention. NOTE: Requires the 'conftest' CLI tool at runtime. This tool is not currently packaged in Fedora and must be installed separately. %prep %goprep -A %setup -q -T -D -a1 %{forgesetupargs} -n complytime-providers-0.2.1 %autopatch -p1 # Lower the go.mod directive to match the system Go version so # rpmbuild succeeds with GOTOOLCHAIN=local. This handles cases where # the system Go has the same major.minor but an older patch version # than what go.mod requires (e.g., system Go 1.26.7 vs go.mod 1.26.8). # Reference: https://packages.fedoraproject.org/pkgs/golang/golang/ SYSTEM_GO_VERSION=$(go version | grep -oP 'go\K[0-9]+\.[0-9]+\.[0-9]+') sed -i "s/^go [0-9].*/go ${SYSTEM_GO_VERSION}/" go.mod sed -i "/^## explicit; go /s/go [0-9]\..*/go ${SYSTEM_GO_VERSION}/" vendor/modules.txt %generate_buildrequires %go_vendor_license_buildrequires -c %{S:2} %build %global gomodulesmode GO111MODULE=on export GO_LDFLAGS="-X %{goipath}/internal/version.version=%{version}" %gobuild -o %{gobuilddir}/bin/complyctl-provider-openscap %{goipath}/cmd/openscap-provider %gobuild -o %{gobuilddir}/bin/complyctl-provider-ampel %{goipath}/cmd/ampel-provider %gobuild -o %{gobuilddir}/bin/complyctl-provider-opa %{goipath}/cmd/opa-provider %install %go_vendor_license_install -c %{S:2} install -d -m 0755 %{buildroot}%{_libexecdir}/%{app_dir}/providers install -p -m 0755 %{gobuilddir}/bin/complyctl-provider-openscap %{buildroot}%{_libexecdir}/%{app_dir}/providers/complyctl-provider-openscap install -p -m 0755 %{gobuilddir}/bin/complyctl-provider-ampel %{buildroot}%{_libexecdir}/%{app_dir}/providers/complyctl-provider-ampel install -p -m 0755 %{gobuilddir}/bin/complyctl-provider-opa %{buildroot}%{_libexecdir}/%{app_dir}/providers/complyctl-provider-opa install -d %{buildroot}%{_mandir}/man1 install -p -m 0644 docs/man/complyctl-provider-openscap.1 %{buildroot}%{_mandir}/man1/complyctl-provider-openscap.1 install -p -m 0644 docs/man/complyctl-provider-ampel.1 %{buildroot}%{_mandir}/man1/complyctl-provider-ampel.1 install -p -m 0644 docs/man/complyctl-provider-opa.1 %{buildroot}%{_mandir}/man1/complyctl-provider-opa.1 %check %go_vendor_license_check -c %{S:2} %if %{with check} %gocheck2 %endif # Main package: shared license files and documentation %files -f %{go_vendor_license_filelist} %doc README.md %files openscap %attr(0755, root, root) %{_libexecdir}/%{app_dir}/providers/complyctl-provider-openscap %{_mandir}/man1/complyctl-provider-openscap.1* %files ampel %attr(0755, root, root) %{_libexecdir}/%{app_dir}/providers/complyctl-provider-ampel %{_mandir}/man1/complyctl-provider-ampel.1* %files opa %attr(0755, root, root) %{_libexecdir}/%{app_dir}/providers/complyctl-provider-opa %{_mandir}/man1/complyctl-provider-opa.1* %changelog * Mon Oct 12 2026 Packit - 0.2.1-1.20261012040328998573.pr196.32.g62ebf74 - ci(deps): Bump actions/download-artifact from 8.0.1 to 8.0.2 (dependabot[bot]) - chore(deps): Bump github.com/complytime/complyctl from 1.0.0 to 1.1.0 (dependabot[bot]) - chore: archive aggregate-extraction-limits and sync spec (Marcus Burghardt) - chore: archive 4 completed OpenSpec changes (Marcus Burghardt) - ci(deps): Bump carabiner-dev/actions/install/snappy from 1.2.9 to 1.3.0 (dependabot[bot]) - ci(deps): Bump carabiner-dev/actions/install/ampel from 1.2.9 to 1.3.0 (dependabot[bot]) - fix: correct OpenSCAP provider description in spec (Marcus Burghardt) - chore: spec changelog about go licenses update (Marcus Burghardt) - fix(devcontainer): use numeric UID in USER directive (DL3066) (Marcus Burghardt) - ci(deps): Bump complytime/org-infra/.github/workflows/reusable_release_preflight.yml (#180) (dependabot[bot]) - ci(deps): Bump complytime/org-infra/.github/workflows/reusable_release_goreleaser.yml (dependabot[bot]) - chore: align Packit config with complyctl for full Fedora automation (Marcus Burghardt) - chore: sync repository standards (complytime-repo-sync[bot]) - chore(deps): Update go module directive to v1.26.8 (complytime-renovate[bot]) - chore: sync repository standards (complytime-repo-sync[bot]) - chore(deps): Bump google.golang.org/grpc from 1.83.1 to 1.83.2 (dependabot[bot]) - chore(deps): Bump google.golang.org/grpc from 1.82.1 to 1.83.1 (dependabot[bot]) - docs: add man pages for all three provider binaries (Marcus Burghardt) * Tue Sep 01 2026 Marcus Burghardt - 0.2.1-1 - Bump to upstream version v0.2.1 - Fix go-vendor-tools.toml license override path for go.yaml.in/yaml/v3 - Add local RPM build and test documentation to RELEASE_PROCESS.md * Tue Sep 01 2026 Marcus Burghardt - 0.2.0-1 - Bump to upstream version v0.2.0 - XDG Base Directory paths for provider discovery - CPE-based datastream auto-detection for OpenSCAP - Aggregate extraction limits for complypack archives - Shared archive extraction in internal/archive package - Ampel tenet message and guidance surfacing - OPA complypack content path and mapping requirement - Remove Export RPC (upstream complyctl removed Exporter interface) * Wed Aug 26 2026 Marcus Burghardt - 0.1.0-1 - Modernize spec for Fedora Go packaging guidelines - Adopt go-vendor-tools for vendored license verification - Fix debuginfo generation by switching to %%gobuild macro - Use %%gocheck2 for unit tests - Use %%autorelease for automatic release numbering - Bump complyctl dependency to >= 1.0.0 - Add Fedora 43 Go 1.25 compatibility workaround - Add main package for shared license files - Add aggregated vendored license expression * Fri Jun 12 2026 Marcus Burghardt - 0.1.0-1 - Bump to version 0.1.0 - Add OPA provider sub-package - Add build-time version injection via ldflags * Fri Apr 24 2026 Marcus Burghardt - 0.0.1-1 - Initial RPM packaging for complytime-providers - OpenSCAP and Ampel provider sub-packages