From 0659f82bfa8c20d3d480ab22a978c6c09dfa7ea8 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Wed, 17 Feb 2021 12:20:37 +0100 Subject: [PATCH] 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#3a5afba36c592f25da80b83ac818ebdd121bd0ec --- .gitignore | 2 ++ fix-azure-dependency.patch | 31 ++++++++++++++++++++ osbuild-composer.spec | 59 ++++++++++++++++++++++++++++++-------- sources | 2 +- 4 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 fix-azure-dependency.patch diff --git a/.gitignore b/.gitignore index 66054c5..cdc5f1b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ /osbuild-composer-23.tar.gz /osbuild-composer-24.tar.gz /osbuild-composer-25.tar.gz +/osbuild-composer-26.tar.gz +/osbuild-composer-27.tar.gz diff --git a/fix-azure-dependency.patch b/fix-azure-dependency.patch new file mode 100644 index 0000000..f16bf68 --- /dev/null +++ b/fix-azure-dependency.patch @@ -0,0 +1,31 @@ +diff --git a/internal/upload/azure/azure.go b/internal/upload/azure/azure.go +index 8e18fe78..a5d8f857 100644 +--- a/internal/upload/azure/azure.go ++++ b/internal/upload/azure/azure.go +@@ -83,7 +83,7 @@ func UploadImage(credentials Credentials, metadata ImageMetadata, fileName strin + + // Create page blob URL. Page blob is required for VM images + blobURL := containerURL.NewPageBlobURL(metadata.ImageName) +- _, err = blobURL.Create(ctx, stat.Size(), 0, azblob.BlobHTTPHeaders{}, azblob.Metadata{}, azblob.BlobAccessConditions{}) ++ _, err = blobURL.Create(ctx, stat.Size(), 0, azblob.BlobHTTPHeaders{}, azblob.Metadata{}, azblob.BlobAccessConditions{}, azblob.PremiumPageBlobAccessTierNone, azblob.BlobTagsMap{}, azblob.ClientProvidedKeyOptions{}) + if err != nil { + return fmt.Errorf("cannot create the blob URL: %v", err) + } +@@ -122,7 +122,7 @@ func UploadImage(credentials Credentials, metadata ImageMetadata, fileName strin + semaphore <- 1 + go func(counter int64, buffer []byte, n int) { + defer wg.Done() +- _, err = blobURL.UploadPages(ctx, counter*azblob.PageBlobMaxUploadPagesBytes, bytes.NewReader(buffer[:n]), azblob.PageBlobAccessConditions{}, nil) ++ _, err = blobURL.UploadPages(ctx, counter*azblob.PageBlobMaxUploadPagesBytes, bytes.NewReader(buffer[:n]), azblob.PageBlobAccessConditions{}, nil, azblob.ClientProvidedKeyOptions{}) + if err != nil { + err = fmt.Errorf("uploading a page failed: %v", err) + // Send the error to the error channel in a non-blocking way. If there is already an error, just discard this one +@@ -144,7 +144,7 @@ func UploadImage(credentials Credentials, metadata ImageMetadata, fileName strin + default: + } + // Check properties, specifically MD5 sum of the blob +- props, err := blobURL.GetProperties(ctx, azblob.BlobAccessConditions{}) ++ props, err := blobURL.GetProperties(ctx, azblob.BlobAccessConditions{}, azblob.ClientProvidedKeyOptions{}) + if err != nil { + return fmt.Errorf("getting the properties of the new blob failed: %v", err) + } diff --git a/osbuild-composer.spec b/osbuild-composer.spec index de906d0..e43663b 100644 --- a/osbuild-composer.spec +++ b/osbuild-composer.spec @@ -4,7 +4,7 @@ %global goipath github.com/osbuild/osbuild-composer -Version: 25 +Version: 27 %gometa @@ -31,6 +31,8 @@ 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 @@ -54,9 +56,9 @@ BuildRequires: golang(github.com/ubccr/kerby) BuildRequires: golang(github.com/vmware/govmomi) %endif +Requires: %{name}-core = %{version}-%{release} Requires: %{name}-worker = %{version}-%{release} Requires: systemd -Requires: qemu-img Provides: weldr @@ -89,17 +91,19 @@ Obsoletes: osbuild-composer-koji <= 23 %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. +# Fedora 32 and older ships different kolo/xmlrpc and azure/azblob APIs. 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 +# Remove the build constraint from the wrappers of the old APIs sed -i "s$// +build kolo_xmlrpc_oldapi$// +build !kolo_xmlrpc_oldapi$" internal/upload/koji/xmlrpc-response-oldapi.go +sed -i "s$// +build azblob_oldapi$// +build !azblob_oldapi$" internal/upload/azure/page_blob_url_oldapi.go -# Add a build constraint to the wrapper of the new API +# Add a build constraint to the wrappers of the new APIs sed -i "s$// +build !kolo_xmlrpc_oldapi$// +build kolo_xmlrpc_oldapi$" internal/upload/koji/xmlrpc-response.go +sed -i "s$// +build !azblob_oldapi$// +build azblob_oldapi$" internal/upload/azure/page_blob_url.go %endif %build @@ -117,6 +121,7 @@ export GOFLAGS=-mod=vendor %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} @@ -160,6 +165,9 @@ install -m 0644 -vp distribution/osbuild-composer.conf %{buildroot}%{_s 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 @@ -171,9 +179,11 @@ install -m 0755 -vp _bin/osbuild-auth-tests %{buildroot}%{_l install -m 0755 -vp _bin/osbuild-koji-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp _bin/cloud-cleaner %{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/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 -vd %{buildroot}%{_libexecdir}/tests/osbuild-composer install -m 0755 -vp test/cases/* %{buildroot}%{_libexecdir}/tests/osbuild-composer/ @@ -239,9 +249,7 @@ cd $PWD/_build/src/%{goipath} %files %license LICENSE %doc README.md -%{_libexecdir}/osbuild-composer/osbuild-composer -%{_libexecdir}/osbuild-composer/dnf-json -%{_datadir}/osbuild-composer/ +%{_mandir}/man7/%{name}.7* %{_unitdir}/osbuild-composer.service %{_unitdir}/osbuild-composer.socket %{_unitdir}/osbuild-composer-api.socket @@ -249,9 +257,21 @@ cd $PWD/_build/src/%{goipath} %{_unitdir}/osbuild-remote-worker.socket %{_sysusersdir}/osbuild-composer.conf +%package core +Summary: The core osbuild-composer binary + +%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 +%{_libexecdir}/osbuild-composer/dnf-json +%{_datadir}/osbuild-composer/ + %package worker Summary: The worker for osbuild-composer Requires: systemd +Requires: qemu-img Requires: osbuild >= 23 Requires: osbuild-ostree >= 23 @@ -298,7 +318,6 @@ Requires: unzip Requires: container-selinux Requires: dnsmasq Requires: krb5-workstation -Requires: koji Requires: podman Requires: python3 Requires: sssd-krb5 @@ -319,11 +338,15 @@ Requires: qemu-kvm Requires: virt-install Requires: expect Requires: python3-lxml -Requires: ansible Requires: httpd Requires: openssl %if 0%{?fedora} Requires: podman-plugins +# 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 @@ -340,6 +363,18 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog +* Thu Feb 04 2021 Ondrej Budai - 27-1 +- New upstream release + +* Tue Jan 26 2021 Fedora Release Engineering - 26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 17 2020 Ondrej Budai - 26-2 +- Fix the compatibility with a new golang-github-azure-storage-blob 0.12 + +* Thu Dec 17 2020 Ondrej Budai - 26-1 +- New upstream release + * Thu Nov 19 2020 Ondrej Budai - 25-1 - New upstream release diff --git a/sources b/sources index 5a5fb2c..6895612 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-composer-25.tar.gz) = dcabcd59a361bf5eef3989e413902837b2d69fca58445d617b3c83bdba899048c8a53b04b9bb408207a3f7af505bc6cd703c3048c59ed5c0c74eb8b40b03ea5c +SHA512 (osbuild-composer-27.tar.gz) = 83d2a40fa638f9264a171bae22341eab41b564701cd0d7740e088fc2f1fc1534441118d9d935a9ba56e860c7c0772fedd8576b8eff74cdab2d89627654b8cbf8