|
|
4f71d3 |
# NOTE: Even though ansible-core is in 8.6, it is only available
|
|
|
4f71d3 |
# at *runtime*, not at *buildtime* - so we can't have
|
|
|
4f71d3 |
# ansible-core as a build_dep on RHEL8
|
|
|
4f71d3 |
%if 0%{?fedora} || 0%{?rhel} >= 9
|
|
|
4f71d3 |
%bcond_without ansible
|
|
|
4f71d3 |
%global ansible_build_dep ansible-core >= 2.11.0
|
|
|
4f71d3 |
%else
|
|
|
5a6d80 |
%if 0%{?rhel} && ! 0%{?epel}
|
|
|
5a6d80 |
%bcond_with ansible
|
|
|
5a6d80 |
%else
|
|
|
5a6d80 |
%bcond_without ansible
|
|
|
4f71d3 |
%global ansible_build_dep ansible >= 2.9.10
|
|
|
4f71d3 |
%endif
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%bcond_with collection_artifact
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Do not convert .md to .html on RHEL 7 because tools the conversion are not available
|
|
|
5a6d80 |
%if 0%{?fedora} || 0%{?rhel} >= 8
|
|
|
5a6d80 |
%bcond_without html
|
|
|
5a6d80 |
%else
|
|
|
5a6d80 |
%bcond_with html
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
Name: ansible-collection-microsoft-sql
|
|
|
5a6d80 |
Url: https://github.com/linux-system-roles/mssql
|
|
|
5a6d80 |
Summary: The Ansible collection for Microsoft SQL Server management
|
|
|
4f71d3 |
Version: 1.1.1
|
|
|
4f71d3 |
Release: 3%{?dist}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
#Group: Development/Libraries
|
|
|
5a6d80 |
License: MIT
|
|
|
5a6d80 |
%global installbase %{_datadir}/microsoft
|
|
|
5a6d80 |
%global _pkglicensedir %{_licensedir}/%{name}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%global collection_namespace microsoft
|
|
|
5a6d80 |
%global collection_name sql
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%global collection_version %{version}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Helper macros originally from macros.ansible by Igor Raits <ignatenkobrain>
|
|
|
5a6d80 |
# Not available on RHEL, so we must define those macros locally here without using ansible-galaxy
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Not used (yet). Could be made to point to AH in RHEL - but what about CentOS Stream?
|
|
|
5a6d80 |
#%%{!?ansible_collection_url:%%define ansible_collection_url() https://galaxy.ansible.com/%%{collection_namespace}/%%{collection_name}}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if 0%{?fedora} || 0%{?rhel} >= 8
|
|
|
5a6d80 |
%{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/}
|
|
|
5a6d80 |
%else
|
|
|
5a6d80 |
# Define undefined macro using "!?ansible_collection_files:..." does not work for rhel-7
|
|
|
5a6d80 |
%if %{?ansible_collection_files:0}%{!?ansible_collection_files:1}
|
|
|
5a6d80 |
%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
4f71d3 |
# ansible-core is in rhel 8.6 and later - default to ansible-core, but allow
|
|
|
4f71d3 |
# the use of ansible if present - we may revisit this if the automatic dependency
|
|
|
4f71d3 |
# generator is added to ansible-core in RHEL
|
|
|
4f71d3 |
# Fedora - the automatic generator will add this - no need to explicit declare
|
|
|
4f71d3 |
# it in the spec file
|
|
|
4f71d3 |
# EL7 - no dependency on ansible because there is no ansible in el7 - user is
|
|
|
4f71d3 |
# responsible for knowing they have to install ansible
|
|
|
4f71d3 |
%if 0%{?rhel} >= 8
|
|
|
4f71d3 |
Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0)
|
|
|
4f71d3 |
%endif
|
|
|
5a6d80 |
%if %{with ansible}
|
|
|
4f71d3 |
BuildRequires: %{ansible_build_dep}
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{without ansible}
|
|
|
5a6d80 |
# We don't have ansible-galaxy.
|
|
|
5a6d80 |
# Simply copy everything instead of galaxy-installing the built artifact.
|
|
|
5a6d80 |
%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)
|
|
|
5a6d80 |
%else
|
|
|
5a6d80 |
%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
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# For each role, call defcommit() and the point to it with SourceN: %{archiveurlN}.
|
|
|
5a6d80 |
%global archiveext tar.gz
|
|
|
5a6d80 |
# list of source role names
|
|
|
5a6d80 |
%global rolenames %nil
|
|
|
5a6d80 |
# list of assignments that can be used to populate a bash associative array variable
|
|
|
5a6d80 |
%global rolestodir %nil
|
|
|
5a6d80 |
# list of target rolenames to copy the roles to
|
|
|
5a6d80 |
%global target_rolenames %nil
|
|
|
5a6d80 |
# list of collection rolenames to convert the roles to
|
|
|
5a6d80 |
%global collection_rolenames %nil
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%define getarchivedir() %(p=%{basename:%{S:%{1}}}; echo ${p%%.%{archiveext}})
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%global parenturl https://github.com/linux-system-roles
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%define defcommit() %{expand:%%global ref%{1} %{2}
|
|
|
5a6d80 |
%%global shortcommit%{1} %%(c=%%{ref%{1}}; echo ${c:0:7})
|
|
|
5a6d80 |
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
|
|
|
5a6d80 |
%%global archiveurl%{1} %%{parenturl}/%%{rolename%{1}}/archive/%%{ref%{1}}/%%{rolename%{1}}-%%{ref%{1}}.tar.gz
|
|
|
5a6d80 |
%%global rolenames %%{?rolenames} %%{rolename%{1}}
|
|
|
5a6d80 |
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
|
|
|
5a6d80 |
%%global rolestodir %%{?rolestodir} %{roletodir%{1}}
|
|
|
5a6d80 |
%%{!?target_rolename%{1}:%%global target_rolename%{1} %%{rolename%{1}}}
|
|
|
5a6d80 |
%%global target_rolenames %%{?target_rolenames} [%{rolename%{1}}]="%{target_rolename%{1}}"
|
|
|
5a6d80 |
%%{!?collection_rolename%{1}:%%global collection_rolename%{1} %%{rolename%{1}}}
|
|
|
5a6d80 |
%%global collection_rolenames %%{?collection_rolenames} [%{rolename%{1}}]="%{collection_rolename%{1}}"
|
|
|
5a6d80 |
}
|
|
|
5a6d80 |
|
|
|
4f71d3 |
%defcommit 1 02d2edb8ac7815cc5789a56414c09bfd0700cbb1
|
|
|
5a6d80 |
%global rolename1 mssql
|
|
|
5a6d80 |
%global target_rolename1 sql-server
|
|
|
5a6d80 |
%global collection_rolename1 server
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%global mainid cdc706f14614ef5e80bbce8db10beb369e889df9
|
|
|
5a6d80 |
Source: %{parenturl}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
|
|
|
5a6d80 |
Source1: %{archiveurl1}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
BuildArch: noarch
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{with html}
|
|
|
5a6d80 |
# Requirements for md2html.sh to build the documentation
|
|
|
5a6d80 |
%if 0%{?fedora} || 0%{?rhel} >= 9
|
|
|
5a6d80 |
BuildRequires: rubygem-kramdown-parser-gfm
|
|
|
5a6d80 |
%else
|
|
|
5a6d80 |
BuildRequires: pandoc
|
|
|
5a6d80 |
BuildRequires: asciidoc
|
|
|
5a6d80 |
BuildRequires: highlight
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Requirements for galaxy_transform.py
|
|
|
5a6d80 |
BuildRequires: python3
|
|
|
5a6d80 |
%if 0%{?fedora} || 0%{?rhel} >= 8
|
|
|
4f71d3 |
BuildRequires: %{py3_dist ruamel.yaml}
|
|
|
5a6d80 |
%else
|
|
|
5a6d80 |
BuildRequires: python3-ruamel-yaml
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{undefined __ansible_provides}
|
|
|
5a6d80 |
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{collection_version}
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
# be compatible with the usual Fedora Provides:
|
|
|
5a6d80 |
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%description
|
|
|
5a6d80 |
This RPM installs the Ansible collection for Microsoft SQL Server management
|
|
|
5a6d80 |
microsoft.sql. This RPM also installs the roles provided by the collection in
|
|
|
5a6d80 |
the legacy roles format for users of Ansible < 2.9.
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{with collection_artifact}
|
|
|
5a6d80 |
%package collection-artifact
|
|
|
5a6d80 |
Summary: Collection artifact to import to Automation Hub / Ansible Galaxy
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%description collection-artifact
|
|
|
5a6d80 |
Collection artifact for %{name}. This package contains %{collection_namespace}-%{collection_name}-%{version}.tar.gz
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%prep
|
|
|
5a6d80 |
%setup -q -a1 -n %{getarchivedir 0}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Declare the array containing names of directories to copy roles to for prep
|
|
|
5a6d80 |
declare -A ROLESTODIR=(%{rolestodir})
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
mv "${ROLESTODIR[${rolename}]}" ${rolename}
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Removing symlinks in tests/roles
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
if [ -d ${rolename}/tests/roles ]; then
|
|
|
5a6d80 |
find ${rolename}/tests/roles -type l -exec rm {} \;
|
|
|
5a6d80 |
if [ -d ${rolename}/tests/roles/linux-system-roles.${rolename} ]; then
|
|
|
5a6d80 |
rm -r ${rolename}/tests/roles/linux-system-roles.${rolename}
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# transform ambiguous #!/usr/bin/env python shebangs to python3 to stop brp-mangle-shebangs complaining
|
|
|
5a6d80 |
find -type f -executable -name '*.py' -exec \
|
|
|
5a6d80 |
sed -i -r -e '1s@^(#! */usr/bin/env python)(\s|$)@#\13\2@' '{}' +
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%build
|
|
|
5a6d80 |
%if %{with html}
|
|
|
5a6d80 |
# Convert README.md to README.html in the source roles
|
|
|
5a6d80 |
readmes=""
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
readmes="${readmes} $rolename/README.md"
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
sh md2html.sh $readmes
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
mkdir .collections
|
|
|
5a6d80 |
# Copy README.md for the collection build
|
|
|
5a6d80 |
cp %{rolename1}/.collection/README.md lsr_role2collection/collection_readme.md
|
|
|
5a6d80 |
# Copy galaxy.yml for the collection build
|
|
|
5a6d80 |
cp %{rolename1}/.collection/galaxy.yml ./
|
|
|
5a6d80 |
# Ensure the correct entries in galaxy.yml
|
|
|
5a6d80 |
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" "Ansible collection for Microsoft SQL Server management" > galaxy.yml.tmp
|
|
|
5a6d80 |
mv galaxy.yml.tmp galaxy.yml
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Declare the array containing collection rolenames to convert roles to
|
|
|
5a6d80 |
declare -A COLLECTION_ROLENAMES=(%{collection_rolenames})
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Convert roles to the collection format
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
python3 lsr_role2collection.py --role "$rolename" \
|
|
|
5a6d80 |
--src-path "$rolename" \
|
|
|
5a6d80 |
--src-owner linux-system-roles \
|
|
|
5a6d80 |
--dest-path .collections \
|
|
|
5a6d80 |
--readme lsr_role2collection/collection_readme.md \
|
|
|
5a6d80 |
--namespace %{collection_namespace} --collection %{collection_name} \
|
|
|
5a6d80 |
--new-role "${COLLECTION_ROLENAMES[${rolename}]}" \
|
|
|
5a6d80 |
--meta-runtime lsr_role2collection/runtime.yml
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# removing dot files/dirs
|
|
|
5a6d80 |
rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.[A-Za-z]*
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Copy galaxy.yml to the collection directory
|
|
|
5a6d80 |
cp -p galaxy.yml .collections/ansible_collections/%{collection_namespace}/%{collection_name}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%install
|
|
|
5a6d80 |
mkdir -p $RPM_BUILD_ROOT%{installbase}
|
|
|
5a6d80 |
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Declare the array containing target rolenames to copy roles to
|
|
|
5a6d80 |
declare -A TARGET_ROLENAMES=(%{target_rolenames})
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Copy roles to the target directory within the microsoft directory and rename
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
cp -pR "$rolename" "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}"
|
|
|
5a6d80 |
sed -i "s/linux-system-roles\.$rolename/microsoft\.${TARGET_ROLENAMES[${rolename}]}/g" \
|
|
|
5a6d80 |
$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/tests/*.yml
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Generate symlinks for roles in /usr/share/ansible/roles
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
ln -s "%{installbase}/${TARGET_ROLENAMES[${rolename}]}" "$RPM_BUILD_ROOT%{_datadir}/ansible/roles/microsoft.${TARGET_ROLENAMES[${rolename}]}"
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Copy README, COPYING, and LICENSE files to the corresponding directories
|
|
|
5a6d80 |
mkdir -p $RPM_BUILD_ROOT%{_pkglicensedir}
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
mkdir -p "$RPM_BUILD_ROOT%{_pkgdocdir}/${TARGET_ROLENAMES[${rolename}]}"
|
|
|
5a6d80 |
cp -p "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/README.md" \
|
|
|
5a6d80 |
"$RPM_BUILD_ROOT%{_pkgdocdir}/${TARGET_ROLENAMES[${rolename}]}"
|
|
|
5a6d80 |
%if %{with html}
|
|
|
5a6d80 |
cp -p "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/README.html" \
|
|
|
5a6d80 |
"$RPM_BUILD_ROOT%{_pkgdocdir}/${TARGET_ROLENAMES[${rolename}]}"
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
if [ -f "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/COPYING" ]; then
|
|
|
5a6d80 |
cp -p "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/COPYING" \
|
|
|
5a6d80 |
"$RPM_BUILD_ROOT%{_pkglicensedir}/${TARGET_ROLENAMES[${rolename}]}.COPYING"
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
if [ -f "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/LICENSE" ]; then
|
|
|
5a6d80 |
cp -p "$RPM_BUILD_ROOT%{installbase}/${TARGET_ROLENAMES[${rolename}]}/LICENSE" \
|
|
|
5a6d80 |
"$RPM_BUILD_ROOT%{_pkglicensedir}/${TARGET_ROLENAMES[${rolename}]}.LICENSE"
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Remove dot files
|
|
|
5a6d80 |
rm -r $RPM_BUILD_ROOT%{installbase}/*/.[A-Za-z]*
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Remove the molecule directory
|
|
|
5a6d80 |
rm -r $RPM_BUILD_ROOT%{installbase}/*/molecule
|
|
|
5a6d80 |
|
|
|
5a6d80 |
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
|
|
|
5a6d80 |
%ansible_collection_build_install
|
|
|
5a6d80 |
popd
|
|
|
5a6d80 |
|
|
|
5a6d80 |
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection
|
|
|
5a6d80 |
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Copy the collection README files to the collection
|
|
|
5a6d80 |
cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \
|
|
|
5a6d80 |
$RPM_BUILD_ROOT%{_pkgdocdir}/collection
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# Declare the array containing collection rolenames to convert roles to
|
|
|
5a6d80 |
declare -A COLLECTION_ROLENAMES=(%{collection_rolenames})
|
|
|
5a6d80 |
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
if [ -f "%{buildroot}%{ansible_collection_files}%{collection_name}/roles/${COLLECTION_ROLENAMES[${rolename}]}/README.md" ]; then
|
|
|
5a6d80 |
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${COLLECTION_ROLENAMES[${rolename}]}
|
|
|
5a6d80 |
cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${COLLECTION_ROLENAMES[${rolename}]}/README.md \
|
|
|
5a6d80 |
$RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${COLLECTION_ROLENAMES[${rolename}]}
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{with html}
|
|
|
5a6d80 |
# converting README.md to README.html for collection in $RPM_BUILD_ROOT%{_pkgdocdir}/collection
|
|
|
5a6d80 |
readmes="$RPM_BUILD_ROOT%{_pkgdocdir}/collection/README.md"
|
|
|
5a6d80 |
for rolename in %{rolenames}; do
|
|
|
5a6d80 |
readmes="${readmes} $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${COLLECTION_ROLENAMES[${rolename}]}/README.md"
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
sh md2html.sh $readmes
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{with collection_artifact}
|
|
|
5a6d80 |
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
|
|
|
5a6d80 |
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
|
|
|
5a6d80 |
if [ -f %{collection_namespace}-%{collection_name}-%{version}.tar.gz ]; then
|
|
|
5a6d80 |
mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \
|
|
|
5a6d80 |
$RPM_BUILD_ROOT%{_datadir}/ansible/collections/
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
popd
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
# generate the %files section in the file files_section.txt
|
|
|
5a6d80 |
format_item_for_files() {
|
|
|
5a6d80 |
# $1 is directory or file name in buildroot
|
|
|
5a6d80 |
# $2 - if true, and item is a directory, use %dir
|
|
|
5a6d80 |
local item
|
|
|
5a6d80 |
local files_item
|
|
|
5a6d80 |
item="$1"
|
|
|
5a6d80 |
files_item=${item##"%{buildroot}"}
|
|
|
5a6d80 |
if [ -L "$item" ]; then
|
|
|
5a6d80 |
echo "$files_item"
|
|
|
5a6d80 |
elif [ -d "$item" ]; then
|
|
|
5a6d80 |
if [[ "$item" == */doc* ]]; then
|
|
|
5a6d80 |
echo "%doc $files_item"
|
|
|
5a6d80 |
elif [ "${2:-false}" = true ]; then
|
|
|
5a6d80 |
echo "%dir $files_item"
|
|
|
5a6d80 |
else
|
|
|
5a6d80 |
echo "$files_item"
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
elif [[ "$item" == */README.md ]] || [[ "$item" == */README.html ]]; then
|
|
|
5a6d80 |
if [[ "$item" == */private_* ]]; then
|
|
|
5a6d80 |
# mark as regular file, not %doc
|
|
|
5a6d80 |
echo "$files_item"
|
|
|
5a6d80 |
else
|
|
|
5a6d80 |
echo "%doc $files_item"
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
elif [[ "$item" != */COPYING* ]] && [[ "$item" != */LICENSE* ]]; then
|
|
|
5a6d80 |
# Avoid dynamically using the license macro since the license macro
|
|
|
5a6d80 |
# is replaced with the value of License directive in the older rpmbuild.
|
|
|
5a6d80 |
echo "$files_item"
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
}
|
|
|
5a6d80 |
|
|
|
5a6d80 |
files_section=files_section.txt
|
|
|
5a6d80 |
rm -f $files_section
|
|
|
5a6d80 |
touch $files_section
|
|
|
5a6d80 |
%if %{without ansible}
|
|
|
5a6d80 |
echo '%dir %{_datadir}/ansible' >> $files_section
|
|
|
5a6d80 |
echo '%dir %{_datadir}/ansible/roles' >> $files_section
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
%if "%{installbase}" != "%{_datadir}/ansible/roles"
|
|
|
5a6d80 |
echo '%dir %{installbase}' >> $files_section
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
echo '%dir %{ansible_collection_files}' >> $files_section
|
|
|
5a6d80 |
echo '%dir %{ansible_collection_files}%{collection_name}' >> $files_section
|
|
|
5a6d80 |
find %{buildroot}%{ansible_collection_files}%{collection_name} -mindepth 1 -maxdepth 1 | \
|
|
|
5a6d80 |
while read item; do
|
|
|
5a6d80 |
if [[ "$item" == */roles ]]; then
|
|
|
5a6d80 |
format_item_for_files "$item" true >> $files_section
|
|
|
5a6d80 |
find "$item" -mindepth 1 -maxdepth 1 | while read roles_dir; do
|
|
|
5a6d80 |
format_item_for_files "$roles_dir" true >> $files_section
|
|
|
5a6d80 |
find "$roles_dir" -mindepth 1 -maxdepth 1 | while read roles_item; do
|
|
|
5a6d80 |
format_item_for_files "$roles_item" >> $files_section
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
else
|
|
|
5a6d80 |
format_item_for_files "$item" >> $files_section
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
|
|
|
5a6d80 |
find %{buildroot}%{installbase} -mindepth 1 -maxdepth 1 | \
|
|
|
5a6d80 |
while read item; do
|
|
|
5a6d80 |
if [ -d "$item" ]; then
|
|
|
5a6d80 |
format_item_for_files "$item" true >> $files_section
|
|
|
5a6d80 |
find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
|
|
|
5a6d80 |
format_item_for_files "$roles_item" >> $files_section
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
else
|
|
|
5a6d80 |
format_item_for_files "$item" >> $files_section
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
if [ "%{installbase}" != "%{_datadir}/ansible/roles" ]; then
|
|
|
5a6d80 |
find %{buildroot}%{_datadir}/ansible/roles -mindepth 1 -maxdepth 1 | \
|
|
|
5a6d80 |
while read item; do
|
|
|
5a6d80 |
if [ -d "$item" ]; then
|
|
|
5a6d80 |
format_item_for_files "$item" true >> $files_section
|
|
|
5a6d80 |
find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
|
|
|
5a6d80 |
format_item_for_files "$roles_item" >> $files_section
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
else
|
|
|
5a6d80 |
format_item_for_files "$item" >> $files_section
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
done
|
|
|
5a6d80 |
fi
|
|
|
5a6d80 |
# cat files_section.txt
|
|
|
5a6d80 |
# done with files_section.txt generation
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%files -f files_section.txt
|
|
|
5a6d80 |
%{_pkgdocdir}/*/README.md
|
|
|
5a6d80 |
%{_pkgdocdir}/collection/roles/*/README.md
|
|
|
5a6d80 |
%if %{with html}
|
|
|
5a6d80 |
%{_pkgdocdir}/*/README.html
|
|
|
5a6d80 |
%{_pkgdocdir}/collection/roles/*/README.html
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
%license %{_pkglicensedir}/*
|
|
|
5a6d80 |
%license %{installbase}/*/LICENSE*
|
|
|
5a6d80 |
%license %{ansible_collection_files}/%{collection_name}/LICENSE*
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%if %{with collection_artifact}
|
|
|
5a6d80 |
%files collection-artifact
|
|
|
5a6d80 |
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{version}.tar.gz
|
|
|
5a6d80 |
%endif
|
|
|
5a6d80 |
|
|
|
5a6d80 |
%changelog
|
|
|
4f71d3 |
* Mon May 23 2022 Sergei Petrosian <spetrosi@redhat.com> - 1.1.1-3
|
|
|
4f71d3 |
- Insert the "Ansible managed" comment to /var/opt/mssql/mssql.conf
|
|
|
4f71d3 |
Resolves: rhbz#2006233 (EL7)
|
|
|
4f71d3 |
|
|
|
4f71d3 |
- Add Requires: ansible-core or ansible to the spec file
|
|
|
4f71d3 |
Resolves: rhbz#2089290 (EL7)
|
|
|
4f71d3 |
|
|
|
4f71d3 |
- Users now can provide a custom URLs to pull packages and RPM key from
|
|
|
4f71d3 |
Resolves: rhbz#2089292 (EL7)
|
|
|
4f71d3 |
|
|
|
4f71d3 |
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
|
|
|
4f71d3 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
4f71d3 |
|
|
|
4f71d3 |
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
|
|
|
4f71d3 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
4f71d3 |
|
|
|
5a6d80 |
* Wed Jul 21 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.1.0-1
|
|
|
5a6d80 |
- Add support for Microsoft SQL Server 2017
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Mon Jul 19 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.0.12-2
|
|
|
5a6d80 |
- Copy fix for RHEL 7 builds from rhel-system-roles
|
|
|
5a6d80 |
Link to the original fix:
|
|
|
5a6d80 |
https://src.fedoraproject.org/rpms/linux-system-roles/c/093981119f99ac51a6e06a2714b587e4e2fe287c
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Tue Jul 13 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.0.12-1
|
|
|
5a6d80 |
- Add the meta-runtime option from the latest auto-maintenance
|
|
|
5a6d80 |
- Use the latest mssql that ships fixes for issues #24,#25,#26,#27,#28,35
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Tue Jun 29 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.0.11-3
|
|
|
5a6d80 |
- Add a missing slash at the {ansible_collection_files} definition for rhel 7
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Thu Jun 17 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.0.11-2
|
|
|
5a6d80 |
- Make the ansible_collection_files macro defined in Fedora automatically and
|
|
|
5a6d80 |
in RHEL manually consistent - having slash at the end to clean double-slashes
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Thu Jun 17 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.0.11-1
|
|
|
5a6d80 |
- Update the version to be consistent with the Galaxy collection at
|
|
|
5a6d80 |
https://galaxy.ansible.com/microsoft/sql
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Wed Jun 16 2021 Sergei Petrosian <spetrosi@redhat.com> - 0.0.1-5
|
|
|
5a6d80 |
- Update commit hash for mssql
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Wed Jun 16 2021 Sergei Petrosian <spetrosi@redhat.com> - 0.0.1-4
|
|
|
5a6d80 |
- Generate symlinks for roles in /usr/share/ansible/roles
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Wed Jun 16 2021 Sergei Petrosian <spetrosi@redhat.com> - 0.0.1-3
|
|
|
5a6d80 |
- Copy changes made to linux-system-roles in this PR:
|
|
|
5a6d80 |
https://src.fedoraproject.org/rpms/linux-system-roles/pull-request/13#
|
|
|
5a6d80 |
- Make spec file available for older versions of OSes.
|
|
|
5a6d80 |
- Drop python3-six dependency which was used by lsr_role2collection.py.
|
|
|
5a6d80 |
- Drop html files from rpm if the version has no markdown parser.
|
|
|
5a6d80 |
- Drop unnecessary python scripts which include python3 only code, e.g.,
|
|
|
5a6d80 |
f-strings.
|
|
|
5a6d80 |
Resolves rhbz#1970165
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Mon Jun 14 2021 Sergei Petrosian <spetrosi@redhat.com> - 0.0.1-2
|
|
|
5a6d80 |
- Fix long description lines
|
|
|
5a6d80 |
- Fix incorrect role includes in microsoft/sql-server/tests/
|
|
|
5a6d80 |
|
|
|
5a6d80 |
* Thu Jun 3 2021 Sergei Petrosian <spetrosi@redhat.com> - 0.0.1-1
|
|
|
5a6d80 |
- Initial release
|