Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/osbuild-composer.git#d9e66c859525d0396e1db1bc27c2a6c014dc9f5b
This commit is contained in:
parent
2ecada9614
commit
719c031c0b
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@
|
||||
/osbuild-composer-18.tar.gz
|
||||
/osbuild-composer-19.tar.gz
|
||||
/osbuild-composer-20.tar.gz
|
||||
/osbuild-composer-22.tar.gz
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
%global goipath github.com/osbuild/osbuild-composer
|
||||
|
||||
Version: 20
|
||||
Version: 22
|
||||
|
||||
%gometa
|
||||
|
||||
@ -15,7 +15,7 @@ As such, it is a drop-in replacement.
|
||||
}
|
||||
|
||||
Name: osbuild-composer
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: An image building service based on osbuild
|
||||
|
||||
# osbuild-composer doesn't have support for building i686 images
|
||||
@ -30,6 +30,7 @@ Source0: %{gosource}
|
||||
|
||||
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
|
||||
BuildRequires: systemd
|
||||
BuildRequires: krb5-devel
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: git
|
||||
@ -39,12 +40,17 @@ 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/google/uuid)
|
||||
BuildRequires: golang(github.com/julienschmidt/httprouter)
|
||||
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/stretchr/testify/assert)
|
||||
BuildRequires: golang(github.com/ubccr/kerby)
|
||||
BuildRequires: golang(github.com/vmware/govmomi)
|
||||
%endif
|
||||
|
||||
@ -61,6 +67,12 @@ 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 in F34
|
||||
Obsoletes: golang-github-osbuild-composer < %{version}-%{release}
|
||||
Provides: golang-github-osbuild-composer = %{version}-%{release}
|
||||
@ -75,6 +87,20 @@ Provides: golang-github-osbuild-composer = %{version}-%{release}
|
||||
%goprep
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} && 0%{?fedora} <= 32
|
||||
# Fedora 32 and older ships a different kolo/xmlrpc API. We cannot specify
|
||||
# build tags in gobuild macro because the macro itself specifies build tags.
|
||||
# and -tags argument cannot be used more than once.
|
||||
# Therefore, this ugly hack with build tags switcharoo is required.
|
||||
# Remove when F32 is EOL.
|
||||
|
||||
# Remove the build constraint from the wrapper of the old API
|
||||
sed -i "s$// +build kolo_xmlrpc_oldapi$// +build !kolo_xmlrpc_oldapi$" internal/upload/koji/xmlrpc-response-oldapi.go
|
||||
|
||||
# Add a build constraint to the wrapper of the new API
|
||||
sed -i "s$// +build !kolo_xmlrpc_oldapi$// +build kolo_xmlrpc_oldapi$" internal/upload/koji/xmlrpc-response.go
|
||||
%endif
|
||||
|
||||
%build
|
||||
%if 0%{?rhel}
|
||||
GO_BUILD_PATH=$PWD/_build
|
||||
@ -106,49 +132,94 @@ 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-tests %{goipath}/cmd/osbuild-tests
|
||||
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 build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/cloud-cleaner %{goipath}/cmd/cloud-cleaner
|
||||
|
||||
%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/
|
||||
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/osbuild-composer/repositories
|
||||
install -m 0644 -vp repositories/* %{buildroot}%{_datadir}/osbuild-composer/repositories/
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/osbuild-composer/repositories
|
||||
install -m 0644 -vp repositories/* %{buildroot}%{_datadir}/osbuild-composer/repositories/
|
||||
|
||||
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/osbuild-composer.service %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-composer.socket %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-remote-worker.socket %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-remote-worker@.service %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-worker@.service %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-composer-api.socket %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-composer-koji.socket %{buildroot}%{_unitdir}/
|
||||
install -m 0755 -vd %{buildroot}%{_unitdir}
|
||||
install -m 0644 -vp distribution/osbuild-composer.{service,socket} %{buildroot}%{_unitdir}/
|
||||
install -m 0644 -vp distribution/osbuild-*worker*.{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
|
||||
|
||||
%if %{with tests} || 0%{?rhel}
|
||||
|
||||
install -m 0755 -vd %{buildroot}%{_libexecdir}/tests/osbuild-composer
|
||||
install -m 0755 -vp _bin/osbuild-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-weldr-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-dnf-json-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-image-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp tools/image-info %{buildroot}%{_libexecdir}/osbuild-composer/
|
||||
install -m 0755 -vd %{buildroot}%{_libexecdir}/tests/osbuild-composer
|
||||
install -m 0755 -vp _bin/osbuild-composer-cli-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-weldr-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-dnf-json-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-image-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/osbuild-auth-tests %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp test/cmd/* %{buildroot}%{_libexecdir}/tests/osbuild-composer/
|
||||
install -m 0755 -vp _bin/cloud-cleaner %{buildroot}%{_libexecdir}/osbuild-composer/
|
||||
install -m 0755 -vp tools/image-info %{buildroot}%{_libexecdir}/osbuild-composer/
|
||||
install -m 0755 -vp tools/run-koji-container.sh %{buildroot}%{_libexecdir}/osbuild-composer/
|
||||
install -m 0755 -vp tools/koji-compose.py %{buildroot}%{_libexecdir}/osbuild-composer/
|
||||
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer
|
||||
install -m 0644 -vp test/azure-deployment-template.json %{buildroot}%{_datadir}/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/cases
|
||||
install -m 0644 -vp test/cases/* %{buildroot}%{_datadir}/tests/osbuild-composer/cases/
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/keyring
|
||||
install -m 0600 -vp test/keyring/* %{buildroot}%{_datadir}/tests/osbuild-composer/keyring/
|
||||
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/cloud-init
|
||||
install -m 0644 -vp test/cloud-init/* %{buildroot}%{_datadir}/tests/osbuild-composer/cloud-init/
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/ca
|
||||
install -m 0755 -vp test/data/ca/ca-crt.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
install -m 0600 -vp test/data/ca/ca-key.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
install -m 0755 -vp test/data/ca/composer-crt.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
install -m 0600 -vp test/data/ca/composer-key.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
install -m 0755 -vp test/data/ca/worker-crt.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
install -m 0600 -vp test/data/ca/worker-key.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
|
||||
# Client keys are used by tests to access the composer APIs. Allow all users access.
|
||||
install -m 0755 -vp test/data/ca/client-crt.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
install -m 0755 -vp test/data/ca/client-key.pem %{buildroot}%{_datadir}/tests/osbuild-composer/ca/
|
||||
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/cases
|
||||
install -m 0644 -vp test/data/cases/* %{buildroot}%{_datadir}/tests/osbuild-composer/cases/
|
||||
|
||||
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/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/
|
||||
|
||||
%if 0%{?rhel}
|
||||
install -m 0755 -vd %{buildroot}%{_datadir}/tests/osbuild-composer/vendor
|
||||
install -m 0644 -vp test/data/vendor/87-podman-bridge.conflist %{buildroot}%{_datadir}/tests/osbuild-composer/vendor/
|
||||
install -m 0755 -vp test/data/vendor/dnsname %{buildroot}%{_datadir}/tests/osbuild-composer/vendor/
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
@ -164,13 +235,13 @@ cd $PWD/_build/src/%{goipath}
|
||||
%endif
|
||||
|
||||
%post
|
||||
%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-remote-worker.socket
|
||||
%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-remote-worker.socket
|
||||
%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-remote-worker.socket
|
||||
%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
@ -180,6 +251,7 @@ cd $PWD/_build/src/%{goipath}
|
||||
%{_datadir}/osbuild-composer/
|
||||
%{_unitdir}/osbuild-composer.service
|
||||
%{_unitdir}/osbuild-composer.socket
|
||||
%{_unitdir}/osbuild-composer-api.socket
|
||||
%{_unitdir}/osbuild-remote-worker.socket
|
||||
%{_sysusersdir}/osbuild-composer.conf
|
||||
|
||||
@ -221,11 +293,43 @@ systemctl stop "osbuild-worker@*.service" "osbuild-remote-worker@*.service"
|
||||
%package tests
|
||||
Summary: Integration tests
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-koji = %{version}-%{release}
|
||||
Requires: composer-cli
|
||||
Requires: createrepo_c
|
||||
Requires: genisoimage
|
||||
Requires: qemu-kvm-core
|
||||
Requires: systemd-container
|
||||
Requires: jq
|
||||
Requires: unzip
|
||||
Requires: container-selinux
|
||||
Requires: dnsmasq
|
||||
Requires: krb5-workstation
|
||||
Requires: koji
|
||||
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: ansible
|
||||
Requires: httpd
|
||||
%if 0%{?fedora}
|
||||
Requires: podman-plugins
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
Requires: edk2-aarch64
|
||||
%endif
|
||||
@ -236,11 +340,44 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c
|
||||
%files tests
|
||||
%{_libexecdir}/tests/osbuild-composer/
|
||||
%{_datadir}/tests/osbuild-composer/
|
||||
%{_libexecdir}/osbuild-composer/cloud-cleaner
|
||||
%{_libexecdir}/osbuild-composer/image-info
|
||||
%{_libexecdir}/osbuild-composer/run-koji-container.sh
|
||||
%{_libexecdir}/osbuild-composer/koji-compose.py
|
||||
|
||||
%endif
|
||||
|
||||
%package koji
|
||||
Summary: osbuild-composer for pushing images to Koji
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
# remove in F34
|
||||
Obsoletes: golang-github-osbuild-composer-rcm < %{version}-%{release}
|
||||
Provides: golang-github-osbuild-composer-rcm = %{version}-%{release}
|
||||
# remove in the future
|
||||
Obsoletes: osbuild-composer-rcm < %{version}-%{release}
|
||||
Provides: osbuild-composer-rcm = %{version}-%{release}
|
||||
|
||||
%description koji
|
||||
osbuild-composer specifically for pushing images to Koji. This package is only
|
||||
needed for backwards compatibility and will be removed in the future.
|
||||
|
||||
%files koji
|
||||
%{_unitdir}/osbuild-composer-koji.socket
|
||||
|
||||
%post koji
|
||||
%systemd_post osbuild-composer-koji.socket
|
||||
|
||||
%preun koji
|
||||
%systemd_preun osbuild-composer-koji.socket
|
||||
|
||||
%postun koji
|
||||
%systemd_postun_with_restart osbuild-composer-koji.socket
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (osbuild-composer-20.tar.gz) = 08af438be4adcd9911800beac8f457296db1eb37000d14b7c14944eb93c7486379658d55e716683f36d5cc69260339552452118d1a41f0dbb82fac49d8d4e360
|
||||
SHA512 (osbuild-composer-22.tar.gz) = 23b13d8f36126726fb3dafdbfdddb752adae90f88046698ef900cd45abc7c249643628baacc297eac6287814fce65e2c97a9a6aa86a475bff2e98b054325f66a
|
||||
|
Loading…
Reference in New Issue
Block a user