From 747ee33a56ca895a704a8b6781ac99427b39d1de1edea996674cfc6b448d33ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 7 Feb 2025 18:24:47 +0100 Subject: [PATCH] Sync from SUSE:SLFO:Main ansible-sap-operations revision 65f566f925cd3bf6f2c6f7dd3d5e333d --- .gitattributes | 23 +++++ _service | 3 + ansible-sap-operations-0.9.1.tar.gz | 3 + ansible-sap-operations.changes | 5 ++ ansible-sap-operations.spec | 128 ++++++++++++++++++++++++++++ 5 files changed, 162 insertions(+) create mode 100644 .gitattributes create mode 100644 _service create mode 100644 ansible-sap-operations-0.9.1.tar.gz create mode 100644 ansible-sap-operations.changes create mode 100644 ansible-sap-operations.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_service b/_service new file mode 100644 index 0000000..e2ab7b1 --- /dev/null +++ b/_service @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/ansible-sap-operations-0.9.1.tar.gz b/ansible-sap-operations-0.9.1.tar.gz new file mode 100644 index 0000000..49c5746 --- /dev/null +++ b/ansible-sap-operations-0.9.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c33fc71531c185f8b4889f88537bf390ced11d76c14d901c91be712e74fc0ce +size 62061 diff --git a/ansible-sap-operations.changes b/ansible-sap-operations.changes new file mode 100644 index 0000000..7b3f95f --- /dev/null +++ b/ansible-sap-operations.changes @@ -0,0 +1,5 @@ +------------------------------------------------------------------- +Fri Jan 20 09:00:00 UTC 2025 - Marcel Mamula + +- 0.9.1 + - Initial release. \ No newline at end of file diff --git a/ansible-sap-operations.spec b/ansible-sap-operations.spec new file mode 100644 index 0000000..ed76c4b --- /dev/null +++ b/ansible-sap-operations.spec @@ -0,0 +1,128 @@ +# +# spec file for package ansible-sap-operations +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + +%define ansible_collection_name sap_operations +%define ansible_roles_to_remove "sap_rhsm sap_fapolicy" +%define ansible_collection_path %{_datadir}/ansible/collections/ansible_collections/suse/%{ansible_collection_name} + + +Name: ansible-sap-operations +Summary: Ansible collection suse.sap_operations for SAP Automation +License: Apache-2.0 +Version: 0.9.1 +Release: 0 +URL: https://github.com/SUSE/community.sap_operations/ +Source: %{url}archive/refs/tags/%{version}-suse.tar.gz#/%{name}-%{version}.tar.gz + + +BuildArch: noarch + + +# Python macros are required for python detection +BuildRequires: python-rpm-macros + +# Minimum python version +%{?sle15_python_module_pythons} +BuildRequires: %{python_module base >= 3.11} +Requires: %{python_module base >= 3.11} + + +# Select correct supported Ansible +%if 0%{?suse_version} >= 1600 +Requires: ansible-core +Requires: ansible +BuildRequires: ansible-core +BuildRequires: ansible +%else +# Only Ansible 9 is supported on SLES 15 +Requires: ansible-core-2.16 +Requires: ansible-9 +BuildRequires: ansible-core-2.16 +BuildRequires: ansible-9 +%endif + +# Do not check any files in collections for requires +%global __requires_exclude_from ^%{python311_sitelib}/.*$ + + +%description +This package provides a Ansible collection suse.sap_operations. + +It automates suite of day to day operations for existing SAP landscape. + +This collection can be used to execute sapcontrol functions, +update SAP profiles, configure firewall rules, execute RFC, etc. + + +%prep +# Extract tarball +cd %{_builddir} +tar -xzf %{_sourcedir}/%{name}-%{version}.tar.gz --strip-components=1 + + +%build +cd %{_builddir} +# Remove unsupported roles before building collection +for role in $(echo %{ansible_roles_to_remove}); do + rm -rf %{_builddir}/roles/$role +done + +ansible-galaxy collection build --output-path %{_builddir} + + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_datadir}/ansible/collections +mkdir -p %{buildroot}%{_datadir}/ansible/roles/ + +# ansible-galaxy always appends ansible_collections folder into collections path +ansible-galaxy collection install --force %{_builddir}/suse-%{ansible_collection_name}-%{version}.tar.gz \ + --collections-path %{buildroot}%{_datadir}/ansible/collections + + +%post +# Loop through roles in collection and create symlinks under %{_datadir}/ansible/roles/ +# Installed community collection will take precedence over role symlinks. +for role in %{ansible_collection_path}/roles/*; do + role_name=$(basename "$role") + if [ ! -e %{_datadir}/ansible/roles/community.%{ansible_collection_name}.${role_name} ]; then + ln -sf %{ansible_collection_path}/roles/${role_name} \ + %{_datadir}/ansible/roles/community.%{ansible_collection_name}.${role_name} + fi +done + + +%postun +# Loop through roles in %{_datadir}/ansible/roles/ and remove those that link to collection +if [ "$1" -eq 0 ]; then + for role in %{_datadir}/ansible/roles/community.%{ansible_collection_name}.*; do + if [ -L "$role" ]; then + target=$(readlink "$role") + if ( [ -e "$target" ] && [ "$target" = "%{ansible_collection_path}/roles/$(basename "$role")" ] ) || [ ! -e "$target" ]; then + rm -f "$role" + fi + fi + done +fi + + +%files +%{_datadir}/ansible/collections/ +%{_datadir}/ansible/roles/ + + +%changelog