diff --git a/.gitignore b/.gitignore index 8fe098e..ad0c7ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/osbuild-composer-40.tar.gz +SOURCES/osbuild-composer-45.tar.gz diff --git a/.osbuild-composer.metadata b/.osbuild-composer.metadata index 457c9b7..9f4ca06 100644 --- a/.osbuild-composer.metadata +++ b/.osbuild-composer.metadata @@ -1 +1 @@ -7d5fe0ccb1502ae71f0332bc50d0f489c4e1d92d SOURCES/osbuild-composer-40.tar.gz +47108ba5c6070459880624ec2ab065e110fc01f0 SOURCES/osbuild-composer-45.tar.gz diff --git a/SPECS/osbuild-composer.spec b/SPECS/osbuild-composer.spec index ff4b217..1f82a3a 100644 --- a/SPECS/osbuild-composer.spec +++ b/SPECS/osbuild-composer.spec @@ -2,9 +2,14 @@ # Pass --with tests to rpmbuild to override %bcond_with tests +# When --with relax_requires is specified osbuild-composer-tests +# will require osbuild-composer only by name, excluding version/release +# This is used internally during nightly pipeline testing! +%bcond_with relax_requires + %global goipath github.com/osbuild/osbuild-composer -Version: 40 +Version: 45 %gometa @@ -61,6 +66,7 @@ BuildRequires: golang(github.com/segmentio/ksuid) BuildRequires: golang(github.com/stretchr/testify/assert) BuildRequires: golang(github.com/ubccr/kerby) BuildRequires: golang(github.com/vmware/govmomi) +BuildRequires: golang(github.com/oracle/oci-go-sdk/v54) BuildRequires: golang(cloud.google.com/go) BuildRequires: golang(gopkg.in/ini.v1) %endif @@ -82,12 +88,6 @@ Conflicts: lorax-composer Obsoletes: lorax-composer < 34.3 %endif -# Remove when we stop releasing into Fedora 33 -%if 0%{?fedora} <= 33 -Obsoletes: golang-github-osbuild-composer < %{version}-%{release} -Provides: golang-github-osbuild-composer = %{version}-%{release} -%endif - # remove when F34 is EOL Obsoletes: osbuild-composer-koji <= 23 @@ -101,17 +101,6 @@ Obsoletes: osbuild-composer-koji <= 23 %goprep %endif -%if 0%{?fedora} >= 34 -# Fedora 34 and newer ships a newer version of github.com/getkin/kin-openapi -# package which has a different API than the older ones. Let's make the auto- -# generated code compatible by applying some sed magic. -# -# Remove when F33 is EOL -sed -i "s/openapi3.Swagger/openapi3.T/;s/openapi3.NewSwaggerLoader().LoadSwaggerFromData/openapi3.NewLoader().LoadFromData/" internal/cloudapi/v1/openapi.v1.gen.go -sed -i "s/openapi3.Swagger/openapi3.T/;s/openapi3.NewSwaggerLoader().LoadSwaggerFromData/openapi3.NewLoader().LoadFromData/" internal/cloudapi/v2/openapi.v2.gen.go -sed -i "s/openapi3.Swagger/openapi3.T/;s/openapi3.NewSwaggerLoader().LoadSwaggerFromData/openapi3.NewLoader().LoadFromData/" internal/worker/api/api.gen.go -%endif - %build export GOFLAGS="-buildmode=pie" %if 0%{?rhel} @@ -167,34 +156,34 @@ go build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-mock-openi %endif %install -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 -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/ # Only include repositories for the distribution and release -install -m 0755 -vd %{buildroot}%{_datadir}/osbuild-composer/repositories +install -m 0755 -vd %{buildroot}%{_datadir}/osbuild-composer/repositories # CentOS also defines rhel so we check for centos first %if 0%{?centos} # CentOS 9 supports building for CentOS 8 and later %if 0%{?centos} >= 9 -install -m 0644 -vp repositories/centos-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +install -m 0644 -vp repositories/centos-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ %else # CentOS 8 only supports building for CentOS 8 -install -m 0644 -vp repositories/centos-%{centos}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ -install -m 0644 -vp repositories/centos-stream-%{centos}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +install -m 0644 -vp repositories/centos-%{centos}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +install -m 0644 -vp repositories/centos-stream-%{centos}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ %endif %else %if 0%{?rhel} # RHEL 9 supports building for RHEL 8 and later %if 0%{?rhel} >= 9 -install -m 0644 -vp repositories/rhel-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +install -m 0644 -vp repositories/rhel-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ %else # RHEL 8 only supports building for 8 -install -m 0644 -vp repositories/rhel-%{rhel}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +install -m 0644 -vp repositories/rhel-%{rhel}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ %endif %endif @@ -202,84 +191,89 @@ install -m 0644 -vp repositories/rhel-%{rhel}* %{buildroot}%{_d # Fedora can build for all included fedora releases %if 0%{?fedora} -install -m 0644 -vp repositories/fedora-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +install -m 0644 -vp repositories/fedora-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ %endif -install -m 0755 -vd %{buildroot}%{_unitdir} -install -m 0644 -vp distribution/*.{service,socket} %{buildroot}%{_unitdir}/ +install -m 0755 -vd %{buildroot}%{_unitdir} +install -m 0644 -vp distribution/*.{service,socket} %{buildroot}%{_unitdir}/ -install -m 0755 -vd %{buildroot}%{_sysusersdir} -install -m 0644 -vp distribution/osbuild-composer.conf %{buildroot}%{_sysusersdir}/ +install -m 0755 -vd %{buildroot}%{_sysusersdir} +install -m 0644 -vp distribution/osbuild-composer.conf %{buildroot}%{_sysusersdir}/ -install -m 0755 -vd %{buildroot}%{_localstatedir}/cache/osbuild-composer/dnf-cache +install -m 0755 -vd %{buildroot}%{_localstatedir}/cache/osbuild-composer/dnf-cache -install -m 0755 -vd %{buildroot}%{_mandir}/man7 -install -m 0644 -vp docs/*.7 %{buildroot}%{_mandir}/man7/ +install -m 0755 -vd %{buildroot}%{_mandir}/man7 +install -m 0644 -vp docs/*.7 %{buildroot}%{_mandir}/man7/ %if %{with tests} || 0%{?rhel} -install -m 0755 -vd %{buildroot}%{_libexecdir}/osbuild-composer-test -install -m 0755 -vp _bin/osbuild-composer-cli-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-weldr-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-dnf-json-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-image-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-auth-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-koji-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-composer-dbjobqueue-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-composer-manifest-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/cloud-cleaner %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-mock-openid-provider %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/define-compose-url.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/provision.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/gen-certs.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/gen-ssh.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/image-info %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/run-koji-container.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/koji-compose.py %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/libvirt_test.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp tools/set-env-variables.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vd %{buildroot}%{_libexecdir}/tests/osbuild-composer -install -m 0755 -vp test/cases/* %{buildroot}%{_libexecdir}/tests/osbuild-composer/ +install -m 0755 -vd %{buildroot}%{_libexecdir}/osbuild-composer-test +install -m 0755 -vp _bin/osbuild-composer-cli-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-weldr-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-dnf-json-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-image-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-auth-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-koji-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-composer-dbjobqueue-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-composer-manifest-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/cloud-cleaner %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp _bin/osbuild-mock-openid-provider %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/define-compose-url.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/provision.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/gen-certs.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/gen-ssh.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/image-info %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/run-koji-container.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/koji-compose.py %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/koji-compose-v2.py %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/libvirt_test.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/* %{buildroot}%{_libexecdir}/tests/osbuild-composer/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/ansible -install -m 0644 -vp test/data/ansible/* %{buildroot}%{_datadir}/tests/osbuild-composer/ansible/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/ansible +install -m 0644 -vp test/data/ansible/* %{buildroot}%{_datadir}/tests/osbuild-composer/ansible/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/azure -install -m 0644 -vp test/data/azure/* %{buildroot}%{_datadir}/tests/osbuild-composer/azure/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/azure +install -m 0644 -vp test/data/azure/* %{buildroot}%{_datadir}/tests/osbuild-composer/azure/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/manifests -install -m 0644 -vp test/data/manifests/* %{buildroot}%{_datadir}/tests/osbuild-composer/manifests/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/manifests +install -m 0644 -vp test/data/manifests/* %{buildroot}%{_datadir}/tests/osbuild-composer/manifests/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/cloud-init -install -m 0644 -vp test/data/cloud-init/* %{buildroot}%{_datadir}/tests/osbuild-composer/cloud-init/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/cloud-init +install -m 0644 -vp test/data/cloud-init/* %{buildroot}%{_datadir}/tests/osbuild-composer/cloud-init/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/composer -install -m 0644 -vp test/data/composer/* %{buildroot}%{_datadir}/tests/osbuild-composer/composer/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/composer +install -m 0644 -vp test/data/composer/* %{buildroot}%{_datadir}/tests/osbuild-composer/composer/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/worker -install -m 0644 -vp test/data/worker/* %{buildroot}%{_datadir}/tests/osbuild-composer/worker/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/worker +install -m 0644 -vp test/data/worker/* %{buildroot}%{_datadir}/tests/osbuild-composer/worker/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/repositories -install -m 0644 -vp test/data/repositories/* %{buildroot}%{_datadir}/tests/osbuild-composer/repositories/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/repositories +install -m 0644 -vp test/data/repositories/* %{buildroot}%{_datadir}/tests/osbuild-composer/repositories/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/kerberos -install -m 0644 -vp test/data/kerberos/* %{buildroot}%{_datadir}/tests/osbuild-composer/kerberos/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/kerberos +install -m 0644 -vp test/data/kerberos/* %{buildroot}%{_datadir}/tests/osbuild-composer/kerberos/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/keyring -install -m 0644 -vp test/data/keyring/id_rsa.pub %{buildroot}%{_datadir}/tests/osbuild-composer/keyring/ -install -m 0600 -vp test/data/keyring/id_rsa %{buildroot}%{_datadir}/tests/osbuild-composer/keyring/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/keyring +install -m 0644 -vp test/data/keyring/id_rsa.pub %{buildroot}%{_datadir}/tests/osbuild-composer/keyring/ +install -m 0600 -vp test/data/keyring/id_rsa %{buildroot}%{_datadir}/tests/osbuild-composer/keyring/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/koji -install -m 0644 -vp test/data/koji/* %{buildroot}%{_datadir}/tests/osbuild-composer/koji/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/koji +install -m 0644 -vp test/data/koji/* %{buildroot}%{_datadir}/tests/osbuild-composer/koji/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/x509 -install -m 0644 -vp test/data/x509/* %{buildroot}%{_datadir}/tests/osbuild-composer/x509/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/x509 +install -m 0644 -vp test/data/x509/* %{buildroot}%{_datadir}/tests/osbuild-composer/x509/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/openshift -install -m 0644 -vp test/data/openshift/* %{buildroot}%{_datadir}/tests/osbuild-composer/openshift/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/openshift +install -m 0644 -vp test/data/openshift/* %{buildroot}%{_datadir}/tests/osbuild-composer/openshift/ -install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/schemas -install -m 0644 -vp internal/jobqueue/dbjobqueue/schemas/* %{buildroot}%{_datadir}/tests/osbuild-composer/schemas/ +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/schemas +install -m 0644 -vp internal/jobqueue/dbjobqueue/schemas/* %{buildroot}%{_datadir}/tests/osbuild-composer/schemas/ + +install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/upgrade8to9 +install -m 0644 -vp test/data/upgrade8to9/* %{buildroot}%{_datadir}/tests/osbuild-composer/upgrade8to9/ %endif @@ -375,12 +369,18 @@ The dnf-json binary used by osbuild-composer and the workers. %files dnf-json %{_libexecdir}/osbuild-composer/dnf-json +%{_unitdir}/osbuild-dnf-json.service +%{_unitdir}/osbuild-dnf-json.socket %if %{with tests} || 0%{?rhel} %package tests Summary: Integration tests +%if %{with relax_requires} +Requires: %{name} +%else Requires: %{name} = %{version}-%{release} +%endif Requires: composer-cli Requires: createrepo_c Requires: xorriso @@ -408,6 +408,7 @@ Requires: libvirt-daemon-driver-storage-disk Requires: libvirt-daemon-kvm Requires: qemu-img Requires: qemu-kvm +Requires: rpmdevtools Requires: virt-install Requires: expect Requires: python3-lxml @@ -443,6 +444,21 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog +* Fri Feb 18 2022 Ondřej Budai - 45-1 +- New upstream release + +* Fri Feb 11 2022 Thomas Lavocat - 44-1 +- New upstream release + +* Wed Jan 26 2022 Thomas Lavocat - 43-1 +- New upstream release + +* Wed Jan 12 2022 Thomas Lavocat - 42-1 +- New upstream release + +* Wed Dec 22 2021 Ondřej Budai - 41-1 +- New upstream release + * Thu Dec 09 2021 Ondřej Budai - 40-1 - New upstream release