2020-10-15 20:35:11 +00:00
# Do not build with tests by default
# Pass --with tests to rpmbuild to override
%bcond_with tests
2022-02-01 18:59:58 +00:00
# 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
2024-02-26 09:22:16 +00:00
# The minimum required osbuild version
2024-05-17 07:46:12 +00:00
%global min_osbuild_version 116
2024-02-26 09:22:16 +00:00
2020-10-15 20:35:11 +00:00
%global goipath github.com/osbuild/osbuild-composer
2024-07-12 10:34:58 +00:00
Version : 113
2020-10-15 20:35:11 +00:00
%gometa
%global common_description %{expand:
2021-03-11 20:05:12 +00:00
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.
2020-10-15 20:35:11 +00:00
}
Name : osbuild-composer
2022-11-16 10:01:56 +00:00
Release : 1%{?dist}
2020-10-15 20:35:11 +00:00
Summary : An image building service based on osbuild
2021-10-14 13:19:19 +00:00
# osbuild-composer doesn't have support for building i686 and armv7hl images
ExcludeArch : i686 armv7hl
2020-10-15 20:35:11 +00:00
# Upstream license specification: Apache-2.0
2023-01-11 09:31:43 +00:00
License : Apache-2.0
2020-10-15 20:35:11 +00:00
URL : %{gourl}
Source0 : %{gosource}
2021-08-29 10:11:01 +00:00
2020-10-15 20:35:11 +00:00
BuildRequires : %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
BuildRequires : systemd
2020-10-27 20:40:50 +00:00
BuildRequires : krb5-devel
2021-02-17 11:20:37 +00:00
BuildRequires : python3-docutils
BuildRequires : make
2022-07-13 09:32:13 +00:00
# Build requirements of 'theproglottis/gpgme' package
BuildRequires : gpgme-devel
BuildRequires : libassuan-devel
2024-02-07 09:34:46 +00:00
# Build requirements of 'github.com/containers/storage' package
BuildRequires : device-mapper-devel
2020-10-15 20:35:11 +00:00
%if 0%{?fedora}
BuildRequires : systemd-rpm-macros
BuildRequires : git
2024-02-07 09:34:46 +00:00
# Build requirements of 'github.com/containers/storage' package
BuildRequires : btrfs-progs-devel
2022-07-13 09:32:13 +00:00
# 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
2020-10-15 20:35:11 +00:00
%endif
2021-02-17 11:20:37 +00:00
Requires : %{name} -core = %{version} -%{release}
2020-10-15 20:35:11 +00:00
Requires : %{name} -worker = %{version} -%{release}
Requires : systemd
Provides : weldr
%description
%{common_description}
%prep
%if 0%{?rhel}
%forgeautosetup -p1
%else
2022-07-13 09:32:13 +00:00
%goprep -k
2020-10-15 20:35:11 +00:00
%endif
%build
2021-12-09 18:00:39 +00:00
export GOFLAGS=" - b u i l d m o d e = p i e "
2020-10-15 20:35:11 +00:00
%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}
2021-12-09 18:00:39 +00:00
export GOFLAGS+=" - m o d = v e n d o r "
2020-10-15 20:35:11 +00:00
%endif
2023-10-04 09:05:40 +00:00
%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
2020-10-15 20:35:11 +00:00
2024-02-07 09:34:46 +00:00
# btrfs-progs-devel is not available on RHEL
%if 0%{?rhel}
GOTAGS=" e x c l u d e _ g r a p h d r i v e r _ b t r f s "
%endif
2021-10-14 13:19:19 +00:00
# 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=" $ { L D F L A G S } - X ' g i t h u b . c o m / o s b u i l d / o s b u i l d - c o m p o s e r / i n t e r n a l / c o m m o n . G i t R e v = %{commit} ' "
%endif
2021-12-09 18:00:39 +00:00
export LDFLAGS=" $ { L D F L A G S } - X ' g i t h u b . c o m / o s b u i l d / o s b u i l d - c o m p o s e r / i n t e r n a l / c o m m o n . R p m V e r s i o n = %{name} - % { ? e p o c h : % e p o c h : } %{version} - %{release} . % { _ a r c h } ' "
2021-10-14 13:19:19 +00:00
2024-02-07 09:34:46 +00:00
%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-composer %{goipath} /cmd/osbuild-composer
%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-worker %{goipath} /cmd/osbuild-worker
2024-06-12 09:34:12 +00:00
%gobuild ${GOTAGS:+-tags=$GOTAGS} -o _bin/osbuild-worker-executor %{goipath} /cmd/osbuild-worker-executor
2024-02-26 09:22:16 +00:00
%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
2020-10-15 20:35:11 +00:00
2021-02-17 11:20:37 +00:00
make man
2020-10-15 20:35:11 +00:00
%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=" $ { L D F L A G S : - } - B 0 x $ ( o d - N 2 0 - A n - t x 1 - w 1 0 0 / d e v / u r a n d o m | t r - d ' ' ) "
2024-06-12 09:34:12 +00:00
%if 0%{?rhel}
GOTAGS=" $ { G O T A G S : + $ G O T A G S , } r h e l %{rhel} "
%endif
2024-02-07 09:34:46 +00:00
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-composer-cli-tests %{goipath} /cmd/osbuild-composer-cli-tests
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-dnf-json-tests %{goipath} /cmd/osbuild-dnf-json-tests
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-weldr-tests %{goipath} /internal/client/
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-image-tests %{goipath} /cmd/osbuild-image-tests
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-auth-tests %{goipath} /cmd/osbuild-auth-tests
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-koji-tests %{goipath} /cmd/osbuild-koji-tests
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-composer-dbjobqueue-tests %{goipath} /cmd/osbuild-composer-dbjobqueue-tests
go test -c -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-service-maintenance-tests %{goipath} /cmd/osbuild-service-maintenance
go build -tags=" i n t e g r a t i o n $ { G O T A G S : + , $ G O T A G S } " -ldflags=" $ { T E S T _ L D F L A G S } " -o _bin/osbuild-mock-openid-provider %{goipath} /cmd/osbuild-mock-openid-provider
2020-10-15 20:35:11 +00:00
%endif
%install
2021-12-22 14:31:12 +00:00
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/
2024-06-12 09:34:12 +00:00
install -m 0755 -vp _bin/osbuild-worker-executor %{buildroot} %{_libexecdir} /osbuild-composer/
2024-02-26 09:22:16 +00:00
install -m 0755 -vp _bin/osbuild-jobsite-manager %{buildroot} %{_libexecdir} /osbuild-composer/
install -m 0755 -vp _bin/osbuild-jobsite-builder %{buildroot} %{_libexecdir} /osbuild-composer/
2020-10-27 20:40:50 +00:00
2021-10-14 13:19:19 +00:00
# Only include repositories for the distribution and release
2021-12-22 14:31:12 +00:00
install -m 0755 -vd %{buildroot} %{_datadir} /osbuild-composer/repositories
2024-06-12 09:34:12 +00:00
2021-10-14 13:19:19 +00:00
# CentOS also defines rhel so we check for centos first
%if 0%{?centos}
2024-06-12 09:34:12 +00:00
# Latest CentOS supports building all CentOS versions
%if 0%{?centos} >= 10
2021-12-22 14:31:12 +00:00
install -m 0644 -vp repositories/centos-* %{buildroot} %{_datadir} /osbuild-composer/repositories/
2024-06-12 09:34:12 +00:00
2021-10-14 13:19:19 +00:00
%else
2024-06-12 09:34:12 +00:00
# All other CentOS versions support building for the same version
2021-12-22 14:31:12 +00:00
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/
2021-10-14 13:19:19 +00:00
%endif
2024-06-12 09:34:12 +00:00
2021-10-14 13:19:19 +00:00
%else
2024-06-12 09:34:12 +00:00
2021-10-14 13:19:19 +00:00
%if 0%{?rhel}
2024-06-12 09:34:12 +00:00
# RHEL 10 supports building all RHEL versions
%if 0%{?rhel} >= 10
2021-12-22 14:31:12 +00:00
install -m 0644 -vp repositories/rhel-* %{buildroot} %{_datadir} /osbuild-composer/repositories/
2021-10-14 13:19:19 +00:00
2024-07-12 10:34:58 +00:00
# RHEL-8 auxiliary key is signed using SHA-1, which is not enabled by default on RHEL-10 and later
for REPO_FILE in $(ls repositories/rhel-8*-no-aux-key.json); do
install -m 0644 -vp ${REPO_FILE} %{buildroot} %{_datadir} /osbuild-composer/repositories/$(basename ${REPO_FILE} | sed 's/-no-aux-key//g' )
done
2021-10-14 13:19:19 +00:00
%else
2024-06-12 09:34:12 +00:00
# All other RHEL versions support building for the same version
2021-12-22 14:31:12 +00:00
install -m 0644 -vp repositories/rhel-%{rhel} * %{buildroot} %{_datadir} /osbuild-composer/repositories/
2021-10-14 13:19:19 +00:00
2024-06-12 09:34:12 +00:00
# RHEL 9 supports building also for RHEL 8
%if 0%{?rhel} == 9
install -m 0644 -vp repositories/rhel-8* %{buildroot} %{_datadir} /osbuild-composer/repositories/
%endif
2021-10-14 13:19:19 +00:00
%endif
%endif
%endif
# Fedora can build for all included fedora releases
%if 0%{?fedora}
2021-12-22 14:31:12 +00:00
install -m 0644 -vp repositories/fedora-* %{buildroot} %{_datadir} /osbuild-composer/repositories/
2021-10-14 13:19:19 +00:00
%endif
2020-10-27 20:40:50 +00:00
2021-12-22 14:31:12 +00:00
install -m 0755 -vd %{buildroot} %{_unitdir}
install -m 0644 -vp distribution/*.{service,socket} %{buildroot} %{_unitdir} /
2020-10-27 20:40:50 +00:00
2021-12-22 14:31:12 +00:00
install -m 0755 -vd %{buildroot} %{_sysusersdir}
install -m 0644 -vp distribution/osbuild-composer.conf %{buildroot} %{_sysusersdir} /
2020-10-27 20:40:50 +00:00
2021-12-22 14:31:12 +00:00
install -m 0755 -vd %{buildroot} %{_localstatedir} /cache/osbuild-composer/dnf-cache
2020-10-15 20:35:11 +00:00
2021-12-22 14:31:12 +00:00
install -m 0755 -vd %{buildroot} %{_mandir} /man7
install -m 0644 -vp docs/*.7 %{buildroot} %{_mandir} /man7/
2021-02-17 11:20:37 +00:00
2020-10-27 20:40:50 +00:00
%if %{with tests} || 0%{?rhel}
2020-10-15 20:35:11 +00:00
2021-12-22 14:31:12 +00:00
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/
2022-07-13 09:32:13 +00:00
install -m 0755 -vp _bin/osbuild-service-maintenance-tests %{buildroot} %{_libexecdir} /osbuild-composer-test/
2021-12-22 14:31:12 +00:00
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/
2022-05-04 16:17:11 +00:00
install -m 0755 -vp tools/s3_test.sh %{buildroot} %{_libexecdir} /osbuild-composer-test/
2022-06-01 14:31:35 +00:00
install -m 0755 -vp tools/generic_s3_test.sh %{buildroot} %{_libexecdir} /osbuild-composer-test/
install -m 0755 -vp tools/generic_s3_https_test.sh %{buildroot} %{_libexecdir} /osbuild-composer-test/
2022-08-10 09:32:50 +00:00
install -m 0755 -vp tools/run-mock-auth-servers.sh %{buildroot} %{_libexecdir} /osbuild-composer-test/
2021-12-22 14:31:12 +00:00
install -m 0755 -vp tools/set-env-variables.sh %{buildroot} %{_libexecdir} /osbuild-composer-test/
install -m 0755 -vd %{buildroot} %{_libexecdir} /tests/osbuild-composer
2022-07-13 09:32:13 +00:00
install -m 0755 -vp test/cases/*.sh %{buildroot} %{_libexecdir} /tests/osbuild-composer/
install -m 0755 -vd %{buildroot} %{_libexecdir} /tests/osbuild-composer/api
install -m 0755 -vp test/cases/api/*.sh %{buildroot} %{_libexecdir} /tests/osbuild-composer/api/
install -m 0755 -vd %{buildroot} %{_libexecdir} /tests/osbuild-composer/api/common
install -m 0755 -vp test/cases/api/common/*.sh %{buildroot} %{_libexecdir} /tests/osbuild-composer/api/common/
2021-12-22 14:31:12 +00:00
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/schemas
2022-07-13 09:32:13 +00:00
install -m 0644 -vp pkg/jobqueue/dbjobqueue/schemas/* %{buildroot} %{_datadir} /tests/osbuild-composer/schemas/
2021-08-15 06:00:35 +00:00
2022-01-12 14:09:26 +00:00
install -m 0755 -vd %{buildroot} %{_datadir} /tests/osbuild-composer/upgrade8to9
install -m 0644 -vp test/data/upgrade8to9/* %{buildroot} %{_datadir} /tests/osbuild-composer/upgrade8to9/
2020-10-15 20:35:11 +00:00
%endif
%check
2021-12-09 18:00:39 +00:00
export GOFLAGS=" - b u i l d m o d e = p i e "
2020-10-15 20:35:11 +00:00
%if 0%{?rhel}
2024-02-07 09:34:46 +00:00
export GOFLAGS+=" - m o d = v e n d o r - t a g s = e x c l u d e _ g r a p h d r i v e r _ b t r f s "
2020-10-15 20:35:11 +00:00
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
2023-06-14 11:02:17 +00:00
%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket
2020-10-15 20:35:11 +00:00
%preun
2023-06-14 11:02:17 +00:00
%systemd_preun osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket
2020-10-15 20:35:11 +00:00
%postun
2023-06-14 11:02:17 +00:00
%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket
2020-10-15 20:35:11 +00:00
%files
%license LICENSE
%doc README.md
2021-02-17 11:20:37 +00:00
%{_mandir} /man7/%{name} .7*
2020-10-15 20:35:11 +00:00
%{_unitdir} /osbuild-composer.service
%{_unitdir} /osbuild-composer.socket
2020-10-27 20:40:50 +00:00
%{_unitdir} /osbuild-composer-api.socket
2023-06-14 11:02:17 +00:00
%{_unitdir} /osbuild-composer-prometheus.socket
2020-11-20 21:30:52 +00:00
%{_unitdir} /osbuild-local-worker.socket
2020-10-15 20:35:11 +00:00
%{_unitdir} /osbuild-remote-worker.socket
%{_sysusersdir} /osbuild-composer.conf
2021-02-17 11:20:37 +00:00
%package core
Summary : The core osbuild-composer binary
2024-02-26 09:22:16 +00:00
Requires : osbuild-depsolve-dnf >= %{min_osbuild_version}
Provides : %{name} -dnf-json = %{version} -%{release}
Obsoletes : %{name} -dnf-json < %{version} -%{release}
2021-02-17 11:20:37 +00:00
%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/
2020-10-15 20:35:11 +00:00
%package worker
Summary : The worker for osbuild-composer
Requires : systemd
2021-02-17 11:20:37 +00:00
Requires : qemu-img
2024-02-26 09:22:16 +00:00
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}
2020-10-15 20:35:11 +00:00
%description worker
The worker for osbuild-composer
%files worker
%{_libexecdir} /osbuild-composer/osbuild-worker
2024-06-12 09:34:12 +00:00
%{_libexecdir} /osbuild-composer/osbuild-worker-executor
2024-02-26 09:22:16 +00:00
%{_libexecdir} /osbuild-composer/osbuild-jobsite-manager
%{_libexecdir} /osbuild-composer/osbuild-jobsite-builder
2020-10-15 20:35:11 +00:00
%{_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
2022-11-30 10:04:53 +00:00
# The following lines mimicks its behaviour by running two commands.
# The scriptlet is supposed to run only when the package is being removed.
if [ $1 -eq 0 ] && [ -d /run/systemd/system ]; then
2021-11-15 16:23:10 +00:00
# disable and stop all the worker services
systemctl --no-reload disable osbuild-worker@.service osbuild-remote-worker@.service
systemctl stop " o s b u i l d - w o r k e r @ * . s e r v i c e " " o s b u i l d - r e m o t e - w o r k e r @ * . s e r v i c e "
fi
2020-10-15 20:35:11 +00:00
%postun worker
# restart all the worker services
%systemd_postun_with_restart " o s b u i l d - w o r k e r @ * . s e r v i c e " " o s b u i l d - r e m o t e - w o r k e r @ * . s e r v i c e "
%if %{with tests} || 0%{?rhel}
%package tests
Summary : Integration tests
2022-02-01 18:59:58 +00:00
%if %{with relax_requires}
Requires : %{name}
%else
2020-10-15 20:35:11 +00:00
Requires : %{name} = %{version} -%{release}
2022-02-01 18:59:58 +00:00
%endif
2020-10-15 20:35:11 +00:00
Requires : composer-cli
Requires : createrepo_c
2021-06-15 20:37:11 +00:00
Requires : xorriso
2020-10-15 20:35:11 +00:00
Requires : qemu-kvm-core
Requires : systemd-container
2020-10-27 20:40:50 +00:00
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
2022-02-01 18:59:58 +00:00
Requires : rpmdevtools
2020-10-27 20:40:50 +00:00
Requires : virt-install
Requires : expect
Requires : python3-lxml
Requires : httpd
2021-08-15 06:00:35 +00:00
Requires : mod_ssl
2020-11-06 03:28:16 +00:00
Requires : openssl
2021-10-14 13:19:19 +00:00
Requires : firewalld
2024-06-12 09:34:12 +00:00
# podman-plugins has been deprecated since podman version 5.0.0,
# which is in Fedora 40+ and in c10s / el10
%if (0%{?rhel} && 0%{?rhel} < 10) || (0%{?fedora} && 0%{?fedora} < 40)
2020-10-27 20:40:50 +00:00
Requires : podman-plugins
2024-06-12 09:34:12 +00:00
%endif
2021-06-15 20:37:11 +00:00
Requires : dnf-plugins-core
Requires : skopeo
2022-06-15 09:31:47 +00:00
Requires : make
Requires : python3-pip
2021-03-11 20:05:12 +00:00
%if 0%{?fedora}
2021-02-17 11:20:37 +00:00
# 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
2020-10-27 20:40:50 +00:00
%endif
2020-10-15 20:35:11 +00:00
%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
2020-11-06 03:28:16 +00:00
%{_libexecdir} /osbuild-composer-test/
2020-10-15 20:35:11 +00:00
%{_libexecdir} /tests/osbuild-composer/
%{_datadir} /tests/osbuild-composer/
%endif
%changelog
2024-07-12 10:34:58 +00:00
* Fri Jul 12 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 113-1
- New upstream release
2024-06-12 09:34:12 +00:00
* Wed Jun 12 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 110-1
- New upstream release
2024-06-04 13:05:37 +00:00
* Tue Jun 04 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 109-1
- New upstream release
2024-05-17 07:46:12 +00:00
* Fri May 17 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 108-1
- New upstream release
2024-04-03 09:35:01 +00:00
* Wed Apr 03 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 104-1
- New upstream release
2024-03-06 09:34:31 +00:00
* Wed Mar 06 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 102-1
- New upstream release
2024-02-26 09:22:16 +00:00
* Mon Feb 26 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 101-1
- New upstream release
2024-02-07 09:34:46 +00:00
* Wed Feb 07 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 100-1
- New upstream release
2024-01-24 10:08:33 +00:00
* Wed Jan 24 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 99-1
- New upstream release
2024-01-10 09:35:02 +00:00
* Wed Jan 10 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 98-1
- New upstream release
2023-12-13 09:35:01 +00:00
* Wed Dec 13 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 96-1
- New upstream release
2023-11-29 16:05:40 +00:00
* Wed Nov 29 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 95-1
- New upstream release
2023-11-15 09:35:14 +00:00
* Wed Nov 15 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 94-1
- New upstream release
2023-11-01 09:10:33 +00:00
* Wed Nov 01 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 93-1
- New upstream release
2023-10-18 09:08:14 +00:00
* Wed Oct 18 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 92-1
- New upstream release
2023-10-04 09:05:40 +00:00
* Wed Oct 04 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 91-1
- New upstream release
2023-09-06 15:49:12 +00:00
* Wed Sep 06 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 89-1
- New upstream release
2023-08-24 20:36:37 +00:00
* Thu Aug 24 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 88-1
- New upstream release
2023-08-09 11:34:41 +00:00
* Wed Aug 09 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 87-1
- New upstream release
2023-07-26 09:05:54 +00:00
* Wed Jul 26 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 86-1
- New upstream release
2023-07-14 07:31:34 +00:00
* Fri Jul 14 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 85-1
- New upstream release
2023-06-14 11:02:17 +00:00
* Wed Jun 14 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 84-1
- New upstream release
2023-05-17 09:33:29 +00:00
* Wed May 17 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 82-1
- New upstream release
2023-04-19 09:32:24 +00:00
* Wed Apr 19 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 80-1
- New upstream release
2023-04-05 09:31:39 +00:00
* Wed Apr 05 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 79-1
- New upstream release
2023-03-08 13:32:16 +00:00
* Wed Mar 08 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 77-1
- New upstream release
2023-03-01 14:01:58 +00:00
* Wed Mar 01 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 76-1
- New upstream release
2023-02-22 15:02:19 +00:00
* Wed Feb 22 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 75-1
- New upstream release
2023-02-08 09:31:53 +00:00
* Wed Feb 08 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 74-1
- New upstream release
2023-01-25 09:34:50 +00:00
* Wed Jan 25 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 73-1
- New upstream release
2023-01-11 09:31:43 +00:00
* Wed Jan 11 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 72-1
- New upstream release
2022-12-28 09:31:29 +00:00
* Wed Dec 28 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 71-1
- New upstream release
2022-12-14 13:03:36 +00:00
* Wed Dec 14 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 70-1
- New upstream release
2022-11-30 10:04:53 +00:00
* Wed Nov 30 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 69-1
- New upstream release
2022-11-16 10:01:56 +00:00
* Wed Nov 16 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 68-1
- New upstream release
2022-11-02 09:31:41 +00:00
* Thu Nov 03 2022 Tomas Hozza <thozza@redhat.com> - 67-2
- Fix functional tests to make them pass in RHEL-9.2 gating
2022-11-02 09:31:41 +00:00
* Wed Nov 02 2022 imagebuilder-bots+imagebuilder-bot@redhat.com <imagebuilder-bot> - 67-1
- New upstream release
2022-08-29 09:49:05 +00:00
* Mon Aug 29 2022 Ondřej Budai <ondrej@budai.cz> - 62-1
- New upstream release
2022-08-24 09:32:04 +00:00
* Wed Aug 24 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 60-1
- New upstream release
2022-08-10 09:32:50 +00:00
* Wed Aug 10 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 59-1
- New upstream release
2022-07-28 16:03:12 +00:00
* Thu Jul 28 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 58-1
- New upstream release
2022-07-13 09:32:13 +00:00
* Wed Jul 13 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 57-1
- New upstream release
2022-06-15 09:31:47 +00:00
* Wed Jun 15 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 55-1
- New upstream release
2022-06-01 14:31:35 +00:00
* Wed Jun 01 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 54-1
- New upstream release
2022-05-20 08:01:05 +00:00
* Fri May 20 2022 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 53-1
- New upstream release
2022-05-04 16:17:11 +00:00
* Wed May 04 2022 Ondřej Budai <ondrej@budai.cz> - 51-1
- New upstream release
2022-02-28 23:39:22 +00:00
* Mon Feb 28 2022 Simon Steinbeiss <simon.steinbeiss@redhat.com> - 46-1
- New upstream release
2022-02-18 19:00:59 +00:00
* Fri Feb 18 2022 Ondřej Budai <ondrej@budai.cz> - 45-1
- New upstream release
2022-02-01 18:59:58 +00:00
* Fri Feb 11 2022 Thomas Lavocat <tlavocat@redhat.com> - 44-1
- New upstream release
2022-01-26 10:00:42 +00:00
* Wed Jan 26 2022 Thomas Lavocat <tlavocat@redhat.com> - 43-1
- New upstream release
2022-01-12 14:09:26 +00:00
* Wed Jan 12 2022 Thomas Lavocat <tlavocat@redhat.com> - 42-1
- New upstream release
2021-12-22 14:31:12 +00:00
* Wed Dec 22 2021 Ondřej Budai <ondrej@budai.cz> - 41-1
- New upstream release
2021-12-09 18:00:39 +00:00
* Thu Dec 09 2021 Ondřej Budai <ondrej@budai.cz> - 40-1
- New upstream release
2021-11-24 16:40:58 +00:00
* Wed Nov 24 2021 Chloe Kaubisch <chloe.kaubisch@gmail.com> - 39-1
- New upstream release
2021-11-15 16:23:10 +00:00
* Fri Nov 12 2021 'Diaa Sami' <'<disami@redhat.com>' > - 38-1
- New upstream release
2021-11-02 13:03:50 +00:00
* Tue Nov 02 2021 lavocatt - 37-1
- New upstream release
2021-10-14 13:19:19 +00:00
* Thu Oct 14 2021 Achilleas Koutsou <achilleas@redhat.com> - 36-1
- New upstream release
2021-08-30 17:24:19 +00:00
* Mon Aug 30 2021 Tom Gundersen <teg@jklm.no> - 33-1
- New upstream release
2021-08-29 10:11:01 +00:00
* Sun Aug 29 2021 Tom Gundersen <teg@jklm.no> - 32-1
- New upstream release
2021-08-15 06:00:35 +00:00
* Sun Aug 15 2021 Ondřej Budai <ondrej@budai.cz> - 31-1
- New upstream release
2021-08-09 22:45:49 +00:00
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 30-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
2021-06-15 20:37:11 +00:00
* Fri Jul 02 2021 Ondřej Budai <ondrej@budai.cz> - 30-1
- New upstream release
2021-06-22 18:43:10 +00:00
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 29-3
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
2021-04-16 02:44:44 +00:00
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 29-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
2021-03-11 20:05:12 +00:00
* Fri Mar 05 2021 Martin Sehnoutka <msehnout@redhat.com> - 29-1
- New upstream release
2021-02-20 20:05:42 +00:00
* Sat Feb 20 2021 Martin Sehnoutka <msehnout@redhat.com> - 28-1
- New upstream release
2021-02-17 11:20:37 +00:00
* 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
2020-11-20 21:30:52 +00:00
* Thu Nov 19 2020 Ondrej Budai <obudai@redhat.com> - 25-1
- New upstream release
2020-11-16 21:16:58 +00:00
* Thu Nov 12 2020 Ondrej Budai <obudai@redhat.com> - 24-1
- New upstream release
2020-11-06 03:28:16 +00:00
* Fri Nov 06 2020 Ondrej Budai <obudai@redhat.com> - 23-1
- New upstream release
2020-10-27 20:40:50 +00:00
* Fri Oct 16 2020 Ondrej Budai <obudai@redhat.com> - 22-1
- New upstream release
2020-10-15 20:35:11 +00:00
* 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)