|
|
|
@ -9,7 +9,7 @@
|
|
|
|
|
|
|
|
|
|
%global goipath github.com/osbuild/osbuild-composer
|
|
|
|
|
|
|
|
|
|
Version: 75
|
|
|
|
|
Version: 100
|
|
|
|
|
|
|
|
|
|
%gometa
|
|
|
|
|
|
|
|
|
@ -22,7 +22,7 @@ It is compatible with composer-cli and cockpit-composer clients.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Name: osbuild-composer
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
Release: 1%{?dist}.alma
|
|
|
|
|
Summary: An image building service based on osbuild
|
|
|
|
|
|
|
|
|
|
# osbuild-composer doesn't have support for building i686 and armv7hl images
|
|
|
|
@ -33,6 +33,8 @@ License: Apache-2.0
|
|
|
|
|
URL: %{gourl}
|
|
|
|
|
Source0: %{gosource}
|
|
|
|
|
|
|
|
|
|
Patch100: 0001-AlmaLinux-support-patch.patch
|
|
|
|
|
Patch101: 0001-Remove-libreport-rhel-anaconda-bugzilla-from-anacond.patch
|
|
|
|
|
|
|
|
|
|
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
|
|
|
|
|
BuildRequires: systemd
|
|
|
|
@ -42,9 +44,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
|
|
|
|
@ -78,6 +84,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,
|
|
|
|
@ -87,8 +103,8 @@ 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
|
|
|
|
|
|
|
|
|
|
make man
|
|
|
|
|
|
|
|
|
@ -107,16 +123,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-composer-manifest-tests %{goipath}/cmd/osbuild-composer-manifest-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
|
|
|
|
|
|
|
|
|
@ -128,29 +143,11 @@ install -m 0755 -vp dnf-json %{buildroot}%
|
|
|
|
|
|
|
|
|
|
# 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/
|
|
|
|
|
%if 0%{?almalinux}
|
|
|
|
|
%if 0%{?almalinux} >= 9
|
|
|
|
|
install -m 0644 -vp repositories/almalinux-* %{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
|
|
|
|
|
install -m 0644 -vp repositories/almalinux-8* %{buildroot}%{_datadir}/osbuild-composer/repositories/
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
@ -180,7 +177,6 @@ install -m 0755 -vp _bin/osbuild-image-tests %{buildroot}%
|
|
|
|
|
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/osbuild-service-maintenance-tests %{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/
|
|
|
|
@ -196,7 +192,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/
|
|
|
|
|
|
|
|
|
@ -251,7 +246,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}
|
|
|
|
@ -261,13 +256,13 @@ cd $PWD/_build/src/%{goipath}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
|
|
|
|
%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket
|
|
|
|
|
|
|
|
|
|
%preun
|
|
|
|
|
%systemd_preun osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
|
|
|
|
%systemd_preun osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket
|
|
|
|
|
|
|
|
|
|
%postun
|
|
|
|
|
%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
|
|
|
|
%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license LICENSE
|
|
|
|
@ -276,6 +271,7 @@ cd $PWD/_build/src/%{goipath}
|
|
|
|
|
%{_unitdir}/osbuild-composer.service
|
|
|
|
|
%{_unitdir}/osbuild-composer.socket
|
|
|
|
|
%{_unitdir}/osbuild-composer-api.socket
|
|
|
|
|
%{_unitdir}/osbuild-composer-prometheus.socket
|
|
|
|
|
%{_unitdir}/osbuild-local-worker.socket
|
|
|
|
|
%{_unitdir}/osbuild-remote-worker.socket
|
|
|
|
|
%{_sysusersdir}/osbuild-composer.conf
|
|
|
|
@ -295,10 +291,10 @@ 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 >= 80
|
|
|
|
|
Requires: osbuild-ostree >= 80
|
|
|
|
|
Requires: osbuild-lvm2 >= 80
|
|
|
|
|
Requires: osbuild-luks2 >= 80
|
|
|
|
|
Requires: osbuild >= 98
|
|
|
|
|
Requires: osbuild-ostree >= 98
|
|
|
|
|
Requires: osbuild-lvm2 >= 98
|
|
|
|
|
Requires: osbuild-luks2 >= 98
|
|
|
|
|
Requires: %{name}-dnf-json = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%description worker
|
|
|
|
@ -417,6 +413,69 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Wed Mar 27 2024 Eduard Abdullin <eabdullin@almalinux.org> - 100-1.alma
|
|
|
|
|
- Install AlmaLinux repositories
|
|
|
|
|
- Add AlmaLinux support patch (Thanks @pastalian)
|
|
|
|
|
- Remove libreport-rhel-bugzilla from package set
|
|
|
|
|
|
|
|
|
|
* Wed Feb 07 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 100-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
* Wed Jan 24 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 99-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Jan 10 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 98-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Dec 13 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 96-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Nov 29 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 95-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Nov 15 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 94-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Nov 01 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 93-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Oct 18 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 92-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Oct 04 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 91-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Thu Sep 21 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 90-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Sep 06 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 89-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Thu Aug 24 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 88-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
* Wed Aug 09 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 87-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Jul 26 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 86-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Fri Jul 14 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 85-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Jun 14 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 84-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed May 17 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 82-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Apr 19 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 80-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Apr 05 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 79-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Mar 08 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 77-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|
* Wed Feb 22 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 75-1
|
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
|
|