6c466fbc17
Upstream tag: v37 Upstream commit: 3c9b92b8 Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
734 lines
35 KiB
RPMSpec
734 lines
35 KiB
RPMSpec
# Do not build with tests by default
|
|
# Pass --with tests to rpmbuild to override
|
|
%bcond_with tests
|
|
|
|
%global goipath github.com/osbuild/osbuild-composer
|
|
|
|
Version: 37
|
|
|
|
%gometa
|
|
|
|
%global common_description %{expand:
|
|
A service for building customized OS artifacts, such as VM images and OSTree
|
|
commits, that uses osbuild under the hood. Besides building images for local
|
|
usage, it can also upload images directly to cloud.
|
|
|
|
It is compatible with composer-cli and cockpit-composer clients.
|
|
}
|
|
|
|
Name: osbuild-composer
|
|
Release: 1%{?dist}
|
|
Summary: An image building service based on osbuild
|
|
|
|
# osbuild-composer doesn't have support for building i686 and armv7hl images
|
|
ExcludeArch: i686 armv7hl
|
|
|
|
# Upstream license specification: Apache-2.0
|
|
License: ASL 2.0
|
|
URL: %{gourl}
|
|
Source0: %{gosource}
|
|
|
|
|
|
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
|
|
BuildRequires: systemd
|
|
BuildRequires: krb5-devel
|
|
BuildRequires: python3-docutils
|
|
BuildRequires: make
|
|
%if 0%{?fedora}
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: git
|
|
BuildRequires: golang(github.com/aws/aws-sdk-go)
|
|
BuildRequires: golang(github.com/Azure/azure-sdk-for-go)
|
|
BuildRequires: golang(github.com/Azure/azure-storage-blob-go/azblob)
|
|
BuildRequires: golang(github.com/BurntSushi/toml)
|
|
BuildRequires: golang(github.com/coreos/go-semver/semver)
|
|
BuildRequires: golang(github.com/coreos/go-systemd/activation)
|
|
BuildRequires: golang(github.com/deepmap/oapi-codegen/pkg/codegen)
|
|
BuildRequires: golang(github.com/go-chi/chi)
|
|
BuildRequires: golang(github.com/golang-jwt/jwt)
|
|
BuildRequires: golang(github.com/google/uuid)
|
|
BuildRequires: golang(github.com/jackc/pgx/v4)
|
|
BuildRequires: golang(github.com/julienschmidt/httprouter)
|
|
BuildRequires: golang(github.com/getkin/kin-openapi/openapi3)
|
|
BuildRequires: golang(github.com/kolo/xmlrpc)
|
|
BuildRequires: golang(github.com/labstack/echo/v4)
|
|
BuildRequires: golang(github.com/gobwas/glob)
|
|
BuildRequires: golang(github.com/google/go-cmp/cmp)
|
|
BuildRequires: golang(github.com/gophercloud/gophercloud)
|
|
BuildRequires: golang(github.com/prometheus/client_golang/prometheus/promhttp)
|
|
BuildRequires: golang(github.com/openshift-online/ocm-sdk-go)
|
|
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(cloud.google.com/go)
|
|
BuildRequires: golang(gopkg.in/ini.v1)
|
|
%endif
|
|
|
|
Requires: %{name}-core = %{version}-%{release}
|
|
Requires: %{name}-worker = %{version}-%{release}
|
|
Requires: systemd
|
|
|
|
Provides: weldr
|
|
|
|
%if 0%{?rhel}
|
|
Obsoletes: lorax-composer <= 29
|
|
Conflicts: lorax-composer
|
|
%endif
|
|
|
|
# Remove when we stop releasing into Fedora 35
|
|
%if 0%{?fedora} >= 34
|
|
# lorax 34.3 is the first one without the composer subpackage
|
|
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
|
|
|
|
%description
|
|
%{common_description}
|
|
|
|
%prep
|
|
%if 0%{?rhel}
|
|
%forgeautosetup -p1
|
|
%else
|
|
%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
|
|
%if 0%{?rhel}
|
|
GO_BUILD_PATH=$PWD/_build
|
|
install -m 0755 -vd $(dirname $GO_BUILD_PATH/src/%{goipath})
|
|
ln -fs $PWD $GO_BUILD_PATH/src/%{goipath}
|
|
cd $GO_BUILD_PATH/src/%{goipath}
|
|
install -m 0755 -vd _bin
|
|
export PATH=$PWD/_bin${PATH:+:$PATH}
|
|
export GOPATH=$GO_BUILD_PATH:%{gopath}
|
|
export GOFLAGS=-mod=vendor
|
|
%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,
|
|
# this script will not attempt to automatically discover it.
|
|
%if %{?commit:1}0
|
|
export LDFLAGS="${LDFLAGS} -X 'github.com/osbuild/osbuild-composer/internal/common.GitRev=%{commit}'"
|
|
%endif
|
|
export LDFLAGS="${LDFLAGS} -X 'github.com/osbuild/osbuild-composer/internal/common.RpmVersion=%{name}-%{epoch}:%{version}-%{release}.%{_arch}'"
|
|
|
|
%gobuild -o _bin/osbuild-composer %{goipath}/cmd/osbuild-composer
|
|
%gobuild -o _bin/osbuild-worker %{goipath}/cmd/osbuild-worker
|
|
|
|
make man
|
|
|
|
%if %{with tests} || 0%{?rhel}
|
|
|
|
# Build test binaries with `go test -c`, so that they can take advantage of
|
|
# golang's testing package. The golang rpm macros don't support building them
|
|
# directly. Thus, do it manually, taking care to also include a build id.
|
|
#
|
|
# On Fedora, also turn off go modules and set the path to the one into which
|
|
# the golang-* packages install source code.
|
|
%if 0%{?fedora}
|
|
export GO111MODULE=off
|
|
export GOPATH=%{gobuilddir}:%{gopath}
|
|
%endif
|
|
|
|
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 build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/cloud-cleaner %{goipath}/cmd/cloud-cleaner
|
|
go build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-mock-openid-provider %{goipath}/cmd/osbuild-mock-openid-provider
|
|
|
|
%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/
|
|
|
|
# Only include repositories for the distribution and release
|
|
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/
|
|
%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/
|
|
|
|
%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/
|
|
|
|
%else
|
|
# RHEL 8 only supports building for 8
|
|
install -m 0644 -vp repositories/rhel-%{rhel}* %{buildroot}%{_datadir}/osbuild-composer/repositories/
|
|
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
# Fedora can build for all included fedora releases
|
|
%if 0%{?fedora}
|
|
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}%{_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}%{_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/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}%{_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/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/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/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/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/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/schemas
|
|
install -m 0644 -vp internal/jobqueue/dbjobqueue/schemas/* %{buildroot}%{_datadir}/tests/osbuild-composer/schemas/
|
|
|
|
%endif
|
|
|
|
%check
|
|
%if 0%{?rhel}
|
|
export GOFLAGS=-mod=vendor
|
|
export GOPATH=$PWD/_build:%{gopath}
|
|
# cd inside GOPATH, otherwise go with GO111MODULE=off ignores vendor directory
|
|
cd $PWD/_build/src/%{goipath}
|
|
%gotest ./...
|
|
%else
|
|
%gocheck
|
|
%endif
|
|
|
|
%post
|
|
%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
|
|
|
%preun
|
|
%systemd_preun osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
|
|
|
%postun
|
|
%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
|
|
|
%files
|
|
%license LICENSE
|
|
%doc README.md
|
|
%{_mandir}/man7/%{name}.7*
|
|
%{_unitdir}/osbuild-composer.service
|
|
%{_unitdir}/osbuild-composer.socket
|
|
%{_unitdir}/osbuild-composer-api.socket
|
|
%{_unitdir}/osbuild-local-worker.socket
|
|
%{_unitdir}/osbuild-remote-worker.socket
|
|
%{_sysusersdir}/osbuild-composer.conf
|
|
|
|
%package core
|
|
Summary: The core osbuild-composer binary
|
|
Requires: %{name}-dnf-json = %{version}-%{release}
|
|
|
|
%description core
|
|
The core osbuild-composer binary. This is suitable both for spawning in containers and by systemd.
|
|
|
|
%files core
|
|
%{_libexecdir}/osbuild-composer/osbuild-composer
|
|
%{_datadir}/osbuild-composer/
|
|
|
|
%package worker
|
|
Summary: The worker for osbuild-composer
|
|
Requires: systemd
|
|
Requires: qemu-img
|
|
Requires: osbuild >= 37
|
|
Requires: osbuild-ostree >= 37
|
|
Requires: %{name}-dnf-json = %{version}-%{release}
|
|
|
|
# remove in F34
|
|
Obsoletes: golang-github-osbuild-composer-worker < %{version}-%{release}
|
|
Provides: golang-github-osbuild-composer-worker = %{version}-%{release}
|
|
|
|
%description worker
|
|
The worker for osbuild-composer
|
|
|
|
%files worker
|
|
%{_libexecdir}/osbuild-composer/osbuild-worker
|
|
%{_unitdir}/osbuild-worker@.service
|
|
%{_unitdir}/osbuild-remote-worker@.service
|
|
|
|
%post worker
|
|
%systemd_post osbuild-worker@.service osbuild-remote-worker@.service
|
|
|
|
%preun worker
|
|
# systemd_preun uses systemctl disable --now which doesn't work well with template services.
|
|
# See https://github.com/systemd/systemd/issues/15620
|
|
# The following lines mimicks its behaviour by running two commands:
|
|
|
|
# disable and stop all the worker services
|
|
systemctl --no-reload disable osbuild-worker@.service osbuild-remote-worker@.service
|
|
systemctl stop "osbuild-worker@*.service" "osbuild-remote-worker@*.service"
|
|
|
|
%postun worker
|
|
# 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 and Fedora 35 reach 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
|
|
|
|
%if %{with tests} || 0%{?rhel}
|
|
|
|
%package tests
|
|
Summary: Integration tests
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: composer-cli
|
|
Requires: createrepo_c
|
|
Requires: xorriso
|
|
Requires: qemu-kvm-core
|
|
Requires: systemd-container
|
|
Requires: jq
|
|
Requires: unzip
|
|
Requires: container-selinux
|
|
Requires: dnsmasq
|
|
Requires: krb5-workstation
|
|
Requires: podman
|
|
Requires: python3
|
|
Requires: sssd-krb5
|
|
Requires: libvirt-client libvirt-daemon
|
|
Requires: libvirt-daemon-config-network
|
|
Requires: libvirt-daemon-config-nwfilter
|
|
Requires: libvirt-daemon-driver-interface
|
|
Requires: libvirt-daemon-driver-network
|
|
Requires: libvirt-daemon-driver-nodedev
|
|
Requires: libvirt-daemon-driver-nwfilter
|
|
Requires: libvirt-daemon-driver-qemu
|
|
Requires: libvirt-daemon-driver-secret
|
|
Requires: libvirt-daemon-driver-storage
|
|
Requires: libvirt-daemon-driver-storage-disk
|
|
Requires: libvirt-daemon-kvm
|
|
Requires: qemu-img
|
|
Requires: qemu-kvm
|
|
Requires: virt-install
|
|
Requires: expect
|
|
Requires: python3-lxml
|
|
Requires: httpd
|
|
Requires: mod_ssl
|
|
Requires: openssl
|
|
Requires: firewalld
|
|
# see https://bugzilla.redhat.com/show_bug.cgi?id=1986333
|
|
%if 0%{?rhel} && 0%{?rhel} != 9
|
|
Requires: podman-plugins
|
|
%endif
|
|
Requires: dnf-plugins-core
|
|
Requires: skopeo
|
|
%if 0%{?fedora}
|
|
# koji and ansible are not in RHEL repositories. Depending on them breaks RHEL
|
|
# gating (see OSCI-1541). The test script must enable EPEL and install those
|
|
# packages manually.
|
|
Requires: koji
|
|
Requires: ansible
|
|
%endif
|
|
%ifarch %{arm}
|
|
Requires: edk2-aarch64
|
|
%endif
|
|
|
|
%description tests
|
|
Integration tests to be run on a pristine-dedicated system to test the osbuild-composer package.
|
|
|
|
%files tests
|
|
%{_libexecdir}/osbuild-composer-test/
|
|
%{_libexecdir}/tests/osbuild-composer/
|
|
%{_datadir}/tests/osbuild-composer/
|
|
|
|
%endif
|
|
|
|
%changelog
|
|
* Wed Oct 27 2021 Packit Service <user-cont-team+packit-service@redhat.com> - 37-1
|
|
- Bump version numbers ahead of release (Simon Steinbeiss)
|
|
- Switch to simple upstream releases (Simon Steinbeiss)
|
|
- distro/rhel86: special case root user for ssh keys (Christian Kellner)
|
|
- Revert "Revert "cloudapi/v1: Move depsolving to workers"" (Tom Gundersen)
|
|
- templates: image-builder-ci access to composer (Tom Gundersen)
|
|
- ci: remove 8.5 nightly testing (Ondřej Budai)
|
|
- composer: add json log formatting (Diaa Sami)
|
|
- test: timestamp messages in test scripts (Achilleas Koutsou)
|
|
- Add news item for updated CentOS Stream 8 definitions (Achilleas Koutsou)
|
|
- test/api: SSH_USER=ec2-user for centos on AWS (Achilleas Koutsou)
|
|
- test/cases: add centos-8 as support to test scripts (Achilleas Koutsou)
|
|
- test/ansible: install greenboot-failing-unit from public source (Achilleas Koutsou)
|
|
- CI: enable OSTree tests on CentOS 8 (Achilleas Koutsou)
|
|
- test/data: regenerate manifests for CentOS 8 (Achilleas Koutsou)
|
|
- distro/rhel86: skip RHSM config stage for non-RHEL (Achilleas Koutsou)
|
|
- distro/rhel86: distro private method isRHEL() (Achilleas Koutsou)
|
|
- test/data/repositories: update cs8 rpmrepo snapshot (Achilleas Koutsou)
|
|
- tools: add all supported image types for centos-8 (Achilleas Koutsou)
|
|
- tools/test-case-generators: fix typo in imagetype-map (Achilleas Koutsou)
|
|
- distro/rhel86: add distro specific package set (Achilleas Koutsou)
|
|
- test: add RHEL 8.6 image installer test manifest (Achilleas Koutsou)
|
|
- distro/rhel86: add CentOS Stream 8 as alias to RHEL 8.6 (Achilleas Koutsou)
|
|
- distro/rhel86: remove redundant rhel-86 alias (Achilleas Koutsou)
|
|
- spec: dnf-json conflicts with old composer (Achilleas Koutsou)
|
|
- ostree: change the URL for OC client temporarily (Ondřej Budai)
|
|
- test/aws: remove a no longer needed key from an instance (Ondřej Budai)
|
|
- ci: pin a specific RHEL 9.0b compose (Ondřej Budai)
|
|
- ci: rotate secret names (Ondřej Budai)
|
|
- mockbuild: explicitly configure s3cmd (Ondřej Budai)
|
|
- mockbuild: remove subscriptions (Ondřej Budai)
|
|
- .gitlab-ci: Don't save the journal as an artifact (sanne)
|
|
- jobqueue: Better logging (Diaa Sami)
|
|
- templates: Claims based on user_ids (sanne)
|
|
- worker: Configurable timeout for RequestJob (sanne)
|
|
- build(deps): bump cloud.google.com/go/storage from 1.16.1 to 1.18.1 (dependabot[bot])
|
|
- build(deps): bump github.com/labstack/echo/v4 from 4.5.0 to 4.6.1 (dependabot[bot])
|
|
- build(deps): bump github.com/gophercloud/gophercloud (dependabot[bot])
|
|
- worker: Separate goroutine for depsolve jobs (sanne)
|
|
- cloudapi/v2: Plural path section when querying a collection (sanne)
|
|
- cloudapi/v2: Do not require auth for /openapi or /errors (sanne)
|
|
- worker: Configure AWS credentials in the worker (Thomas Lavocat)
|
|
- cloudapi/v2: ensure only one image per a compose in the API spec (Ondřej Budai)
|
|
- cloudapi/v2: clean up targets (Ondřej Budai)
|
|
- cloudapi/v2: move multi-image compose check to the beginning (Ondřej Budai)
|
|
|
|
* Wed Oct 13 2021 Packit Service <user-cont-team+packit-service@redhat.com> - 36-1
|
|
- 36 (Achilleas Koutsou)
|
|
- Revert "cloudapi/v1: Move depsolving to workers" (Sanne Raymaekers)
|
|
- worker: Prefix https always (sanne)
|
|
- cloudapi/v1: Move depsolving to workers (sanne)
|
|
- cloudapi/v2: fix newV2Server() call in test (Achilleas Koutsou)
|
|
- templates: Name service ports (sanne)
|
|
- SPEC: Exclude `armv7hl` architecture (Tomas Hozza)
|
|
- distro/rhel90 -> distro/rhel90beta: rename package (Achilleas Koutsou)
|
|
- distro/rhel90: rename to rhel-90-beta and alias base name (Achilleas Koutsou)
|
|
- spec: Split dnf-json into a subpackage (sanne)
|
|
- cloudapi/v2: Use worker to depsolve (Ondřej Budai)
|
|
- worker: Add a depsolve job type (Tom Gundersen)
|
|
- packit: Push downstream instead of creating PR (Simon Steinbeiss)
|
|
- templates: Name services after endpoints (sanne)
|
|
- worker: Make BasePath configurable (sanne)
|
|
- cloudapi/v2: Listen on /api/image-builder-composer/v2 (sanne)
|
|
- test/ostree: remove --ip-range from podman network (Achilleas Koutsou)
|
|
- RHEL-8.6: add support for official EC2 SAP image (Tomas Hozza)
|
|
- tools/provision: set up nightly repos for RHEL 8.6 (Achilleas Koutsou)
|
|
- test/cases: add support for RHEL 8.6 to test scripts (Achilleas Koutsou)
|
|
- schutzbot: pin osbuild to current main for 8.6 (Achilleas Koutsou)
|
|
- schutzbot: update terraform sha (Achilleas Koutsou)
|
|
- news: add entry about RHEL 8.6 (Achilleas Koutsou)
|
|
- test: add RHEL 8.6 test manifests (Achilleas Koutsou)
|
|
- test: add rpmrepo snapshots for RHEL 8.6 (Achilleas Koutsou)
|
|
- ci: run all tests on RHEL 8.6 (Achilleas Koutsou)
|
|
- test/data/repositories: add test repos for rhel-86 (Achilleas Koutsou)
|
|
- distro/rhel85: remove rhel86 alias (Achilleas Koutsou)
|
|
- distro/rhel86: copy all definitions from rhel85 (Achilleas Koutsou)
|
|
- cloudapi/v2: Configurable aws bucket (sanne)
|
|
- cloudapi/v2: Replace upload types with image types (sanne)
|
|
- Tests/RHEL-9.0: add EC2 SAP image test (Tomas Hozza)
|
|
- Tests/RHEL-9.0: add repos needed for EC2 SAP image tests (Tomas Hozza)
|
|
- RHEL-9.0: add EC2 SAP image definition. (Tomas Hozza)
|
|
- Tests/RHEL-9.0: add EC2 and EC2 HA image tests (Tomas Hozza)
|
|
- Tests/RHEL-9.0: add repos needed for EC2 and EC2 HA image tests (Tomas Hozza)
|
|
- Image tests: skip rpm-ostree-1-autovar.conf tmpfiles.d config on Fedora (Tomas Hozza)
|
|
- composer: Don't dump sensitive fields from config (sanne)
|
|
- tests: Update image_tests (Jakub Rusz)
|
|
- templates: Duplicate value in composer config (sanne)
|
|
- templates: Port names should be less than 15 characters (sanne)
|
|
- templates: Make sure ports are unquoted (sanne)
|
|
- cloudapi/v1: Return status created in compose handler (sanne)
|
|
- worker: Use Recover middleware to handle panics (Diaa Sami)
|
|
- worker: Improve logging (Diaa Sami)
|
|
- Regenerate affected image test cases (Tomas Hozza)
|
|
- generate-all-test-cases: allow specifying additional DNF repos (Tomas Hozza)
|
|
- image-info: ensure that directory is analysed as read-only (Tomas Hozza)
|
|
- tests: enable koji.sh test on RHEL-9 (Jakub Rusz)
|
|
- tests/ci: enable vmware.sh and cross-distro.sh on rhel-9 (Jakub Rusz)
|
|
- README: Add a link to our developer guide (Simon Steinbeiss)
|
|
- templates: Composer OSD template (sanne)
|
|
- internal/rpmmd: log repository files loaded during composer startup (Martin Sehnoutka)
|
|
- dnf-json: expire metadata by default (Tom Gundersen)
|
|
- schutzbot: Clean up non-default storage accounts (sanne)
|
|
- main: IsNotExist() is no longer a valid check (Achilleas Koutsou)
|
|
- config: update NonExisting test to check for default (Achilleas Koutsou)
|
|
- config: don't fail LoadConfig if file doesn't exist (Achilleas Koutsou)
|
|
- Test: regenerate all image test cases (Tomas Hozza)
|
|
- Image tests: use RPMRepo with released RHEL-8.4 content (Tomas Hozza)
|
|
- image-info: fix undefined variable in analyse_directory() (Tomas Hozza)
|
|
- image-info: sort partitions list in the report. (Tomas Hozza)
|
|
- image-info: use subprocess_check_output() in read_selinux_ctx_mismatch() (Tomas Hozza)
|
|
- image-info: check not installed documentation (Tomas Hozza)
|
|
- image-info: read content of /etc/resolv.conf (Tomas Hozza)
|
|
- image-info: read sysctl.d config files from multiple paths (Tomas Hozza)
|
|
- image-info: read security limits config files from multiple paths (Tomas Hozza)
|
|
- image-info: read tmpfiles.d config files from multiple paths (Tomas Hozza)
|
|
- image-info: read systemd service unit drop-ins from multiple paths (Tomas Hozza)
|
|
- image-info: read cloud-init configs from multiple paths (Tomas Hozza)
|
|
- image-info: read systemd-logind configs from multiple paths (Tomas Hozza)
|
|
- image-info: read dracut configs from multiple paths (Tomas Hozza)
|
|
- image-info: read modprobe configs from multiple paths (Tomas Hozza)
|
|
- composer: More configuration of how composer is served (sanne)
|
|
|
|
* Sat Oct 02 2021 Packit Service <user-cont-team+packit-service@redhat.com> - 35-1
|
|
- 35 (Simon Steinbeiss)
|
|
- gitleaks: add allow list for test passwords and keys (Achilleas Koutsou)
|
|
- mockbuild: use download.devel of download.eng.bos (Ondřej Budai)
|
|
- ci: install ansible-core instead of ansible for EL9 (Ondřej Budai)
|
|
- dnf-json: disable zchunk (Ondřej Budai)
|
|
- composer: improve logging (Diaa Sami)
|
|
- cloudapi: Add extra logging & improve existing (Diaa Sami)
|
|
- cloudapi: use Logrus as default logger in Echo (Diaa Sami)
|
|
- logging: add logrus dependency (Diaa Sami)
|
|
- ci: don't run nightly pipeline on ga releases (Jakub Rusz)
|
|
- distro/rhel90: use qcow2 compat 1.1 for qcows (Ondřej Budai)
|
|
- tools: Push ubi container to quay.io/app-sre/composer (sanne)
|
|
- blueprints: change minsize from int to uint64 (Gianluca Zuccarelli)
|
|
- test/regression: Adapt to new rhel-84-ga runners (sanne)
|
|
- schutzbot: Also build container on branch pushes (sanne)
|
|
- schutzbot: pin osbuild to >=37 on all distros (Ondřej Budai)
|
|
- spec: bump osbuild depedendency to 37 (Ondřej Budai)
|
|
- distro/rhel85: set bootloader to none for edge (Christian Kellner)
|
|
- osbuild2: add bootloader option to ostree.config (Christian Kellner)
|
|
- osbuild2: small doc fix for ostree.config (Christian Kellner)
|
|
- build(deps): bump github.com/labstack/echo/v4 from 4.5.0 to 4.6.0 (dependabot[bot])
|
|
- build(deps): bump github.com/aws/aws-sdk-go from 1.40.46 to 1.40.49 (dependabot[bot])
|
|
- workers: Backwards compatible api.openshift.com spec compliance (sanne)
|
|
- Disable regression-composer-works-behind-satellite.sh, Refs #1834 (Alexander Todorov)
|
|
- test/ostree: use 8.4 when testing on 8.4 (Ondřej Budai)
|
|
- ci: add workaround for missing redhat.repo in EC2 (Ondřej Budai)
|
|
- schutzfile: remove rhel-8.3 (Ondřej Budai)
|
|
- test/koji: always build the latest RHEL (Ondřej Budai)
|
|
- mockbuild: use REPO_BUCKET when defining the base URL (Ondřej Budai)
|
|
- test: use hyphen in DISTRO_CODE instead of underscore (Ondřej Budai)
|
|
- test: move env variables into set-env-variables helper (Ondřej Budai)
|
|
- test/koji: remove the workaround for rhel-8 (Ondřej Budai)
|
|
- test/api: don't source os-release again (Ondřej Budai)
|
|
- test: use cdn repos for 8.3 and 8.4 (Ondřej Budai)
|
|
- mockbuild: reuse nightly repos from redhat.repo (Ondřej Budai)
|
|
- ci: assume subscribed machines (Ondřej Budai)
|
|
- terraform: update (Ondřej Budai)
|
|
- build(deps): bump github.com/Azure/azure-sdk-for-go (dependabot[bot])
|
|
- distribution: Use After=network.target instead of multi-user (Martin Sehnoutka)
|
|
- internal/common: introduce git revision and rpm version (Martin Sehnoutka)
|
|
- test/ostree: support weldr-client output structure (Achilleas Koutsou)
|
|
- test/data: update test manifests for RHEL 9.0 edge (Achilleas Koutsou)
|
|
- distro/rhel90: explicitly enable greenboot services for edge (Achilleas Koutsou)
|
|
- distro/rhel90: add gnome-kiosk to installer package set (Achilleas Koutsou)
|
|
- tools/provision: install community.general ansible collection (Achilleas Koutsou)
|
|
- test/ostree: remove debug callback from ansible calls (Achilleas Koutsou)
|
|
- test/ostree: install python3 instead of specific version (Achilleas Koutsou)
|
|
- distro/rhel90: remove unavailable packages from edge-installer (Achilleas Koutsou)
|
|
- ci: enable ostree tests on RHEL 9.0-beta (Achilleas Koutsou)
|
|
- NEWS: Drop title line (Simon Steinbeiss)
|
|
- cloudapi: use Recover middleware to handle panics (Diaa Sami)
|
|
- HACKING: fix container command (Gianluca Zuccarelli)
|
|
- containers: worker client base url protocol (Gianluca Zuccarelli)
|
|
- containers: update composer log level flag (Gianluca Zuccarelli)
|
|
- Regenerate relevant image test cases (Tomas Hozza)
|
|
- distro/rhel90: re-include nss-altfiles for edge (Christian Kellner)
|
|
- generate-test-cases: drop `--with-customizations` option (Tomas Hozza)
|
|
- format-request-map.json: remove redundant overrides (Tomas Hozza)
|
|
- generate-test-cases: don't leak "supported_arches" to compose request (Tomas Hozza)
|
|
- tools: improve deploy-openstack script (Diaa Sami)
|
|
- weldr: deleting an unknown source should return an error (Brian C. Lane)
|
|
- Update distro-arch-imagetype-map.json (Tomas Hozza)
|
|
- test: update image test case generation part of README (Tomas Hozza)
|
|
- generate-all-test-cases: add option to keep created workdir on runner (Tomas Hozza)
|
|
- generate-all-test-cases: report results when Runner finishes (Tomas Hozza)
|
|
- generate-all-test-cases: support using existing remote hosts (Tomas Hozza)
|
|
- generate-all-test-cases: remove '--keep-image-info' option (Tomas Hozza)
|
|
- generate-all-test-cases: move current generator method to 'qemu' command (Tomas Hozza)
|
|
- generate-all-test-cases: fix log level in multiprocessing processes (Tomas Hozza)
|
|
- generate-all-test-cases: don't use virtfs to copy data from/to the VM (Tomas Hozza)
|
|
- generate-all-test-cases: don't use paramiko for SSH (Tomas Hozza)
|
|
- generate-all-test-cases: use SSH keys instead of password for VMs (Tomas Hozza)
|
|
- generate-all-test-cases: don't use cloud-init to install RPMs (Tomas Hozza)
|
|
- generate-all-test-cases: fix generating of cloud-init cdrom on MacOS (Tomas Hozza)
|
|
- generate-all-test-cases: separate generic parts of BaseRunner (Tomas Hozza)
|
|
- build(deps): bump github.com/aws/aws-sdk-go from 1.40.43 to 1.40.46 (dependabot[bot])
|
|
- generate-test-cases: check `supported_arches` from format-request-map.json (Tomas Hozza)
|
|
- schutzbot: Update terraform sha (sanne)
|
|
- Drop RELEASING.md and point to dev guide (Simon Steinbeiss)
|
|
- build(deps): bump github.com/Azure/go-autorest/autorest (dependabot[bot])
|
|
- build(deps): bump github.com/aws/aws-sdk-go from 1.40.38 to 1.40.43 (dependabot[bot])
|
|
- build(deps): bump github.com/openshift-online/ocm-sdk-go (dependabot[bot])
|
|
|
|
* Wed Aug 11 2021 Ondřej Budai <ondrej@budai.cz> - 31-1
|
|
- New upstream release
|
|
|
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 30-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
|
* Mon Jun 14 2021 Ondřej Budai <ondrej@budai.cz> - 30-1
|
|
- New upstream release
|
|
|
|
* Fri Mar 05 2021 Martin Sehnoutka <msehnout@redhat.com> - 29-1
|
|
- New upstream release
|
|
|
|
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 28-2
|
|
- Rebuilt for updated systemd-rpm-macros
|
|
See https://pagure.io/fesco/issue/2583.
|
|
|
|
* Sat Feb 20 2021 Martin Sehnoutka <msehnout@redhat.com> - 28-1
|
|
- New upstream release
|
|
|
|
* Thu Feb 04 2021 Ondrej Budai <obudai@redhat.com> - 27-1
|
|
- New upstream release
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
* Thu Dec 17 2020 Ondrej Budai <obudai@redhat.com> - 26-2
|
|
- Fix the compatibility with a new golang-github-azure-storage-blob 0.12
|
|
|
|
* Thu Dec 17 2020 Ondrej Budai <obudai@redhat.com> - 26-1
|
|
- New upstream release
|
|
|
|
* Thu Nov 19 2020 Ondrej Budai <obudai@redhat.com> - 25-1
|
|
- New upstream release
|
|
|
|
* Thu Nov 12 2020 Ondrej Budai <obudai@redhat.com> - 24-1
|
|
- New upstream release
|
|
|
|
* Fri Nov 06 2020 Ondrej Budai <obudai@redhat.com> - 23-1
|
|
- New upstream release
|
|
|
|
* Fri Oct 16 2020 Ondrej Budai <obudai@redhat.com> - 22-1
|
|
- New upstream release
|
|
|
|
* Sun Aug 23 2020 Tom Gundersen <teg@jklm.no> - 20-1
|
|
- New upstream release
|
|
|
|
* Tue Aug 11 2020 Tom Gundersen <teg@jklm.no> - 19-1
|
|
- New upstream release
|
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 18-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
* Wed Jul 22 2020 Ondrej Budai <obudai@redhat.com> - 18-1
|
|
- New upstream release
|
|
|
|
* Wed Jul 08 2020 Ondrej Budai <obudai@redhat.com> - 17-1
|
|
- New upstream release
|
|
|
|
* Mon Jun 29 2020 Ondrej Budai <obudai@redhat.com> - 16-1
|
|
- New upstream release
|
|
|
|
* Fri Jun 12 2020 Ondrej Budai <obudai@redhat.com> - 15-1
|
|
- New upstream release
|
|
|
|
* Thu Jun 04 2020 Ondrej Budai <obudai@redhat.com> - 14-1
|
|
- New upstream release
|
|
|
|
* Fri May 29 2020 Ondrej Budai <obudai@redhat.com> - 13-2
|
|
- Add missing osbuild-ostree dependency
|
|
|
|
* Thu May 28 2020 Ondrej Budai <obudai@redhat.com> - 13-1
|
|
- New upstream release
|
|
|
|
* Thu May 14 2020 Ondrej Budai <obudai@redhat.com> - 12-1
|
|
- New upstream release
|
|
|
|
* Wed Apr 29 2020 Ondrej Budai <obudai@redhat.com> - 11-1
|
|
- New upstream release
|
|
|
|
* Wed Apr 15 2020 Ondrej Budai <obudai@redhat.com> - 10-1
|
|
- New upstream release
|
|
|
|
* Wed Apr 01 2020 Ondrej Budai <obudai@redhat.com> - 9-1
|
|
- New upstream release
|
|
|
|
* Mon Mar 23 2020 Ondrej Budai <obudai@redhat.com> - 8-1
|
|
- Initial package (renamed from golang-github-osbuild-composer)
|