Blame SPECS/rhel-system-roles.spec

d018ad
%if 0%{?rhel} && ! 0%{?epel}
d018ad
%bcond_with ansible
d018ad
%else
d018ad
%bcond_without ansible
d018ad
%endif
d018ad
5611eb
%bcond_with collection_artifact
5611eb
845d78
%if 0%{?fedora} || 0%{?rhel} >= 8
845d78
%bcond_without html
845d78
%else
845d78
# pandoc is not supported in rhel 7 and older,
845d78
# which is needed for converting .md to .html.
845d78
%bcond_with html
845d78
%endif
845d78
921f83
%if 0%{?rhel}
921f83
Name: rhel-system-roles
921f83
%else
921f83
Name: linux-system-roles
921f83
%endif
845d78
Url: https://github.com/linux-system-roles
921f83
Summary: Set of interfaces for unified system management
1c0cc2
Version: 1.4.2
845d78
Release: 1%{?dist}
921f83
921f83
#Group: Development/Libraries
921f83
License: GPLv3+ and MIT and BSD
8d0a7f
%global installbase %{_datadir}/linux-system-roles
8d0a7f
%global _pkglicensedir %{_licensedir}/%{name}
921f83
%global rolealtprefix linux-system-roles.
8d0a7f
%global roleprefix %{name}.
8d0a7f
%global roleinstprefix %{nil}
8d0a7f
%global rolealtrelpath ../../linux-system-roles/
8d0a7f
%if 0%{?rhel}
8d0a7f
%global roleinstprefix %{roleprefix}
8d0a7f
%global installbase %{_datadir}/ansible/roles
8d0a7f
%global rolealtrelpath %{nil}
8d0a7f
%endif
8d0a7f
8d0a7f
%if 0%{?rhel}
d018ad
%global collection_namespace redhat
d018ad
%global collection_name rhel_system_roles
d018ad
%else
d018ad
%global collection_namespace fedora
d018ad
%global collection_name linux_system_roles
921f83
%endif
8d0a7f
%global subrole_prefix "private_${role}_subrole_"
921f83
d018ad
%global collection_version %{version}
d018ad
d018ad
# Helper macros originally from macros.ansible by Igor Raits <ignatenkobrain>
d018ad
# Not available on RHEL, so we must define those macros locally here without using ansible-galaxy
d018ad
d018ad
# Not used (yet). Could be made to point to AH in RHEL - but what about CentOS Stream?
d018ad
#%%{!?ansible_collection_url:%%define ansible_collection_url() https://galaxy.ansible.com/%%{collection_namespace}/%%{collection_name}}
d018ad
845d78
%if 0%{?fedora} || 0%{?rhel} >= 8
845d78
%{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/}
845d78
%else
845d78
# Define undefined macro using "!?ansible_collection_files:..." does not work for rhel-7
845d78
%if %{?ansible_collection_files:0}%{!?ansible_collection_files:1}
845d78
%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
845d78
%endif
845d78
%endif
845d78
d018ad
d018ad
%if %{with ansible}
d018ad
BuildRequires: ansible >= 2.9.10
d018ad
%endif
d018ad
d018ad
%if %{without ansible}
9b1269
# We don't have ansible-galaxy.
d018ad
# Simply copy everything instead of galaxy-installing the built artifact.
845d78
%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)
d018ad
%else
9b1269
%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
d018ad
%endif
d018ad
921f83
# For each role, call either defcommit() or deftag(). The other macros
921f83
# (%%id and %%shortid) can be then used in the same way in both cases.
921f83
# This way  the rest of the spec file des not need to know whether we are
921f83
# dealing with a tag or a commit.
7bd08a
%global archiveext tar.gz
8d0a7f
# list of role names
8d0a7f
%global rolenames %nil
8d0a7f
# list of assignments that can be used to populate a bash associative array variable
8d0a7f
%global rolestodir %nil
7bd08a
%define getarchivedir() %(p=%{basename:%{S:%{1}}}; echo ${p%%.%{archiveext}})
7bd08a
7bd08a
%define defcommit() %{expand:%%global ref%{1} %{2}
7bd08a
%%global shortcommit%{1} %%(c=%%{ref%{1}}; echo ${c:0:7})
8d0a7f
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
7bd08a
%%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}}
845d78
%%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz
8d0a7f
%%global rolenames %%{?rolenames} %%{rolename%{1}}
8d0a7f
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
8d0a7f
%%global rolestodir %%{?rolestodir} %{roletodir%{1}}
921f83
}
921f83
7bd08a
%define deftag() %{expand:%%global ref%{1} %{2}
8d0a7f
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
7bd08a
%%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}}
845d78
%%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz
8d0a7f
%%global rolenames %%{?rolenames} %%{rolename%{1}}
8d0a7f
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
8d0a7f
%%global rolestodir %%{?rolestodir} %%{roletodir%{1}}
921f83
}
921f83
845d78
#%%defcommit 1 14314822b529520ac12964e0d2938c4bb18ab895
921f83
%global rolename1 postfix
845d78
%deftag 1 1.0.0
921f83
845d78
#%%defcommit 2 9fe6eb36772e83b53dcfb8ceb73608fd4f72eeda
921f83
%global rolename2 selinux
845d78
%deftag 2 1.2.3
921f83
845d78
#%%defcommit 3 8db8f9ed9088432bac7abf68f1b284475a3baa38
921f83
%global rolename3 timesync
845d78
%deftag 3 1.5.0
921f83
845d78
#%%defcommit 4 02fc72b482e165472624b2f68eecd2ddce1d93b1
d018ad
%global rolename4 kdump
845d78
%deftag 4 1.0.5
d018ad
ca6637
%defcommit 5 245ff58e25b0aaecdb59e65d24b19f4a1797798d
921f83
%global rolename5 network
921f83
#%%deftag 5 1.0.0
921f83
845d78
#%%defcommit 6 b3b456183edb7b8aa6ceff7ce667d8e22009ef6a
921f83
%global rolename6 storage
1c0cc2
%deftag 6 1.4.1
921f83
845d78
#%%defcommit 7 0673d842fb32c437501e2aada2e38921da98e115
921f83
%global rolename7 metrics
845d78
%deftag 7 1.2.3
921f83
845d78
#%%defcommit 8 2b9e53233ee3a68bdb532e62f289733e436a6106
921f83
%global rolename8 tlog
845d78
%deftag 8 1.1.1
921f83
845d78
#%%defcommit 9 9373303b98e09ef38df7afc8d06e5e55812096c7
921f83
%global rolename9 kernel_settings
845d78
%deftag 9 1.0.3
921f83
845d78
#%%defcommit 10 20dd3e5520ca06dcccaa9b3f1fb428d055e0c23f
921f83
%global rolename10 logging
845d78
%deftag 10 1.3.1
921f83
845d78
#%%defcommit 11 c57d0b1f3384c525738fa26ba4bdca485e162567
921f83
%global rolename11 nbde_server
845d78
%deftag 11 1.0.3
921f83
845d78
#%%defcommit 12 bef2fad5e365712d1f40e53662490ba2550a253f
921f83
%global rolename12 nbde_client
845d78
%deftag 12 1.0.4
921f83
845d78
#%%defcommit 13 310fc53db04e8d3134524afb7a89b0477a2ffb83
921f83
%global rolename13 certificate
845d78
%deftag 13 1.0.3
7bd08a
845d78
#%%defcommit 14 b2a9857ac661fa32e66666e444b73bfdb34cdf95
7bd08a
%global rolename14 crypto_policies
845d78
%deftag 14 1.0.1
7bd08a
845d78
%global forgeorg15 https://github.com/willshersystems
7bd08a
%global repo15 ansible-sshd
7bd08a
%global rolename15 sshd
845d78
#%%defcommit 15 32f9d0dda5a801cbefad09214ec2d88b6838b943
845d78
%deftag 15 v0.13.0
7bd08a
845d78
#%%defcommit 16 59b9fd7b25607d8bd33bdb082748955f2652846a
8d0a7f
%global rolename16 ssh
845d78
%deftag 16 1.0.2
8d0a7f
845d78
#%%defcommit 17 f901239cb91878719c9e7461760ef8d4789d626d
8d0a7f
%global rolename17 ha_cluster
845d78
%deftag 17 1.1.1
8d0a7f
845d78
#%%defcommit 18 5f6cb73e6753fbdbb219b7d3079f0378b2d3bdb3
5611eb
%global rolename18 vpn
845d78
%deftag 18 1.1.0
5611eb
845d78
%global mainid ec364d2e0bd422b69f34871a1188114f368097a0
845d78
Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
7bd08a
Source1: %{archiveurl1}
7bd08a
Source2: %{archiveurl2}
7bd08a
Source3: %{archiveurl3}
d018ad
Source4: %{archiveurl4}
7bd08a
Source5: %{archiveurl5}
7bd08a
Source6: %{archiveurl6}
7bd08a
Source7: %{archiveurl7}
7bd08a
Source8: %{archiveurl8}
7bd08a
Source9: %{archiveurl9}
7bd08a
Source10: %{archiveurl10}
7bd08a
Source11: %{archiveurl11}
7bd08a
Source12: %{archiveurl12}
7bd08a
Source13: %{archiveurl13}
7bd08a
Source14: %{archiveurl14}
7bd08a
Source15: %{archiveurl15}
8d0a7f
Source16: %{archiveurl16}
8d0a7f
Source17: %{archiveurl17}
5611eb
Source18: %{archiveurl18}
921f83
8d0a7f
# Script to convert the collection README to Automation Hub.
8d0a7f
# Not used on Fedora.
d018ad
Source998: collection_readme.sh
921f83
9b1269
Patch51: network-tier1-tags.diff
9b1269
Patch52: network-disable-bondtests.diff
212d59
921f83
BuildArch: noarch
921f83
845d78
%if %{with html}
9b1269
# Requirements for md2html.sh to build the documentation
9b1269
%if 0%{?fedora} || 0%{?rhel} >= 9
9b1269
BuildRequires: rubygem-kramdown-parser-gfm
9b1269
%else
921f83
BuildRequires: pandoc
9b1269
BuildRequires: asciidoc
921f83
BuildRequires: highlight
9b1269
%endif
845d78
%endif
9b1269
9b1269
# Requirements for galaxy_transform.py
d018ad
BuildRequires: python3
845d78
%if 0%{?fedora} || 0%{?rhel} >= 8
d018ad
BuildRequires: python3dist(ruamel.yaml)
921f83
921f83
Requires: python3-jmespath
5611eb
Requires: python3-netaddr
845d78
%else
845d78
BuildRequires: python3-ruamel-yaml
845d78
845d78
Requires: python-jmespath
845d78
Requires: python-netaddr
845d78
%endif
921f83
921f83
Obsoletes: rhel-system-roles-techpreview < 1.0-3
921f83
d018ad
%if %{undefined __ansible_provides}
d018ad
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{collection_version}
d018ad
%endif
d018ad
# be compatible with the usual Fedora Provides:
d018ad
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release}
d018ad
921f83
# We need to put %%description within the if block to avoid empty
921f83
# lines showing up.
921f83
%if 0%{?rhel}
921f83
%description
921f83
Collection of Ansible roles and modules that provide a stable and
921f83
consistent configuration interface for managing multiple versions
921f83
of Red Hat Enterprise Linux.
921f83
%else
921f83
%description
921f83
Collection of Ansible roles and modules that provide a stable and
921f83
consistent configuration interface for managing multiple versions
921f83
of Fedora, Red Hat Enterprise Linux & CentOS.
921f83
%endif
921f83
5611eb
%if %{with collection_artifact}
5611eb
%package collection-artifact
5611eb
Summary: Collection artifact to import to Automation Hub / Ansible Galaxy
5611eb
5611eb
%description collection-artifact
5611eb
Collection artifact for %{name}. This package contains %{collection_namespace}-%{collection_name}-%{version}.tar.gz
5611eb
%endif
5611eb
921f83
%prep
5611eb
%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -n %{getarchivedir 0}
8d0a7f
8d0a7f
declare -A ROLESTODIR=(%{rolestodir})
8d0a7f
for rolename in %{rolenames}; do
845d78
    dir_from_archive="${ROLESTODIR[${rolename}]}"
845d78
    if [ ! -d "$dir_from_archive" ]; then
845d78
        # ansible-sshd uses tags like vX.Y.Z
845d78
        # using the github archive/ link with a tag like this strips
845d78
        # the leading v from the tag used to construct the directory
845d78
        # name in the archive
845d78
        if [[ "$dir_from_archive" =~ %{repo15}-v([0-9]+[.][0-9]+.*) ]]; then
845d78
            dir_from_archive="%{repo15}-${BASH_REMATCH[1]}"
845d78
        fi
845d78
    fi
845d78
    mv "$dir_from_archive" ${rolename}
7bd08a
done
7bd08a
7bd08a
cd %{rolename5}
d018ad
%patch51 -p1
921f83
%patch52 -p1
921f83
cd ..
7bd08a
cd %{rolename15}
5611eb
sed -r -i -e "s/ansible-sshd/linux-system-roles.sshd/" tests/*.yml examples/*.yml
5611eb
sed -r -i  -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" tests/*.yml examples/*.yml README.md
212d59
cd ..
921f83
d018ad
# Replacing "linux-system-roles.rolename" with "rhel-system-roles.rolename" in each role
d018ad
%if "%{roleprefix}" != "linux-system-roles."
8d0a7f
for rolename in %{rolenames}; do
7bd08a
    find $rolename -type f -exec \
4eec9e
         sed "s/linux-system-roles[.]${rolename}\\>/%{roleprefix}${rolename}/g" -i {} \;
8d0a7f
done
921f83
%endif
8d0a7f
8d0a7f
# Removing symlinks in tests/roles
8d0a7f
for rolename in %{rolenames}; do
d018ad
    if [ -d ${rolename}/tests/roles ]; then
d018ad
        find ${rolename}/tests/roles -type l -exec rm {} \;
d018ad
        if [ -d ${rolename}/tests/roles/linux-system-roles.${rolename} ]; then
d018ad
            rm -r ${rolename}/tests/roles/linux-system-roles.${rolename}
d018ad
        fi
d018ad
    fi
d018ad
done
d018ad
rm %{rolename5}/tests/modules
d018ad
rm %{rolename5}/tests/module_utils
d018ad
rm %{rolename5}/tests/playbooks/roles
845d78
# Drop network/{scripts/print_all_options.py,tests/ensure_provider_tests.py}
845d78
# from rpm. These 2 files fail in brp-python-bytecompile due to f-strings
845d78
# when python2 is default python.
845d78
rm %{rolename5}/scripts/print_all_options.py
845d78
rm %{rolename5}/tests/ensure_provider_tests.py
d018ad
d018ad
# transform ambiguous #!/usr/bin/env python shebangs to python3 to stop brp-mangle-shebangs complaining
d018ad
find -type f -executable -name '*.py' -exec \
d018ad
     sed -i -r -e '1s@^(#! */usr/bin/env python)(\s|$)@#\13\2@' '{}' +
d018ad
921f83
%build
845d78
%if %{with html}
5611eb
readmes=""
5611eb
for role in %{rolenames}; do
5611eb
    readmes="${readmes} $role/README.md"
5611eb
done
5611eb
sh md2html.sh $readmes
845d78
%endif
921f83
d018ad
mkdir .collections
d018ad
%if 0%{?rhel}
d018ad
# Convert the upstream collection readme to the downstream one
d018ad
%{SOURCE998} lsr_role2collection/collection_readme.md
8ee312
%endif
6379e2
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" "Red Hat Enterprise Linux System Roles Ansible Collection" > galaxy.yml.tmp
9d4a29
mv galaxy.yml.tmp galaxy.yml
8ee312
6379e2
for role in %{rolenames}; do
d018ad
    python3 lsr_role2collection.py --role "$role" --src-path "$role" \
8d0a7f
        --src-owner %{name} --subrole-prefix %{subrole_prefix} --dest-path .collections \
d018ad
        --readme lsr_role2collection/collection_readme.md \
d018ad
        --namespace %{collection_namespace} --collection %{collection_name}
d018ad
done
d018ad
9b1269
# copy requirements.txt and bindep.txt from auto-maintenance/lsr_role2collection
9b1269
if [ -f lsr_role2collection/collection_requirements.txt ]; then
9b1269
    cp lsr_role2collection/collection_requirements.txt \
9b1269
       .collections/ansible_collections/%{collection_namespace}/%{collection_name}/requirements.txt
9b1269
fi
9b1269
if [ -f lsr_role2collection/collection_bindep.txt ]; then
9b1269
    cp lsr_role2collection/collection_bindep.txt \
9b1269
       .collections/ansible_collections/%{collection_namespace}/%{collection_name}/bindep.txt
9b1269
fi
9b1269
6379e2
rm -f .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/sanity/ignore-2.9.txt
6379e2
# Merge .sanity-ansible-ignore-2.9-ROLENAME.txt into tests/sanity/ignore-2.9.txt
6379e2
mkdir -p .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/sanity
6379e2
for role in %{rolenames}; do
6379e2
    if [ -f .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.sanity-ansible-ignore-2.9-"$role".txt ];
6379e2
    then
6379e2
      cat .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.sanity-ansible-ignore-2.9-"$role".txt \
6379e2
        >> .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/sanity/ignore-2.9.txt
6379e2
      rm -f .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.sanity-ansible-ignore-*-"$role".txt
6379e2
    fi
6379e2
done
6379e2
6379e2
# removing dot files/dirs
6379e2
rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.[A-Za-z]*
6379e2
9d4a29
cp -p galaxy.yml lsr_role2collection/.ansible-lint \
9d4a29
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}
6379e2
9b1269
# Remove table of contents from logging README.md
9b1269
# It is not needed for html and AH/Galaxy
9b1269
sed -i -e 's/^\(## Table of Contents\)/## Background\n\1/' \
9b1269
  .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md
9b1269
sed -i -e '/^## Table of Contents/,/^## Background/d' \
9b1269
  .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md
9b1269
9b1269
# Remove internal links from readme files
9b1269
# They are not rendered properly on AH.
5611eb
for role in %{rolenames}; do
9b1269
    sed -r -i -e 's/\[([^[]+)\]\(#[^)]+\)/\1/g' \
9b1269
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/$role/README.md
5611eb
done
d018ad
921f83
%install
8d0a7f
mkdir -p $RPM_BUILD_ROOT%{installbase}
921f83
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
921f83
5611eb
for role in %{rolenames}; do
5611eb
    cp -pR "$role" "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role"
5611eb
done
921f83
921f83
%if 0%{?rolealtprefix:1}
5611eb
for role in %{rolenames}; do
5611eb
    ln -s    "%{rolealtrelpath}%{roleinstprefix}$role"   "$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}$role"
5611eb
done
921f83
%endif
921f83
8d0a7f
mkdir -p $RPM_BUILD_ROOT%{_pkglicensedir}
5611eb
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}network/examples/roles
5611eb
for role in %{rolenames}; do
5611eb
    mkdir -p "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
5611eb
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/README.md" \
5611eb
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
845d78
%if %{with html}
845d78
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/README.html" \
845d78
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
845d78
%endif
5611eb
    if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/COPYING" ]; then
5611eb
        cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/COPYING" \
5611eb
           "$RPM_BUILD_ROOT%{_pkglicensedir}/$role.COPYING"
5611eb
    fi
5611eb
    if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/LICENSE" ]; then
5611eb
        cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/LICENSE" \
5611eb
           "$RPM_BUILD_ROOT%{_pkglicensedir}/$role.LICENSE"
5611eb
    fi
5611eb
    if [ -d "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples" ]; then
5611eb
        for file in "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/"*.yml ; do
5611eb
            basename=$(basename "$file" .yml)
5611eb
            newname="$basename"
5611eb
            if [[ "$newname" != example-* ]]; then
5611eb
                newname="example-$newname"
5611eb
            fi
5611eb
            if [[ "$newname" != *-playbook ]]; then
5611eb
                newname="${newname}-playbook"
5611eb
            fi
5611eb
            cp "$file" "$RPM_BUILD_ROOT%{_pkgdocdir}/$role/${newname}.yml"
5611eb
            rm "$file"
5611eb
        done
5611eb
        if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory" ]; then
5611eb
            cp "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory" \
5611eb
               "$RPM_BUILD_ROOT%{_pkgdocdir}/$role/example-inventory"
5611eb
            rm "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory"
5611eb
        fi
5611eb
        # special case for network
5611eb
        # this will error if the directory is unexpectedly empty
5611eb
        rmdir "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples"
5611eb
    fi
5611eb
done
921f83
8d0a7f
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/semaphore
8d0a7f
rm -r $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/molecule
921f83
8d0a7f
rm -r $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/.[A-Za-z]*
8d0a7f
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/tests/.git*
d018ad
5611eb
# NOTE: sshd/examples/example-root-login.yml is
8d0a7f
# referenced in the configuring-openssh-servers-using-the-sshd-system-role documentation module
8d0a7f
# must be updated if changing the file path
5611eb
5611eb
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
9b1269
%ansible_collection_build_install
5611eb
popd
d018ad
6379e2
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection
6379e2
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles
6379e2
845d78
cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \
5611eb
   $RPM_BUILD_ROOT%{_pkgdocdir}/collection
6379e2
6379e2
for rolename in %{rolenames}; do
845d78
  if [ -f %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/README.md ]; then
6379e2
    mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename}
845d78
    cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/README.md \
6379e2
        $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename}
6379e2
  fi
6379e2
done
6379e2
845d78
%if %{with html}
9b1269
# converting README.md to README.html for collection in $RPM_BUILD_ROOT%{_pkgdocdir}/collection
9b1269
readmes="$RPM_BUILD_ROOT%{_pkgdocdir}/collection/README.md"
9b1269
for role in %{rolenames}; do
9b1269
    readmes="${readmes} $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${role}/README.md"
9b1269
done
9b1269
sh md2html.sh $readmes
845d78
%endif
9b1269
5611eb
%if %{with collection_artifact}
5611eb
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
5611eb
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
5611eb
if [ -f %{collection_namespace}-%{collection_name}-%{version}.tar.gz ]; then
5611eb
    mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \
5611eb
       $RPM_BUILD_ROOT%{_datadir}/ansible/collections/
5611eb
fi
5611eb
popd
5611eb
%endif
5611eb
5611eb
# generate the %files section in the file files_section.txt
5611eb
format_item_for_files() {
5611eb
    # $1 is directory or file name in buildroot
5611eb
    # $2 - if true, and item is a directory, use %dir
5611eb
    local item
5611eb
    local files_item
5611eb
    item="$1"
5611eb
    files_item=${item##"%{buildroot}"}
5611eb
    if [ -L "$item" ]; then
5611eb
        echo "$files_item"
5611eb
    elif [ -d "$item" ]; then
5611eb
        if [[ "$item" == */doc* ]]; then
5611eb
            echo "%doc $files_item"
5611eb
        elif [ "${2:-false}" = true ]; then
5611eb
            echo "%dir $files_item"
5611eb
        else
5611eb
            echo "$files_item"
5611eb
        fi
5611eb
    elif [[ "$item" == */README.md ]] || [[ "$item" == */README.html ]]; then
5611eb
        if [[ "$item" == */private_* ]]; then
5611eb
            # mark as regular file, not %doc
5611eb
            echo "$files_item"
5611eb
        else
5611eb
            echo "%doc $files_item"
5611eb
        fi
845d78
    elif [[ "$item" != */COPYING* ]] && [[ "$item" != */LICENSE* ]]; then
845d78
        # Avoid dynamically using the license macro since the license macro
845d78
        # is replaced with the value of License directive in the older rpmbuild.
5611eb
        echo "$files_item"
5611eb
    fi
5611eb
}
d018ad
5611eb
files_section=files_section.txt
5611eb
rm -f $files_section
5611eb
touch $files_section
8d0a7f
%if %{without ansible}
5611eb
echo '%dir %{_datadir}/ansible' >> $files_section
5611eb
echo '%dir %{_datadir}/ansible/roles' >> $files_section
8d0a7f
%endif
8d0a7f
%if "%{installbase}" != "%{_datadir}/ansible/roles"
5611eb
echo '%dir %{installbase}' >> $files_section
8d0a7f
%endif
5611eb
echo '%dir %{ansible_collection_files}' >> $files_section
845d78
echo '%dir %{ansible_collection_files}%{collection_name}' >> $files_section
845d78
find %{buildroot}%{ansible_collection_files}%{collection_name} -mindepth 1 -maxdepth 1 | \
5611eb
    while read item; do
5611eb
        if [[ "$item" == */roles ]]; then
5611eb
            format_item_for_files "$item" true >> $files_section
5611eb
            find "$item" -mindepth 1 -maxdepth 1 | while read roles_dir; do
5611eb
                format_item_for_files "$roles_dir" true >> $files_section
5611eb
                find "$roles_dir" -mindepth 1 -maxdepth 1 | while read roles_item; do
5611eb
                    format_item_for_files "$roles_item" >> $files_section
5611eb
                done
5611eb
            done
5611eb
        else
5611eb
            format_item_for_files "$item" >> $files_section
5611eb
        fi
5611eb
    done
5611eb
5611eb
find %{buildroot}%{installbase} -mindepth 1 -maxdepth 1 | \
5611eb
    while read item; do
5611eb
        if [ -d "$item" ]; then
5611eb
            format_item_for_files "$item" true >> $files_section
5611eb
            find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
5611eb
                format_item_for_files "$roles_item" >> $files_section
5611eb
            done
5611eb
        else
5611eb
            format_item_for_files "$item" >> $files_section
5611eb
        fi
5611eb
    done
5611eb
if [ "%{installbase}" != "%{_datadir}/ansible/roles" ]; then
5611eb
    find %{buildroot}%{_datadir}/ansible/roles -mindepth 1 -maxdepth 1 | \
5611eb
        while read item; do
5611eb
            if [ -d "$item" ]; then
5611eb
                format_item_for_files "$item" true >> $files_section
5611eb
                find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
5611eb
                    format_item_for_files "$roles_item" >> $files_section
5611eb
                done
5611eb
            else
5611eb
                format_item_for_files "$item" >> $files_section
5611eb
            fi
5611eb
        done
5611eb
fi
5611eb
# cat files_section.txt
5611eb
# done with files_section.txt generation
5611eb
5611eb
5611eb
%files -f files_section.txt
8d0a7f
%{_pkgdocdir}/*/README.md
845d78
%if %{with html}
8d0a7f
%{_pkgdocdir}/*/README.html
845d78
%endif
5611eb
%{_pkgdocdir}/*/example-*
6379e2
%{_pkgdocdir}/collection/roles/*/README.md
845d78
%if %{with html}
6379e2
%{_pkgdocdir}/collection/roles/*/README.html
845d78
%endif
8d0a7f
%license %{_pkglicensedir}/*
845d78
%license %{installbase}/*/COPYING*
845d78
%license %{installbase}/*/LICENSE*
845d78
%license %{ansible_collection_files}/%{collection_name}/COPYING*
845d78
%license %{ansible_collection_files}/%{collection_name}/LICENSE*
845d78
%if 0%{?rhel} < 8
845d78
# Needs to list excluded files in this hardcoded style since when
845d78
# format_item_for_files is executed, brp-python-bytecompile is not
845d78
# executed yet.
845d78
%exclude %{installbase}/*/*.py?
845d78
%exclude %{installbase}/*/*/*.py?
845d78
%exclude %{installbase}/*/*/*/*.py?
845d78
%exclude %{installbase}/*/*/*/*/*.py?
845d78
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*.py?
845d78
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*.py?
845d78
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*/*.py?
845d78
%endif
5611eb
5611eb
%if %{with collection_artifact}
5611eb
%files collection-artifact
5611eb
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{version}.tar.gz
5611eb
%endif
d018ad
921f83
%changelog
1c0cc2
* Thu Jul 15 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.2-1
1c0cc2
- storage - relabel doesn't support - Fixed volume relabeling
1c0cc2
  Resolves rhbz#1876315 (EL8)
1c0cc2
  Resolves rhbz#1982841 (EL9)
1c0cc2
ca6637
* Fri Jul  9 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.1-1
ca6637
- network - Re-running the network system role results in "changed: true" when nothing has actually changed
ca6637
  Resolves rhbz#1943384
ca6637
- network - Test tests_bond_initscripts.yml failed to create interface
ca6637
  Resolves rhbz#1918210
ca6637
845d78
* Thu Jul  8 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.0-1
845d78
- storage - LVMVDO support
845d78
  Resolves rhbz#1882475
845d78
  Resolves rhbz#1978488
845d78
845d78
* Wed Jun 23 2021 Rich Megginson <rmeggins@redhat.com> - 1.3.0-1
845d78
- ha_cluster - add pacemaker resources configuration
845d78
  Resolves rhbz#1963283
845d78
- ha_cluster - code cleanup
845d78
  Resolves rhbz#1970666
845d78
- Postfix RHEL system role README.md missing variables under the "Role Variables" section
845d78
  Resolves rhbz#1961858
845d78
- logging README.html examples are rendered incorrectly
845d78
  Resolves rhbz#1962374
845d78
- make postfix role idempotent - round 2
845d78
  Resolves rhbz#1960375
845d78
- selinux task for semanage says Fedora in name but also runs on RHEL/CentOS 8
845d78
  Resolves rhbz#1966681
845d78
- metrics role task to enable logging for targeted hosts not working
845d78
  Resolves rhbz#1967335
845d78
- network - Add 'auto_gateway' option
845d78
  Resolves rhbz#1897565
845d78
- network - Only show stderr_lines by default
845d78
  Resolves rhbz#1970666
845d78
- storage - LVMVDO support
845d78
  Resolves rhbz#1882475
845d78
- storage - fix several linter issues
845d78
  Resolves rhbz#1970666
845d78
- ssh - Fix variable precedence when invoked through roles
845d78
  Resolves rhbz#1966711
845d78
- ssh - Update configuration options list for OpenSSH 8.6
845d78
  Resolves rhbz#1970666
845d78
- sshd - Fix variable precedence when invoked through roles
845d78
  Resolves rhbz#1966711
845d78
- sshd - Update configuration options list for OpenSSH 8.6
845d78
  Resolves rhbz#1970666
845d78
- sshd - support for appending a snippet to configuration file
845d78
  Resolves rhbz#1970642
845d78
- timesync - add NTS support
845d78
  Resolves rhbz#1970664
845d78
- timesync - rebase to latest
845d78
  Resolves rhbz#1970666
845d78
- nbde_client - rebase to latest
845d78
  Resolves rhbz#1970666
845d78
845d78
* Thu Jun 17 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.3-3
845d78
- Make the ansible_collection_files macro defined in Fedora automatically and
845d78
  in RHEL manually consistent - having slash at the end to clean double-slashes
845d78
845d78
* Wed Jun 16 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.3-2
845d78
- Remove slash (/) from the end of URLs to improve code readability
845d78
845d78
* Wed Jun 16 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.3-1
845d78
- Add EL 9 support for timesync and network
845d78
  Resolves rhbz#1952887
845d78
845d78
* Tue Jun 15 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.2-3
9b1269
- Fix HTML rendering of internal links when using pandoc/asciidoc
9b1269
- Uses pandoc gfm instead of markdown_github
9b1269
  Resolves rhbz#1962976
9b1269
9b1269
* Fri Jun 11 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.2-2
9b1269
- Make spec file available for older versions of OSes.
9b1269
- Drop python3-six dependency which was used by lsr_role2collection.py.
9b1269
- Drop html files from rpm if the version has no markdown parser.
9b1269
- Drop unnecessary python scripts which include python3 only code, e.g.,
9b1269
  f-strings.
9b1269
- auto_maintenance - ability to convert "- ROLENAME" to "- FQCN" in the doc files such as README
9b1269
- auto_maintenance - lsr_role2collection.py - Adding encoding="utf-8" to open.
9b1269
  Resolves rhbz#1957876
9b1269
9b1269
* Wed Jun  9 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.2-1
9b1269
- fix kdump tests_ssh for basic smoke test
9b1269
  Resolves rhbz#1957876
9b1269
- ha_cluster - cannot read preshared key in binary format
9b1269
  Resolves rhbz#1952620
9b1269
- Add hybrid_e2e option to PTP domain
9b1269
  Resolves rhbz#1957849
9b1269
9b1269
* Fri May 21 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.1-1
9b1269
- fix logging README.html examples' rendering problems
9b1269
  Resolves rhbz#1962374
9b1269
- fix broken internal links in README.md files
9b1269
  Resolves rhbz#1962976
9b1269
9b1269
* Mon May 17 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.0-2
9b1269
- Add BuildRequires: rubygem-kramdown for Fedora and RHEL >= 9
9b1269
9b1269
* Fri May 14 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.0-1
9b1269
- rebase roles to latest upstream
9b1269
  Resolves rhbz#1957876
9b1269
- use FQRN in postfix README
9b1269
  Resolves rhbz#1958963
9b1269
- use relayhost in postfix README
9b1269
  Resolves rhbz#1866544
9b1269
- network - Add support for ETHTOOL Ring option
9b1269
  Resolves rhbz#1959649
9b1269
- storage: calltrace observed when set type: partition for storage_pools
9b1269
  Resolves rhbz#1854187
9b1269
9b1269
* Thu May 13 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.1.0-2
9b1269
- Dependencies in the collection packaging
9b1269
  Resolves rhbz#1954747
9b1269
5611eb
* Wed Apr 14 2021 Rich Megginson <rmeggins@redhat.com> - 1.1.0-1
5611eb
- rebase timesync role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- timesync - add timesync_chrony_custom_settings variable for free-form
5611eb
  local configs
5611eb
  Resolves rhbz#1938023
5611eb
- do not use ignore_errors in timesync role
5611eb
  Resolves rhbz#1938014
5611eb
- support for timesync_max_distance to configure maxdistance/maxdist parameter
5611eb
  Resolves rhbz#1938016
5611eb
- support for ntp xleave, filter, and hw timestamping
5611eb
  Resolves rhbz#1938020
5611eb
- rebase selinux role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- should not reload the SELinux policy if its not changed
5611eb
  Resolves rhbz#1757869
5611eb
- Ability to install custom SELinux module via Ansible
5611eb
  Resolves rhbz#1848683
5611eb
- rebase storage role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- rebase network role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- support for ipv6_disabled to disable ipv6 for address
5611eb
  Resolves rhbz#1939711
5611eb
- rebase postfix role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- rebase metrics role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- rebase sshd role to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- rebase remaining roles to latest upstream
5611eb
  Resolves rhbz#1937938
5611eb
- Generate %%files dynamically
5611eb
- add vpn role
5611eb
  Resolves rhbz#1943679
5611eb
5611eb
* Tue Apr 13 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-2
5611eb
- Adding the -collection-artifact subpackage, enabled using
5611eb
  "--with collection_artifact". It is used for importing to
5611eb
  ansible galaxy/automation hub.
5611eb
- README.html files (main README for the collection and README
5611eb
  for each role) are not located in /usr/share/ansible/collections,
5611eb
  but just put in /usr/share/doc/linux-system-roles/collection in rpm.
5611eb
- The README.html files are not included in the collection artifact.
5611eb
- Fixing "sshd role README.md examples use incorrect role name".
5611eb
6379e2
* Wed Mar 17 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-1
6379e2
- Fix description field in galaxy.yml
6379e2
- Remove "Technology Preview" from Collection README
6379e2
- Merging individual ignore file and add it to the package
6379e2
- Add a note to each module Doc to indicate it is private
6379e2
- Add patches for network and storage role ansible-test fixes
6379e2
  Resolves rhbz#1935451
6379e2
- Simplify doc tags in %%files, corrects a forgotten doc tag for ha_cluster
6379e2
- Suppress one ansible-lint warning in ha_cluster
6379e2
c82095
* Tue Feb 23 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.0-32
c82095
- Add patch for the inclusive language leftover on network-role README.md,
c82095
  Resolves rhbz#1931931
c82095
8ee312
* Mon Feb 22 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-31
8ee312
- Rebase certificate role to pick up a test fix, Resolves rhbz#1931568
8ee312
- Rebase logging role to fix default private key path,
8ee312
  upstream PR #218
8ee312
8ee312
* Mon Feb 22 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-30
8ee312
- Correct merge botch in previous (ssh/README.md is a doc file)
8ee312
- Update galaxy.yml even on Fedora, auto-maintenance may not have
8ee312
  a consistent version number
8ee312
- Update collection doc transformation to match a modified text
8ee312
  and include the Tech Preview note again
8ee312
8d0a7f
* Thu Feb 18 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-29
8d0a7f
- Change internal role prefix to more descriptive private_${role}_subrole_
8d0a7f
- Sync spec improvements from Fedora and introduce helper macros
8d0a7f
  No functional change except for license files location
8d0a7f
- Disable mssql metrics test on non-x86_64 where the packages
8d0a7f
  are not available. Upstream PR #73
8d0a7f
8d0a7f
* Wed Feb 17 2021 Rich Megginson <rmeggins@redhat.com> - 1.0.0-28
8d0a7f
- Add patch for sshd https://github.com/willshersystems/ansible-sshd/pull/155
8d0a7f
  for ansible 2.8/jinja 2.7 support for sshd role
8d0a7f
- Rebase certificate, kernel_settings, nbde_client for jinja27
8d0a7f
- Rebase the logging role, Resolves rhbz#1927943
8d0a7f
- Rebase storage role, Resolves rhbz#1894651 - interpreatation of
8d0a7f
  omitted parameters
8d0a7f
- Apply storage PR #201 to dispense with the need of listing all disks
8d0a7f
  in existing pools, Resolves rhbz1894676
8d0a7f
- Apply storage PR #199 to allow reducing the requested volume sizes
8d0a7f
  if needed to fit, Resolves rhbz1894647
8d0a7f
- Rebase the network role, Resolves rhbz1893959, rhbz1893957
8d0a7f
- Add the ssh client role, Resolves rhbz1893712
8d0a7f
- Minor issue in selinux - no variable named present
8d0a7f
  Resolves rhbz1926947
8d0a7f
- Prefix internal roles with private_, resolves rhbz#1927417
8d0a7f
- Add the ha_cluster role, Resolves rhbz#1893743
8d0a7f
9d4a29
* Thu Feb 11 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-27
9d4a29
- Rebase the logging role, Resolves rhbz#1889484
9d4a29
- Fixes to collection docs and galaxy metadata from nhosoi
9d4a29
- Apply network PR #350 Resolves rhbz#1927392
9d4a29
0fb9c7
* Wed Feb  3 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-26
0fb9c7
- Rebase the metrics role, Resolves rhbz#1895188, rhbz#1893908
0fb9c7
d018ad
* Tue Jan 26 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-25
d018ad
- Apply storage PR #153 to fix a problem with partition name on NVMe devices
d018ad
  Resolves: rhbz1865990
d018ad
- Remove symlinks to roles under tests
d018ad
- Cleanup of role directories - remove files starting with . in roles' root
d018ad
  directories and Git files under tests. Resolves rhbz#1650550
d018ad
- Add collection support, make Version semver compatible: 1.0 -> 1.0.0
d018ad
  Resolves rhbz#1893906
d018ad
- Autogenerate Automation-Hub README.md if building for RHEL
d018ad
- Renumber sources, Source is now auto-maintenance since it is the root
d018ad
  of the source tree, kdump becomes Source4 (4 was originally firewall)
d018ad
- Introduce bcond_with/without ansible, work on Fedora, RHEL and EPEL
d018ad
- Rebase certificate role to include collection-related workarounds,
d018ad
  no change in behavior intended
d018ad
- Rebase network role, includes collection-related workarounds
d018ad
- Revert an invasive network change to enable EPEL (PR #335) and implement
d018ad
  a minimal version
d018ad
663612
* Fri Jan 15 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0-24
663612
- Apply PR #63 for kdump to fix a problem in test introduced by rebase
663612
7bd08a
* Fri Jan  8 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0-23
7bd08a
- Add {crypto_policies,sshd}/README.md to docfiles, thanks jjelen
7bd08a
- Fix role name in selinux patch
7bd08a
- Add sshd role example and README fix
7bd08a
- Fix role name in sshd role tests and docs
7bd08a
- Backport network role PR #298 to fix problems often triggered by the CI
7bd08a
  "error: down connection failed while waiting", Resolves rhbz#1817242
7bd08a
- Disable bond test in downstream CI, it started to break DNS in RHEL 8.4.
7bd08a
  Related rhbz#1915017
7bd08a
7bd08a
* Thu Jan  7 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0-22
7bd08a
- Rebase kdump, certificate, storage, selinux, nbde_client/server,
7bd08a
  kernel_settings in preparation for collections
7bd08a
  Includes upstream PR #168 for storage to prevent toggling encryption
7bd08a
  in safe mode, as it is a destructive operation. Resolves rhbz#1881524
7bd08a
- Introduce & use simpler macros for Sources management,
7bd08a
  similar to %%forgemeta
7bd08a
  https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
7bd08a
- Use a script to perform prefix transformation for all roles to reduce
7bd08a
  the number of patches
7bd08a
- Rebase tlog to add exclude_{users,groups} support, Resolves rhbz#1895472
7bd08a
- Add crypto_policies role, Resolves rhbz#1893699
7bd08a
- Add sshd role, Resolves rhbz#1893696
d1299e
4eec9e
* Mon Aug 24 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-19
4eec9e
- Rebase network role to latest upstream, resolves rhbz#1800627
4eec9e
  Drop a downstream patch with a test workaround that is not needed anymore.
4eec9e
- Fix script for role prefix transformation
4eec9e
- Rebase metrics role to pick up test changes, PR #19
4eec9e
- Rebase kernel_settings role to latest upstream, resolves rhbz#1851557
4eec9e
4eec9e
* Mon Aug 24 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-18
4eec9e
- Rebase storage role to latest upstream, resolves rhbz#1848254, rhbz#1851654,
4eec9e
  rhbz#1862867
4eec9e
- Rebase nbde_client role to latest upstream, resolves rhbz#1851654
4eec9e
- Rebase logging role to latest upstream, resolves rhbz#1851654, rhbz#1861318
4eec9e
- Rebase metrics role to latest upstream, resolves rhbz#1869390, rhbz#1869389,
4eec9e
  rhbz#1868378
4eec9e
56e229
* Fri Aug 21 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-17
56e229
- Rebase certificate role to latest upstream, resolves rhbz#1859547
56e229
ac6c85
* Mon Aug 10 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-16
ac6c85
- Rebase logging role to latest upstream, resolves rhbz#1854546, rhbz#1861318,
ac6c85
  rhbz#1860896, adds test for rhbz#1850790
ac6c85
- Rebase metrics role to latest upstream, resolves rhbz#1855544, rhbz#1855539,
ac6c85
  rhbz#1848763
ac6c85
- Fix whitespace in postfix role patch
ac6c85
77f1f8
* Fri Jul 31 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-15
77f1f8
- Rebase storage role to latest upstream, resolves rhbz#1854191, rhbz#1848250,
77f1f8
  rhbz#1850790 (including test)
77f1f8
- Rebase nbde_client role to latest upstream, adds test for rhbz#1850790
77f1f8
- Rebase certificate role to latest upstream, adds test for rhbz#1850790
77f1f8
- Rebase nbde_server role to latest upstream, resolves rhbz#1850790
77f1f8
  (including test)
77f1f8
- Rebase tlog role to latest upstream, resolves rhbz#1855424
77f1f8
- Rebase kernel_settings role to rev b8bc86b, resolves rhbz#1850790
77f1f8
- Add EL 8 to supported versions in postfix and kdump role metadata,
77f1f8
  resolves rhbz#1861661
77f1f8
b57f19
* Mon Jul 20 2020 Rich Megginson <rmeggins@redhat.com> - 1.0-14
b57f19
- Rebase certificate role to latest upstream, resolves rhbz#1858840
b57f19
b57f19
* Fri Jul 17 2020 Rich Megginson <rmeggins@redhat.com> - 1.0-13
b57f19
- Rebase certificate role to latest upstream, resolves rhbz#1858316, rhbz#1848745
b57f19
921f83
* Mon Jun 29 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-12
921f83
- Rebase network role to latest upstream, resolves rhbz#1822777, rhbz#1848472
921f83
- Rebase logging role to latest upstream, resolves rhbz#1850790,
921f83
  rhbz#1851804, rhbz#1848762
921f83
- Rebase certificate role to latest upstream, resolves rhbz#1848742,
921f83
  rhbz#1850790
921f83
- Rebase nbde_client role to latest upstream, resolves rhbz#1848766,
921f83
  rhbz#1850790
921f83
921f83
* Mon Jun 15 2020 Pavel Cahyna <pcahyna@redhat.com> - 1.0-11
921f83
- Rebase network role to latest upstream
921f83
- Remove all the soon-unnecessary tier1 tags in test
921f83
- Add a workaround for rhbz#1800627 in test
921f83
- Modify patches to remove tier1 tags
921f83
- Add metrics, tlog, logging, kernel_settings roles
921f83
- Add nbde_client, nbde_server, certificate roles
921f83
- Rebase storage role to latest upstream: adds support for mdraid, LUKS,
921f83
  swap manangement
921f83
921f83
* Mon Oct 21 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-10
921f83
- Add the storage_safe_mode option, true by default, to prevent accidental
921f83
  data removal: rhbz#1763242, issue #42, PR #43 and #51.
921f83
921f83
* Thu Aug 15 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-9
921f83
- Add the storage role
921f83
921f83
* Thu Jun 13 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-7
921f83
- Update tests for the network role
921f83
- Fix typo in a test for the timesync role
921f83
- Tag tests suitable for Tier1 testing
921f83
- Rebase the network role to add support for device features (PR#115,
921f83
  rhbz#1696703) and atomic changes (PR#119, rhbz#1695161)
921f83
- network: apply upstream PR#121: allow modifying interface attributes
921f83
  without disrupting services (rhbz#1695157)
921f83
921f83
* Wed May 29 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-6
921f83
- Rebase the selinux role, fixes typo in tests, uncovered by Ansible 2.7,
921f83
  (rhbz#1677743) and lists all input variables in defaults
921f83
  to make Satellite aware of them (rhbz#1674004, PR#43)
921f83
- Rebase the kdump role to fix check mode problems: rhbz#1685904
921f83
- Rebase the timesync role: fixes check mode problems (rhbz#1685904)
921f83
  and lists all input variables in defaults (rhbz#1674004)
921f83
- Rebase the network role: keeps the interface up for state: up
921f83
  if persistent_state is absent and solves problems with defining
921f83
  VLAN and MACVLAN interface types (issue #19) (rhbz#1685902)
921f83
921f83
* Sat Jan 12 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-5
921f83
- spec file improvement: Unify the source macros with deftag() and defcommit()
921f83
- Update to upstream released versions and drop unnecessary patches.
921f83
- Unify the spec file with Fedora (no functional changes intended).
921f83
- Misc spec file comments fixes (by Mike DePaulo)
921f83
- Fix rpmlint error by escaping a previous changelog entry with a macro (by Mike DePaulo)
921f83
- Comply with Fedora guidelines by always using "cp -p" in %%install (by Mike DePaulo)
921f83
- Rebase network role - doc improvements, Fedora 29 and Ansible 2.7 support
921f83
- Regenerate network role patch to apply without offset
921f83
- Rebase kdump role to fix a forgotten edit, rhbz#1645633
921f83
- Update timesync examples: add var prefix (rhbz#1642152), correct role prefix
921f83
- Add Obsoletes for the -techpreview subpackage
921f83
- Add warnings to role READMEs and other doc updates, rhbz#1616018
921f83
- network: split the state setting into state and persistent_state, rhbz#1616014
921f83
- depend on python-jmespath as Ansible will not ship it, rhbz#1660559
921f83
921f83
* Tue Aug 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-4
921f83
- Format the READMEs as html, by vdolezal, with changes to use highlight
921f83
  (source-highlight does not understand YAML)
921f83
921f83
* Thu Aug  9 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-3
921f83
- Rebase the network role to the last revision (d866422).
921f83
  Many improvements to tests, introduces autodetection of the current provider
921f83
  and defaults to using profile name as interface name.
921f83
- Rebase the selinux, timesync and kdump roles to their 1.0rc1 versions.
921f83
  Many changes to the role interfaces to make them more consistent
921f83
  and conforming to Ansible best practices.
921f83
- Update the description.
921f83
921f83
* Fri May 11 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-4
921f83
- Fix complaints about /usr/bin/python during RPM build by making the affected scripts non-exec
921f83
- Fix merge botch
921f83
921f83
* Mon Mar 19 2018 Troy Dawson <tdawson@redhat.com> - 0.6-3.1
8d0a7f
- Use -a (after cd) instead of -b (before cd) in %%setup
921f83
921f83
* Wed Mar 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-3
921f83
- Minor corrections of the previous change by Till Maas.
921f83
921f83
* Fri Mar  9 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-2
921f83
- Document network role options: static routes, ethernet, dns
921f83
  Upstream PR#36, bz1550128, documents bz1487747 and bz1478576
921f83
921f83
* Tue Jan 30 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-1
921f83
- Drop hard dependency on ansible (#1525655), patch from Yaakov Selkowitz
921f83
- Update the network role to version 0.4, solves bz#1487747, bz#1478576
921f83
921f83
* Tue Dec 19 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-3
921f83
- kdump: fix the wrong conditional for ssh checking and improve test (PR#10)
921f83
921f83
* Tue Nov 07 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-2
921f83
- kdump: add ssh support. upstream PR#9, rhbz1478707
921f83
921f83
* Tue Oct 03 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-1
921f83
- SELinux: fix policy reload when SELinux is disabled on CentOS/RHEL 6
921f83
  (bz#1493574)
921f83
- network: update to b856c7481bf5274d419f71fb62029ea0044b3ec1 :
921f83
  makes the network role idempotent (bz#1476053) and fixes manual
921f83
  network provider selection (bz#1485074).
921f83
921f83
* Mon Aug 28 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.4-1
921f83
- network: update to b9b6f0a7969e400d8d6ba0ac97f69593aa1e8fa5:
921f83
  ensure that state:absent followed by state:up works (bz#1478910), and change
921f83
  the example IP adresses to the IANA-assigned ones.
921f83
- SELinux: fix the case when SELinux is disabled (bz#1479546).
921f83
921f83
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-2
921f83
- We can't change directories to symlinks (rpm bug #447156) so keep the old
921f83
  names and create the new names as symlinks.
921f83
921f83
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-1
921f83
- Change the prefix to linux-system-roles., keeping compatibility
921f83
  symlinks.
921f83
- Update the network role to dace7654feb7b5629ded0734c598e087c2713265:
921f83
  adds InfiniBand support and other fixes.
921f83
- Drop a patch included upstream.
921f83
921f83
* Mon Jun 26 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-2
921f83
- Leave a copy of README and COPYING in every role's directory, as suggested by T. Bowling.
921f83
- Move the network example inventory to the documentation directory together.
921f83
  with the example playbooks and delete the now empty "examples" directory.
921f83
- Use proper reserved (by RFC 7042) MAC addresses in the network examples.
921f83
921f83
* Tue Jun 6 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-1
921f83
- Update the networking role to version 0.2 (#1459203)
921f83
- Version every role and the package separately. They live in separate repos
921f83
  and upstream release tags are not coordinated.
921f83
921f83
* Mon May 22 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-2
921f83
- Prefix the roles in examples and documentation with rhel-system-roles.
921f83
921f83
* Thu May 18 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-1
921f83
- Update to 0.1 (first upstream release).
921f83
- Remove the tuned role, it is not ready yet.
921f83
- Move the example playbooks to /usr/share/doc/rhel-system-roles/$SUBSYSTEM
921f83
  directly to get rid of an extra directory.
921f83
- Depend on ansible.
921f83
921f83
* Thu May 4 2017  Pavel Cahyna <pcahyna@redhat.com> - 0-0.1.20170504
921f83
- Initial release.
921f83
- kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140
921f83
- postfix r. 43eec5668425d295dce3801216c19b1916df1f9b
921f83
- selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7
921f83
- timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141
921f83
- tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b
921f83
- network r. 03ff040df78a14409a0d89eba1235b8f3e50a750
921f83