Import from AlmaLinux stable repository

This commit is contained in:
eabdullin 2024-05-31 16:28:29 +00:00
parent c410df30d6
commit 6f5ba8eb3f
4 changed files with 129 additions and 91 deletions

View File

@ -1,2 +0,0 @@
06bdf4fd47cd57661f657fa4f29ec3031198ba11 SOURCES/auto-maintenance-73800682a3293ef5ab5ed5880329ce792cd34bbf.tar.gz
43136931b6fa02984e7e0c30564f8202114ed2bd SOURCES/mssql-1.3.0.tar.gz

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/auto-maintenance-73800682a3293ef5ab5ed5880329ce792cd34bbf.tar.gz SOURCES/auto-maintenance-eadd06cfa98d244b096cff24cd11b668428b1613.tar.gz
SOURCES/mssql-1.3.0.tar.gz SOURCES/mssql-2.2.3.tar.gz

View File

@ -0,0 +1,21 @@
# Helper macros originally from macros.ansible by Igor Raits <ignatenkobrain>
# This file is for maintaining the compatibility with macros and other
# functionality (generators) provided by ansible-packaging on Fedora.
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{collection_version}
# ansible-galaxy is available by ansible-core on RHEL 8.6 and newer at buildtime.
%define ansible_collection_build() ansible-galaxy collection build
%define ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz
%define ansible_roles_dir %{_datadir}/ansible/roles
%define ansible_collections_dir %{_datadir}/ansible/collections/ansible_collections
# TODO: Officially deprecate this macro and add the following line to the macro
# def after the new approach has gotten more testing and adoption:
# %%{warn: %%{ansible_collection_files} is deprecated. Use %%files -f %%{ansible_collection_filelist} instead.}
%define ansible_collection_files %{shrink:
%{ansible_collections_dir}/%{collection_namespace}/
}
%define ansible_collection_filelist %{__ansible_builddir}/ansible_collection_files

View File

@ -1,31 +1,21 @@
# NOTE: Even though ansible-core is in 8.6, it is only available # NOTE: ansible-core is in rhel-8.6 and newer, but not installable
# at *runtime*, not at *buildtime* - so we can't have # in buildroot as it depended on modular Python.
# ansible-core as a build_dep on RHEL8 # It has been installable at buildtime in 8.8 and newer.
%if 0%{?fedora} || 0%{?rhel} >= 9
%bcond_without ansible
%if 0%{?fedora} %if 0%{?fedora}
BuildRequires: ansible-packaging BuildRequires: ansible-packaging
%else %else
%if 0%{?rhel} >= 8
BuildRequires: ansible-core >= 2.11.0 BuildRequires: ansible-core >= 2.11.0
%endif %endif
%else
%bcond_with ansible
%endif %endif
%bcond_with collection_artifact %bcond_with collection_artifact
# Do not convert .md to .html on RHEL 7 because pandoc is not available
%if 0%{?fedora} || 0%{?rhel} >= 8
%bcond_without html
%else
%bcond_with html
%endif
Name: ansible-collection-microsoft-sql Name: ansible-collection-microsoft-sql
Url: https://github.com/linux-system-roles/mssql Url: https://github.com/linux-system-roles/mssql
Summary: The Ansible collection for Microsoft SQL Server management Summary: The Ansible collection for Microsoft SQL Server management
Version: 1.3.0 Version: 2.2.3
Release: 3%{?dist} Release: 2%{?dist}
License: MIT License: MIT
@ -37,24 +27,6 @@ License: MIT
%global legacy_rolename %{collection_namespace}.sql-server %global legacy_rolename %{collection_namespace}.sql-server
%global _pkglicensedir %{_licensedir}/%{name} %global _pkglicensedir %{_licensedir}/%{name}
# Helper macros originally from macros.ansible by Igor Raits <ignatenkobrain>
# On RHEL, not available, so we must define those macros locally
# On Fedora, provided by ansible-packager
# Not used (yet). Could be made to point to AH in RHEL - but what about CentOS Stream?
#%%{!?ansible_collection_url:%%define ansible_collection_url() https://galaxy.ansible.com/%%{collection_namespace}/%%{collection_name}}
%if 0%{?rhel}
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{collection_version}
%global ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
%define ansible_roles_dir %{_datadir}/ansible/roles
%if %{without ansible}
# Untar and copy everything instead of galaxy-installing the built artifact when ansible is not available
%define ansible_collection_build() tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz .
%define ansible_collection_install() 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)
%else
%define ansible_collection_build() ansible-galaxy collection build
%define ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz
%endif
%endif
# be compatible with the usual Fedora Provides: # be compatible with the usual Fedora Provides:
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{collection_version}-%{release} Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{collection_version}-%{release}
@ -75,7 +47,7 @@ Requires: rhel-system-roles
Requires: linux-system-roles Requires: linux-system-roles
%endif %endif
%global mainid 73800682a3293ef5ab5ed5880329ce792cd34bbf %global mainid eadd06cfa98d244b096cff24cd11b668428b1613
# Use either hash or tag for source1id # Use either hash or tag for source1id
# %%global source1id 50edba099ab2c8b25b225fe760cb5a459b320030 # %%global source1id 50edba099ab2c8b25b225fe760cb5a459b320030
%global source1id %{version} %global source1id %{version}
@ -83,18 +55,20 @@ Requires: linux-system-roles
Source: %{parenturl}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz Source: %{parenturl}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
Source1: %{parenturl}/%{rolename}/archive/%{source1id}/%{rolename}-%{source1id}.tar.gz Source1: %{parenturl}/%{rolename}/archive/%{source1id}/%{rolename}-%{source1id}.tar.gz
BuildArch: noarch # Includes with ansible_collection_build/_install that differ between RHEL versions
Source1002: ansible-packaging.inc
%include %{SOURCE1002}
%if %{with html} BuildArch: noarch
# Requirements for md2html.sh to build the documentation # there is no ansible on i686, so when we get a builder that uses
%if 0%{?fedora} || 0%{?rhel} >= 9 # this arch, the build fails with
BuildRequires: rubygem-kramdown-parser-gfm # No matching package to install: 'ansible-core >= 2.11.0'
%else # unfortunately, this causes the src rpm build tasks to be reported
BuildRequires: pandoc # with the arch of the builder :-( which causes problems with internal
BuildRequires: asciidoc # test infrastructure - while we get those issues sorted out, revert
BuildRequires: highlight # this change - this means that centpkg builds may fail and may have
%endif # to be retried
%endif # ExcludeArch: i686
# Requirements for galaxy_transform.py # Requirements for galaxy_transform.py
BuildRequires: python3 BuildRequires: python3
@ -112,7 +86,7 @@ Summary: Collection artifact to import to Automation Hub / Ansible Galaxy
%description collection-artifact %description collection-artifact
Collection artifact for %{name}. This package contains Collection artifact for %{name}. This package contains
%{collection_namespace}-%{collection_name}-%{version}.tar.gz %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
%endif %endif
%pretrans -p <lua> %pretrans -p <lua>
@ -136,28 +110,25 @@ if [ -d %{rolename}/tests/roles ]; then
fi fi
%build %build
%if %{with html} # Move a hidden .README.html to a not hidden README.html
# Convert README.md to README.html in the source roles mv %{rolename}/.README.html %{rolename}/README.html
sh md2html.sh -t %{rolename}/README.md
%endif
mkdir .collections mkdir .collections
# Copy README.md for the collection build
cp %{rolename}/.collection/README.md lsr_role2collection/collection_readme.md
# Copy galaxy.yml for the collection build # Copy galaxy.yml for the collection build
cp %{rolename}/.collection/galaxy.yml ./ cp %{rolename}/.collection/galaxy.yml ./
%if 0%{?rhel} %if 0%{?rhel}
# Ensure the correct entries in galaxy.yml # Ensure the correct entries in galaxy.yml
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{version}" \ ./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" \
"Ansible collection for Microsoft SQL Server management" \ "Ansible collection for Microsoft SQL Server management" \
"https://github.com/linux-system-roles/mssql" \ "https://github.com/linux-system-roles/mssql" \
"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/administration_and_configuration_tasks_using_system_roles_in_rhel/assembly_configuring-microsoft-sql-server-using-microsoft-sql-server-ansible-role_assembly_updating-packages-to-enable-automation-for-the-rhel-system-roles" \ "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/automating_system_administration_by_using_rhel_system_roles/assembly_configuring-microsoft-sql-server-using-microsoft-sql-server-ansible-role_automating-system-administration-by-using-rhel-system-roles" \
"https://github.com/linux-system-roles/mssql/blob/main/README.md" \ "https://access.redhat.com/articles/3050101" \
"https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%208&component=ansible-collection-microsoft-sql" \ "https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12332745&summary=Your%20request%20summary&issuetype=1&priority=10200&labels=Partner-Feature-Request&components=12377164" \
> galaxy.yml.tmp > galaxy.yml.tmp
%else %else
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{version}" \ ./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" \
"Ansible collection for Microsoft SQL Server management" \ "Ansible collection for Microsoft SQL Server management" \
> galaxy.yml.tmp > galaxy.yml.tmp
%endif %endif
@ -166,8 +137,8 @@ mv galaxy.yml.tmp galaxy.yml
%if 0%{?rhel} %if 0%{?rhel}
# Replace "fedora.linux_system_roles" with "redhat.rhel_system_roles" # Replace "fedora.linux_system_roles" with "redhat.rhel_system_roles"
# This is for the "roles calling other roles" case # This is for the "roles calling other roles" case
find %{rolename} -type f -exec \ find . -type f -exec \
sed -e "s/fedora[.]linux_system_roles[.]/redhat.rhel_system_roles./g" \ sed -e "s/fedora\.linux_system_roles/redhat.rhel_system_roles/g" \
-i {} \; -i {} \;
%endif %endif
@ -176,7 +147,7 @@ python3 lsr_role2collection.py --role "%{rolename}" \
--src-path "%{rolename}" \ --src-path "%{rolename}" \
--src-owner linux-system-roles \ --src-owner linux-system-roles \
--dest-path .collections \ --dest-path .collections \
--readme lsr_role2collection/collection_readme.md \ --readme %{rolename}/.collection/README.md \
--namespace %{collection_namespace} \ --namespace %{collection_namespace} \
--collection %{collection_name} \ --collection %{collection_name} \
--new-role "%{collection_rolename}" \ --new-role "%{collection_rolename}" \
@ -191,13 +162,13 @@ find .collections/ansible_collections/%{collection_namespace}/%{collection_name}
rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.[A-Za-z]* rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/.[A-Za-z]*
rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/%{collection_rolename}/.[A-Za-z]* rm -r .collections/ansible_collections/%{collection_namespace}/%{collection_name}/tests/%{collection_rolename}/.[A-Za-z]*
# Copy CHANGELOG.md from collection role to parent collection dir
cp .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/%{collection_rolename}/CHANGELOG.md \
.collections/ansible_collections/%{collection_namespace}/%{collection_name}
# Copy galaxy.yml to the collection directory # Copy galaxy.yml to the collection directory
cp -p galaxy.yml .collections/ansible_collections/%{collection_namespace}/%{collection_name} cp -p galaxy.yml .collections/ansible_collections/%{collection_namespace}/%{collection_name}
# Copy CHANGELOG.md from mssql to collection dir
mv .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/%{collection_rolename}/CHANGELOG.md \
.collections/ansible_collections/%{collection_namespace}/%{collection_name}/
# Build collection # Build collection
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
%ansible_collection_build %ansible_collection_build
@ -206,21 +177,22 @@ popd
%install %install
mkdir -p %{buildroot}%{ansible_roles_dir} mkdir -p %{buildroot}%{ansible_roles_dir}
# Step 1: Install the role in legacy format
# Copy role in legacy format and rename rolename in tests # Copy role in legacy format and rename rolename in tests
cp -pR "%{rolename}" "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}" cp -pR "%{rolename}" "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}"
find %{buildroot}%{ansible_roles_dir}/%{legacy_rolename} -type f -exec \ find %{buildroot}%{ansible_roles_dir}/%{legacy_rolename} -type f -exec \
sed -e "s/linux-system-roles\.%{rolename}/%{legacy_rolename}/g" \ sed -e "s/%{collection_namespace}\.%{collection_name}\.%{collection_rolename}/%{legacy_rolename}/g" \
-i {} \; -i {} \;
# Copy README, COPYING, and LICENSE files to the corresponding directories # Copy README, COPYING, CHANGELOG and LICENSE files to the corresponding directories
mkdir -p %{buildroot}%{_pkglicensedir} mkdir -p %{buildroot}%{_pkglicensedir}
mkdir -p "%{buildroot}%{_pkgdocdir}/%{legacy_rolename}" mkdir -p "%{buildroot}%{_pkgdocdir}/%{legacy_rolename}"
ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/README.md" \ ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/README.md" \
"%{buildroot}%{_pkgdocdir}/%{legacy_rolename}" "%{buildroot}%{_pkgdocdir}/%{legacy_rolename}"
%if %{with html}
ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/README.html" \ ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/README.html" \
"%{buildroot}%{_pkgdocdir}/%{legacy_rolename}" "%{buildroot}%{_pkgdocdir}/%{legacy_rolename}"
%endif ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/CHANGELOG.md" \
"%{buildroot}%{_pkgdocdir}/%{legacy_rolename}"
if [ -f "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/COPYING" ]; then if [ -f "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/COPYING" ]; then
ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/COPYING" \ ln -sr "%{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/COPYING" \
"%{buildroot}%{_pkglicensedir}/%{legacy_rolename}.COPYING" "%{buildroot}%{_pkglicensedir}/%{legacy_rolename}.COPYING"
@ -234,43 +206,42 @@ fi
rm -r %{buildroot}%{ansible_roles_dir}/*/.[A-Za-z]* rm -r %{buildroot}%{ansible_roles_dir}/*/.[A-Za-z]*
rm -r %{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/tests/.[A-Za-z]* rm -r %{buildroot}%{ansible_roles_dir}/%{legacy_rolename}/tests/.[A-Za-z]*
# Remove the molecule directory # Step 2: Remove molecule directory from all roles under ansible_roles_dir
rm -r %{buildroot}%{ansible_roles_dir}/*/molecule rm -r %{buildroot}%{ansible_roles_dir}/*/molecule
# Install collection # Step 3: Install the role in collection format
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
%ansible_collection_install %ansible_collection_install
popd popd
mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles
# Copy the collection README files to the collection # Link collection README to /usr/share/doc/ansible-collection-microsoft-sql/collection.
ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \ ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \
%{buildroot}%{_pkgdocdir}/collection %{buildroot}%{_pkgdocdir}/collection
# Copy role's readme to /usr/share/doc/ # Link role READMEs to /usr/share/doc/ansible-collection-microsoft-sql/collection/roles/server
if [ -f "%{buildroot}%{ansible_collection_files}%{collection_name}/roles/%{collection_rolename}/README.md" ]; then mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename}
mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename} ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/roles/%{collection_rolename}/README.md \
ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/roles/%{collection_rolename}/README.md \ %{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename}
%{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename} ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/roles/%{collection_rolename}/README.html \
fi %{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename}
%if %{with html} # Link role CHANGELOG.md to /usr/share/doc/ansible-collection-microsoft-sql/collection/roles/server
# Convert README.md to README.html for collection in %%{buildroot}%%{_pkgdocdir}/collection ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/roles/%{collection_rolename}/CHANGELOG.md \
sh md2html.sh -t %{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename}/README.md %{buildroot}%{_pkgdocdir}/collection/roles/%{collection_rolename}
%endif
# Step 4: Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
%if %{with collection_artifact} %if %{with collection_artifact}
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
if [ -f %{collection_namespace}-%{collection_name}-%{version}.tar.gz ]; then if [ -f %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz ]; then
mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \ mv %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz \
%{buildroot}%{_datadir}/ansible/collections/ %{buildroot}%{_datadir}/ansible/collections/
fi fi
popd popd
%endif %endif
# Generate the %%files section in files_section.txt # Step 5: Generate the %%files section in files_section.txt
# Bulk files inclusion is not possible because roles store doc and licence # Bulk files inclusion is not possible because roles store doc and licence
# files together with other files # files together with other files
format_item_for_files() { format_item_for_files() {
@ -346,10 +317,58 @@ find %{buildroot}%{ansible_roles_dir} -mindepth 1 -maxdepth 1 | \
%if %{with collection_artifact} %if %{with collection_artifact}
%files collection-artifact %files collection-artifact
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{version}.tar.gz %{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
%endif %endif
%changelog %changelog
* Thu Feb 27 2024 Sergei Petrosian <spetrosi@redhat.com> - 2.2.3-2
- Revert ExcludeArch: i686 due to TFT-2460
Resolves: RHEL-17080
* Thu Feb 22 2024 Sergei Petrosian <spetrosi@redhat.com> - 2.2.3-1
- Add support for running SQL Server as a SELinux unconfined application with SELinux in enforcing mode on RHEL 9
Resolves: RHEL-17080
- ExcludeArch: i686
* Tue Feb 6 2024 Sergei Petrosian <spetrosi@redhat.com> - 2.2.2-1
- Update role to version 2.2.2 to fix HA
Resolves: RHEL-19202
- CHANGELOG.md was missing in some places
- In legacy role, sed repalced unexpected strings at some places
Resolves: RHEL-23456
* Wed Jan 31 2024 Sergei Petrosian <spetrosi@redhat.com> - 2.2.1-2
- Use latest auto-maintenance for updates in lsr_role2collection.py
- Remove with_html, instead use built-in .README.html
Resolves: RHEL-23456
* Mon Jan 29 2024 Sergei Petrosian <spetrosi@redhat.com> - 2.2.1-1
- Update role to version 2.2.1 to enhance running on EL 9
Resolves: RHEL-17080
* Mon Dec 11 2023 Sergei Petrosian <spetrosi@redhat.com> - 2.2.0-1
- Support installing SQL Server 2022 on RHEL 9 and running as a selinux-confined application
Resolves: RHEL-17080
- Remove unnecessary variable and RPM requirements for read-scale clusters
Resolves: RHEL-19202
- Add the mssql_ha_prep_for_pacemaker variable to configure SQL Server for Pacemaker
Resolves: RHEL-19204
- Deprecate `mssql_ha_cluster_run_role` for `mssql_manage_ha_cluster`
Resolves: RHEL-19203
* Thu Jul 27 2023 Sergei Petrosian <spetrosi@redhat.com> - 2.0.1-1
- Update role to version 2.0.1 to enhance AD integration
Resolves: RHEL-877
Resolves: RHEL-878
Resolves: RHEL-879
Resolves: RHEL-880
* Wed May 31 2023 Sergei Petrosian <spetrosi@redhat.com> - 1.4.1-1
- Update BuiildRequires to use ansible-core on RHEL > 8.8
- Move RHEL related code into an include for spec readability
- Update role to version 1.4.1 to add customizable storage paths
Resolves: RHEL-528
* Thu Feb 23 2023 Sergei Petrosian <spetrosi@redhat.com> - 1.3.0-3 * Thu Feb 23 2023 Sergei Petrosian <spetrosi@redhat.com> - 1.3.0-3
- Spec: add functionality to build from a commit hash - Spec: add functionality to build from a commit hash
- Use latest 1.3.0 to add flexibility to AD integration functionality - Use latest 1.3.0 to add flexibility to AD integration functionality