diff --git a/.gitignore b/.gitignore index 8a2e2b2..006e3d3 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /osbuild-composer-29.tar.gz /osbuild-composer-30.tar.gz /osbuild-composer-31.tar.gz +/osbuild-composer-35.tar.gz diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..aedea9d --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,22 @@ +# https://packit.dev/docs/configuration/ + +specfile_path: osbuild-composer.spec + +synced_files: + - osbuild-composer.spec + - .packit.yaml + +upstream_package_name: osbuild-composer +downstream_package_name: osbuild-composer + +upstream_tag_template: v{version} + +actions: + get-current-version: bash -c "git describe --tags --abbrev=0 | sed 's|v||'" + +jobs: +- job: propose_downstream + trigger: release + metadata: + dist_git_branches: + - fedora-all \ No newline at end of file diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..c4a256c --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 0.37.1.dev6+g093e8e1. diff --git a/osbuild-composer.spec b/osbuild-composer.spec index 18e6f81..1dac340 100644 --- a/osbuild-composer.spec +++ b/osbuild-composer.spec @@ -4,7 +4,7 @@ %global goipath github.com/osbuild/osbuild-composer -Version: 31 +Version: 35 %gometa @@ -46,6 +46,7 @@ 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) @@ -56,6 +57,8 @@ 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) @@ -80,9 +83,11 @@ Conflicts: lorax-composer Obsoletes: lorax-composer < 34.3 %endif -# remove in F34 +# 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 @@ -103,7 +108,9 @@ Obsoletes: osbuild-composer-koji <= 23 # 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/openapi.gen.go +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 @@ -118,6 +125,14 @@ 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 @@ -146,6 +161,7 @@ go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-auth-tes 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 @@ -155,8 +171,38 @@ install -m 0755 -vp _bin/osbuild-composer %{buildroot}%{_l 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 -install -m 0644 -vp repositories/* %{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}/ @@ -180,6 +226,7 @@ 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/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/ @@ -188,6 +235,7 @@ install -m 0755 -vp tools/image-info %{buildroot}%{_l 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/ @@ -225,6 +273,9 @@ install -m 0644 -vp test/data/koji/* %{buildroot}%{_d 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/ @@ -276,8 +327,8 @@ 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 >= 29 -Requires: osbuild-ostree >= 29 +Requires: osbuild >= 37 +Requires: osbuild-ostree >= 37 # remove in F34 Obsoletes: golang-github-osbuild-composer-worker < %{version}-%{release} @@ -345,7 +396,11 @@ 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} @@ -370,6 +425,90 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog +* Sat Oct 02 2021 Packit Service - 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 - 31-1 - New upstream release diff --git a/sources b/sources index 377266b..93adf1d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-composer-31.tar.gz) = 4a1acd5f131587f73c91f4185ec7c229ad47de613302aaf792916f49ead4643dcb58482b66a730e86b9040711fef589e2d113c7e21a72772cee4ca63e4bba276 +SHA512 (osbuild-composer-35.tar.gz) = cdfb8b8bb38221db263a77892a5640c0adee11cec7444b5cea6d2227e55d8185d2b7662cfb8ed64519fe6978b7b111fdc9311c67b1ade98a547cf8f4fde6ab08