diff --git a/.gitignore b/.gitignore index ca089b8..40e73ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/osbuild-composer-88.3.tar.gz +SOURCES/osbuild-composer-101.tar.gz diff --git a/.osbuild-composer.metadata b/.osbuild-composer.metadata index e3af420..7f36b97 100644 --- a/.osbuild-composer.metadata +++ b/.osbuild-composer.metadata @@ -1 +1 @@ -01ddd9fed89eb5d70e5a33cc7f2a618268087cf7 SOURCES/osbuild-composer-88.3.tar.gz +0feb86b5dcd146ce5b87816ae482eb50ed507c16 SOURCES/osbuild-composer-101.tar.gz diff --git a/SPECS/osbuild-composer.spec b/SPECS/osbuild-composer.spec index 7eefafe..c00149b 100644 --- a/SPECS/osbuild-composer.spec +++ b/SPECS/osbuild-composer.spec @@ -7,9 +7,12 @@ # This is used internally during nightly pipeline testing! %bcond_with relax_requires +# The minimum required osbuild version +%global min_osbuild_version 109 + %global goipath github.com/osbuild/osbuild-composer -Version: 88.3 +Version: 101 %gometa @@ -33,6 +36,7 @@ License: Apache-2.0 URL: %{gourl} Source0: %{gosource} + BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: systemd BuildRequires: krb5-devel @@ -41,9 +45,13 @@ BuildRequires: make # Build requirements of 'theproglottis/gpgme' package BuildRequires: gpgme-devel BuildRequires: libassuan-devel +# Build requirements of 'github.com/containers/storage' package +BuildRequires: device-mapper-devel %if 0%{?fedora} BuildRequires: systemd-rpm-macros BuildRequires: git +# Build requirements of 'github.com/containers/storage' package +BuildRequires: btrfs-progs-devel # DO NOT REMOVE the BUNDLE_START and BUNDLE_END markers as they are used by 'tools/rpm_spec_add_provides_bundle.sh' to generate the Provides: bundled list # BUNDLE_START # BUNDLE_END @@ -77,6 +85,16 @@ export PATH=$PWD/_bin${PATH:+:$PATH} export GOPATH=$GO_BUILD_PATH:%{gopath} export GOFLAGS+=" -mod=vendor" %endif +%if 0%{?fedora} +# Fedora disables Go modules by default, but we want to use them. +# Undefine the macro which disables it to use the default behavior. +%undefine gomodulesmode +%endif + +# btrfs-progs-devel is not available on RHEL +%if 0%{?rhel} +GOTAGS="exclude_graphdriver_btrfs" +%endif # Set the commit hash so that composer can report what source version # was used to build it. This has to be set explicitly when calling rpmbuild, @@ -86,8 +104,10 @@ export LDFLAGS="${LDFLAGS} -X 'github.com/osbuild/osbuild-composer/internal/comm %endif export LDFLAGS="${LDFLAGS} -X 'github.com/osbuild/osbuild-composer/internal/common.RpmVersion=%{name}-%{?epoch:%epoch:}%{version}-%{release}.%{_arch}'" -%gobuild -o _bin/osbuild-composer %{goipath}/cmd/osbuild-composer -%gobuild -o _bin/osbuild-worker %{goipath}/cmd/osbuild-worker +%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-composer %{goipath}/cmd/osbuild-composer +%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-worker %{goipath}/cmd/osbuild-worker +%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-jobsite-manager %{goipath}/cmd/osbuild-jobsite-manager +%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-jobsite-builder %{goipath}/cmd/osbuild-jobsite-builder make man @@ -106,15 +126,15 @@ export GOPATH=%{gobuilddir}:%{gopath} TEST_LDFLAGS="${LDFLAGS:-} -B 0x$(od -N 20 -An -tx1 -w100 /dev/urandom | tr -d ' ')" -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-composer-cli-tests %{goipath}/cmd/osbuild-composer-cli-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-dnf-json-tests %{goipath}/cmd/osbuild-dnf-json-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-weldr-tests %{goipath}/internal/client/ -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-image-tests %{goipath}/cmd/osbuild-image-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-auth-tests %{goipath}/cmd/osbuild-auth-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-koji-tests %{goipath}/cmd/osbuild-koji-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-composer-dbjobqueue-tests %{goipath}/cmd/osbuild-composer-dbjobqueue-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-service-maintenance-tests %{goipath}/cmd/osbuild-service-maintenance -go build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-mock-openid-provider %{goipath}/cmd/osbuild-mock-openid-provider +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-composer-cli-tests %{goipath}/cmd/osbuild-composer-cli-tests +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-dnf-json-tests %{goipath}/cmd/osbuild-dnf-json-tests +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-weldr-tests %{goipath}/internal/client/ +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-image-tests %{goipath}/cmd/osbuild-image-tests +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-auth-tests %{goipath}/cmd/osbuild-auth-tests +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-koji-tests %{goipath}/cmd/osbuild-koji-tests +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-composer-dbjobqueue-tests %{goipath}/cmd/osbuild-composer-dbjobqueue-tests +go test -c -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-service-maintenance-tests %{goipath}/cmd/osbuild-service-maintenance +go build -tags="integration${GOTAGS:+,$GOTAGS}" -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-mock-openid-provider %{goipath}/cmd/osbuild-mock-openid-provider %endif @@ -122,7 +142,8 @@ go build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-mock-openi install -m 0755 -vd %{buildroot}%{_libexecdir}/osbuild-composer install -m 0755 -vp _bin/osbuild-composer %{buildroot}%{_libexecdir}/osbuild-composer/ install -m 0755 -vp _bin/osbuild-worker %{buildroot}%{_libexecdir}/osbuild-composer/ -install -m 0755 -vp dnf-json %{buildroot}%{_libexecdir}/osbuild-composer/ +install -m 0755 -vp _bin/osbuild-jobsite-manager %{buildroot}%{_libexecdir}/osbuild-composer/ +install -m 0755 -vp _bin/osbuild-jobsite-builder %{buildroot}%{_libexecdir}/osbuild-composer/ # Only include repositories for the distribution and release install -m 0755 -vd %{buildroot}%{_datadir}/osbuild-composer/repositories @@ -193,7 +214,6 @@ install -m 0755 -vp tools/generic_s3_test.sh %{buildroot}% install -m 0755 -vp tools/generic_s3_https_test.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/run-mock-auth-servers.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/set-env-variables.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/test-case-generators/generate-test-cases %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vd %{buildroot}%{_libexecdir}/tests/osbuild-composer install -m 0755 -vp test/cases/*.sh %{buildroot}%{_libexecdir}/tests/osbuild-composer/ @@ -248,7 +268,7 @@ install -m 0644 -vp test/data/upgrade8to9/* %{buildroot}%{ %check export GOFLAGS="-buildmode=pie" %if 0%{?rhel} -export GOFLAGS+=" -mod=vendor" +export GOFLAGS+=" -mod=vendor -tags=exclude_graphdriver_btrfs" export GOPATH=$PWD/_build:%{gopath} # cd inside GOPATH, otherwise go with GO111MODULE=off ignores vendor directory cd $PWD/_build/src/%{goipath} @@ -280,7 +300,9 @@ cd $PWD/_build/src/%{goipath} %package core Summary: The core osbuild-composer binary -Requires: %{name}-dnf-json = %{version}-%{release} +Requires: osbuild-depsolve-dnf >= %{min_osbuild_version} +Provides: %{name}-dnf-json = %{version}-%{release} +Obsoletes: %{name}-dnf-json < %{version}-%{release} %description core The core osbuild-composer binary. This is suitable both for spawning in containers and by systemd. @@ -293,17 +315,21 @@ The core osbuild-composer binary. This is suitable both for spawning in containe Summary: The worker for osbuild-composer Requires: systemd Requires: qemu-img -Requires: osbuild >= 93 -Requires: osbuild-ostree >= 93 -Requires: osbuild-lvm2 >= 93 -Requires: osbuild-luks2 >= 93 -Requires: %{name}-dnf-json = %{version}-%{release} +Requires: osbuild >= %{min_osbuild_version} +Requires: osbuild-ostree >= %{min_osbuild_version} +Requires: osbuild-lvm2 >= %{min_osbuild_version} +Requires: osbuild-luks2 >= %{min_osbuild_version} +Requires: osbuild-depsolve-dnf >= %{min_osbuild_version} +Provides: %{name}-dnf-json = %{version}-%{release} +Obsoletes: %{name}-dnf-json < %{version}-%{release} %description worker The worker for osbuild-composer %files worker %{_libexecdir}/osbuild-composer/osbuild-worker +%{_libexecdir}/osbuild-composer/osbuild-jobsite-manager +%{_libexecdir}/osbuild-composer/osbuild-jobsite-builder %{_unitdir}/osbuild-worker@.service %{_unitdir}/osbuild-remote-worker@.service @@ -325,25 +351,6 @@ fi # restart all the worker services %systemd_postun_with_restart "osbuild-worker@*.service" "osbuild-remote-worker@*.service" -%package dnf-json -Summary: The dnf-json binary used by osbuild-composer and the workers - -# Conflicts with older versions of composer that provide the same files -# this can be removed when RHEL 8 reaches EOL -Conflicts: osbuild-composer <= 35 - -%description dnf-json -The dnf-json binary used by osbuild-composer and the workers. - -%files dnf-json -%{_libexecdir}/osbuild-composer/dnf-json - -%post dnf-json -# Fix ownership of the rpmmd cache files from previous versions where it was owned by root:root -if [ -e /var/cache/osbuild-composer/rpmmd ]; then - chown -f -R --from root:root _osbuild-composer:_osbuild-composer /var/cache/osbuild-composer/rpmmd -fi - %if %{with tests} || 0%{?rhel} %package tests @@ -415,15 +422,38 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog -* Tue Dec 19 2023 Tomáš Hozza - 88.3-1 -- Fix RHEL-16243 +* Mon Feb 26 2024 imagebuilder-bot - 101-1 +- New upstream release + +* Wed Feb 07 2024 imagebuilder-bot - 100-1 +- New upstream release + +* Wed Jan 24 2024 imagebuilder-bot - 99-1 +- New upstream release + +* Wed Jan 10 2024 imagebuilder-bot - 98-1 +- New upstream release + +* Wed Dec 13 2023 imagebuilder-bot - 96-1 +- New upstream release + +* Wed Nov 29 2023 imagebuilder-bot - 95-1 +- New upstream release + +* Wed Nov 15 2023 imagebuilder-bot - 94-1 +- New upstream release + +* Wed Nov 01 2023 imagebuilder-bot - 93-1 +- New upstream release + +* Wed Oct 18 2023 imagebuilder-bot - 92-1 +- New upstream release -* Tue Oct 24 2023 Achilleas Koutsou - 88.2-1 +* Wed Oct 04 2023 imagebuilder-bot - 91-1 - New upstream release -* Wed Sep 20 2023 Achilleas Koutsou - 88.1-1 +* Wed Sep 06 2023 imagebuilder-bot - 89-1 - New upstream release -- test: remove package version check * Thu Aug 24 2023 imagebuilder-bot - 88-1 - New upstream release