Blame SPECS/rhel-system-roles.spec

6e715b
%if 0%{?rhel} && ! 0%{?epel}
6e715b
%bcond_with ansible
6e715b
%else
6e715b
%bcond_without ansible
6e715b
%endif
6e715b
6e715b
%bcond_with collection_artifact
6e715b
6e715b
%if 0%{?fedora} || 0%{?rhel} >= 8
6e715b
%bcond_without html
6e715b
%else
6e715b
# pandoc is not supported in rhel 7 and older,
6e715b
# which is needed for converting .md to .html.
6e715b
%bcond_with html
6e715b
%endif
6e715b
0d3d3b
%if 0%{?rhel}
617c05
Name: rhel-system-roles
0d3d3b
%else
0d3d3b
Name: linux-system-roles
0d3d3b
%endif
88a858
Url: https://github.com/linux-system-roles
617c05
Summary: Set of interfaces for unified system management
88a858
Version: 1.7.3
6e715b
Release: 4%{?dist}
617c05
617c05
#Group: Development/Libraries
617c05
License: GPLv3+ and MIT and BSD
6e715b
%global installbase %{_datadir}/linux-system-roles
6e715b
%global _pkglicensedir %{_licensedir}/%{name}
0d3d3b
%global rolealtprefix linux-system-roles.
0d3d3b
%global roleprefix %{name}.
6e715b
%global roleinstprefix %{nil}
6e715b
%global rolealtrelpath ../../linux-system-roles/
6e715b
%if 0%{?rhel}
6e715b
%global roleinstprefix %{roleprefix}
6e715b
%global installbase %{_datadir}/ansible/roles
6e715b
%global rolealtrelpath %{nil}
6e715b
%endif
6e715b
6e715b
%if 0%{?rhel}
6e715b
%global collection_namespace redhat
6e715b
%global collection_name rhel_system_roles
6e715b
%else
6e715b
%global collection_namespace fedora
6e715b
%global collection_name linux_system_roles
6e715b
%endif
6e715b
%global subrole_prefix "private_${role}_subrole_"
6e715b
6e715b
%global collection_version %{version}
6e715b
6e715b
# Helper macros originally from macros.ansible by Igor Raits <ignatenkobrain>
6e715b
# Not available on RHEL, so we must define those macros locally here without using ansible-galaxy
6e715b
6e715b
# Not used (yet). Could be made to point to AH in RHEL - but what about CentOS Stream?
6e715b
#%%{!?ansible_collection_url:%%define ansible_collection_url() https://galaxy.ansible.com/%%{collection_namespace}/%%{collection_name}}
6e715b
6e715b
%if 0%{?fedora} || 0%{?rhel} >= 8
88a858
%{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/}
6e715b
%else
6e715b
# Define undefined macro using "!?ansible_collection_files:..." does not work for rhel-7
6e715b
%if %{?ansible_collection_files:0}%{!?ansible_collection_files:1}
88a858
%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
6e715b
%endif
6e715b
%endif
6e715b
6e715b
6e715b
%if %{with ansible}
6e715b
BuildRequires: ansible >= 2.9.10
6e715b
%endif
6e715b
6e715b
%if %{without ansible}
6e715b
# We don't have ansible-galaxy.
6e715b
# Simply copy everything instead of galaxy-installing the built artifact.
88a858
%define ansible_collection_build_install() tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz .; mkdir -p %{buildroot}%{ansible_collection_files}%{collection_name}; (cd %{buildroot}%{ansible_collection_files}%{collection_name}; tar -xf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz)
6e715b
%else
6e715b
%define ansible_collection_build_install() ansible-galaxy collection build; ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz
6e715b
%endif
0d3d3b
0d3d3b
# For each role, call either defcommit() or deftag(). The other macros
0d3d3b
# (%%id and %%shortid) can be then used in the same way in both cases.
0d3d3b
# This way  the rest of the spec file des not need to know whether we are
0d3d3b
# dealing with a tag or a commit.
6e715b
%global archiveext tar.gz
6e715b
# list of role names
6e715b
%global rolenames %nil
6e715b
# list of assignments that can be used to populate a bash associative array variable
6e715b
%global rolestodir %nil
6e715b
%define getarchivedir() %(p=%{basename:%{S:%{1}}}; echo ${p%%.%{archiveext}})
6e715b
6e715b
%define defcommit() %{expand:%%global ref%{1} %{2}
6e715b
%%global shortcommit%{1} %%(c=%%{ref%{1}}; echo ${c:0:7})
6e715b
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
6e715b
%%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}}
88a858
%%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz
6e715b
%%global rolenames %%{?rolenames} %%{rolename%{1}}
6e715b
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
6e715b
%%global rolestodir %%{?rolestodir} %{roletodir%{1}}
0d3d3b
}
0d3d3b
6e715b
%define deftag() %{expand:%%global ref%{1} %{2}
6e715b
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
6e715b
%%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}}
88a858
%%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz
6e715b
%%global rolenames %%{?rolenames} %%{rolename%{1}}
6e715b
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
6e715b
%%global rolestodir %%{?rolestodir} %%{roletodir%{1}}
0d3d3b
}
0d3d3b
88a858
#%%defcommit 1 14314822b529520ac12964e0d2938c4bb18ab895
617c05
%global rolename1 postfix
88a858
%deftag 1 1.1.0
617c05
88a858
#%%defcommit 2 9fe6eb36772e83b53dcfb8ceb73608fd4f72eeda
617c05
%global rolename2 selinux
88a858
%deftag 2 1.3.0
617c05
88a858
#%%defcommit 3 8db8f9ed9088432bac7abf68f1b284475a3baa38
617c05
%global rolename3 timesync
88a858
%deftag 3 1.6.0
6e715b
88a858
#%%defcommit 4 02fc72b482e165472624b2f68eecd2ddce1d93b1
6e715b
%global rolename4 kdump
88a858
%deftag 4 1.1.0
617c05
88a858
#%%defcommit 5 b08a0b3748ee87aa3bdbcf1f0b7e41ef4971bbee
617c05
%global rolename5 network
88a858
%deftag 5 1.4.0
48847c
88a858
#%%defcommit 6 b3b456183edb7b8aa6ceff7ce667d8e22009ef6a
48847c
%global rolename6 storage
88a858
%deftag 6 1.6.1
6e715b
88a858
#%%defcommit 7 0673d842fb32c437501e2aada2e38921da98e115
6e715b
%global rolename7 metrics
88a858
%deftag 7 1.3.1
6e715b
88a858
#%%defcommit 8 2b9e53233ee3a68bdb532e62f289733e436a6106
6e715b
%global rolename8 tlog
88a858
%deftag 8 1.2.0
6e715b
88a858
#%%defcommit 9 9373303b98e09ef38df7afc8d06e5e55812096c7
6e715b
%global rolename9 kernel_settings
88a858
%deftag 9 1.1.0
6e715b
88a858
#%%defcommit 10 20dd3e5520ca06dcccaa9b3f1fb428d055e0c23f
6e715b
%global rolename10 logging
88a858
%deftag 10 1.5.1
6e715b
88a858
#%%defcommit 11 c57d0b1f3384c525738fa26ba4bdca485e162567
6e715b
%global rolename11 nbde_server
88a858
%deftag 11 1.1.0
6e715b
88a858
#%%defcommit 12 bef2fad5e365712d1f40e53662490ba2550a253f
6e715b
%global rolename12 nbde_client
88a858
%deftag 12 1.1.0
6e715b
88a858
#%%defcommit 13 310fc53db04e8d3134524afb7a89b0477a2ffb83
6e715b
%global rolename13 certificate
88a858
%deftag 13 1.1.0
6e715b
88a858
#%%defcommit 14 b2a9857ac661fa32e66666e444b73bfdb34cdf95
6e715b
%global rolename14 crypto_policies
88a858
%deftag 14 1.2.0
6e715b
88a858
%global forgeorg15 https://github.com/willshersystems
6e715b
%global repo15 ansible-sshd
6e715b
%global rolename15 sshd
88a858
%defcommit 15 1c5c48835e01adc176febf945e1fd36b7d9af7fd
88a858
#%%deftag 15 v0.13.1
6e715b
88a858
#%%defcommit 16 59b9fd7b25607d8bd33bdb082748955f2652846a
6e715b
%global rolename16 ssh
88a858
%deftag 16 1.1.0
6e715b
88a858
#%%defcommit 17 f901239cb91878719c9e7461760ef8d4789d626d
6e715b
%global rolename17 ha_cluster
88a858
%deftag 17 1.3.0
6e715b
88a858
#%%defcommit 18 5f6cb73e6753fbdbb219b7d3079f0378b2d3bdb3
88a858
%global rolename18 vpn
88a858
%deftag 18 1.2.0
88a858
88a858
%global mainid 2dd50c8a16af647e4c7a768c481335e97735958a
88a858
Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
6e715b
Source1: %{archiveurl1}
6e715b
Source2: %{archiveurl2}
6e715b
Source3: %{archiveurl3}
6e715b
Source4: %{archiveurl4}
6e715b
Source5: %{archiveurl5}
6e715b
Source6: %{archiveurl6}
6e715b
Source7: %{archiveurl7}
6e715b
Source8: %{archiveurl8}
6e715b
Source9: %{archiveurl9}
6e715b
Source10: %{archiveurl10}
6e715b
Source11: %{archiveurl11}
6e715b
Source12: %{archiveurl12}
6e715b
Source13: %{archiveurl13}
6e715b
Source14: %{archiveurl14}
6e715b
Source15: %{archiveurl15}
6e715b
Source16: %{archiveurl16}
6e715b
Source17: %{archiveurl17}
88a858
Source18: %{archiveurl18}
6e715b
6e715b
# Script to convert the collection README to Automation Hub.
6e715b
# Not used on Fedora.
6e715b
Source998: collection_readme.sh
0d3d3b
88a858
Patch51: network-tier1-tags.diff
88a858
Patch52: network-disable-bondtests.diff
88a858
# Patch53 and 54 to be deleted when network role is rebased.
88a858
Patch53: network-switch-provider.diff
88a858
Patch54: network-switch-provider-tests.diff
88a858
# Patch131 to be deleted when certificate role is rebased.
88a858
Patch131: certificate-cryptography.diff
48847c
617c05
BuildArch: noarch
617c05
6e715b
%if %{with html}
6e715b
# Requirements for md2html.sh to build the documentation
6e715b
%if 0%{?fedora} || 0%{?rhel} >= 9
6e715b
BuildRequires: rubygem-kramdown-parser-gfm
6e715b
%else
6e715b
BuildRequires: pandoc
6e715b
BuildRequires: asciidoc
6e715b
BuildRequires: highlight
6e715b
%endif
6e715b
%endif
6e715b
6e715b
# Requirements for galaxy_transform.py
6e715b
BuildRequires: python3
6e715b
%if 0%{?fedora} || 0%{?rhel} >= 8
6e715b
BuildRequires: python3dist(ruamel.yaml)
6e715b
6e715b
Requires: python3-jmespath
88a858
Requires: python3-netaddr
6e715b
%else
6e715b
BuildRequires: python3-ruamel-yaml
6e715b
6e715b
Requires: python-jmespath
88a858
Requires: python-netaddr
6e715b
%endif
48847c
0d3d3b
Obsoletes: rhel-system-roles-techpreview < 1.0-3
0d3d3b
6e715b
%if %{undefined __ansible_provides}
6e715b
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{collection_version}
6e715b
%endif
6e715b
# be compatible with the usual Fedora Provides:
6e715b
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release}
6e715b
0d3d3b
# We need to put %%description within the if block to avoid empty
0d3d3b
# lines showing up.
0d3d3b
%if 0%{?rhel}
617c05
%description
b30e92
Collection of Ansible roles and modules that provide a stable and
b30e92
consistent configuration interface for managing multiple versions
b30e92
of Red Hat Enterprise Linux.
0d3d3b
%else
0d3d3b
%description
0d3d3b
Collection of Ansible roles and modules that provide a stable and
0d3d3b
consistent configuration interface for managing multiple versions
0d3d3b
of Fedora, Red Hat Enterprise Linux & CentOS.
0d3d3b
%endif
617c05
6e715b
%if %{with collection_artifact}
6e715b
%package collection-artifact
6e715b
Summary: Collection artifact to import to Automation Hub / Ansible Galaxy
6e715b
6e715b
%description collection-artifact
6e715b
Collection artifact for %{name}. This package contains %{collection_namespace}-%{collection_name}-%{version}.tar.gz
0d3d3b
%endif
6e715b
6e715b
%prep
88a858
%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -n %{getarchivedir 0}
6e715b
6e715b
declare -A ROLESTODIR=(%{rolestodir})
6e715b
for rolename in %{rolenames}; do
88a858
    dir_from_archive="${ROLESTODIR[${rolename}]}"
88a858
    if [ ! -d "$dir_from_archive" ]; then
88a858
        # ansible-sshd uses tags like vX.Y.Z
88a858
        # using the github archive/ link with a tag like this strips
88a858
        # the leading v from the tag used to construct the directory
88a858
        # name in the archive
88a858
        if [[ "$dir_from_archive" =~ %{repo15}-v([0-9]+[.][0-9]+.*) ]]; then
88a858
            dir_from_archive="%{repo15}-${BASH_REMATCH[1]}"
88a858
        fi
88a858
    fi
88a858
    mv "$dir_from_archive" ${rolename}
6e715b
done
6e715b
88a858
cd %{rolename2}/tests
88a858
# this test causes avcs we want to ignore
88a858
sed -r -i -e '/hosts: all/a\
88a858
  tags:\
88a858
    - tests::avc' tests_selinux_disabled.yml
88a858
cd ../..
88a858
6e715b
cd %{rolename5}
6e715b
%patch51 -p1
6e715b
%patch52 -p1
48847c
%patch53 -p1
88a858
%patch54 -p1
48847c
cd ..
88a858
cd %{rolename13}
88a858
%patch131 -p1
6e715b
cd ..
6e715b
cd %{rolename15}
6e715b
sed -r -i -e "s/ansible-sshd/linux-system-roles.sshd/" tests/*.yml examples/*.yml
88a858
sed -r -i -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" tests/*.yml examples/*.yml README.md
88a858
sed -r -i -e "s/min_ansible_version: 2.8/min_ansible_version: 2.9/" meta/main.yml
617c05
cd ..
617c05
6e715b
# Replacing "linux-system-roles.rolename" with "rhel-system-roles.rolename" in each role
6e715b
%if "%{roleprefix}" != "linux-system-roles."
6e715b
for rolename in %{rolenames}; do
6e715b
    find $rolename -type f -exec \
6e715b
         sed "s/linux-system-roles[.]${rolename}\\>/%{roleprefix}${rolename}/g" -i {} \;
6e715b
done
6e715b
%endif
6e715b
6e715b
# Removing symlinks in tests/roles
6e715b
for rolename in %{rolenames}; do
6e715b
    if [ -d ${rolename}/tests/roles ]; then
6e715b
        find ${rolename}/tests/roles -type l -exec rm {} \;
6e715b
        if [ -d ${rolename}/tests/roles/linux-system-roles.${rolename} ]; then
6e715b
            rm -r ${rolename}/tests/roles/linux-system-roles.${rolename}
6e715b
        fi
6e715b
    fi
6e715b
done
6e715b
rm %{rolename5}/tests/modules
6e715b
rm %{rolename5}/tests/module_utils
6e715b
rm %{rolename5}/tests/playbooks/roles
6e715b
# Drop network/{scripts/print_all_options.py,tests/ensure_provider_tests.py}
6e715b
# from rpm. These 2 files fail in brp-python-bytecompile due to f-strings
6e715b
# when python2 is default python.
6e715b
rm %{rolename5}/scripts/print_all_options.py
6e715b
rm %{rolename5}/tests/ensure_provider_tests.py
88a858
# Drop storage tests/scripts
88a858
rm -rf %{rolename6}/tests/scripts
6e715b
6e715b
# transform ambiguous #!/usr/bin/env python shebangs to python3 to stop brp-mangle-shebangs complaining
6e715b
find -type f -executable -name '*.py' -exec \
6e715b
     sed -i -r -e '1s@^(#! */usr/bin/env python)(\s|$)@#\13\2@' '{}' +
6e715b
617c05
%build
6e715b
%if %{with html}
6e715b
readmes=""
6e715b
for role in %{rolenames}; do
6e715b
    readmes="${readmes} $role/README.md"
6e715b
done
6e715b
sh md2html.sh $readmes
6e715b
%endif
6e715b
6e715b
mkdir .collections
6e715b
%if 0%{?rhel}
6e715b
# Convert the upstream collection readme to the downstream one
6e715b
%{SOURCE998} lsr_role2collection/collection_readme.md
6e715b
%endif
6e715b
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" "Red Hat Enterprise Linux System Roles Ansible Collection" > galaxy.yml.tmp
6e715b
mv galaxy.yml.tmp galaxy.yml
6e715b
6e715b
for role in %{rolenames}; do
6e715b
    python3 lsr_role2collection.py --role "$role" --src-path "$role" \
6e715b
        --src-owner %{name} --subrole-prefix %{subrole_prefix} --dest-path .collections \
6e715b
        --readme lsr_role2collection/collection_readme.md \
6e715b
        --namespace %{collection_namespace} --collection %{collection_name}
6e715b
done
6e715b
6e715b
# copy requirements.txt and bindep.txt from auto-maintenance/lsr_role2collection
6e715b
if [ -f lsr_role2collection/collection_requirements.txt ]; then
6e715b
    cp lsr_role2collection/collection_requirements.txt \
6e715b
       .collections/ansible_collections/%{collection_namespace}/%{collection_name}/requirements.txt
6e715b
fi
6e715b
if [ -f lsr_role2collection/collection_bindep.txt ]; then
6e715b
    cp lsr_role2collection/collection_bindep.txt \
6e715b
       .collections/ansible_collections/%{collection_namespace}/%{collection_name}/bindep.txt
6e715b
fi
6e715b
6e715b
rm -f .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/sanity/ignore-2.9.txt
6e715b
# Merge .sanity-ansible-ignore-2.9-ROLENAME.txt into tests/sanity/ignore-2.9.txt
6e715b
mkdir -p .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/sanity
6e715b
for role in %{rolenames}; do
6e715b
    if [ -f .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.sanity-ansible-ignore-2.9-"$role".txt ];
6e715b
    then
6e715b
      cat .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.sanity-ansible-ignore-2.9-"$role".txt \
6e715b
        >> .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/sanity/ignore-2.9.txt
6e715b
      rm -f .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.sanity-ansible-ignore-*-"$role".txt
6e715b
    fi
6e715b
done
6e715b
6e715b
# removing dot files/dirs
6e715b
rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.[A-Za-z]*
6e715b
6e715b
cp -p galaxy.yml lsr_role2collection/.ansible-lint \
6e715b
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}
6e715b
6e715b
# Remove table of contents from logging README.md
6e715b
# It is not needed for html and AH/Galaxy
6e715b
sed -i -e 's/^\(## Table of Contents\)/## Background\n\1/' \
6e715b
  .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md
6e715b
sed -i -e '/^## Table of Contents/,/^## Background/d' \
6e715b
  .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md
6e715b
6e715b
# Remove internal links from readme files
6e715b
# They are not rendered properly on AH.
6e715b
for role in %{rolenames}; do
88a858
    sed -r -i -e 's/\[([^[]+)\]\(#[^)]+\)/\1/g' \
6e715b
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/$role/README.md
6e715b
done
617c05
617c05
%install
6e715b
mkdir -p $RPM_BUILD_ROOT%{installbase}
617c05
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
617c05
6e715b
for role in %{rolenames}; do
6e715b
    cp -pR "$role" "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role"
6e715b
done
1d7625
0d3d3b
%if 0%{?rolealtprefix:1}
6e715b
for role in %{rolenames}; do
6e715b
    ln -s    "%{rolealtrelpath}%{roleinstprefix}$role"   "$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}$role"
6e715b
done
0d3d3b
%endif
617c05
6e715b
mkdir -p $RPM_BUILD_ROOT%{_pkglicensedir}
6e715b
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}network/examples/roles
6e715b
for role in %{rolenames}; do
6e715b
    mkdir -p "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
6e715b
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/README.md" \
6e715b
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
6e715b
%if %{with html}
6e715b
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/README.html" \
6e715b
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
6e715b
%endif
6e715b
    if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/COPYING" ]; then
6e715b
        cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/COPYING" \
6e715b
           "$RPM_BUILD_ROOT%{_pkglicensedir}/$role.COPYING"
6e715b
    fi
6e715b
    if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/LICENSE" ]; then
6e715b
        cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/LICENSE" \
6e715b
           "$RPM_BUILD_ROOT%{_pkglicensedir}/$role.LICENSE"
6e715b
    fi
6e715b
    if [ -d "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples" ]; then
6e715b
        for file in "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/"*.yml ; do
6e715b
            basename=$(basename "$file" .yml)
6e715b
            newname="$basename"
6e715b
            if [[ "$newname" != example-* ]]; then
6e715b
                newname="example-$newname"
6e715b
            fi
6e715b
            if [[ "$newname" != *-playbook ]]; then
6e715b
                newname="${newname}-playbook"
6e715b
            fi
6e715b
            cp "$file" "$RPM_BUILD_ROOT%{_pkgdocdir}/$role/${newname}.yml"
6e715b
            rm "$file"
6e715b
        done
6e715b
        if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory" ]; then
6e715b
            cp "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory" \
6e715b
               "$RPM_BUILD_ROOT%{_pkgdocdir}/$role/example-inventory"
6e715b
            rm "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory"
6e715b
        fi
6e715b
        # special case for network
6e715b
        # this will error if the directory is unexpectedly empty
6e715b
        rmdir "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples"
6e715b
    fi
6e715b
done
6e715b
6e715b
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/semaphore
6e715b
rm -r $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/molecule
6e715b
6e715b
rm -r $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/.[A-Za-z]*
6e715b
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/tests/.git*
6e715b
6e715b
# NOTE: sshd/examples/example-root-login.yml is
6e715b
# referenced in the configuring-openssh-servers-using-the-sshd-system-role documentation module
6e715b
# must be updated if changing the file path
6e715b
6e715b
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
6e715b
%ansible_collection_build_install
6e715b
popd
6e715b
6e715b
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection
6e715b
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles
6e715b
88a858
cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \
6e715b
   $RPM_BUILD_ROOT%{_pkgdocdir}/collection
6e715b
6e715b
for rolename in %{rolenames}; do
88a858
  if [ -f %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/README.md ]; then
6e715b
    mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename}
88a858
    cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/README.md \
6e715b
        $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename}
6e715b
  fi
6e715b
done
6e715b
6e715b
%if %{with html}
6e715b
# converting README.md to README.html for collection in $RPM_BUILD_ROOT%{_pkgdocdir}/collection
6e715b
readmes="$RPM_BUILD_ROOT%{_pkgdocdir}/collection/README.md"
6e715b
for role in %{rolenames}; do
6e715b
    readmes="${readmes} $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${role}/README.md"
6e715b
done
6e715b
sh md2html.sh $readmes
6e715b
%endif
6e715b
6e715b
%if %{with collection_artifact}
6e715b
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
6e715b
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
6e715b
if [ -f %{collection_namespace}-%{collection_name}-%{version}.tar.gz ]; then
6e715b
    mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \
6e715b
       $RPM_BUILD_ROOT%{_datadir}/ansible/collections/
6e715b
fi
6e715b
popd
6e715b
%endif
6e715b
6e715b
# generate the %files section in the file files_section.txt
6e715b
format_item_for_files() {
6e715b
    # $1 is directory or file name in buildroot
6e715b
    # $2 - if true, and item is a directory, use %dir
6e715b
    local item
6e715b
    local files_item
6e715b
    item="$1"
6e715b
    files_item=${item##"%{buildroot}"}
6e715b
    if [ -L "$item" ]; then
6e715b
        echo "$files_item"
6e715b
    elif [ -d "$item" ]; then
6e715b
        if [[ "$item" == */doc* ]]; then
6e715b
            echo "%doc $files_item"
6e715b
        elif [ "${2:-false}" = true ]; then
6e715b
            echo "%dir $files_item"
6e715b
        else
6e715b
            echo "$files_item"
6e715b
        fi
6e715b
    elif [[ "$item" == */README.md ]] || [[ "$item" == */README.html ]]; then
6e715b
        if [[ "$item" == */private_* ]]; then
6e715b
            # mark as regular file, not %doc
6e715b
            echo "$files_item"
6e715b
        else
6e715b
            echo "%doc $files_item"
6e715b
        fi
6e715b
    elif [[ "$item" != */COPYING* ]] && [[ "$item" != */LICENSE* ]]; then
6e715b
        # Avoid dynamically using the license macro since the license macro
6e715b
        # is replaced with the value of License directive in the older rpmbuild.
6e715b
        echo "$files_item"
6e715b
    fi
6e715b
}
6e715b
6e715b
files_section=files_section.txt
6e715b
rm -f $files_section
6e715b
touch $files_section
6e715b
%if %{without ansible}
6e715b
echo '%dir %{_datadir}/ansible' >> $files_section
6e715b
echo '%dir %{_datadir}/ansible/roles' >> $files_section
6e715b
%endif
6e715b
%if "%{installbase}" != "%{_datadir}/ansible/roles"
6e715b
echo '%dir %{installbase}' >> $files_section
6e715b
%endif
6e715b
echo '%dir %{ansible_collection_files}' >> $files_section
88a858
echo '%dir %{ansible_collection_files}%{collection_name}' >> $files_section
88a858
find %{buildroot}%{ansible_collection_files}%{collection_name} -mindepth 1 -maxdepth 1 | \
6e715b
    while read item; do
6e715b
        if [[ "$item" == */roles ]]; then
6e715b
            format_item_for_files "$item" true >> $files_section
6e715b
            find "$item" -mindepth 1 -maxdepth 1 | while read roles_dir; do
6e715b
                format_item_for_files "$roles_dir" true >> $files_section
6e715b
                find "$roles_dir" -mindepth 1 -maxdepth 1 | while read roles_item; do
6e715b
                    format_item_for_files "$roles_item" >> $files_section
6e715b
                done
6e715b
            done
6e715b
        else
6e715b
            format_item_for_files "$item" >> $files_section
6e715b
        fi
6e715b
    done
6e715b
6e715b
find %{buildroot}%{installbase} -mindepth 1 -maxdepth 1 | \
6e715b
    while read item; do
6e715b
        if [ -d "$item" ]; then
6e715b
            format_item_for_files "$item" true >> $files_section
6e715b
            find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
6e715b
                format_item_for_files "$roles_item" >> $files_section
6e715b
            done
6e715b
        else
6e715b
            format_item_for_files "$item" >> $files_section
6e715b
        fi
6e715b
    done
6e715b
if [ "%{installbase}" != "%{_datadir}/ansible/roles" ]; then
6e715b
    find %{buildroot}%{_datadir}/ansible/roles -mindepth 1 -maxdepth 1 | \
6e715b
        while read item; do
6e715b
            if [ -d "$item" ]; then
6e715b
                format_item_for_files "$item" true >> $files_section
6e715b
                find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
6e715b
                    format_item_for_files "$roles_item" >> $files_section
6e715b
                done
6e715b
            else
6e715b
                format_item_for_files "$item" >> $files_section
6e715b
            fi
6e715b
        done
6e715b
fi
6e715b
# cat files_section.txt
6e715b
# done with files_section.txt generation
6e715b
6e715b
6e715b
%files -f files_section.txt
6e715b
%{_pkgdocdir}/*/README.md
6e715b
%if %{with html}
6e715b
%{_pkgdocdir}/*/README.html
6e715b
%endif
6e715b
%{_pkgdocdir}/*/example-*
6e715b
%{_pkgdocdir}/collection/roles/*/README.md
6e715b
%if %{with html}
6e715b
%{_pkgdocdir}/collection/roles/*/README.html
6e715b
%endif
6e715b
%license %{_pkglicensedir}/*
6e715b
%license %{installbase}/*/COPYING*
6e715b
%license %{installbase}/*/LICENSE*
6e715b
%license %{ansible_collection_files}/%{collection_name}/COPYING*
6e715b
%license %{ansible_collection_files}/%{collection_name}/LICENSE*
6e715b
%if 0%{?rhel} < 8
6e715b
# Needs to list excluded files in this hardcoded style since when
6e715b
# format_item_for_files is executed, brp-python-bytecompile is not
6e715b
# executed yet.
6e715b
%exclude %{installbase}/*/*.py?
6e715b
%exclude %{installbase}/*/*/*.py?
6e715b
%exclude %{installbase}/*/*/*/*.py?
6e715b
%exclude %{installbase}/*/*/*/*/*.py?
6e715b
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*.py?
6e715b
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*.py?
6e715b
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*/*.py?
6e715b
%endif
6e715b
6e715b
%if %{with collection_artifact}
6e715b
%files collection-artifact
6e715b
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{version}.tar.gz
0d3d3b
%endif
d2325c
d2325c
%changelog
88a858
* Tue Feb  8 2022 Noriko Hosoi <nhosoi@redhat.com> - 1.7.3-4
88a858
- certificate - certificate: error traceback /tmp/certificate-tests-venv/bin/certreader2json
88a858
  Resolves: rhbz#2051758
88a858
88a858
* Fri Jan 28 2022 Noriko Hosoi <nhosoi@redhat.com> - 1.7.3-3
88a858
- network - Fix problem when switch provider from initscript to nm
88a858
  Resolves: rhbz#2038956
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.3-2
88a858
- selinux - tag tests_selinux_disabled.yml with tests::avc
88a858
  (Resolves rhbz#1996315 (EL9))
88a858
  (Resolves rhbz#1996317 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.3-1
88a858
- storage - revert the dm-vdo workaround fix for vdo testing
88a858
  (Resolves rhbz#1978488 (EL9))
88a858
  (Resolves rhbz#1991141 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.2-1
88a858
- logging - Update the certificates copy tasks
88a858
  (Resolves rhbz#1996777 (EL9))
88a858
  (Resolves rhbz#1994580 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.1-1
88a858
- metrics - the bpftrace role does not properly configure bpftrace agent
88a858
  (Resolves rhbz#1994180 (EL9))
88a858
  (Resolves rhbz#1993240 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.0-1
88a858
- drop support for Ansible 2.8 - min_ansible_version is now 2.9
88a858
  (Resolves rhbz#1989197 (EL9))
88a858
  (Resolves rhbz#1989199 (EL8))
88a858
- sshd - fix rhel6 support - failed to validate: error:Missing Match criteria for all Bad Match condition
88a858
  (Resolves rhbz#1991598 (EL9))
88a858
  (Resolves rhbz#1990947 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.7-1
88a858
- storage - tests_create_lvmvdo_then_remove fails - Module dm-vdo not found
88a858
  (Resolves rhbz#1991141 (EL8))
88a858
  (Resolves rhbz#1991062 (EL9))
88a858
- storage - Get syntax errors in tests_lvm_errors.yml
88a858
  (Resolves rhbz#1990793 (EL8))
88a858
  (Resolves rhbz#1991142 (EL9))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.6-1
88a858
- logging, certificate - Instead of the archive module, use "tar" command for backup.
88a858
  (Resolves rhbz#1984182 (EL9))
88a858
  (Resolves rhbz#1987096 (EL8))
88a858
- logging - Add a support for list value to server_host in the elasticsearch output
88a858
  (Resolves rhbz#1986460 (EL9))
88a858
  (Resolves rhbz#1986463 (EL8))
88a858
- logging - tests_relp.yml; Can't detect any of the required Python libraries cryptography (>= 1.2.3) or PyOpenSSL (>= 0.6)
88a858
  (Resolves rhbz#1989962 (EL9))
88a858
  (Resolves rhbz#1990142 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.5-1
88a858
- kernel_settings - Disable bootloader testing on EL9
88a858
  (Resolves rhbz#1991017)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.4-1
88a858
- sshd - support for rhel9 managed hosts
88a858
  (Resolves rhbz#1989221 (EL9))
88a858
  (Resolves rhbz#1989638 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.3-1
88a858
- storage - tag tests that use NVME and SCSI
88a858
  (Resolves rhbz#1989211 (EL9))
88a858
  (Resolves rhbz#1989638 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.2-1
88a858
- metrics - Grafana dashboard not working after metrics role run unless services manually restarted
88a858
  (Resolves rhbz#1984150 (EL9))
88a858
  (Resolves rhbz#1978357 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.1-1
88a858
- network - tests_provider_nm.yml fails with an error: Failure in test 'I can manage a veth interface with NM after I managed it with initscripts.
88a858
  (Resolves rhbz#1935919)
88a858
- network - _initscripts tests fail because "No package network-scripts available."
88a858
  (Resolves rhbz#1935916)
88a858
- network - Test tests_bond_initscripts.yml failed to create interface
88a858
  (Resolves rhbz#1980870)
88a858
- storage - covscan error - DEADCODE - vdopool if create_vdo else parent
88a858
  (Resolves rhbz#1985571 (EL9))
88a858
  (Resolves rhbz#1985572 (EL8))
88a858
- network - network: tests_bond_initscripts.yml leaves behind unusable resolv.conf in CI
88a858
  (Resolves rhbz#1915017)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.0-1
88a858
- network - Skip tests on RHEL9 that use hostapd
88a858
  (Resolves rhbz#1945348)
88a858
- network - Fix the bond test on DHCP
88a858
  (Resolves rhbz#1918252)
88a858
- storage - Add support for percentage-based volume sizes
88a858
  (Resolves rhbz#1984583 (EL9))
88a858
  (Resolves rhbz#1894642 (EL8))
88a858
- storage -storage_test_actual_size != storage_test_requested_size observed with tests_lvm_auto_size_cap.yml
88a858
  (Resolves rhbz#1986284 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-1
88a858
- Error: device becoming unmanaged and pytest not reproducible in tests_integration_pytest.yl
88a858
  (Resolves rhbz#1985382 (EL9))
88a858
  (Resolves rhbz#1932699 (EL8))
88a858
- EPEL yum repository configuration for tests
88a858
  Rebasing to latest picks up this fix - see rhel7 bz1980439
88a858
- connections: workaround DeprecationWarning for NM.SettingEthtool.set_feature()
88a858
  Rebasing to latest picks up this fix
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.5.0-1
88a858
- ha_cluster - add pacemaker cluster properties configuration
88a858
  (Resolves rhbz#1982913 (EL8))
88a858
  (Resolves rhbz#1982906 (EL9))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.3-1
88a858
- crypto_policies - rename 'policy modules' to 'subpolicies'
88a858
  (Resolves rhbz#1982896 (EL9))
88a858
  (Resolves rhbz#1982897 (EL8))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.2-1
88a858
- storage - relabel doesn't support - Fixed volume relabeling
88a858
  (Resolves rhbz#1876315 (EL8))
88a858
  (Resolves rhbz#1982841 (EL9))
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.1-1
88a858
- network - Re-running the network system role results in "changed: true" when nothing has actually changed
88a858
  (Resolves rhbz#1943384)
88a858
- network - Test tests_bond_initscripts.yml failed to create interface
88a858
  (Resolves rhbz#1918210)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.0-1
88a858
- storage - LVMVDO support
88a858
  (Resolves rhbz#1882475)
88a858
  (Resolves rhbz#1978488)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.3.0-1
88a858
- ha_cluster - add pacemaker resources configuration
88a858
  (Resolves rhbz#1963283)
88a858
- ha_cluster - code cleanup
88a858
  (Resolves rhbz#1970666)
88a858
- Postfix RHEL system role README.md missing variables under the "Role Variables" section
88a858
  (Resolves rhbz#1961858)
88a858
- logging README.html examples are rendered incorrectly
88a858
  (Resolves rhbz#1962374)
88a858
- make postfix role idempotent - round 2
88a858
  (Resolves rhbz#1960375)
88a858
- selinux task for semanage says Fedora in name but also runs on RHEL/CentOS 8
88a858
  (Resolves rhbz#1966681)
88a858
  Resolves rhbz#1757857
88a858
- metrics role task to enable logging for targeted hosts not working
88a858
  (Resolves rhbz#1967335)
88a858
- network - Add 'auto_gateway' option
88a858
  (Resolves rhbz#1897565)
88a858
- network - Only show stderr_lines by default
88a858
  (Resolves rhbz#1970666)
88a858
- storage - LVMVDO support
88a858
  (Resolves rhbz#1882475)
88a858
- storage - fix several linter issues
88a858
  (Resolves rhbz#1970666)
88a858
- ssh - Fix variable precedence when invoked through roles
88a858
  (Resolves rhbz#1966711)
88a858
- ssh - Update configuration options list for OpenSSH 8.6
88a858
  (Resolves rhbz#1970666)
88a858
- sshd - Fix variable precedence when invoked through roles
88a858
  (Resolves rhbz#1966711)
88a858
- sshd - Update configuration options list for OpenSSH 8.6
88a858
  (Resolves rhbz#1970666)
88a858
- sshd - support for appending a snippet to configuration file
88a858
  (Resolves rhbz#1970642)
88a858
- timesync - add NTS support
88a858
  (Resolves rhbz#1970664)
88a858
- timesync - rebase to latest
88a858
  (Resolves rhbz#1970666)
88a858
- nbde_client - rebase to latest
88a858
  (Resolves rhbz#1970666)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.3-3 
88a858
- Make the ansible_collection_files macro defined in Fedora automatically and
88a858
  in RHEL manually consistent - having slash at the end to clean double-slashes
88a858
88a858
* Tue Aug 31 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.3-2
88a858
- Remove slash (/) from the end of URLs to improve code readability
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.3-1
88a858
- Add EL 9 support for timesync and network
88a858
  (Resolves rhbz#1952887)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.2-3
88a858
- Fix HTML rendering of internal links when using pandoc/asciidoc
88a858
- Uses pandoc gfm instead of markdown_github
88a858
  (Resolves rhbz#1962976)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.2-2
88a858
- Make spec file available for older versions of OSes.
88a858
- Drop python3-six dependency which was used by lsr_role2collection.py.
88a858
- Drop html files from rpm if the version has no markdown parser.
88a858
- Drop unnecessary python scripts which include python3 only code, e.g.,
88a858
  f-strings.
88a858
- auto_maintenance - ability to convert "- ROLENAME" to "- FQCN" in the doc files such as README
88a858
- auto_maintenance - lsr_role2collection.py - Adding encoding="utf-8" to open.
88a858
  (Resolves rhbz#1957876)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.2-1
88a858
- fix kdump tests_ssh for basic smoke test
88a858
  (Resolves rhbz#1957876)
88a858
- ha_cluster - cannot read preshared key in binary format
88a858
  (Resolves rhbz#1952620)
88a858
- Add hybrid_e2e option to PTP domain
88a858
  (Resolves rhbz#1957849)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.1-1
88a858
- fix logging README.html examples' rendering problems
88a858
  (Resolves rhbz#1962374)
88a858
- fix broken internal links in README.md files
88a858
  (Resolves rhbz#1962976)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.0-2
88a858
- Add BuildRequires: rubygem-kramdown for Fedora and RHEL >= 9
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.0-1
88a858
- rebase roles to latest upstream
88a858
  (Resolves rhbz#1957876)
88a858
- use FQRN in postfix README
88a858
  (Resolves rhbz#1958963)
88a858
- use relayhost in postfix README
88a858
  (Resolves rhbz#1866544)
88a858
- network - Add support for ETHTOOL Ring option
88a858
  (Resolves rhbz#1959649)
88a858
- storage: calltrace observed when set type: partition for storage_pools
88a858
  (Resolves rhbz#1854187)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.1.0-2
88a858
- Dependencies in the collection packaging
88a858
  (Resolves rhbz#1954747)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Rich Megginson <rmeggins@redhat.com> - 1.1.0-1
88a858
- rebase timesync role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- timesync - add timesync_chrony_custom_settings variable for free-form
88a858
  local configs
88a858
  (Resolves rhbz#1938023)
88a858
- do not use ignore_errors in timesync role
88a858
  (Resolves rhbz#1938014)
88a858
- support for timesync_max_distance to configure maxdistance/maxdist parameter
88a858
  (Resolves rhbz#1938016)
88a858
- support for ntp xleave, filter, and hw timestamping
88a858
  (Resolves rhbz#1938020)
88a858
- rebase selinux role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- should not reload the SELinux policy if its not changed
88a858
  (Resolves rhbz#1757869)
88a858
- Ability to install custom SELinux module via Ansible
88a858
  (Resolves rhbz#1848683)
88a858
- rebase storage role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- rebase network role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- support for ipv6_disabled to disable ipv6 for address
88a858
  (Resolves rhbz#1939711)
88a858
- rebase postfix role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- rebase metrics role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- rebase sshd role to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- rebase remaining roles to latest upstream
88a858
  (Resolves rhbz#1937938)
88a858
- Generate %%files dynamically
88a858
- add vpn role
88a858
  (Resolves rhbz#1943679)
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-5
88a858
- README.html files (main README for the collection and README
88a858
  for each role) are not located in /usr/share/ansible/collections,
88a858
  but just put in /usr/share/doc/linux-system-roles/collection in rpm.
88a858
- The README.html files are not included in the collection artifact.
88a858
- Fixing "sshd role README.md examples use incorrect role name".
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-5
88a858
- Adding the -collection-artifact subpackage, enabled using
88a858
  "--with collection_artifact". It is used for importing to
88a858
  ansible galaxy/automation hub.
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-5
88a858
- Start synchronizing with 8.5.0
88a858
  Related: rhbz#2029621
88a858
88a858
* Tue Aug 31 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-5
88a858
- Respin for the next extra-rhel-7.9 release with bz1999708.
88a858
  Related: rhbz#1999708
88a858
6e715b
* Fri Jul 23 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-4
6e715b
- Remove unnecessary dependency on python3-netaddr
6e715b
  Related: rhbz#1970165
6e715b
6e715b
* Fri Jul 16 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-3
6e715b
- Fix the tier1 test failure in network due to the epel repo not enabled.
6e715b
  Related: rhbz#1970165
6e715b
6e715b
* Wed Jul  7 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-2
6e715b
- Fix an invalid indentation in the spec file.
6e715b
  Related: rhbz#1970165
6e715b
- Mention bz1854189 here as it was fixed in backporting rhel-8.4.0.
6e715b
  Related: rhbz#1854189
6e715b
- Remove gating.yaml which was introduced in backporting rhel-8.4.0.
6e715b
  Related: rhbz#197016
6e715b
6e715b
* Tue Jun 29 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-1
6e715b
- Synchronize roles with rhel-8.4.0.
6e715b
  Update roles kdump, selinux, timesync, network, and storage.
6e715b
  Add new roles metrics, tlog, kernel_settings, logging, nbde_server,
6e715b
  nbde_client, certificate, crypto_policies, sshd, ssh, and ha_cluster.
6e715b
- Synchronize spec file with rawhide's up to commit 6218fe9.
6e715b
  Related: rhbz#1970165
6e715b
48847c
* Tue Jun  9 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-12
48847c
- Rebase the network role
48847c
  Resolves rhbz#1767177, rhbz#1842605, rhbz#1789813, rhbz#1724280
48847c
- Tag tests suitable for Tier1 testing, rhbz#1732085
48847c
  In network role, do not use the tier1 tags, won't be needed.
48847c
- Fix or workaround test problems in network role,
48847c
  rhbz#1842614, rhbz#1842619, rhbz#1842621
48847c
- Set _python_bytecompile_errors_terminate_build to 0, otherwise
48847c
  brp-python-bytecompile chokes on network/tests/ensure_provider_tests.py
48847c
48847c
* Wed Jan 15 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-10
48847c
- Update tests for the network role
48847c
- Fix typo in a test for the timesync role
48847c
- Rebase the network role to add support for device features (PR#115,
48847c
  rhbz#1696703) and atomic changes (PR#119, rhbz#1695161)
48847c
- Add the storage role
48847c
- Depend on python-jmespath as Ansible>2.8 will not ship it, rhbz#1774096
48847c
e3da41
* Mon Jun  3 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-8
e3da41
- Rebase the selinux role, fixes typo in tests, uncovered by Ansible 2.7,
e3da41
  (rhbz#1651285) and lists all input variables of the selinux role in defaults
e3da41
  to make Satellite aware of them (rhbz#1674000, PR#43)
e3da41
- Rebase the kdump role to fix check mode problems: rhbz#1716689
e3da41
- Rebase the timesync role: fixes check mode problems (rhbz#1716689)
e3da41
  and lists all input variables in defaults (rhbz#1674000)
e3da41
- Rebase the network role: keeps the interface up for state: up
e3da41
  if persistent_state is absent and solves problems with defining
e3da41
  VLAN and MACVLAN interface types (issue #19) (rhbz#1686866)
e3da41
e3da41
* Mon May 13 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-7
e3da41
- kdump: copy the dump target's public host key to the managed node known_hosts
e3da41
  PR #22, rhbz#1651342
e3da41
0d3d3b
* Tue Nov  6 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-5
0d3d3b
- spec file improvement: Unify the source macros with deftag() and defcommit()
0d3d3b
- Update to upstream released versions and drop unnecessary patches.
0d3d3b
- Unify the spec file with Fedora (no functional changes intended).
0d3d3b
- Misc spec file comments fixes (by Mike DePaulo)
0d3d3b
- Fix rpmlint error by escaping a previous changelog entry with a macro (by Mike DePaulo)
0d3d3b
- Comply with Fedora guidelines by always using "cp -p" in %%install (by Mike DePaulo)
0d3d3b
- Rebase network role - doc improvements, Fedora 29 and Ansible 2.7 support
0d3d3b
- Regenerate network role patch to apply without offset
0d3d3b
- Rebase kdump role to fix a forgotten edit, rhbz#1645633
0d3d3b
- Update timesync examples: add var prefix (rhbz#1642152), correct role prefix
0d3d3b
0d3d3b
* Thu Aug 16 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-4
0d3d3b
- Add Obsoletes for the -techpreview subpackage
0d3d3b
0d3d3b
* Thu Aug 16 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-3
0d3d3b
- Add warnings to role READMEs and other doc updates, rhbz#1616018
0d3d3b
- network: split the state setting into state and persistent_state, rhbz#1616014
0d3d3b
- Undo the -techpreview subpackage introduced in 1.0-1, rhbz#1616015
0d3d3b
b30e92
* Thu Aug  2 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-2
b30e92
- Rebase the network role to the last revision (d866422).
b30e92
  Many improvements to tests, introduces autodetection of the current provider
b30e92
  and defaults to using profile name as interface name.
b30e92
- Update the description.
b30e92
b30e92
* Wed Aug  1 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-1
b30e92
- Rebase the selinux, timesync and kdump roles to their 1.0rc1 versions.
b30e92
  Many changes to the role interfaces to make them more consistent
b30e92
  and conforming to Ansible best practices.
b30e92
- Split the postfix role into a -techpreview subpackage, we do not consider
b30e92
  it stable yet.
b30e92
0ecfb5
* Wed Mar 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-3
0ecfb5
- Minor corrections of the previous change by Till Maas.
0ecfb5
0ecfb5
* Fri Mar  9 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-2
0ecfb5
- Document network role options: static routes, ethernet, dns
0ecfb5
  Upstream PR#36, bz1550128, documents bz1487747 and bz1478576
0ecfb5
1a3b94
* Tue Jan 30 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-1
1a3b94
- Drop hard dependency on ansible (#1525655), patch from Yaakov Selkowitz
1a3b94
- Update the network role to version 0.4, solves bz#1487747, bz#1478576
1a3b94
7185bc
* Tue Dec 19 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-3
7185bc
- kdump: fix the wrong conditional for ssh checking and improve test (PR#10)
7185bc
7185bc
* Tue Nov 07 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-2
7185bc
- kdump: add ssh support. upstream PR#9, rhbz1478707
7185bc
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