Blame SPECS/osbuild.spec

740e31
%global         forgeurl https://github.com/osbuild/osbuild
740e31
740e31
Version:        12
740e31
740e31
%forgemeta
740e31
740e31
%global         pypi_name osbuild
740e31
%global         pkgdir %{_prefix}/lib/%{pypi_name}
740e31
740e31
Name:           %{pypi_name}
740e31
Release:        1%{?dist}
740e31
License:        ASL 2.0
740e31
740e31
URL:            %{forgeurl}
740e31
740e31
Source0:        %{forgesource}
740e31
BuildArch:      noarch
740e31
Summary:        A build system for OS images
740e31
740e31
BuildRequires:  make
740e31
BuildRequires:  python3-devel
740e31
BuildRequires:  python3-docutils
740e31
740e31
Requires:       bash
740e31
Requires:       coreutils
740e31
Requires:       curl
740e31
Requires:       dnf
740e31
Requires:       e2fsprogs
740e31
Requires:       glibc
740e31
Requires:       policycoreutils
740e31
Requires:       qemu-img
740e31
Requires:       systemd
740e31
Requires:       systemd-container
740e31
Requires:       tar
740e31
Requires:       util-linux
740e31
Requires:       python3-%{pypi_name} = %{version}-%{release}
740e31
740e31
# Turn off dependency generators for assemblers, runners and stages.
740e31
# They run in a container, so there's no reason to generate dependencies
740e31
# from them. As of 2020-03-25 this filters out python3.6 dependency generated
740e31
# by rhel runner.
740e31
%global __requires_exclude_from ^%{pkgdir}/(assemblers|runners|stages)/.*$
740e31
740e31
%{?python_enable_dependency_generator}
740e31
740e31
%description
740e31
A build system for OS images
740e31
740e31
%package -n     python3-%{pypi_name}
740e31
Summary:        %{summary}
740e31
%{?python_provide:%python_provide python3-%{pypi_name}}
740e31
740e31
%description -n python3-%{pypi_name}
740e31
A build system for OS images
740e31
740e31
%package        ostree
740e31
Summary:        OSTree support
740e31
Requires:       %{name} = %{version}-%{release}
740e31
Requires:       ostree
740e31
Requires:       rpm-ostree
740e31
740e31
%description ostree
740e31
Contains the necessary stages, assembler and source
740e31
to build OSTree based images.
740e31
740e31
%prep
740e31
%forgesetup
740e31
740e31
%build
740e31
%py3_build
740e31
make man
740e31
740e31
%install
740e31
%py3_install
740e31
740e31
mkdir -p %{buildroot}%{pkgdir}/stages
740e31
install -p -m 0755 $(find stages -type f) %{buildroot}%{pkgdir}/stages/
740e31
740e31
mkdir -p %{buildroot}%{pkgdir}/assemblers
740e31
install -p -m 0755 $(find assemblers -type f) %{buildroot}%{pkgdir}/assemblers/
740e31
740e31
mkdir -p %{buildroot}%{pkgdir}/runners
740e31
install -p -m 0755 $(find runners -type f -or -type l) %{buildroot}%{pkgdir}/runners
740e31
740e31
mkdir -p %{buildroot}%{pkgdir}/sources
740e31
install -p -m 0755 $(find sources -type f) %{buildroot}%{pkgdir}/sources
740e31
740e31
# mount points for bind mounting the osbuild library
740e31
mkdir -p %{buildroot}%{pkgdir}/stages/osbuild
740e31
mkdir -p %{buildroot}%{pkgdir}/assemblers/osbuild
740e31
740e31
# documentation
740e31
mkdir -p %{buildroot}%{_mandir}/man1
740e31
mkdir -p %{buildroot}%{_mandir}/man5
740e31
install -p -m 0644 -t %{buildroot}%{_mandir}/man1/ docs/*.1
740e31
install -p -m 0644 -t %{buildroot}%{_mandir}/man5/ docs/*.5
740e31
740e31
%check
740e31
exit 0
740e31
# We have some integration tests, but those require running a VM, so that would
740e31
# be an overkill for RPM check script.
740e31
740e31
%files
740e31
%license LICENSE
740e31
%{_bindir}/osbuild
740e31
%{_mandir}/man1/%{name}.1*
740e31
%{_mandir}/man5/%{name}-manifest.5*
740e31
%{pkgdir}
740e31
# the following files are in the ostree sub-package
740e31
%exclude %{pkgdir}/assemblers/org.osbuild.ostree.commit
740e31
%exclude %{pkgdir}/sources/org.osbuild.ostree
740e31
%exclude %{pkgdir}/stages/org.osbuild.ostree
740e31
%exclude %{pkgdir}/stages/org.osbuild.rpm-ostree
740e31
740e31
%files -n       python3-%{pypi_name}
740e31
%license LICENSE
740e31
%doc README.md NEWS.md
740e31
%{python3_sitelib}/%{pypi_name}-*.egg-info/
740e31
%{python3_sitelib}/%{pypi_name}/
740e31
740e31
%files          ostree
740e31
%{pkgdir}/assemblers/org.osbuild.ostree.commit
740e31
%{pkgdir}/sources/org.osbuild.ostree
740e31
%{pkgdir}/stages/org.osbuild.ostree
740e31
%{pkgdir}/stages/org.osbuild.rpm-ostree
740e31
740e31
%changelog
740e31
* Wed Apr 15 2020 Christian Kellner <ckellner@redhat.com> - 12-1
740e31
- Sync with Fedora and use upstream release 12
740e31
- Specify the exact version in the 'python3-osbuild' requirement
740e31
  to avoid the library and the main binary being out of sync.
740e31
- osbuild-ostree sub-package with the necessary bits to create
740e31
  OSTree based images
740e31
- Turn off dependency generator for internal components
740e31
- Add NEWS.md file with the release notes and man pages
740e31
740e31
* Sun Dec 16 2019 Lars Karlitski <lars@karlitski.net> - 7-1
740e31
- New upstream release
740e31
740e31
* Sun Dec 1 2019 Tom Gundersen <teg@jklm.no> - 6-2
740e31
- New upstream release
740e31
740e31
* Thu Oct 24 2019 Lars Karlitski <lueberni@redhat.com> - 3-2
740e31
- add gating infra and tests
740e31
740e31
* Mon Aug 19 2019 Miro HronĨok <mhroncok@redhat.com> - 1-3
740e31
- Rebuilt for Python 3.8
740e31
740e31
* Mon Jul 29 2019 Martin Sehnoutka <msehnout@redhat.com> - 1-2
740e31
- update upstream URL to the new Github organization
740e31
740e31
* Wed Jul 17 2019 Martin Sehnoutka <msehnout@redhat.com> - 1-1
740e31
- Initial package