summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorRick Elrod <rick@elrod.me>2020-05-15 20:29:05 -0500
committerGitHub <noreply@github.com>2020-05-15 20:29:05 -0500
commit3dedf95dbdf1fa170ad7256bc2dfa2a12228bc32 (patch)
tree6d04725d857b108483319d2cbb755fddfb8bf6d6 /packaging
parentc495c92a6e0d2b094588e1de517f20c3394e4889 (diff)
downloadansible-3dedf95dbdf1fa170ad7256bc2dfa2a12228bc32.tar.gz
Remove RPM packaging infrastructure (#69554)
Change: - Nuke `make rpm` and friends from Makefile - Nuke packaging/rpm We are no longer going to be pushing RPMs to releases.ansible.com post-2.10, so this is no longer necessary for us, and users should prefer RPMs from their distro instead. Test Plan: Grepped the Makefile for all of: /rpm/i, /mock/i, /fedora/i Tickets: Refs #69539 Signed-off-by: Rick Elrod <rick@elrod.me>
Diffstat (limited to 'packaging')
-rw-r--r--packaging/rpm/ansible.spec313
1 files changed, 0 insertions, 313 deletions
diff --git a/packaging/rpm/ansible.spec b/packaging/rpm/ansible.spec
deleted file mode 100644
index d5af411208..0000000000
--- a/packaging/rpm/ansible.spec
+++ /dev/null
@@ -1,313 +0,0 @@
-%define release_date %(date "+%a %b %e %Y")
-
-# Disable shebang munging for specific paths. These files are data files.
-# ansible-test munges the shebangs itself.
-%global __brp_mangle_shebangs_exclude_from /usr/lib/python[0-9]+\.[0-9]+/site-packages/ansible_test/_data/.*
-
-# RHEL and Fedora add -s to the shebang line. We do *not* use -s -E -S or -I
-# with ansible because it has many optional features which users need to
-# install libraries on their own to use. For instance, paramiko for the
-# network connection plugins or winrm to talk to windows hosts.
-# Set this to nil to remove -s
-%define py_shbang_opts %{nil}
-%define py2_shbang_opts %{nil}
-%define py3_shbang_opts %{nil}
-
-
-%if 0%{?fedora} || 0%{?rhel} >= 8
-%global with_python2 0
-%global with_python3 1
-%else
-%global with_python2 1
-%global with_python3 0
-%endif
-
-Name: ansible
-Summary: SSH-based configuration management, deployment, and task execution system
-Version: %{rpmversion}
-Release: %{rpmrelease}%{?dist}%{?repotag}
-
-Group: Development/Libraries
-License: GPLv3+
-Source0: https://releases.ansible.com/ansible/%{name}-%{upstream_version}.tar.gz
-
-Url: http://ansible.com
-BuildArch: noarch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-%{!?python2_sitelib: %global python_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-%{!?python3_sitelib: %global python_sitelib %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-
-# Bundled provides
-Provides: bundled(python-backports-ssl_match_hostname) = 3.7.0.1
-Provides: bundled(python-distro) = 1.4.0
-Provides: bundled(python-ipaddress) = 1.0.22
-Provides: bundled(python-selectors2) = 1.1.1
-Provides: bundled(python-six) = 1.12.0
-
-%if 0%{?rhel} >= 8
-
-BuildRequires: python3-devel
-BuildRequires: python3-setuptools
-
-# man pages
-BuildRequires: python3-docutils
-
-# Tests
-BuildRequires: python3-jinja2
-BuildRequires: python3-PyYAML
-BuildRequires: python3-cryptography
-BuildRequires: python3-six
-
-BuildRequires: python3-pytest
-BuildRequires: python3-pytest-xdist
-BuildRequires: python3-pytest-mock
-BuildRequires: python3-requests
-BUildRequires: %{py3_dist coverage}
-BuildRequires: python3-mock
-# Not available in RHEL8, we'll just skip the tests where they apply
-#BuildRequires: python3-boto3
-#BuildRequires: python3-botocore
-BuildRequires: python3-systemd
-
-BuildRequires: git-core
-
-Requires: python3-jinja2
-
-Requires: python3-PyYAML
-Requires: python3-cryptography
-Requires: python3-six
-Requires: sshpass
-
-%else
-%if 0%{?rhel} >= 7
-# RHEL 7
-BuildRequires: python2-devel
-BuildRequires: python-setuptools
-
-# For building docs
-BuildRequires: python-sphinx
-
-# Tests
-BuildRequires: python-jinja2
-BuildRequires: PyYAML
-BuildRequires: python2-cryptography
-BuildRequires: python-six
-
-# rhel7 does not have python-pytest but has pytest
-BuildRequires: pytest
-#BuildRequires: python-pytest-xdist
-#BuildRequires: python-pytest-mock
-BuildRequires: python-requests
-BuildRequires: python-coverage
-BuildRequires: python-mock
-BuildRequires: python-boto3
-#BuildRequires: python-botocore
-BuildRequires: git
-
-BuildRequires: python-paramiko
-BuildRequires: python-jmespath
-BuildRequires: python-passlib
-
-Requires: python-jinja2
-
-Requires: PyYAML
-Requires: python2-cryptography
-Requires: python-six
-Requires: sshpass
-
-# As of Ansible-2.9.0, we no longer depend on the optional dependencies jmespath or passlib
-# Users have to install those on their own
-Requires: python-paramiko
-
-# The ansible-doc package is no longer provided as of Ansible Engine 2.6.0
-Obsoletes: ansible-doc < 2.6.0
-%endif # Requires for RHEL 7
-%endif # Requires for RHEL 8
-
-
-# FEDORA >= 29
-%if 0%{?fedora} >= 29
-BuildRequires: python3-devel
-BuildRequires: python3-setuptools
-Requires: python3-PyYAML
-Requires: python3-paramiko
-Requires: python3-jinja2
-Requires: python3-httplib2
-Requires: python3-setuptools
-Requires: python3-six
-Requires: sshpass
-%endif
-
-# SUSE/openSUSE
-%if 0%{?suse_version}
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-Requires: python-paramiko
-Requires: python-jinja2
-Requires: python-yaml
-Requires: python-httplib2
-Requires: python-setuptools
-Requires: python-six
-Requires: sshpass
-%endif
-
-
-%description
-Ansible is a radically simple model-driven configuration management,
-multi-node deployment, and remote task execution system. Ansible works
-over SSH and does not require any software or daemons to be installed
-on remote nodes. Extension modules can be written in any language and
-are transferred to managed machines automatically.
-
-%package -n ansible-test
-Summary: Tool for testing ansible plugin and module code
-Requires: %{name} = %{version}-%{release}
-%if 0%{?rhel} >= 8
-# Will use the python3 stdlib venv
-#Requires: python3-virtualenv
-#BuildRequires: python3-virtualenv
-%else
-%if 0%{?rhel} >= 7
-Requires: python-virtualenv
-BuildRequires: python-virtualenv
-%endif # Requires for RHEL 7
-%endif # Requires for RHEL 8
-
-# SUSE/openSUSE
-%if 0%{?suse_version}
-Requires: python-virtualenv
-BuildRequires: python-virtualenv
-%endif
-
-%description -n ansible-test
-Ansible is a radically simple model-driven configuration management,
-multi-node deployment, and remote task execution system. Ansible works
-over SSH and does not require any software or daemons to be installed
-on remote nodes. Extension modules can be written in any language and
-are transferred to managed machines automatically.
-
-This package installs the ansible-test command for testing modules and plugins
-developed for ansible.
-
-%prep
-%setup -q -n %{name}-%{upstream_version}
-
-%build
-%if %{with_python2}
-%py2_build
-%endif
-
-%if %{with_python3}
-%py3_build
-%endif
-
-%install
-%if %{with_python2}
-%{__python2} setup.py install --root=%{buildroot}
-for i in %{buildroot}/%{_bindir}/{ansible,ansible-console,ansible-doc,ansible-galaxy,ansible-playbook,ansible-pull,ansible-vault} ; do
- mv $i $i-%{python2_version}
- ln -s %{_bindir}/$(basename $i)-%{python2_version} $i
- ln -s %{_bindir}/$(basename $i)-%{python2_version} $i-2
-done
-%endif
-
-%if %{with_python3}
-%{__python3} setup.py install --root=%{buildroot}
-%endif
-
-
-# Amazon Linux doesn't install to dist-packages but python_sitelib expands to
-# that location and the python interpreter expects things to be there.
-if expr x'%{python_sitelib}' : 'x.*dist-packages/\?' ; then
- DEST_DIR='%{buildroot}%{python_sitelib}'
- SOURCE_DIR=$(echo "$DEST_DIR" | sed 's/dist-packages/site-packages/g')
- if test -d "$SOURCE_DIR" -a ! -d "$DEST_DIR" ; then
- mv $SOURCE_DIR $DEST_DIR
- fi
-fi
-
-# Create system directories that Ansible defines as default locations in
-# ansible/config/base.yml
-DATADIR_LOCATIONS='%{_datadir}/ansible/collections
-%{_datadir}/ansible/plugins/doc_fragments
-%{_datadir}/ansible/plugins/action
-%{_datadir}/ansible/plugins/become
-%{_datadir}/ansible/plugins/cache
-%{_datadir}/ansible/plugins/callback
-%{_datadir}/ansible/plugins/cliconf
-%{_datadir}/ansible/plugins/connection
-%{_datadir}/ansible/plugins/filter
-%{_datadir}/ansible/plugins/httpapi
-%{_datadir}/ansible/plugins/inventory
-%{_datadir}/ansible/plugins/lookup
-%{_datadir}/ansible/plugins/modules
-%{_datadir}/ansible/plugins/module_utils
-%{_datadir}/ansible/plugins/netconf
-%{_datadir}/ansible/roles
-%{_datadir}/ansible/plugins/strategy
-%{_datadir}/ansible/plugins/terminal
-%{_datadir}/ansible/plugins/test
-%{_datadir}/ansible/plugins/vars'
-
-UPSTREAM_DATADIR_LOCATIONS=$(grep -ri default lib/ansible/config/base.yml| tr ':' '\n' | grep '/usr/share/ansible')
-
-if [ "$SYSTEM_LOCATIONS" != "$UPSTREAM_SYSTEM_LOCATIONS" ] ; then
- echo "The upstream Ansible datadir locations have changed. Spec file needs to be updated"
- exit 1
-fi
-
-mkdir -p %{buildroot}%{_datadir}/ansible/plugins/
-for location in $DATADIR_LOCATIONS ; do
- mkdir %{buildroot}"$location"
-done
-mkdir -p %{buildroot}%{_sysconfdir}/ansible/
-mkdir -p %{buildroot}%{_sysconfdir}/ansible/roles/
-
-cp examples/hosts %{buildroot}%{_sysconfdir}/ansible/
-cp examples/ansible.cfg %{buildroot}%{_sysconfdir}/ansible/
-mkdir -p %{buildroot}/%{_mandir}/man1/
-cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/
-
-cp -pr docs/docsite/rst .
-
-%clean
-rm -rf %{buildroot}
-
-%check
-# We need pytest-4.5.0 or greater
-%if 0%{?fedora} >= 31
-ln -s /usr/bin/pytest-3 bin/pytest
-%{__python3} bin/ansible-test units -v --python %{python3_version}
-%endif
-
-%files
-%defattr(-,root,root)
-%{_bindir}/ansible*
-%exclude %{_bindir}/ansible-test
-%config(noreplace) %{_sysconfdir}/ansible/
-%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG*.rst
-%doc %{_mandir}/man1/ansible*
-%{_datadir}/ansible/
-%if %{with_python3}
-%{python3_sitelib}/ansible*
-%exclude %{python3_sitelib}/ansible_test
-%endif
-%if %{with_python2}
-%{python2_sitelib}/ansible*
-%exclude %{python2_sitelib}/ansible_test
-%endif
-
-%files -n ansible-test
-%{_bindir}/ansible-test
-%if %{with_python3}
-%{python3_sitelib}/ansible_test
-%endif
-%if %{with_python2}
-%{python2_sitelib}/ansible_test
-%endif
-
-%changelog
-
-* %{release_date} Ansible, Inc. <info@ansible.com> - %{rpmversion}-%{rpmrelease}
-- Release %{rpmversion}-%{rpmrelease}