diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..87affa5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/osbuild-12.tar.gz diff --git a/.osbuild.metadata b/.osbuild.metadata new file mode 100644 index 0000000..fb72d92 --- /dev/null +++ b/.osbuild.metadata @@ -0,0 +1 @@ +a554941f5652407196cb9ec6d9919c8de7bf11e8 SOURCES/osbuild-12.tar.gz diff --git a/SPECS/osbuild.spec b/SPECS/osbuild.spec new file mode 100644 index 0000000..4f1a2c9 --- /dev/null +++ b/SPECS/osbuild.spec @@ -0,0 +1,153 @@ +%global forgeurl https://github.com/osbuild/osbuild + +Version: 12 + +%forgemeta + +%global pypi_name osbuild +%global pkgdir %{_prefix}/lib/%{pypi_name} + +Name: %{pypi_name} +Release: 1%{?dist} +License: ASL 2.0 + +URL: %{forgeurl} + +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} = %{version}-%{release} + +# 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 +A build system for OS images + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%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 + +%build +%py3_build +make man + +%install +%py3_install + +mkdir -p %{buildroot}%{pkgdir}/stages +install -p -m 0755 $(find stages -type f) %{buildroot}%{pkgdir}/stages/ + +mkdir -p %{buildroot}%{pkgdir}/assemblers +install -p -m 0755 $(find assemblers -type f) %{buildroot}%{pkgdir}/assemblers/ + +mkdir -p %{buildroot}%{pkgdir}/runners +install -p -m 0755 $(find runners -type f -or -type l) %{buildroot}%{pkgdir}/runners + +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 + +# 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 +# be an overkill for RPM check script. + +%files +%license LICENSE +%{_bindir}/osbuild +%{_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 +%doc README.md NEWS.md +%{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 +- Sync with Fedora and use 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 +- Turn off dependency generator for internal components +- Add NEWS.md file with the release notes and man pages + +* Sun Dec 16 2019 Lars Karlitski - 7-1 +- New upstream release + +* Sun Dec 1 2019 Tom Gundersen - 6-2 +- New upstream release + +* Thu Oct 24 2019 Lars Karlitski - 3-2 +- add gating infra and tests + +* Mon Aug 19 2019 Miro HronĨok - 1-3 +- Rebuilt for Python 3.8 + +* Mon Jul 29 2019 Martin Sehnoutka - 1-2 +- update upstream URL to the new Github organization + +* Wed Jul 17 2019 Martin Sehnoutka - 1-1 +- Initial package