Blame SPECS/rhel-system-roles.spec

617c05
Name: rhel-system-roles
617c05
Summary: Set of interfaces for unified system management
906ee8
Version: 0.5
1d7625
Release: 1%{?dist}
617c05
617c05
#Group: Development/Libraries
617c05
License: GPLv3+ and MIT and BSD
1d7625
%global rolecompatprefix rhel-system-roles.
1d7625
%global roleprefix linux-system-roles.
617c05
617c05
%global commit0 fe8bb81966b60fa8979f3816a12b0c7120d71140
617c05
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
617c05
%global rolename0 kdump
617c05
%global version0 0.1
617c05
617c05
%global commit1 43eec5668425d295dce3801216c19b1916df1f9b
617c05
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
617c05
%global rolename1 postfix
617c05
%global version1 0.1
617c05
906ee8
%global commit2 ebcb133649fb5aba5bf0b7a64f2db2b90aadda1b
617c05
%global shortcommit2 %(c=%{commit2}; echo ${c:0:7})
617c05
%global rolename2 selinux
906ee8
#%%global version2 0.1
617c05
617c05
%global commit3 33a1a8c349de10d6281ed83d4c791e9177d7a141
617c05
%global shortcommit3 %(c=%{commit3}; echo ${c:0:7})
617c05
%global rolename3 timesync
617c05
%global version3 0.1
617c05
906ee8
%global commit5 b856c7481bf5274d419f71fb62029ea0044b3ec1
617c05
%global shortcommit5 %(c=%{commit5}; echo ${c:0:7})
617c05
%global rolename5 network
1d7625
#%%global version5 0.2
617c05
617c05
617c05
Source: https://github.com/linux-system-roles/%{rolename0}/archive/%{version0}.tar.gz#/%{rolename0}-%{version0}.tar.gz
617c05
Source1: https://github.com/linux-system-roles/%{rolename1}/archive/%{version1}.tar.gz#/%{rolename1}-%{version1}.tar.gz
906ee8
Source2: https://github.com/linux-system-roles/%{rolename2}/archive/%{commit2}.tar.gz#/%{rolename2}-%{shortcommit2}.tar.gz
617c05
Source3: https://github.com/linux-system-roles/%{rolename3}/archive/%{version3}.tar.gz#/%{rolename3}-%{version3}.tar.gz
1d7625
Source5:  https://github.com/linux-system-roles/%{rolename5}/archive/%{commit5}.tar.gz#/%{rolename5}-%{shortcommit5}.tar.gz
1d7625
617c05
Source6: timesync-playbook.yml
617c05
Source7: timesync-pool-playbook.yml
617c05
617c05
Patch1: rhel-system-roles-%{rolename1}-prefix.diff
617c05
Patch2: rhel-system-roles-%{rolename2}-prefix.diff
617c05
Patch3: rhel-system-roles-%{rolename3}-prefix.diff
617c05
Patch5: rhel-system-roles-%{rolename5}-prefix.diff
617c05
617c05
Url: https://github.com/linux-system-roles/
617c05
BuildArch: noarch
617c05
617c05
Requires: ansible
617c05
617c05
%description
617c05
Collection of interfaces serving as a stable API for the management
617c05
of the RHEL operating system across major releases, implemented
617c05
using Ansible.
617c05
617c05
617c05
%prep
617c05
%setup -qc -b1 -b2 -b3 -b5
617c05
cd %{rolename1}-%{version1}
617c05
%patch1 -p1
617c05
cd ..
906ee8
cd %{rolename2}-%{commit2}
617c05
%patch2 -p1
617c05
cd ..
617c05
cd %{rolename3}-%{version3}
617c05
%patch3 -p1
617c05
cd ..
1d7625
cd %{rolename5}-%{commit5}
617c05
%patch5 -p1
617c05
cd ..
617c05
617c05
%build
617c05
617c05
%install
617c05
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
617c05
1d7625
cp -pR %{rolename0}-%{version0}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename0}
1d7625
cp -pR %{rolename1}-%{version1}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename1}
906ee8
cp -pR %{rolename2}-%{commit2}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename2}
1d7625
cp -pR %{rolename3}-%{version3}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename3}
1d7625
cp -pR %{rolename5}-%{commit5}      $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename5}
1d7625
1d7625
ln -s    %{rolecompatprefix}%{rolename0}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename0}
1d7625
ln -s    %{rolecompatprefix}%{rolename1}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename1}
1d7625
ln -s    %{rolecompatprefix}%{rolename2}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename2}
1d7625
ln -s    %{rolecompatprefix}%{rolename3}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename3}
1d7625
ln -s    %{rolecompatprefix}%{rolename5}   $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename5}
617c05
617c05
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/kdump
617c05
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/postfix
617c05
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/selinux
617c05
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/timesync
617c05
install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-playbook.yml
617c05
install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-pool-playbook.yml
617c05
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/network
617c05
1d7625
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}kdump/README.md \
1d7625
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}kdump/COPYING \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/kdump
617c05
1d7625
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}postfix/README.md \
1d7625
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}postfix/COPYING \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/postfix
617c05
1d7625
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/README.md \
1d7625
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/COPYING \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/selinux
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/selinux-playbook.yml \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/selinux/example-selinux-playbook.yml
617c05
1d7625
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}timesync/README.md \
1d7625
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}timesync/COPYING \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/timesync
617c05
1d7625
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/README.md \
1d7625
    $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/COPYING \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/network
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/bond-with-vlan.yml \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bond-with-vlan-playbook.yml
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/bridge-with-vlan.yml \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bridge-with-vlan-playbook.yml
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/eth-simple-auto.yml \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-simple-auto-playbook.yml
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/eth-with-vlan.yml \
617c05
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-with-vlan-playbook.yml
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/infiniband.yml \
1d7625
    $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-infiniband-playbook.yml
1d7625
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/inventory \
617c05
   $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-inventory
617c05
1d7625
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/.gitignore
1d7625
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/test/.gitignore
1d7625
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/roles/network
1d7625
rmdir $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/roles
1d7625
rmdir $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples
617c05
617c05
%files
617c05
%{_datadir}/ansible/roles/%{roleprefix}kdump
617c05
%{_datadir}/ansible/roles/%{roleprefix}postfix
617c05
%{_datadir}/ansible/roles/%{roleprefix}selinux
617c05
%{_datadir}/ansible/roles/%{roleprefix}timesync
617c05
%{_datadir}/ansible/roles/%{roleprefix}network
1d7625
%{_datadir}/ansible/roles/%{rolecompatprefix}kdump
1d7625
%{_datadir}/ansible/roles/%{rolecompatprefix}postfix
1d7625
%{_datadir}/ansible/roles/%{rolecompatprefix}selinux
1d7625
%{_datadir}/ansible/roles/%{rolecompatprefix}timesync
1d7625
%{_datadir}/ansible/roles/%{rolecompatprefix}network
617c05
%doc %{_pkgdocdir}/*/example-*-playbook.yml
617c05
%doc %{_pkgdocdir}/network/example-inventory
617c05
%doc %{_pkgdocdir}/*/README.md
1d7625
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}kdump/README.md
1d7625
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}postfix/README.md
1d7625
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}selinux/README.md
1d7625
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}timesync/README.md
1d7625
%doc %{_datadir}/ansible/roles/%{rolecompatprefix}network/README.md
617c05
617c05
617c05
%license %{_pkgdocdir}/*/COPYING
1d7625
%license %{_datadir}/ansible/roles/%{rolecompatprefix}kdump/COPYING
1d7625
%license %{_datadir}/ansible/roles/%{rolecompatprefix}postfix/COPYING
1d7625
%license %{_datadir}/ansible/roles/%{rolecompatprefix}selinux/COPYING
1d7625
%license %{_datadir}/ansible/roles/%{rolecompatprefix}timesync/COPYING
1d7625
%license %{_datadir}/ansible/roles/%{rolecompatprefix}network/COPYING
617c05
617c05
%changelog
906ee8
* Tue Oct 03 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-1
906ee8
- SELinux: fix policy reload when SELinux is disabled on CentOS/RHEL 6
906ee8
  (bz#1493574)
906ee8
- network: update to b856c7481bf5274d419f71fb62029ea0044b3ec1 :
906ee8
  makes the network role idempotent (bz#1476053) and fixes manual
906ee8
  network provider selection (bz#1485074).
906ee8
1d7625
* Mon Aug 28 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.4-1
1d7625
- network: update to b9b6f0a7969e400d8d6ba0ac97f69593aa1e8fa5:
1d7625
  ensure that state:absent followed by state:up works (bz#1478910), and change
1d7625
  the example IP adresses to the IANA-assigned ones.
1d7625
- SELinux: fix the case when SELinux is disabled (bz#1479546).
1d7625
1d7625
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-2
1d7625
- We can't change directories to symlinks (rpm bug #447156) so keep the old
1d7625
  names and create the new names as symlinks.
1d7625
1d7625
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-1
1d7625
- Change the prefix to linux-system-roles., keeping compatibility
1d7625
  symlinks.
1d7625
- Update the network role to dace7654feb7b5629ded0734c598e087c2713265:
1d7625
  adds InfiniBand support and other fixes.
1d7625
- Drop a patch included upstream.
1d7625
617c05
* Mon Jun 26 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-2
617c05
- Leave a copy of README and COPYING in every role's directory, as suggested by T. Bowling.
617c05
- Move the network example inventory to the documentation directory together.
617c05
  with the example playbooks and delete the now empty "examples" directory.
617c05
- Use proper reserved (by RFC 7042) MAC addresses in the network examples.
617c05
617c05
* Tue Jun 6 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-1
617c05
- Update the networking role to version 0.2 (#1459203)
617c05
- Version every role and the package separately. They live in separate repos
617c05
  and upstream release tags are not coordinated.
617c05
617c05
* Mon May 22 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-2
617c05
- Prefix the roles in examples and documentation with rhel-system-roles.
617c05
617c05
* Thu May 18 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-1
617c05
- Update to 0.1 (first upstream release).
617c05
- Remove the tuned role, it is not ready yet.
617c05
- Move the example playbooks to /usr/share/doc/rhel-system-roles/$SUBSYSTEM
617c05
  directly to get rid of an extra directory.
617c05
- Depend on ansible.
617c05
617c05
* Thu May 4 2017  Pavel Cahyna <pcahyna@redhat.com> - 0-0.1.20170504
617c05
- Initial release.
617c05
- kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140
617c05
- postfix r. 43eec5668425d295dce3801216c19b1916df1f9b
617c05
- selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7
617c05
- timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141
617c05
- tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b
617c05
- network r. 03ff040df78a14409a0d89eba1235b8f3e50a750
617c05