Blob Blame Raw
# Macros for py2/py3 compatibility
%if 0%{?fedora} || 0%{?rhel} > 7
%global pyver 3
%else
%global pyver 2
%endif

%global pyver_bin python%{pyver}
%global pyver_sitelib %python%{pyver}_sitelib
%global pyver_install %py%{pyver}_install
%global pyver_build %py%{pyver}_build
# End of macros for py2/py3 compatibility

%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
Name:           diskimage-builder
Summary:        Image building tools for OpenStack
Version:        2.20.3
Release:        3%{?dist}
License:        ASL 2.0
Group:          System Environment/Base
URL:            https://launchpad.net/diskimage-builder
Source0:        https://tarballs.openstack.org/diskimage-builder/%{name}-%{upstream_version}.tar.gz
AutoReqProv: no

BuildArch: noarch

BuildRequires: python%{pyver}-devel
BuildRequires: python%{pyver}-setuptools
BuildRequires: python%{pyver}-pbr
%if %{pyver} == 2
BuildRequires: python-d2to1
%else
BuildRequires: python%{pyver}-d2to1
BuildRequires: /usr/bin/pathfix.py
%endif

Requires: kpartx
Requires: qemu-img
Requires: curl
Requires: tar
Requires: git
Requires: dib-utils
Requires: xfsprogs
Requires: /bin/bash
Requires: /bin/sh
Requires: /usr/bin/env
Requires: python%{pyver}
Requires: python%{pyver}-flake8
Requires: python%{pyver}-pbr
Requires: python%{pyver}-six
Requires: python%{pyver}-stevedore
Requires: python%{pyver}-flake8
%if %{pyver} == 2
Requires: python-babel
Requires: python-networkx
Requires: PyYAML
%else
Requires: python%{pyver}-babel
Requires: python%{pyver}-networkx
Requires: python%{pyver}-PyYAML
%endif

%global __requires_exclude /usr/local/bin/dib-python
%global __requires_exclude %__requires_exclude|/sbin/runscript

# Exclude all elements, as they are only run within diskimage-builder
%global __requires_exclude_from %{_datadir}/%{name}/elements
# flake8 version is incorrectly capped upstream
%global __requires_exclude ^python.*flake8.*

%prep
%setup -q -n %{name}-%{upstream_version}

%build
%{pyver_build}

%install
%{pyver_install}

mkdir -p %{buildroot}%{_datadir}/%{name}/elements

cp -vr diskimage_builder/elements/ %{buildroot}%{_datadir}/%{name}

# explicitly remove config-applier since it does a pip install
rm -rf %{buildroot}%{_datadir}/%{name}/elements/config-applier

# This file is being split out of diskimage-builder, so remove it to
# avoid conflicts with the new package.
rm -f %{buildroot}%{_bindir}/dib-run-parts

%if %{pyver} == 3
# Fix shebangs for Python 3-only distros
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_datadir}/%{name}/elements/pypi/pre-install.d/00-configure-pypi-mirror
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_datadir}/%{name}/elements/deploy-targetcli/extra-data.d/module/targetcli-wrapper
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_datadir}/%{name}/elements/package-installs/bin/package-installs-squash
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_datadir}/%{name}/elements/svc-map/extra-data.d/10-merge-svc-map-files
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_datadir}/%{name}/elements/svc-map/bin/svc-map
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{pyver_sitelib}/diskimage_builder/elements/pypi/pre-install.d/00-configure-pypi-mirror
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{pyver_sitelib}/diskimage_builder/elements/deploy-targetcli/extra-data.d/module/targetcli-wrapper
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{pyver_sitelib}/diskimage_builder/elements/package-installs/bin/package-installs-squash
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{pyver_sitelib}/diskimage_builder/elements/svc-map/extra-data.d/10-merge-svc-map-files
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{pyver_sitelib}/diskimage_builder/elements/svc-map/bin/svc-map
%endif

%description
Components of TripleO that are responsible for building disk images.

%files
%doc LICENSE
%doc doc/source/ci.md
%{_bindir}/*
%{pyver_sitelib}/diskimage_builder*
%{_datadir}/%{name}/elements

%changelog
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.20.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu May 16 2019 Alfredo Moralejo <amoralej@redhat.com> - 2.20.3-2
- Disable automatic requires discovery for flake8 - rhbz#1708496

* Fri Mar 22 2019 RDO <dev@lists.rdoproject.org> 2.20.3-1
- Update to 2.20.3

* Wed Feb 27 2019 Yatin Karel <ykarel@redhat.com> - 1.26.1-8
- Build python3 instead of python2 as python2 is being removed

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.26.1-5
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Dec 22 2016 Mike Burns <mburns@redhat.com> 1.26.1-1
- Update to 1.26.1

* Thu Dec 01 2016 Mike Burns <mburns@redhat.com> 1.24.0-1
- Update to 1.24.0

* Wed Oct 05 2016 James Slagle <jslagle@redhat.com> - 1.20.0-1
- Fix version to be 1.20.0

* Wed Oct 05 2016 James Slagle <jslagle@redhat.com> - 1.20-1
- Update to 1.20
- Remove requires on python-argparse

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.14.1-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Mon Apr 11 2016 Paul Belanger <pabelanger@redhat.com> - 1.14.1-1
- Update to 1.14.1 (#1317493)

* Sun Feb 28 2016 Paul Belanger <pabelanger@redhat.com> - 1.11.1-1
- Update to 1.11.1 (#1306997)

* Wed Feb 03 2016 Paul Belanger <pabelanger@redhat.com> - 1.9.0-2
- Switch to requires_exclude_from for all elements.

* Tue Feb 02 2016 Paul Belanger <pabelanger@redhat.com> - 1.9.0-1
- Update to 1.9.0 (#1300434)
- Modernize spec file to latest python packaging example
- config-applier and dib-run-parts are no longer part of diskimage-builder

* Thu Jan 21 2016 Paul Belanger <pabelanger@redhat.com> - 1.8.0-2
- Add Requires filter for /usr/local/bin/dib-python
- Add missing Requires for sudo and yum-utils

* Wed Jan 20 2016 Fedora Release Monitoring <release-monitoring@fedoraproject.org> - 1.8.0-1
- Update to 1.8.0 (#1300434)

* Thu Dec 03 2015 Paul Belanger <pabelanger@redhat.com> - 1.4.0-1
- Update to upstream 1.4.0
- Drop patches merged upstream

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.42-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri May 08 2015 Mike Burns <mburns@redhat.com> 0.1.42-3
- Remove vlan vconfig from base

* Fri May 08 2015 Mike Burns <mburns@redhat.com> 0.1.42-2
- spec cleanup
- Update to upstream 0.1.42
- Merge fedora/master in to rhos-7.0-rhel-7
- Merge pull request #5 from redhat-openstack/extend_mkfs_options
- Merge pull request #4 from rbrady/run-registration-once
- Merge pull request #4 from rbrady/run-registration-once
- Merge remote-tracking branch 'fedora/master' into rhos-6.0-rhel-7
- Don't trace RHEL registration scripts
- Merge remote-tracking branch 'fedora/master' into rhos-6.0-rhel-7
- Allow for disabling rhel registration
- Merge remote-tracking branch 'fedora/master' into rhos-6.0-rhel-7
- 0.1.34-17
- Merge remote-tracking branch 'fedora/master' into rhos-6.0-rhel-7
- Make files created by patch 0013-Convert-deploy-ramdisk-to-targetcli.patch +x
- Convert deploy ramdisk to targetcli
- Bump to 0.1.34-14
- Allow injecting arbitrary yum repo configuration
- Allow source-repositories to be disabled completely
- Fix perms on rhel registration patch
- Update RHEL Registration
- Enable RHEL Registration
- Remove duplicate binary-deps from dracut-ramdisk
- Fix perms on binary-deps patch
- Use binary-deps.d for dracut ramdisks
- Simplify Dracut cmdline script
- Install lsb_release from package
- Import diskimage-builder from RDO
- New branch setup
- Unset trap before dracut ramdisk build script exits
- Move busybox binary-dep to ramdisk element
- Bump release as well
- Update spec file
- Remove requirement on busybox
- Fix syntax error
- Make sure files created by patch are +x
- Enable dracut deploy ramdisks
- Update to upstream 0.1.34
- svc-map requires PyYAML
- Make sure file added by patch is +x
- Move install bin from rpm-distro to yum
- Update to upstream 0.1.33
- Update to upstream 0.1.32
- Update to upstream 0.1.31
- Update to 0.1.30
- Update to upstream 0.1.30
- Update to upstream 0.1.30
- Updated patches from f20-patches
- Switch to rdopkg
- Merge branch 'master' into f20
- 0.1.15-3
- 0.1.15-3
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
- Update to 0.1.15 and remove dib-run-parts
- Update to 0.1.15 and remove dib-run-parts
- Update to 0.1.13
- Really add 0.1.13 sources
- Add 0.1.13 to sources
- Update to 0.1.13
- 0.1.12
- Rebase to 0.1.9
- Rebase to 0.1.9
- Add tar requires
- Add tar requires
- Add new requires from requirements.txt
- Rebase to 0.1.5

* Fri May 08 2015 Mike Burns <mburns@redhat.com> 0.1.42-1
- Update to upstream 0.1.42

* Fri Mar 27 2015 Ben Nemec <bnemec@redhat.com> 0.1.34-21
- Merge pull request #5 from redhat-openstack/extend_mkfs_options
- Open MKFS_OPTS for extension in disk-image-create
- Merge pull request #4 from rbrady/run-registration-once
- Merge pull request #3 from rbrady/fix-satellite-repo
- Run Registration Once

* Mon Feb 09 2015 James Slagle <jslagle@redhat.com> 0.1.34-20
- Merge pull request #4 from rbrady/run-registration-once
- Merge pull request #3 from rbrady/fix-satellite-repo
- Run Registration Once
- Fix Satellite Repo
- Merge pull request #1 from gfidente/master-patches
- Switch manage_etc_hosts from True to localhost

* Mon Jan 05 2015 James Slagle <jslagle@redhat.com> 0.1.34-19
- Don't trace RHEL registration scripts
- Allow for disabling rhel registration
- Deprecates username and password from boot time registration
- Fix repo enablement for RHEL during registration

* Tue Dec 09 2014 James Slagle <jslagle@redhat.com> 0.1.34-18
- Allow for disabling rhel registration

* Mon Dec 08 2014 James Slagle <jslagle@redhat.com> 0.1.34-17
- Make files created by patch 0012-Allow-injecting-arbitrary-yum-repo-configuration.patch +x

* Sun Dec 07 2014 James Slagle <jslagle@redhat.com> 0.1.34-16
- Make files created by patch 0013-Convert-deploy-ramdisk-to-targetcli.patch +x

* Sat Dec 06 2014 James Slagle <jslagle@redhat.com> 0.1.34-15
- Convert deploy ramdisk to targetcli

* Thu Dec 04 2014 James Slagle <jslagle@redhat.com> 0.1.34-14
- Allow injecting arbitrary yum repo configuration

* Fri Nov 21 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-13
- Allow source-repositories to be disabled completely

* Thu Nov 20 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-12
- Update RHEL Registration

* Tue Nov 18 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-11
- Enable RHEL Registration

* Fri Nov 14 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-10
- Remove duplicate binary-deps from dracut-ramdisk

* Fri Nov 14 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-9
- Fix perms on binary-deps patch

* Fri Nov 14 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-8
- Use binary-deps.d for dracut ramdisks

* Thu Nov 13 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-7
- Simplify Dracut cmdline script

* Tue Nov 11 2014 Ben Nemec <bnemec@redhat.com> 0.1.34-6
- Install lsb_release from package

* Thu Oct 23 2014 James Slagle <jslagle@redhat.com> 0.1.34-5
- Unset trap before dracut ramdisk build script exits

* Wed Oct 22 2014 James Slagle <jslagle@redhat.com> 0.1.34-4
- Move busybox binary-dep to ramdisk element

* Tue Oct 21 2014 James Slagle <jslagle@redhat.com> 0.1.34-3
- Remove requirement on busybox, we use dracut now.

* Mon Oct 20 2014 James Slagle <jslagle@redhat.com> 0.1.34-2
- Enable dracut deploy ramdisks

* Mon Oct 20 2014 James Slagle <jslagle@redhat.com> 0.1.34-1
- Update to upstream 0.1.34

* Fri Oct 17 2014 James Slagle <jslagle@redhat.com> 0.1.33-4
- svc-map requires PyYAML

* Fri Oct 17 2014 James Slagle <jslagle@redhat.com> 0.1.33-3
- Make sure file added by patch is +x

* Wed Oct 15 2014 James Slagle <jslagle@redhat.com> 0.1.33-2
- Move install bin from rpm-distro to yum
- Check for epel before installing it

* Wed Oct 15 2014 James Slagle <jslagle@redhat.com> 0.1.33-1
- Update to upstream 0.1.33

* Wed Oct 01 2014 James Slagle <jslagle@redhat.com> 0.1.32-1
- Update to upstream 0.1.32

* Mon Sep 29 2014 James Slagle <jslagle@redhat.com> 0.1.31-1
- Update to upstream 0.1.31

* Mon Sep 15 2014 James Slagle <jslagle@redhat.com> 0.1.30-1
- Update to upstream 0.1.30

* Thu Sep 11 2014 James Slagle <jslagle@redhat.com> - 0.1.15-4
- Switch to rdopkg

* Wed Jul 02 2014 James Slagle <jslagle@redhat.com> - 0.1.15-3
- Add patch Remove-fixfiles-from-rpm-distro-finalize.patch

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.15-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed Apr 30 2014 Ben Nemec <bnemec@redhat.com> - 0.1.15-1
- Update to 0.1.15
- Remove dib-run-parts from this package
- Add dependency on dib-utils (the new home of dib-run-parts)

* Wed Apr 16 2014 Ben Nemec <bnemec@redhat.com> - 0.1.13-1
- Update to 0.1.13
- Remove mariadb-rdo-package patch that merged upstream

* Wed Mar 26 2014 Jeff Peeler <jpeeler@redhat.com> 0.1.9-1
- rebase to 0.1.9

* Tue Feb 18 2014 Jeff Peeler <jpeeler@redhat.com> 0.1.5-3
- add tar requires (rhbz#1066680)

* Mon Jan 27 2014 Jeff Peeler <jpeeler@redhat.com> 0.1.5-2
- add new requires: python-argparse, python-babel

* Mon Jan 27 2014 Jeff Peeler <jpeeler@redhat.com> 0.1.5-1
- rebase to 0.1.5 + patch to fix RHEL 6.5 boot (rhbz#1057217)

* Wed Oct 9 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.5-1
- rebase to 0.0.5

* Mon Sep 16 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.1-7
- add patch to allow proper Fedora image creation when using vm element

* Fri Sep 13 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.1-6
- add patches to ccd7b86b606e678bf7281baff05c420b089c5d8f (fixes kpartx issue)

* Thu Sep 5 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.1-5
- rebase to a495079695e914fa7ec93292497bfc2471f41510
- Source moved from stackforge to openstack
- added curl requires
- switched to pbr
- remove all sudo related files as they are no longer used

* Tue Aug 13 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.1-4
- removed config-applier element

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Jul 31 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.1-2
- rebased and dropped patches

* Mon Jul 29 2013 Jeff Peeler <jpeeler@redhat.com> 0.0.1-1
- initial package straight from github commit sha