Blame SPECS/rhel-system-roles.spec

1b2089
Name: rhel-system-roles
1b2089
Summary: Set of interfaces for unified system management
74c108
Version: 1.0
eb799a
Release: 4%{?dist}
1b2089
1b2089
#Group: Development/Libraries
1b2089
License: GPLv3+ and MIT and BSD
1b2089
%global rolecompatprefix rhel-system-roles.
1b2089
%global roleprefix linux-system-roles.
1b2089
1b2089
%global commit0 fe8bb81966b60fa8979f3816a12b0c7120d71140
1b2089
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
1b2089
%global rolename0 kdump
74c108
%global version0 1.0.0-rc.1
1b2089
1b2089
%global commit1 43eec5668425d295dce3801216c19b1916df1f9b
1b2089
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
1b2089
%global rolename1 postfix
1b2089
%global version1 0.1
1b2089
74c108
%global commit2 6dd057aa434a31cb6ee67d02967362f9131e0c50
1b2089
%global shortcommit2 %(c=%{commit2}; echo ${c:0:7})
1b2089
%global rolename2 selinux
1b2089
#%%global version2 0.1
1b2089
1b2089
%global commit3 33a1a8c349de10d6281ed83d4c791e9177d7a141
1b2089
%global shortcommit3 %(c=%{commit3}; echo ${c:0:7})
1b2089
%global rolename3 timesync
74c108
%global version3 1.0.0-rc.1
1b2089
74c108
%global commit5 d866422d9d73ed823632a3c56ee8575cd56cad5b
1b2089
%global shortcommit5 %(c=%{commit5}; echo ${c:0:7})
1b2089
%global rolename5 network
74c108
#%%global version5 0.4
1b2089
1b2089
1b2089
Source: https://github.com/linux-system-roles/%{rolename0}/archive/%{version0}.tar.gz#/%{rolename0}-%{version0}.tar.gz
1b2089
Source1: https://github.com/linux-system-roles/%{rolename1}/archive/%{version1}.tar.gz#/%{rolename1}-%{version1}.tar.gz
1b2089
Source2: https://github.com/linux-system-roles/%{rolename2}/archive/%{commit2}.tar.gz#/%{rolename2}-%{shortcommit2}.tar.gz
1b2089
Source3: https://github.com/linux-system-roles/%{rolename3}/archive/%{version3}.tar.gz#/%{rolename3}-%{version3}.tar.gz
74c108
Source5: https://github.com/linux-system-roles/%{rolename5}/archive/%{commit5}.tar.gz#/%{rolename5}-%{shortcommit5}.tar.gz
1b2089
1b2089
Source6: timesync-playbook.yml
1b2089
Source7: timesync-pool-playbook.yml
1b2089
1b2089
Patch1: rhel-system-roles-%{rolename1}-prefix.diff
1b2089
Patch2: rhel-system-roles-%{rolename2}-prefix.diff
1b2089
Patch3: rhel-system-roles-%{rolename3}-prefix.diff
1b2089
Patch5: rhel-system-roles-%{rolename5}-prefix.diff
1b2089
eb799a
Patch101: rhel-system-roles-kdump-pr16.diff
eb799a
eb799a
Patch11: rhel-system-roles-postfix-pr5.diff
eb799a
eb799a
Patch21: rhel-system-roles-selinux-pr30.diff
eb799a
eb799a
Patch31: rhel-system-roles-timesync-pr18.diff
eb799a
Patch32: rhel-system-roles-timesync-pr19.diff
eb799a
eb799a
Patch51: rhel-system-roles-network-pr77-pr80.diff
eb799a
1b2089
Url: https://github.com/linux-system-roles/
1b2089
BuildArch: noarch
1b2089
eb799a
Obsoletes: rhel-system-roles-techpreview < 1.0-3
eb799a
1b2089
%description
74c108
Collection of Ansible roles and modules that provide a stable and
74c108
consistent configuration interface for managing multiple versions
74c108
of Red Hat Enterprise Linux.
74c108
1b2089
1b2089
%prep
74c108
%setup -qc -a1 -a2 -a3 -a5
1b2089
cd %{rolename0}-%{version0}
eb799a
%patch101 -p1
1b2089
cd ..
1b2089
cd %{rolename1}-%{version1}
1b2089
%patch1 -p1
eb799a
%patch11 -p1
1b2089
cd ..
1b2089
cd %{rolename2}-%{commit2}
1b2089
%patch2 -p1
eb799a
%patch21 -p1
1b2089
cd ..
1b2089
cd %{rolename3}-%{version3}
1b2089
%patch3 -p1
eb799a
%patch31 -p1
eb799a
%patch32 -p1
1b2089
cd ..
74c108
cd %{rolename5}-%{commit5}
1b2089
%patch5 -p1
eb799a
%patch51 -p1
1b2089
cd ..
1b2089
1b2089
%build
1b2089
1b2089
%install
1b2089
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
1b2089
1b2089
cp -pR %{rolename0}-%{version0}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename0}
1b2089
cp -pR %{rolename1}-%{version1}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename1}
1b2089
cp -pR %{rolename2}-%{commit2}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename2}
1b2089
cp -pR %{rolename3}-%{version3}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename3}
74c108
cp -pR %{rolename5}-%{commit5}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename5}
1b2089
1b2089
ln -s    %{rolecompatprefix}%{rolename0}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename0}
1b2089
ln -s    %{rolecompatprefix}%{rolename1}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename1}
1b2089
ln -s    %{rolecompatprefix}%{rolename2}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename2}
1b2089
ln -s    %{rolecompatprefix}%{rolename3}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename3}
1b2089
ln -s    %{rolecompatprefix}%{rolename5}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename5}
1b2089
1b2089
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/kdump
1b2089
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/postfix
1b2089
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/selinux
1b2089
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/timesync
1b2089
install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-playbook.yml
1b2089
install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-pool-playbook.yml
1b2089
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/network
1b2089
1b2089
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}kdump/README.md \
1b2089
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}kdump/COPYING \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/kdump
1b2089
1b2089
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}postfix/README.md \
1b2089
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}postfix/COPYING \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/postfix
1b2089
1b2089
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/README.md \
1b2089
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/COPYING \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/selinux
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/selinux-playbook.yml \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/selinux/example-selinux-playbook.yml
1b2089
1b2089
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}timesync/README.md \
1b2089
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}timesync/COPYING \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/timesync
1b2089
1b2089
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/README.md \
74c108
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/LICENSE \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/network
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/bond-with-vlan.yml \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bond-with-vlan-playbook.yml
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/bridge-with-vlan.yml \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bridge-with-vlan-playbook.yml
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/eth-simple-auto.yml \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-simple-auto-playbook.yml
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/eth-with-vlan.yml \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-with-vlan-playbook.yml
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/infiniband.yml \
1b2089
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-infiniband-playbook.yml
74c108
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/macvlan.yml \
74c108
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-macvlan-playbook.yml
74c108
cp $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/remove-profile.yml \
74c108
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-remove-profile-playbook.yml
74c108
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/remove-profile.yml
74c108
cp $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/down-profile.yml \
74c108
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-down-profile-playbook.yml
74c108
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/down-profile.yml
1b2089
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/inventory \
1b2089
   $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-inventory
1b2089
1b2089
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/.gitignore
74c108
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/tests/.gitignore
74c108
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/roles
1b2089
rmdir $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples
1b2089
1b2089
%files
5f9324
%dir %{_datadir}/ansible
5f9324
%dir %{_datadir}/ansible/roles
1b2089
%{_datadir}/ansible/roles/%{roleprefix}kdump
eb799a
%{_datadir}/ansible/roles/%{roleprefix}postfix
1b2089
%{_datadir}/ansible/roles/%{roleprefix}selinux
1b2089
%{_datadir}/ansible/roles/%{roleprefix}timesync
1b2089
%{_datadir}/ansible/roles/%{roleprefix}network
1b2089
%{_datadir}/ansible/roles/%{rolecompatprefix}kdump
eb799a
%{_datadir}/ansible/roles/%{rolecompatprefix}postfix
1b2089
%{_datadir}/ansible/roles/%{rolecompatprefix}selinux
1b2089
%{_datadir}/ansible/roles/%{rolecompatprefix}timesync
1b2089
%{_datadir}/ansible/roles/%{rolecompatprefix}network
eb799a
%doc %{_pkgdocdir}/*/example-*-playbook.yml
1b2089
%doc %{_pkgdocdir}/network/example-inventory
eb799a
%doc %{_pkgdocdir}/*/README.md
1b2089
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}kdump/README.md
eb799a
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}postfix/README.md
1b2089
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}selinux/README.md
1b2089
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}timesync/README.md
1b2089
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}network/README.md
1b2089
1b2089
1b2089
%license %{_pkgdocdir}/*/COPYING
74c108
%license %{_pkgdocdir}/*/LICENSE
1b2089
%license %{_datadir}/ansible/roles/%{rolecompatprefix}kdump/COPYING
eb799a
%license %{_datadir}/ansible/roles/%{rolecompatprefix}postfix/COPYING
1b2089
%license %{_datadir}/ansible/roles/%{rolecompatprefix}selinux/COPYING
1b2089
%license %{_datadir}/ansible/roles/%{rolecompatprefix}timesync/COPYING
74c108
%license %{_datadir}/ansible/roles/%{rolecompatprefix}network/LICENSE
74c108
eb799a
%changelog
eb799a
* Thu Aug 16 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-4
eb799a
- Add Obsoletes for the -techpreview subpackage
74c108
eb799a
* Thu Aug 16 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-3
eb799a
- Add warnings to role READMEs and other doc updates, rhbz#1616018
eb799a
- network: split the state setting into state and persistent_state, rhbz#1616014
eb799a
- Undo the -techpreview subpackage introduced in 1.0-1, rhbz#1616015
1b2089
74c108
* Thu Aug  2 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-2
74c108
- Rebase the network role to the last revision (d866422).
74c108
  Many improvements to tests, introduces autodetection of the current provider
74c108
  and defaults to using profile name as interface name.
74c108
- Update the description.
74c108
74c108
* Wed Aug  1 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-1
74c108
- Rebase the selinux, timesync and kdump roles to their 1.0rc1 versions.
74c108
  Many changes to the role interfaces to make them more consistent
74c108
  and conforming to Ansible best practices.
74c108
- Split the postfix role into a -techpreview subpackage, we do not consider
74c108
  it stable yet.
74c108
70f540
* Wed Mar 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-3
70f540
- Minor corrections of the previous change by Till Maas.
70f540
70f540
* Fri Mar  9 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-2
70f540
- Document network role options: static routes, ethernet, dns
70f540
  Upstream PR#36, bz1550128, documents bz1487747 and bz1478576
70f540
5f9324
* Tue Jan 30 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-1
5f9324
- Drop hard dependency on ansible (#1525655), patch from Yaakov Selkowitz
5f9324
- Update the network role to version 0.4, solves bz#1487747, bz#1478576
5f9324
1b2089
* Tue Dec 19 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-3
1b2089
- kdump: fix the wrong conditional for ssh checking and improve test (PR#10)
1b2089
1b2089
* Tue Nov 07 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-2
1b2089
- kdump: add ssh support. upstream PR#9, rhbz1478707
1b2089
1b2089
* Tue Oct 03 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-1
1b2089
- SELinux: fix policy reload when SELinux is disabled on CentOS/RHEL 6
1b2089
  (bz#1493574)
1b2089
- network: update to b856c7481bf5274d419f71fb62029ea0044b3ec1 :
1b2089
  makes the network role idempotent (bz#1476053) and fixes manual
1b2089
  network provider selection (bz#1485074).
1b2089
1b2089
* Mon Aug 28 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.4-1
1b2089
- network: update to b9b6f0a7969e400d8d6ba0ac97f69593aa1e8fa5:
1b2089
  ensure that state:absent followed by state:up works (bz#1478910), and change
1b2089
  the example IP adresses to the IANA-assigned ones.
1b2089
- SELinux: fix the case when SELinux is disabled (bz#1479546).
1b2089
1b2089
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-2
1b2089
- We can't change directories to symlinks (rpm bug #447156) so keep the old
1b2089
  names and create the new names as symlinks.
1b2089
1b2089
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-1
1b2089
- Change the prefix to linux-system-roles., keeping compatibility
1b2089
  symlinks.
1b2089
- Update the network role to dace7654feb7b5629ded0734c598e087c2713265:
1b2089
  adds InfiniBand support and other fixes.
1b2089
- Drop a patch included upstream.
1b2089
1b2089
* Mon Jun 26 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-2
1b2089
- Leave a copy of README and COPYING in every role's directory, as suggested by T. Bowling.
1b2089
- Move the network example inventory to the documentation directory together.
1b2089
  with the example playbooks and delete the now empty "examples" directory.
1b2089
- Use proper reserved (by RFC 7042) MAC addresses in the network examples.
1b2089
1b2089
* Tue Jun 6 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-1
1b2089
- Update the networking role to version 0.2 (#1459203)
1b2089
- Version every role and the package separately. They live in separate repos
1b2089
  and upstream release tags are not coordinated.
1b2089
1b2089
* Mon May 22 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-2
1b2089
- Prefix the roles in examples and documentation with rhel-system-roles.
1b2089
1b2089
* Thu May 18 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-1
1b2089
- Update to 0.1 (first upstream release).
1b2089
- Remove the tuned role, it is not ready yet.
1b2089
- Move the example playbooks to /usr/share/doc/rhel-system-roles/$SUBSYSTEM
1b2089
  directly to get rid of an extra directory.
1b2089
- Depend on ansible.
1b2089
1b2089
* Thu May 4 2017  Pavel Cahyna <pcahyna@redhat.com> - 0-0.1.20170504
1b2089
- Initial release.
1b2089
- kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140
1b2089
- postfix r. 43eec5668425d295dce3801216c19b1916df1f9b
1b2089
- selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7
1b2089
- timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141
1b2089
- tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b
1b2089
- network r. 03ff040df78a14409a0d89eba1235b8f3e50a750
1b2089