From 69ddb9d52322d177450603921e062a2a6f6687e3 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 5 Mar 2020 13:35:49 +0100 Subject: [PATCH 01/30] 9 upstream release - Remove host runner links, now being auto-detected - Cleanup spec file to not mix spaces and tabs --- .gitignore | 1 + osbuild.spec | 23 +++++++---------------- sources | 2 +- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 89a2778..0f57b26 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /6.tar.gz /7.tar.gz /osbuild-8.tar.gz +/osbuild-9.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 8028613..5f6d30c 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ -%global forgeurl https://github.com/osbuild/osbuild +%global forgeurl https://github.com/osbuild/osbuild -Version: 8 +Version: 9 %forgemeta @@ -70,20 +70,6 @@ install -p -m 0755 $(find sources -type f) %{buildroot}%{pkgdir}/sources mkdir -p %{buildroot}%{pkgdir}/stages/osbuild mkdir -p %{buildroot}%{pkgdir}/assemblers/osbuild -# install host runner -%if 0%{?fc30} -ln -s org.osbuild.fedora30 %{buildroot}%{pkgdir}/runners/org.osbuild.host -%endif -%if 0%{?fc31} -ln -s org.osbuild.fedora31 %{buildroot}%{pkgdir}/runners/org.osbuild.host -%endif -%if 0%{?fc32} -ln -s org.osbuild.fedora32 %{buildroot}%{pkgdir}/runners/org.osbuild.host -%endif -%if 0%{?el8} -ln -s org.osbuild.rhel82 %{buildroot}%{pkgdir}/runners/org.osbuild.host -%endif - %check exit 0 # We have some integration tests, but those require running a VM, so that would @@ -101,6 +87,11 @@ exit 0 %{python3_sitelib}/%{pypi_name}/ %changelog +* Thu Mar 5 2020 Christian Kellner - 9-1 +- new upstream release: 8 +- Remove host runner link, it now is being auto-detected +- Cleanup use of mixed use of spaces/tabs + * Wed Jan 29 2020 Fedora Release Engineering - 7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index c1f3344..c7441cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-8.tar.gz) = c553f6599149e29f3d299a22e9aa543163af38cdd0a5e17530c89c536436c1bc0278166a3bea036b470d5ce7beca5cfca936c5e77c21661c26a0ca85e4c14304 +SHA512 (osbuild-9.tar.gz) = f20fd6c6dbca2cb3b0b88614558495e7f97644a25d2bc8af1af3e15e52f49eacbdb3e3eb93bda19a4085b5a8e086e56442b1cb7e2fd1e51204efe44b4191bea6 From 104ca312c056dd30fc89f240637afa42c72493b4 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 19 Mar 2020 09:58:16 +0100 Subject: [PATCH 02/30] 10 upstream release Following changes: - build and include man pages, this adds 'make' and 'python3-docutils' to the build requirements - add NEWS.md file with the release notes Minor whitespace cleanups and correction of the previous changelog entry that had the wrong version number. --- .gitignore | 1 + osbuild.spec | 53 ++++++++++++++++++++++++++++++++++------------------ sources | 2 +- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 0f57b26..d4ae143 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /7.tar.gz /osbuild-8.tar.gz /osbuild-9.tar.gz +/osbuild-10.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 5f6d30c..63bb21e 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/osbuild/osbuild -Version: 9 +Version: 10 %forgemeta @@ -17,21 +17,23 @@ Source0: %{forgesource} BuildArch: noarch Summary: A build system for OS images +BuildRequires: make BuildRequires: python3-devel +BuildRequires: python3-docutils -Requires: bash -Requires: coreutils -Requires: curl -Requires: dnf -Requires: e2fsprogs -Requires: glibc -Requires: policycoreutils -Requires: qemu-img -Requires: systemd -Requires: systemd-container -Requires: tar -Requires: util-linux -Requires: python3-%{pypi_name} +Requires: bash +Requires: coreutils +Requires: curl +Requires: dnf +Requires: e2fsprogs +Requires: glibc +Requires: policycoreutils +Requires: qemu-img +Requires: systemd +Requires: systemd-container +Requires: tar +Requires: util-linux +Requires: python3-%{pypi_name} %{?python_enable_dependency_generator} @@ -42,7 +44,7 @@ A build system for OS images Summary: %{summary} %{?python_provide:%python_provide python3-%{pypi_name}} -%description -n python3-%{pypi_name} +%description -n python3-%{pypi_name} A build system for OS images %prep @@ -50,6 +52,7 @@ A build system for OS images %build %py3_build +make man %install %py3_install @@ -70,6 +73,12 @@ install -p -m 0755 $(find sources -type f) %{buildroot}%{pkgdir}/sources mkdir -p %{buildroot}%{pkgdir}/stages/osbuild mkdir -p %{buildroot}%{pkgdir}/assemblers/osbuild +# documentation +mkdir -p %{buildroot}%{_mandir}/man1 +mkdir -p %{buildroot}%{_mandir}/man5 +install -p -m 0644 -t %{buildroot}%{_mandir}/man1/ docs/*.1 +install -p -m 0644 -t %{buildroot}%{_mandir}/man5/ docs/*.5 + %check exit 0 # We have some integration tests, but those require running a VM, so that would @@ -78,17 +87,25 @@ exit 0 %files %license LICENSE %{_bindir}/osbuild +%{_mandir}/man1/%{name}.1* +%{_mandir}/man5/%{name}-manifest.5* %{pkgdir} -%files -n python3-%{pypi_name} +%files -n python3-%{pypi_name} %license LICENSE -%doc README.md +%doc README.md NEWS.md %{python3_sitelib}/%{pypi_name}-*.egg-info/ %{python3_sitelib}/%{pypi_name}/ %changelog +* Thu Mar 19 2020 Christian Kellner - 10-1 +- new upstream release 10 +- build and include man pages, this adds 'make' and 'python3-docutils' + to the build requirements +- add NEWS.md file with the release notes + * Thu Mar 5 2020 Christian Kellner - 9-1 -- new upstream release: 8 +- new upstream release: 9 - Remove host runner link, it now is being auto-detected - Cleanup use of mixed use of spaces/tabs diff --git a/sources b/sources index c7441cb..2261e56 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-9.tar.gz) = f20fd6c6dbca2cb3b0b88614558495e7f97644a25d2bc8af1af3e15e52f49eacbdb3e3eb93bda19a4085b5a8e086e56442b1cb7e2fd1e51204efe44b4191bea6 +SHA512 (osbuild-10.tar.gz) = 0004ee8009ab7186e54c4b1c579a384e06fb3ca6be948b0050965ad341bdfaa73c269832033be3520761da920303e1645aa79c6048accf7670813b172b966622 From e8c93925f18d2565f06f72a7cf2f46024fe3d207 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 2 Apr 2020 10:29:02 +0200 Subject: [PATCH 03/30] ci: add smoke test and enable gating Add a simple smoke test that currently just executes osbuild with the '--help' option to check that it can run at all. Gate for rawhide (via bodhi_update_push_stable) and for stable (via bodhi_update_push_testing) on a minimum of dist checks as well as the smoke test above. --- gating.yaml | 18 ++++++++++++++++++ tests/tests.yml | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 gating.yaml create mode 100644 tests/tests.yml diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..d566cae --- /dev/null +++ b/gating.yaml @@ -0,0 +1,18 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +rules: + - !PassingTestCaseRule {test_case_name: dist.rpmgrill.spec-file-sanity} + - !PassingTestCaseRule {test_case_name: dist.python-versions} + - !PassingTestCaseRule {test_case_name: dist.depcheck} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: dist.rpmgrill.spec-file-sanity} + - !PassingTestCaseRule {test_case_name: dist.python-versions} + - !PassingTestCaseRule {test_case_name: dist.depcheck} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..06313a0 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,17 @@ +--- +- hosts: localhost + roles: + - role: standard-test-source + tags: + - always + - role: standard-test-basic + tags: + - atomic + - classic + required_packages: + - osbuild + tests: + - smoke: + dir: smoke + run: osbuild --help + From 9a1dd6bb50b1f1e0487cfa6b3d0f3d1b923619ff Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 2 Apr 2020 13:58:45 +0200 Subject: [PATCH 04/30] 11 upstream release Turn of dependency generator for internal components since those were generating a dependency for python3.6 due to the rhel runner. --- .gitignore | 1 + osbuild.spec | 12 +++++++++++- sources | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d4ae143..b604c05 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /osbuild-8.tar.gz /osbuild-9.tar.gz /osbuild-10.tar.gz +/osbuild-11.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 63bb21e..f2f9f0d 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/osbuild/osbuild -Version: 10 +Version: 11 %forgemeta @@ -35,6 +35,12 @@ Requires: tar Requires: util-linux Requires: python3-%{pypi_name} +# Turn off dependency generators for assemblers, runners and stages. +# They run in a container, so there's no reason to generate dependencies +# from them. As of 2020-03-25 this filters out python3.6 dependency generated +# by rhel runner. +%global __requires_exclude_from ^%{pkgdir}/(assemblers|runners|stages)/.*$ + %{?python_enable_dependency_generator} %description @@ -98,6 +104,10 @@ exit 0 %{python3_sitelib}/%{pypi_name}/ %changelog +* Thu Apr 2 2020 Christian Kellner - 11-1 +- new upstream release 11 +- Turn of dependency generator for internal components + * Thu Mar 19 2020 Christian Kellner - 10-1 - new upstream release 10 - build and include man pages, this adds 'make' and 'python3-docutils' diff --git a/sources b/sources index 2261e56..85d20a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-10.tar.gz) = 0004ee8009ab7186e54c4b1c579a384e06fb3ca6be948b0050965ad341bdfaa73c269832033be3520761da920303e1645aa79c6048accf7670813b172b966622 +SHA512 (osbuild-11.tar.gz) = b58b2783ae525a65d5ce78faa62fda22ae912f7750e325b8916fa4e81a42e3eaaeb82a2a7c82665d5731aeb2b83344a950d47557220b4814f50eeb7f9f908ab4 From e29a02c3a9e82c23b8053efbd1fc6fa5dfae49b8 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 2 Apr 2020 15:06:57 +0200 Subject: [PATCH 05/30] tests: try to actually build an image Run osbuild and try to build one of the samples provided, i.e. source/samples/base-rpm-qcow2.json. --- tests/tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/tests.yml b/tests/tests.yml index 06313a0..30c32b0 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -14,4 +14,6 @@ - smoke: dir: smoke run: osbuild --help - + - image: + dir: . + run: osbuild source/samples/base-rpm-qcow2.json From 0d155515aafefb8a6e266216abfaab8f7c1a3e33 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 2 Apr 2020 15:02:09 +0200 Subject: [PATCH 06/30] gating: drop dist.depcheck Although mentioned in the docs, this check is obsolete[1] but the replacement[2] seems to be not running as well, so just drop that check. [1] https://fedoraproject.org/wiki/Taskotron/Tasks/dist.depcheck [2] https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmdeplint --- gating.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/gating.yaml b/gating.yaml index d566cae..77f3d4c 100644 --- a/gating.yaml +++ b/gating.yaml @@ -5,7 +5,6 @@ decision_context: bodhi_update_push_testing rules: - !PassingTestCaseRule {test_case_name: dist.rpmgrill.spec-file-sanity} - !PassingTestCaseRule {test_case_name: dist.python-versions} - - !PassingTestCaseRule {test_case_name: dist.depcheck} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} --- !Policy product_versions: @@ -14,5 +13,4 @@ decision_context: bodhi_update_push_stable rules: - !PassingTestCaseRule {test_case_name: dist.rpmgrill.spec-file-sanity} - !PassingTestCaseRule {test_case_name: dist.python-versions} - - !PassingTestCaseRule {test_case_name: dist.depcheck} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} From 48c5a095e3b60e380a0537801705e24b016d1098 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 15 Apr 2020 20:44:24 +0200 Subject: [PATCH 07/30] 12 upstream release Specify the exact version in the 'python3-osbuild' requirement to avoid the library and the main binary being out of sync. Add osbuild-ostree sub-package with the necessary bits to create OSTree based images. --- .gitignore | 1 + osbuild.spec | 32 ++++++++++++++++++++++++++++++-- sources | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b604c05..cdffad8 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /osbuild-9.tar.gz /osbuild-10.tar.gz /osbuild-11.tar.gz +/osbuild-12.tar.gz diff --git a/osbuild.spec b/osbuild.spec index f2f9f0d..5ed96f1 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/osbuild/osbuild -Version: 11 +Version: 12 %forgemeta @@ -33,7 +33,7 @@ Requires: systemd Requires: systemd-container Requires: tar Requires: util-linux -Requires: python3-%{pypi_name} +Requires: python3-%{pypi_name} = %{version}-%{release} # Turn off dependency generators for assemblers, runners and stages. # They run in a container, so there's no reason to generate dependencies @@ -53,6 +53,16 @@ Summary: %{summary} %description -n python3-%{pypi_name} A build system for OS images +%package ostree +Summary: OSTree support +Requires: %{name} = %{version}-%{release} +Requires: ostree +Requires: rpm-ostree + +%description ostree +Contains the necessary stages, assembler and source +to build OSTree based images. + %prep %forgesetup @@ -96,6 +106,11 @@ exit 0 %{_mandir}/man1/%{name}.1* %{_mandir}/man5/%{name}-manifest.5* %{pkgdir} +# the following files are in the ostree sub-package +%exclude %{pkgdir}/assemblers/org.osbuild.ostree.commit +%exclude %{pkgdir}/sources/org.osbuild.ostree +%exclude %{pkgdir}/stages/org.osbuild.ostree +%exclude %{pkgdir}/stages/org.osbuild.rpm-ostree %files -n python3-%{pypi_name} %license LICENSE @@ -103,7 +118,20 @@ exit 0 %{python3_sitelib}/%{pypi_name}-*.egg-info/ %{python3_sitelib}/%{pypi_name}/ +%files ostree +%{pkgdir}/assemblers/org.osbuild.ostree.commit +%{pkgdir}/sources/org.osbuild.ostree +%{pkgdir}/stages/org.osbuild.ostree +%{pkgdir}/stages/org.osbuild.rpm-ostree + %changelog +* Wed Apr 15 2020 Christian Kellner - 12-1 +- new upstream release 12 +- Specify the exact version in the 'python3-osbuild' requirement + to avoid the library and the main binary being out of sync. +- osbuild-ostree sub-package with the necessary bits to create + OSTree based images + * Thu Apr 2 2020 Christian Kellner - 11-1 - new upstream release 11 - Turn of dependency generator for internal components diff --git a/sources b/sources index 85d20a5..d951f8a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-11.tar.gz) = b58b2783ae525a65d5ce78faa62fda22ae912f7750e325b8916fa4e81a42e3eaaeb82a2a7c82665d5731aeb2b83344a950d47557220b4814f50eeb7f9f908ab4 +SHA512 (osbuild-12.tar.gz) = 9dc2a151ac337bd945cbaa2566f2789bc1d019d916c8a47b66bbd21f9e19f4c56276508fe6a7871bc52d40795078336ad4b56de3fd50f63222dd41303e11619d From d2ccc6bc676673a35f226debf047cd246291e19c Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 15 Apr 2020 21:12:04 +0200 Subject: [PATCH 08/30] tests: adjust image test name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sample file got renamed: base-rpm-qcow2.json → base-qcow2.json Do the same in the test or gating will file. --- tests/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tests.yml b/tests/tests.yml index 30c32b0..74272b3 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -16,4 +16,4 @@ run: osbuild --help - image: dir: . - run: osbuild source/samples/base-rpm-qcow2.json + run: osbuild source/samples/base-qcow2.json From 92cab38ab929a87d37e20fa1b92ef99dbb4914ff Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 6 May 2020 20:31:01 +0200 Subject: [PATCH 09/30] 14 upstream release Remove the /usr/lib/osbuild/{assemblers, stages}/osbuild dirs. NB: Release 13 got skipped since it replaced aforementioned directories with symlinks and that would have required a %pretrans script. osbuild was adjusted to use a different mechanism to locate the osbuild module inside the container rendering the symlinks (or 'osbuild' directories) obsolete. --- .gitignore | 2 ++ osbuild.spec | 12 ++++++++---- sources | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index cdffad8..085e9ae 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ /osbuild-10.tar.gz /osbuild-11.tar.gz /osbuild-12.tar.gz +/osbuild-13.tar.gz +/osbuild-14.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 5ed96f1..f4471f6 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/osbuild/osbuild -Version: 12 +Version: 14 %forgemeta @@ -85,9 +85,8 @@ install -p -m 0755 $(find runners -type f -or -type l) %{buildroot}%{pkgdir}/run mkdir -p %{buildroot}%{pkgdir}/sources install -p -m 0755 $(find sources -type f) %{buildroot}%{pkgdir}/sources -# mount points for bind mounting the osbuild library -mkdir -p %{buildroot}%{pkgdir}/stages/osbuild -mkdir -p %{buildroot}%{pkgdir}/assemblers/osbuild +# mount point for bind mounting the osbuild library +mkdir -p %{buildroot}%{pkgdir}/osbuild # documentation mkdir -p %{buildroot}%{_mandir}/man1 @@ -125,6 +124,11 @@ exit 0 %{pkgdir}/stages/org.osbuild.rpm-ostree %changelog +* Wed May 6 2020 Christian Kellner - 14-1 +- new upstream release 14 +- The directories /usr/lib/osbuild/{assemblers, stages}/osbuild + got removed. Changes to osbuild made them obsolete. + * Wed Apr 15 2020 Christian Kellner - 12-1 - new upstream release 12 - Specify the exact version in the 'python3-osbuild' requirement diff --git a/sources b/sources index d951f8a..496b3fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-12.tar.gz) = 9dc2a151ac337bd945cbaa2566f2789bc1d019d916c8a47b66bbd21f9e19f4c56276508fe6a7871bc52d40795078336ad4b56de3fd50f63222dd41303e11619d +SHA512 (osbuild-14.tar.gz) = fa474cdd8380b042a86be6d6b0202e58de17219b75547dc46b91d61f6e2e631f1ac1a93364046485167d55c23276d0827930ef141278346743f7097ae8e362d8 From 9055276fb8a2f63b972b2b16b708bd920a5e8443 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 6 May 2020 21:06:45 +0200 Subject: [PATCH 10/30] Install schemata Install schemata to /osbuild/schemas and include a symlink to it in /usr/lib/osbuild/schemas. This is needed otherwise schema validation will not work. --- osbuild.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/osbuild.spec b/osbuild.spec index f4471f6..e375fcf 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -8,7 +8,7 @@ Version: 14 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 URL: %{forgeurl} @@ -88,6 +88,11 @@ install -p -m 0755 $(find sources -type f) %{buildroot}%{pkgdir}/sources # mount point for bind mounting the osbuild library mkdir -p %{buildroot}%{pkgdir}/osbuild +# schemata +mkdir -p %{buildroot}%{_datadir}/osbuild/schemas +install -p -m 0755 $(find schemas/*.json) %{buildroot}%{_datadir}/osbuild/schemas +ln -s %{_datadir}/osbuild/schemas %{buildroot}%{pkgdir}/schemas + # documentation mkdir -p %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_mandir}/man5 @@ -104,6 +109,7 @@ exit 0 %{_bindir}/osbuild %{_mandir}/man1/%{name}.1* %{_mandir}/man5/%{name}-manifest.5* +%{_datadir}/osbuild/schemas %{pkgdir} # the following files are in the ostree sub-package %exclude %{pkgdir}/assemblers/org.osbuild.ostree.commit @@ -124,6 +130,10 @@ exit 0 %{pkgdir}/stages/org.osbuild.rpm-ostree %changelog +* Wed May 6 2020 Christian Kellner - 14-2 +- Install schemata to /osbuild/schemas and include a + symlink to it in /usr/lib/osbuild/schemas + * Wed May 6 2020 Christian Kellner - 14-1 - new upstream release 14 - The directories /usr/lib/osbuild/{assemblers, stages}/osbuild From 7e852a83afec7754945db5c5fa73a3e456f632d1 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 21 May 2020 10:41:59 +0200 Subject: [PATCH 11/30] gating: don't gate on dist.* Taskotron is End-of-Life since 2020-04-30 and thus we don't have any dist.* checks; at least for now. Remove it. https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TRQZCXI5IZH3GLJTCO56SMBX5UY6J6LL/ --- gating.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gating.yaml b/gating.yaml index 77f3d4c..f2c6454 100644 --- a/gating.yaml +++ b/gating.yaml @@ -3,14 +3,10 @@ product_versions: - fedora-* decision_context: bodhi_update_push_testing rules: - - !PassingTestCaseRule {test_case_name: dist.rpmgrill.spec-file-sanity} - - !PassingTestCaseRule {test_case_name: dist.python-versions} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} --- !Policy product_versions: - fedora-* decision_context: bodhi_update_push_stable rules: - - !PassingTestCaseRule {test_case_name: dist.rpmgrill.spec-file-sanity} - - !PassingTestCaseRule {test_case_name: dist.python-versions} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} From 4521b200e30feafa6575bcde2d62fcd06c2571ec Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 21 May 2020 10:44:15 +0200 Subject: [PATCH 12/30] 15 upstream release no spec file changes. --- .gitignore | 1 + osbuild.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 085e9ae..50d47a9 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /osbuild-12.tar.gz /osbuild-13.tar.gz /osbuild-14.tar.gz +/osbuild-15.tar.gz diff --git a/osbuild.spec b/osbuild.spec index e375fcf..31efb70 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/osbuild/osbuild -Version: 14 +Version: 15 %forgemeta @@ -8,7 +8,7 @@ Version: 14 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 2%{?dist} +Release: 1%{?dist} License: ASL 2.0 URL: %{forgeurl} @@ -130,6 +130,9 @@ exit 0 %{pkgdir}/stages/org.osbuild.rpm-ostree %changelog +* Thu May 21 2020 Christian Kellner - 15-1 +- new upstream release 15 + * Wed May 6 2020 Christian Kellner - 14-2 - Install schemata to /osbuild/schemas and include a symlink to it in /usr/lib/osbuild/schemas diff --git a/sources b/sources index 496b3fb..e48deb7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-14.tar.gz) = fa474cdd8380b042a86be6d6b0202e58de17219b75547dc46b91d61f6e2e631f1ac1a93364046485167d55c23276d0827930ef141278346743f7097ae8e362d8 +SHA512 (osbuild-15.tar.gz) = 408c1327ea4a8281c6e90c96ffef045235e739352575d28ac63dfbbb1adccfb11f8a4a9ba9ae4aa326be89a0c3aab2607610361623e45ec71dfe44d07e0af317 From 8d98b3a9e149a530c755412f3157a18eb9bd98da Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Tue, 26 May 2020 19:05:40 +0200 Subject: [PATCH 13/30] Patch added to allow new files source format Add a patch to allow org.osbuild.files source in the new format but without actually containing the secrets key. Taken from merged PR: https://github.com/osbuild/osbuild/pull/416 --- osbuild.spec | 10 ++++++- sources-fix-break-when-secrets-is-None.patch | 28 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 sources-fix-break-when-secrets-is-None.patch diff --git a/osbuild.spec b/osbuild.spec index 31efb70..c8e6341 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -8,12 +8,14 @@ Version: 15 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 URL: %{forgeurl} Source0: %{forgesource} +# PR416 (merged): https://github.com/osbuild/osbuild/pull/416 +Patch0: sources-fix-break-when-secrets-is-None.patch BuildArch: noarch Summary: A build system for OS images @@ -65,6 +67,7 @@ to build OSTree based images. %prep %forgesetup +%patch0 -p1 %build %py3_build @@ -130,6 +133,11 @@ exit 0 %{pkgdir}/stages/org.osbuild.rpm-ostree %changelog +* Tue May 26 2020 Christian Kellner - 15-2 +- Add a patch to allow org.osbuild.files source in the new format + but without actually containing the secrets key. + Taken from merged PR: https://github.com/osbuild/osbuild/pull/416 + * Thu May 21 2020 Christian Kellner - 15-1 - new upstream release 15 diff --git a/sources-fix-break-when-secrets-is-None.patch b/sources-fix-break-when-secrets-is-None.patch new file mode 100644 index 0000000..a206080 --- /dev/null +++ b/sources-fix-break-when-secrets-is-None.patch @@ -0,0 +1,28 @@ +From 9cbedc049671bf2a2eb50caa2759d91acbf7c7f5 Mon Sep 17 00:00:00 2001 +From: Jacob Kozol +Date: Fri, 22 May 2020 19:11:46 +0200 +Subject: [PATCH] sources: fix break when secrets is None + +When the urls' secrets field is not set, an error is thrown when trying +to get the name of the secrets. The secrets now have a default value of +{} when they are checked for the name. +--- + sources/org.osbuild.files | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sources/org.osbuild.files b/sources/org.osbuild.files +index 0444d59..34d5334 100755 +--- a/sources/org.osbuild.files ++++ b/sources/org.osbuild.files +@@ -110,7 +110,7 @@ def main(options, checksums, cache, output): + try: + if isinstance(urls[checksum], dict): + # check if url needs rhsm secrets +- if urls[checksum].get("secrets").get("name") == "org.osbuild.rhsm": ++ if urls[checksum].get("secrets", {}).get("name") == "org.osbuild.rhsm": + # rhsm secrets only need to be retrieved once and can then be reused + if rhsm_secrets is None: + try: +-- +2.26.2 + From ab731274fa567f844c5ef2af4f6172b54bf2fc39 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 4 Jun 2020 17:13:11 +0200 Subject: [PATCH 14/30] 16 upstream release Drop sources-fix-break-when-secrets-is-None.patch patch included upstream. --- .gitignore | 1 + osbuild.spec | 12 +++++---- sources | 2 +- sources-fix-break-when-secrets-is-None.patch | 28 -------------------- 4 files changed, 9 insertions(+), 34 deletions(-) delete mode 100644 sources-fix-break-when-secrets-is-None.patch diff --git a/.gitignore b/.gitignore index 50d47a9..b1ff089 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /osbuild-13.tar.gz /osbuild-14.tar.gz /osbuild-15.tar.gz +/osbuild-16.tar.gz diff --git a/osbuild.spec b/osbuild.spec index c8e6341..838437a 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/osbuild/osbuild -Version: 15 +Version: 16 %forgemeta @@ -8,14 +8,12 @@ Version: 15 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 2%{?dist} +Release: 1%{?dist} License: ASL 2.0 URL: %{forgeurl} Source0: %{forgesource} -# PR416 (merged): https://github.com/osbuild/osbuild/pull/416 -Patch0: sources-fix-break-when-secrets-is-None.patch BuildArch: noarch Summary: A build system for OS images @@ -67,7 +65,6 @@ to build OSTree based images. %prep %forgesetup -%patch0 -p1 %build %py3_build @@ -133,6 +130,11 @@ exit 0 %{pkgdir}/stages/org.osbuild.rpm-ostree %changelog +* Thu Jun 4 2020 Christian Kellner - 16-1 +- new upstream release 16 +- Drop sources-fix-break-when-secrets-is-None.patch included in + the new upstream reelase. + * Tue May 26 2020 Christian Kellner - 15-2 - Add a patch to allow org.osbuild.files source in the new format but without actually containing the secrets key. diff --git a/sources b/sources index e48deb7..12cb433 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-15.tar.gz) = 408c1327ea4a8281c6e90c96ffef045235e739352575d28ac63dfbbb1adccfb11f8a4a9ba9ae4aa326be89a0c3aab2607610361623e45ec71dfe44d07e0af317 +SHA512 (osbuild-16.tar.gz) = 21041af1b617ef30ae7e6e27a986d094a13bcbc3a4d52d69272f24a88c49a0d4b5f57e4d54a7dd322053d607a2c859ff7586f0392d0e1efae163a9bfe6b5c065 diff --git a/sources-fix-break-when-secrets-is-None.patch b/sources-fix-break-when-secrets-is-None.patch deleted file mode 100644 index a206080..0000000 --- a/sources-fix-break-when-secrets-is-None.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9cbedc049671bf2a2eb50caa2759d91acbf7c7f5 Mon Sep 17 00:00:00 2001 -From: Jacob Kozol -Date: Fri, 22 May 2020 19:11:46 +0200 -Subject: [PATCH] sources: fix break when secrets is None - -When the urls' secrets field is not set, an error is thrown when trying -to get the name of the secrets. The secrets now have a default value of -{} when they are checked for the name. ---- - sources/org.osbuild.files | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sources/org.osbuild.files b/sources/org.osbuild.files -index 0444d59..34d5334 100755 ---- a/sources/org.osbuild.files -+++ b/sources/org.osbuild.files -@@ -110,7 +110,7 @@ def main(options, checksums, cache, output): - try: - if isinstance(urls[checksum], dict): - # check if url needs rhsm secrets -- if urls[checksum].get("secrets").get("name") == "org.osbuild.rhsm": -+ if urls[checksum].get("secrets", {}).get("name") == "org.osbuild.rhsm": - # rhsm secrets only need to be retrieved once and can then be reused - if rhsm_secrets is None: - try: --- -2.26.2 - From 97f0294fad565b61d9f5416fc179fe8a9cc2fba0 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 10 Jun 2020 16:24:02 +0200 Subject: [PATCH 15/30] 17 upstream release Add a custom SELinux policy, shipped in a new osbuild-selinux sub- package, to allow setting labels unknown to the host. --- .gitignore | 1 + osbuild.spec | 48 +++++++++++++++++++++++++++++++++++++++++++++++- sources | 2 +- 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b1ff089..4cf64d0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /osbuild-14.tar.gz /osbuild-15.tar.gz /osbuild-16.tar.gz +/osbuild-17.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 838437a..dafd4d0 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,6 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild +%global selinuxtype targeted -Version: 16 +Version: 17 %forgemeta @@ -34,6 +35,7 @@ Requires: systemd-container Requires: tar Requires: util-linux Requires: python3-%{pypi_name} = %{version}-%{release} +Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) # Turn off dependency generators for assemblers, runners and stages. # They run in a container, so there's no reason to generate dependencies @@ -63,6 +65,18 @@ Requires: rpm-ostree Contains the necessary stages, assembler and source to build OSTree based images. +%package selinux +Summary: SELinux policies +Requires: %{name} = %{version}-%{release} +BuildRequires: selinux-policy +BuildRequires: selinux-policy-devel +%{?selinux_requires} + +%description selinux +Contains the necessary SELinux policies that allows +osbuild to use labels unknown to the host inside the +containers it uses to build OS artifacts. + %prep %forgesetup @@ -70,6 +84,13 @@ to build OSTree based images. %py3_build make man +# SELinux +make -f /usr/share/selinux/devel/Makefile osbuild.pp +bzip2 -9 osbuild.pp + +%pre +%selinux_relabel_pre -s %{selinuxtype} + %install %py3_install @@ -99,6 +120,10 @@ mkdir -p %{buildroot}%{_mandir}/man5 install -p -m 0644 -t %{buildroot}%{_mandir}/man1/ docs/*.1 install -p -m 0644 -t %{buildroot}%{_mandir}/man5/ docs/*.5 +# SELinux +install -D -m 644 -t %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype} %{name}.pp.bz2 +install -D -m 644 -t %{buildroot}%{_mandir}/man8 selinux/%{name}_selinux.8 + %check exit 0 # We have some integration tests, but those require running a VM, so that would @@ -129,7 +154,28 @@ exit 0 %{pkgdir}/stages/org.osbuild.ostree %{pkgdir}/stages/org.osbuild.rpm-ostree +%files selinux +%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 +%{_mandir}/man8/%{name}_selinux.8.* +%ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name} + +%post selinux +%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 + +%postun selinux +if [ $1 -eq 0 ]; then + %selinux_modules_uninstall -s %{selinuxtype} %{name} +fi + +%posttrans selinux +%selinux_relabel_post -s %{selinuxtype} + %changelog +* Wed Jun 10 2020 Christian Kellner - 17-1 +- new upstream relaese 17 +- Add custom SELinux policy that lets osbuild set labels inside + the build root that are unknown to the host. + * Thu Jun 4 2020 Christian Kellner - 16-1 - new upstream release 16 - Drop sources-fix-break-when-secrets-is-None.patch included in diff --git a/sources b/sources index 12cb433..8026313 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-16.tar.gz) = 21041af1b617ef30ae7e6e27a986d094a13bcbc3a4d52d69272f24a88c49a0d4b5f57e4d54a7dd322053d607a2c859ff7586f0392d0e1efae163a9bfe6b5c065 +SHA512 (osbuild-17.tar.gz) = 63b7402e87665917d31a69e3a9c399dd22219b1f3bb1edec71a6c3d00eb996a4a297129ed33d46dad49c4d7d7f18e643166aace1de84e4741ecd929be0248021 From eb55a2ed91b87fdb3ac0de9c392fff1e131f2236 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Tue, 23 Jun 2020 20:23:31 +0200 Subject: [PATCH 16/30] 18 upstream release All RHEL runners use platform-python now. --- .gitignore | 1 + osbuild.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4cf64d0..1951826 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /osbuild-15.tar.gz /osbuild-16.tar.gz /osbuild-17.tar.gz +/osbuild-18.tar.gz diff --git a/osbuild.spec b/osbuild.spec index dafd4d0..524de39 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 17 +Version: 18 %forgemeta @@ -171,6 +171,10 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Tue Jun 23 2020 Christian Kellner - 18-1 +- Upstream release 18 +- All RHEL runners now use platform-python. + * Wed Jun 10 2020 Christian Kellner - 17-1 - new upstream relaese 17 - Add custom SELinux policy that lets osbuild set labels inside diff --git a/sources b/sources index 8026313..d486892 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-17.tar.gz) = 63b7402e87665917d31a69e3a9c399dd22219b1f3bb1edec71a6c3d00eb996a4a297129ed33d46dad49c4d7d7f18e643166aace1de84e4741ecd929be0248021 +SHA512 (osbuild-18.tar.gz) = 0fda0cde9da80828069e8f1e7a9fd77d356f54ef95a19308b9dd46ab6e3411d1908a7e8d1f5ec7011711ee163e99b9c64ea851a494d272fa19599eccedda88dc From 2dd649c19a71eb900b452d80f82036ae82face4e Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Fri, 26 Jun 2020 13:54:26 +0200 Subject: [PATCH 17/30] Add a patch to not use floats in sources Do not pass floats to curl, because the format of the float is locale specific (comma vs dot) but curl only likes dots. See the patch for details. --- no-floats-in-sources.patch | 53 ++++++++++++++++++++++++++++++++++++++ osbuild.spec | 8 +++++- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 no-floats-in-sources.patch diff --git a/no-floats-in-sources.patch b/no-floats-in-sources.patch new file mode 100644 index 0000000..61ce923 --- /dev/null +++ b/no-floats-in-sources.patch @@ -0,0 +1,53 @@ +From 7b0db90c76c6b0de6a4d481e63450e8f0d1a1d9d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Budai?= +Date: Thu, 25 Jun 2020 09:56:30 +0200 +Subject: [PATCH] sources/files: do not pass floats to --max-time + +curl uses strtod from the C standard library to convert the --max-time's value +from string to double. However, this is what strtod expects: + +nonempty sequence of decimal digits optionally containing decimal-point +character (as determined by the current C locale) + +Yeah, unfortunately, the decimal-point character is determined by the current +C locale. For example, Czech and German locale uses a comma as the +decimal-point character. + +For reasons I don't fully understand, Python thinks it's running on en_US +locale, even though LC_NUMERIC is set to cs_CZ, so it uses a full stop as the +decimal-point character when converting float to string. However, as written +before, curl fails to parse this because it expects comma. + +The fix I chose is simple: Use math.ceil, so only an integer can be passed to +curl. Why ceil? Because --max-time == 0 sounds fishy. math.ceil should return +an integer (and it does in Python 3.8) but the documentation is not 100% clear +on this topic, so let's be paranoid and also convert it to int after the +ceiling. +--- + sources/org.osbuild.files | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sources/org.osbuild.files b/sources/org.osbuild.files +index 42ff6ca..13ce9b8 100755 +--- a/sources/org.osbuild.files ++++ b/sources/org.osbuild.files +@@ -17,6 +17,7 @@ import concurrent.futures + import glob + import itertools + import json ++import math + import os + import subprocess + import sys +@@ -102,7 +103,7 @@ def fetch(url, checksum, directory): + curl_command = [ + "curl", + "--silent", +- "--max-time", f"{300 - elapsed_time}", ++ "--max-time", f"{int(math.ceil(300 - elapsed_time))}", + "--connect-timeout", "60", + "--fail", + "--location", +-- +2.26.2 + diff --git a/osbuild.spec b/osbuild.spec index 524de39..0620a46 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -9,12 +9,13 @@ Version: 18 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 URL: %{forgeurl} Source0: %{forgesource} +Patch0: no-floats-in-sources.patch BuildArch: noarch Summary: A build system for OS images @@ -79,6 +80,7 @@ containers it uses to build OS artifacts. %prep %forgesetup +%patch0 -p1 %build %py3_build @@ -171,6 +173,10 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Fri Jun 26 2020 Christian Kellner - 18-2 +- Add patch to not pass floats to curl in the files source + https://github.com/osbuild/osbuild/pull/459 + * Tue Jun 23 2020 Christian Kellner - 18-1 - Upstream release 18 - All RHEL runners now use platform-python. From bc974b503ea6f4c93addb85f80cbb4a8223baf01 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Fri, 7 Aug 2020 13:43:35 +0200 Subject: [PATCH 18/30] 19 upstream release Sandboxing mechanism changed from systemd-nspawn to bubblewrap, change requirements accordingly. Drop no-floats-in-sources.patch, included in the release. --- .gitignore | 1 + no-floats-in-sources.patch | 53 -------------------------------------- osbuild.spec | 14 ++++++---- sources | 2 +- 4 files changed, 11 insertions(+), 59 deletions(-) delete mode 100644 no-floats-in-sources.patch diff --git a/.gitignore b/.gitignore index 1951826..f6db88f 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /osbuild-16.tar.gz /osbuild-17.tar.gz /osbuild-18.tar.gz +/osbuild-19.tar.gz diff --git a/no-floats-in-sources.patch b/no-floats-in-sources.patch deleted file mode 100644 index 61ce923..0000000 --- a/no-floats-in-sources.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 7b0db90c76c6b0de6a4d481e63450e8f0d1a1d9d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Budai?= -Date: Thu, 25 Jun 2020 09:56:30 +0200 -Subject: [PATCH] sources/files: do not pass floats to --max-time - -curl uses strtod from the C standard library to convert the --max-time's value -from string to double. However, this is what strtod expects: - -nonempty sequence of decimal digits optionally containing decimal-point -character (as determined by the current C locale) - -Yeah, unfortunately, the decimal-point character is determined by the current -C locale. For example, Czech and German locale uses a comma as the -decimal-point character. - -For reasons I don't fully understand, Python thinks it's running on en_US -locale, even though LC_NUMERIC is set to cs_CZ, so it uses a full stop as the -decimal-point character when converting float to string. However, as written -before, curl fails to parse this because it expects comma. - -The fix I chose is simple: Use math.ceil, so only an integer can be passed to -curl. Why ceil? Because --max-time == 0 sounds fishy. math.ceil should return -an integer (and it does in Python 3.8) but the documentation is not 100% clear -on this topic, so let's be paranoid and also convert it to int after the -ceiling. ---- - sources/org.osbuild.files | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/sources/org.osbuild.files b/sources/org.osbuild.files -index 42ff6ca..13ce9b8 100755 ---- a/sources/org.osbuild.files -+++ b/sources/org.osbuild.files -@@ -17,6 +17,7 @@ import concurrent.futures - import glob - import itertools - import json -+import math - import os - import subprocess - import sys -@@ -102,7 +103,7 @@ def fetch(url, checksum, directory): - curl_command = [ - "curl", - "--silent", -- "--max-time", f"{300 - elapsed_time}", -+ "--max-time", f"{int(math.ceil(300 - elapsed_time))}", - "--connect-timeout", "60", - "--fail", - "--location", --- -2.26.2 - diff --git a/osbuild.spec b/osbuild.spec index 0620a46..a4e81a2 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 18 +Version: 19 %forgemeta @@ -9,13 +9,12 @@ Version: 18 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 2%{?dist} +Release: 1%{?dist} License: ASL 2.0 URL: %{forgeurl} Source0: %{forgesource} -Patch0: no-floats-in-sources.patch BuildArch: noarch Summary: A build system for OS images @@ -24,6 +23,7 @@ BuildRequires: python3-devel BuildRequires: python3-docutils Requires: bash +Requires: bubblewrap Requires: coreutils Requires: curl Requires: dnf @@ -32,7 +32,6 @@ Requires: glibc Requires: policycoreutils Requires: qemu-img Requires: systemd -Requires: systemd-container Requires: tar Requires: util-linux Requires: python3-%{pypi_name} = %{version}-%{release} @@ -80,7 +79,6 @@ containers it uses to build OS artifacts. %prep %forgesetup -%patch0 -p1 %build %py3_build @@ -173,6 +171,12 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Fri Aug 7 2020 Christian Kellner - 19-1 +- Upstream release 19 +- Drop no-floats-in-sources.patch included in release 19 +- bubblewrap replaced systemd-nspawn for sandboxing; change the + requirements accordingly. + * Fri Jun 26 2020 Christian Kellner - 18-2 - Add patch to not pass floats to curl in the files source https://github.com/osbuild/osbuild/pull/459 diff --git a/sources b/sources index d486892..60886a9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-18.tar.gz) = 0fda0cde9da80828069e8f1e7a9fd77d356f54ef95a19308b9dd46ab6e3411d1908a7e8d1f5ec7011711ee163e99b9c64ea851a494d272fa19599eccedda88dc +SHA512 (osbuild-19.tar.gz) = 88d3851b4034930a73dddd175521be58cba5be6bb9a66ebb7264b1f4df1dc1fac3dba480c136e689abf25c651f81ec9241078a90a84fe047e5e78de6165d1b23 From d156c25f6ad25b7274a527ddae82c5149bb6c009 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 13 Aug 2020 18:45:43 +0200 Subject: [PATCH 19/30] 20 upstream release --- .gitignore | 1 + osbuild.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f6db88f..2f64049 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /osbuild-17.tar.gz /osbuild-18.tar.gz /osbuild-19.tar.gz +/osbuild-20.tar.gz diff --git a/osbuild.spec b/osbuild.spec index a4e81a2..2c0dd7b 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 19 +Version: 20 %forgemeta @@ -171,6 +171,9 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Thu Aug 13 2020 Christian Kellner - 20-1 +- Upstream reelase 20 + * Fri Aug 7 2020 Christian Kellner - 19-1 - Upstream release 19 - Drop no-floats-in-sources.patch included in release 19 diff --git a/sources b/sources index 60886a9..dc1c609 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-19.tar.gz) = 88d3851b4034930a73dddd175521be58cba5be6bb9a66ebb7264b1f4df1dc1fac3dba480c136e689abf25c651f81ec9241078a90a84fe047e5e78de6165d1b23 +SHA512 (osbuild-20.tar.gz) = 29a1345fd21bc89fe8b6de920f152753fdec696ff944d86a5d6fdd3ad6e665c49a0b4cf14662d222e630ea032687d97d6551b4f9a08299d959b9e7f1d2c3e66c From 7673a6b53d43b7bb98543c7bf4df84120c1e258b Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 10 Sep 2020 15:01:45 +0200 Subject: [PATCH 20/30] 21 upstream release --- .gitignore | 1 + osbuild.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2f64049..21192a6 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /osbuild-18.tar.gz /osbuild-19.tar.gz /osbuild-20.tar.gz +/osbuild-21.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 2c0dd7b..a154a24 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 20 +Version: 21 %forgemeta @@ -171,6 +171,9 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Thu Sep 10 2020 Christian Kellner - 21-1 +- Upstream reelase 21 + * Thu Aug 13 2020 Christian Kellner - 20-1 - Upstream reelase 20 diff --git a/sources b/sources index dc1c609..44bae04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-20.tar.gz) = 29a1345fd21bc89fe8b6de920f152753fdec696ff944d86a5d6fdd3ad6e665c49a0b4cf14662d222e630ea032687d97d6551b4f9a08299d959b9e7f1d2c3e66c +SHA512 (osbuild-21.tar.gz) = c99cd0e9699f4523445900ceef5fbac2d799e5a1b88be296c1f4b38a01e2b6f27f8a793a6fab78014598b8290c8dc629a952cda4bbc9b778a7b8b880ab55225a From e97cc4a0be154b717d2d7d673a2522129c1490aa Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Mon, 12 Oct 2020 15:39:41 +0200 Subject: [PATCH 21/30] 22 upstream release no spec file changes. --- .gitignore | 1 + osbuild.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 21192a6..1fb490b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /osbuild-19.tar.gz /osbuild-20.tar.gz /osbuild-21.tar.gz +/osbuild-22.tar.gz diff --git a/osbuild.spec b/osbuild.spec index a154a24..c81eecc 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 21 +Version: 22 %forgemeta @@ -171,6 +171,9 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Mon Oct 12 2020 Christian Kellner - 22-1 +- Upstream release 22 + * Thu Sep 10 2020 Christian Kellner - 21-1 - Upstream reelase 21 diff --git a/sources b/sources index 44bae04..2aa174b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-21.tar.gz) = c99cd0e9699f4523445900ceef5fbac2d799e5a1b88be296c1f4b38a01e2b6f27f8a793a6fab78014598b8290c8dc629a952cda4bbc9b778a7b8b880ab55225a +SHA512 (osbuild-22.tar.gz) = 76b2efb083b2c372251b20185f76d59336fd3ddb4dfcf9b33f825a9f93c5dd2449ae2321fcdca1d9d3b0fc9f4547e5850d11b7137e92793d766c6e9383cb2703 From 7b50676daa4653afdce3003e658de079bbcb50c0 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Fri, 23 Oct 2020 16:55:56 +0200 Subject: [PATCH 22/30] 23 upstream release Do not mangle shebangs for assemblers, runners & stages. --- .gitignore | 1 + osbuild.spec | 16 +++++++++++++++- sources | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1fb490b..7e1c8e1 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /osbuild-20.tar.gz /osbuild-21.tar.gz /osbuild-22.tar.gz +/osbuild-23.tar.gz diff --git a/osbuild.spec b/osbuild.spec index c81eecc..b80e0f3 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 22 +Version: 23 %forgemeta @@ -43,6 +43,16 @@ Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) # by rhel runner. %global __requires_exclude_from ^%{pkgdir}/(assemblers|runners|stages)/.*$ +# Turn off shebang mangling on RHEL. brp-mangle-shebangs (from package +# redhat-rpm-config) is run on all executables in a package after the `install` +# section runs. The below macro turns this behavior off for: +# - runners, because they already have the correct shebang for the platform +# they're meant for, and +# - stages and assemblers, because they are run within osbuild build roots, +# which are not required to contain the same OS as the host and might thus +# have a different notion of "platform-python". +%global __brp_mangle_shebangs_exclude_from ^%{pkgdir}/(assemblers|runners|stages)/.*$ + %{?python_enable_dependency_generator} %description @@ -171,6 +181,10 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Fri Oct 23 2020 Christian Kellner - 23-1 +- Upstream release 23 +- Do not mangle shebangs for assemblers, runners & stages. + * Mon Oct 12 2020 Christian Kellner - 22-1 - Upstream release 22 diff --git a/sources b/sources index 2aa174b..b6a2698 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-22.tar.gz) = 76b2efb083b2c372251b20185f76d59336fd3ddb4dfcf9b33f825a9f93c5dd2449ae2321fcdca1d9d3b0fc9f4547e5850d11b7137e92793d766c6e9383cb2703 +SHA512 (osbuild-23.tar.gz) = a3f1489cc12c875cc1d1cef52f38a618ee395284cad4c6838e3f0022ad50bc1fd1d0bc53eb3b9ce293ffbef9096f4aa37fd4a506aa04a24017b4fe98787a0f20 From bf1d4d4ec43320cabbdb22d862175e48fe0ab191 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 28 Jan 2021 06:02:57 +0100 Subject: [PATCH 23/30] 24 upstream release Only disable dependency generator for runners but not other modules. Include new `Input` binaries. --- .gitignore | 1 + osbuild.spec | 23 +++++++++++++++++------ sources | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 7e1c8e1..0dced3f 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /osbuild-21.tar.gz /osbuild-22.tar.gz /osbuild-23.tar.gz +/osbuild-24.tar.gz diff --git a/osbuild.spec b/osbuild.spec index b80e0f3..06658dd 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 23 +Version: 24 %forgemeta @@ -37,11 +37,10 @@ Requires: util-linux Requires: python3-%{pypi_name} = %{version}-%{release} Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) -# Turn off dependency generators for assemblers, runners and stages. -# They run in a container, so there's no reason to generate dependencies -# from them. As of 2020-03-25 this filters out python3.6 dependency generated -# by rhel runner. -%global __requires_exclude_from ^%{pkgdir}/(assemblers|runners|stages)/.*$ +# Turn off dependency generators for runners. The reason is that runners are +# tailored to the platform, e.g. on RHEL they are using platform-python. We +# don't want to pick up those dependencies on other platform. +%global __requires_exclude_from ^%{pkgdir}/(runners)/.*$ # Turn off shebang mangling on RHEL. brp-mangle-shebangs (from package # redhat-rpm-config) is run on all executables in a package after the `install` @@ -51,6 +50,10 @@ Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) # - stages and assemblers, because they are run within osbuild build roots, # which are not required to contain the same OS as the host and might thus # have a different notion of "platform-python". +# RHEL NB: Since assemblers and stages are not excluded from the dependency +# generator, this also means that an additional dependency on /usr/bin/python3 +# will be added. This is intended and needed, so that in the host build root +# /usr/bin/python3 is present so stages and assemblers can be run. %global __brp_mangle_shebangs_exclude_from ^%{pkgdir}/(assemblers|runners|stages)/.*$ %{?python_enable_dependency_generator} @@ -116,6 +119,9 @@ install -p -m 0755 $(find runners -type f -or -type l) %{buildroot}%{pkgdir}/run mkdir -p %{buildroot}%{pkgdir}/sources install -p -m 0755 $(find sources -type f) %{buildroot}%{pkgdir}/sources +mkdir -p %{buildroot}%{pkgdir}/inputs +install -p -m 0755 $(find inputs -type f) %{buildroot}%{pkgdir}/inputs + # mount point for bind mounting the osbuild library mkdir -p %{buildroot}%{pkgdir}/osbuild @@ -181,6 +187,11 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Thu Jan 28 2021 Christian Kellner - 24-1 +- Upstream release 24 +- Turn on dependency generator for everything but runners +- Include new 'input' binaries + * Fri Oct 23 2020 Christian Kellner - 23-1 - Upstream release 23 - Do not mangle shebangs for assemblers, runners & stages. diff --git a/sources b/sources index b6a2698..c0db432 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-23.tar.gz) = a3f1489cc12c875cc1d1cef52f38a618ee395284cad4c6838e3f0022ad50bc1fd1d0bc53eb3b9ce293ffbef9096f4aa37fd4a506aa04a24017b4fe98787a0f20 +SHA512 (osbuild-24.tar.gz) = 6a9f97bc099335cdddfc2894cffc163569a90afea1e4f0df0961d1c272184a7d9a7c069628e121ba0b45b6a4aeae469ef0ac0aa26862a664580723809622bf9d From 543fa936fe90ba8a1995b9103e91317f2cbf77ef Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Fri, 12 Feb 2021 21:09:54 +0100 Subject: [PATCH 24/30] 25 upstream release New upstream release, with a tech preview of the new manifest format and new assembler-like stages that are needed to deliver ostree commits contained in an oci archive. --- .gitignore | 1 + osbuild.spec | 8 +++++++- sources | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0dced3f..144bbd6 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /osbuild-22.tar.gz /osbuild-23.tar.gz /osbuild-24.tar.gz +/osbuild-25.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 06658dd..78f7128 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 24 +Version: 25 %forgemeta @@ -187,6 +187,12 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Fri Feb 12 2021 Christian Kellner - 25-1 +- Upstream release 25 +- First tech preview of the new manifest format. Includes + various new stages and inputs to be able to build ostree + commits contained in a oci archive. + * Thu Jan 28 2021 Christian Kellner - 24-1 - Upstream release 24 - Turn on dependency generator for everything but runners diff --git a/sources b/sources index c0db432..dea7d05 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-24.tar.gz) = 6a9f97bc099335cdddfc2894cffc163569a90afea1e4f0df0961d1c272184a7d9a7c069628e121ba0b45b6a4aeae469ef0ac0aa26862a664580723809622bf9d +SHA512 (osbuild-25.tar.gz) = 4a6514da0bbab1c69ca08965cd02aa5f8053619e89578785f71e2cb3e4de95aaa721a6228a2c7d7943708fe77c8348a10f9624da0ede3591656744f9a4ec3e21 From 9999f9a3e194a0a2c9cc50f74885c2c02762d77d Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Sat, 20 Feb 2021 16:45:06 +0100 Subject: [PATCH 25/30] gating: actually make an image in the 'image' test As of some versions ago, osbuild, when neither --output-directory nor --checkpoints are given, does not actually build anything. This is obviously not what we want. We want images. So do specify an output directory. --- tests/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tests.yml b/tests/tests.yml index 74272b3..763f779 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -16,4 +16,4 @@ run: osbuild --help - image: dir: . - run: osbuild source/samples/base-qcow2.json + run: osbuild source/samples/base-qcow2.json --output-directory=/var/cache/osbuild From 9962c482ea5c224e41672fddc37162a10249e0ad Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Sat, 20 Feb 2021 13:26:04 +0100 Subject: [PATCH 26/30] 26 upstream release Support for building boot isos. Grub stage gained support for 'saved_entry' to fix grub tooling. --- .gitignore | 1 + osbuild.spec | 7 ++++++- sources | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 144bbd6..37a2b06 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /osbuild-23.tar.gz /osbuild-24.tar.gz /osbuild-25.tar.gz +/osbuild-26.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 78f7128..658322d 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 25 +Version: 26 %forgemeta @@ -187,6 +187,11 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Sat Feb 20 2021 Christian Kellner - 26-1 +- Upstream release 26 +- Support for building boot isos +- Grub stage gained support for 'saved_entry' to fix grub tooling + * Fri Feb 12 2021 Christian Kellner - 25-1 - Upstream release 25 - First tech preview of the new manifest format. Includes diff --git a/sources b/sources index dea7d05..ebbb87e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-25.tar.gz) = 4a6514da0bbab1c69ca08965cd02aa5f8053619e89578785f71e2cb3e4de95aaa721a6228a2c7d7943708fe77c8348a10f9624da0ede3591656744f9a4ec3e21 +SHA512 (osbuild-26.tar.gz) = 62071768805e8369601ee1cd9bb11379d6dd99dd67eb8dad8f3bf8ddada2a2a8db5d4cff93602562ba059122112e7dbf8105f1ed9dfd0981b3c04aa1b6d924e5 From 60d5074f714118ad64b69f6d43ed492a6808c185 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Tue, 16 Mar 2021 23:25:19 +0100 Subject: [PATCH 27/30] 27 upstream release Various bug fixes related to the new container and installer stages introdcued in version 25 and 26. --- .gitignore | 1 + osbuild.spec | 7 ++++++- sources | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 37a2b06..58c8684 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ /osbuild-24.tar.gz /osbuild-25.tar.gz /osbuild-26.tar.gz +/osbuild-27.tar.gz diff --git a/osbuild.spec b/osbuild.spec index 658322d..a0af69b 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 26 +Version: 27 %forgemeta @@ -187,6 +187,11 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Tue Mar 16 2021 Christian Kellner - 27-1 +- Upstream release 27 +- Various bug fixes related to the new container and installer + stages introdcued in version 25 and 26. + * Sat Feb 20 2021 Christian Kellner - 26-1 - Upstream release 26 - Support for building boot isos diff --git a/sources b/sources index ebbb87e..4ffbe70 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-26.tar.gz) = 62071768805e8369601ee1cd9bb11379d6dd99dd67eb8dad8f3bf8ddada2a2a8db5d4cff93602562ba059122112e7dbf8105f1ed9dfd0981b3c04aa1b6d924e5 +SHA512 (osbuild-27.tar.gz) = 43995f0747a62cce7ba87ab8d589ceba96f7c2048bf68c14388c97cf2bc0a39211a7e377fe821000bc94ac8f74a15217acd914bc3adea5f46a4b682c6d7d0039 From cea5f05f1092f57e1fb9bf2b481a4cfd0b59c5db Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Tue, 16 Mar 2021 23:32:43 +0100 Subject: [PATCH 28/30] ci: fix and update image test Use an up-to-date manifest from the upstream osbuild CI test data and also specify an output directory, so that osbuild is actually attempting to produce an image. --- tests/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/tests.yml b/tests/tests.yml index 763f779..13f5e72 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -16,4 +16,5 @@ run: osbuild --help - image: dir: . - run: osbuild source/samples/base-qcow2.json --output-directory=/var/cache/osbuild + run: osbuild source/test/data/manifests/fedora-boot.json --output-directory=/var/tmp/osbuild + From 9469b5a47f1ed98bd47b0cb9c00735108649f0ec Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 17 Mar 2021 12:22:08 +0100 Subject: [PATCH 29/30] Include patch to add Fedora 35 runner Needed to actually run on rawhide (fedora 35). --- Fedora-35-runner.patch | 23 +++++++++++++++++++++++ osbuild.spec | 8 +++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 Fedora-35-runner.patch diff --git a/Fedora-35-runner.patch b/Fedora-35-runner.patch new file mode 100644 index 0000000..9d85db9 --- /dev/null +++ b/Fedora-35-runner.patch @@ -0,0 +1,23 @@ +From 337e0f05ea55f7b2ee107fbc1e989d82d1815193 Mon Sep 17 00:00:00 2001 +From: Christian Kellner +Date: Wed, 17 Mar 2021 11:03:22 +0100 +Subject: [PATCH] runners: add Fedora 35 runner + +New `org.osbuild.fedora35` which is re-using the f30 runner. +Needed since Fedora 35 branched in early February. +--- + runners/org.osbuild.fedora35 | 1 + + 1 file changed, 1 insertion(+) + create mode 120000 runners/org.osbuild.fedora35 + +diff --git a/runners/org.osbuild.fedora35 b/runners/org.osbuild.fedora35 +new file mode 120000 +index 0000000..d46777b +--- /dev/null ++++ b/runners/org.osbuild.fedora35 +@@ -0,0 +1 @@ ++org.osbuild.fedora30 +\ No newline at end of file +-- +2.29.2 + diff --git a/osbuild.spec b/osbuild.spec index a0af69b..55ccaf7 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -9,12 +9,14 @@ Version: 27 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 URL: %{forgeurl} Source0: %{forgesource} +# Fedora 35 runner, upstream commit 337e0f0 +Patch0: Fedora-35-runner.patch BuildArch: noarch Summary: A build system for OS images @@ -92,6 +94,7 @@ containers it uses to build OS artifacts. %prep %forgesetup +%patch0 -p1 %build %py3_build @@ -187,6 +190,9 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Wed Mar 17 2021 Christian Kellner - 27-2 +- Include Fedora 35 runner (upstream commit 337e0f0) + * Tue Mar 16 2021 Christian Kellner - 27-1 - Upstream release 27 - Various bug fixes related to the new container and installer From 3c646f07752ba27e918777a4e0d4c2e4fc33fd0d Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 8 Apr 2021 21:00:56 +0200 Subject: [PATCH 30/30] 28 upstream release New upstream release with fixes for the oci stage and official support for the Fedora 35 runner. --- .gitignore | 1 + Fedora-35-runner.patch | 23 ----------------------- osbuild.spec | 11 ++++++----- sources | 2 +- 4 files changed, 8 insertions(+), 29 deletions(-) delete mode 100644 Fedora-35-runner.patch diff --git a/.gitignore b/.gitignore index 58c8684..7b74b1a 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ /osbuild-25.tar.gz /osbuild-26.tar.gz /osbuild-27.tar.gz +/osbuild-28.tar.gz diff --git a/Fedora-35-runner.patch b/Fedora-35-runner.patch deleted file mode 100644 index 9d85db9..0000000 --- a/Fedora-35-runner.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 337e0f05ea55f7b2ee107fbc1e989d82d1815193 Mon Sep 17 00:00:00 2001 -From: Christian Kellner -Date: Wed, 17 Mar 2021 11:03:22 +0100 -Subject: [PATCH] runners: add Fedora 35 runner - -New `org.osbuild.fedora35` which is re-using the f30 runner. -Needed since Fedora 35 branched in early February. ---- - runners/org.osbuild.fedora35 | 1 + - 1 file changed, 1 insertion(+) - create mode 120000 runners/org.osbuild.fedora35 - -diff --git a/runners/org.osbuild.fedora35 b/runners/org.osbuild.fedora35 -new file mode 120000 -index 0000000..d46777b ---- /dev/null -+++ b/runners/org.osbuild.fedora35 -@@ -0,0 +1 @@ -+org.osbuild.fedora30 -\ No newline at end of file --- -2.29.2 - diff --git a/osbuild.spec b/osbuild.spec index 55ccaf7..87030c0 100644 --- a/osbuild.spec +++ b/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 27 +Version: 28 %forgemeta @@ -9,14 +9,12 @@ Version: 27 %global pkgdir %{_prefix}/lib/%{pypi_name} Name: %{pypi_name} -Release: 2%{?dist} +Release: 1%{?dist} License: ASL 2.0 URL: %{forgeurl} Source0: %{forgesource} -# Fedora 35 runner, upstream commit 337e0f0 -Patch0: Fedora-35-runner.patch BuildArch: noarch Summary: A build system for OS images @@ -94,7 +92,6 @@ containers it uses to build OS artifacts. %prep %forgesetup -%patch0 -p1 %build %py3_build @@ -190,6 +187,10 @@ fi %selinux_relabel_post -s %{selinuxtype} %changelog +* Thu Apr 8 2021 Christian Kellner - 28-1 +- Upstream release 28 +- Drop Fedora 35 runner patch incldued in release 28. + * Wed Mar 17 2021 Christian Kellner - 27-2 - Include Fedora 35 runner (upstream commit 337e0f0) diff --git a/sources b/sources index 4ffbe70..d9cd8f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (osbuild-27.tar.gz) = 43995f0747a62cce7ba87ab8d589ceba96f7c2048bf68c14388c97cf2bc0a39211a7e377fe821000bc94ac8f74a15217acd914bc3adea5f46a4b682c6d7d0039 +SHA512 (osbuild-28.tar.gz) = 855b6db566f9c0011e76d143f83183ae09a00e338ada241fc27f9412b20f37ff36692ec30b28dc9542eb457ea2a4fbd0e351821270b5d79a870f697a686e0d88