[arch-commits] Commit in ansible/trunk (2 files)
Bartłomiej Piotrowski
bpiotrowski at archlinux.org
Fri Jan 2 19:00:37 UTC 2015
Date: Friday, January 2, 2015 @ 20:00:37
Author: bpiotrowski
Revision: 125182
upgpkg: ansible 1.8.2-2
backport the patch fixing archlinux detection
Added:
ansible/trunk/0001-Fix-os_family-and-distribution-on-archlinux.patch
Modified:
ansible/trunk/PKGBUILD
--------------------------------------------------------+
0001-Fix-os_family-and-distribution-on-archlinux.patch | 175 +++++++++++++++
PKGBUILD | 13 -
2 files changed, 185 insertions(+), 3 deletions(-)
Added: 0001-Fix-os_family-and-distribution-on-archlinux.patch
===================================================================
--- 0001-Fix-os_family-and-distribution-on-archlinux.patch (rev 0)
+++ 0001-Fix-os_family-and-distribution-on-archlinux.patch 2015-01-02 19:00:37 UTC (rev 125182)
@@ -0,0 +1,175 @@
+From 5efc4efca7288f072028d1a13e5d0d731f0b7a8f Mon Sep 17 00:00:00 2001
+From: Christian Hammerl <info at christian-hammerl.de>
+Date: Sat, 18 Oct 2014 15:02:04 +0200
+Subject: [PATCH] Fix os_family and distribution on archlinux
+
+Fixes #8732, ansible/ansible-modules-core#34
+---
+ lib/ansible/module_utils/facts.py | 145 +++++++++++++++++++-------------------
+ 1 file changed, 73 insertions(+), 72 deletions(-)
+
+diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py
+index 8ec1b4f..6bbcace 100644
+--- a/lib/ansible/module_utils/facts.py
++++ b/lib/ansible/module_utils/facts.py
+@@ -273,84 +273,85 @@ class Facts(object):
+ self.facts['distribution_release'] = dist[2] or 'NA'
+ # Try to handle the exceptions now ...
+ for (path, name) in Facts.OSDIST_LIST:
+- if os.path.exists(path) and os.path.getsize(path) > 0:
+- if self.facts['distribution'] in ('Fedora', ):
+- # Once we determine the value is one of these distros
+- # we trust the values are always correct
+- break
+- elif name == 'RedHat':
+- data = get_file_content(path)
+- if 'Red Hat' in data:
+- self.facts['distribution'] = name
+- else:
+- self.facts['distribution'] = data.split()[0]
+- break
+- elif name == 'OtherLinux':
+- data = get_file_content(path)
+- if 'Amazon' in data:
+- self.facts['distribution'] = 'Amazon'
+- self.facts['distribution_version'] = data.split()[-1]
+- break
+- elif name == 'OpenWrt':
+- data = get_file_content(path)
+- if 'OpenWrt' in data:
+- self.facts['distribution'] = name
+- version = re.search('DISTRIB_RELEASE="(.*)"', data)
+- if version:
+- self.facts['distribution_version'] = version.groups()[0]
+- release = re.search('DISTRIB_CODENAME="(.*)"', data)
+- if release:
+- self.facts['distribution_release'] = release.groups()[0]
++ if os.path.exists(path):
++ if os.path.getsize(path) > 0:
++ if self.facts['distribution'] in ('Fedora', ):
++ # Once we determine the value is one of these distros
++ # we trust the values are always correct
+ break
+- elif name == 'Alpine':
+- data = get_file_content(path)
+- self.facts['distribution'] = name
+- self.facts['distribution_version'] = data
+- break
+- elif name == 'Solaris':
+- data = get_file_content(path).split('\n')[0]
+- if 'Solaris' in data:
+- ora_prefix = ''
+- if 'Oracle Solaris' in data:
+- data = data.replace('Oracle ','')
+- ora_prefix = 'Oracle '
+- self.facts['distribution'] = data.split()[0]
+- self.facts['distribution_version'] = data.split()[1]
+- self.facts['distribution_release'] = ora_prefix + data
++ elif name == 'RedHat':
++ data = get_file_content(path)
++ if 'Red Hat' in data:
++ self.facts['distribution'] = name
++ else:
++ self.facts['distribution'] = data.split()[0]
+ break
+- elif name == 'SuSE':
+- data = get_file_content(path)
+- if 'suse' in data.lower():
+- if path == '/etc/os-release':
+- release = re.search("PRETTY_NAME=[^(]+ \(?([^)]+?)\)", data)
++ elif name == 'OtherLinux':
++ data = get_file_content(path)
++ if 'Amazon' in data:
++ self.facts['distribution'] = 'Amazon'
++ self.facts['distribution_version'] = data.split()[-1]
++ break
++ elif name == 'OpenWrt':
++ data = get_file_content(path)
++ if 'OpenWrt' in data:
++ self.facts['distribution'] = name
++ version = re.search('DISTRIB_RELEASE="(.*)"', data)
++ if version:
++ self.facts['distribution_version'] = version.groups()[0]
++ release = re.search('DISTRIB_CODENAME="(.*)"', data)
+ if release:
+ self.facts['distribution_release'] = release.groups()[0]
+- break
+- elif path == '/etc/SuSE-release':
+- data = data.splitlines()
+- for line in data:
+- release = re.search('CODENAME *= *([^\n]+)', line)
+- if release:
+- self.facts['distribution_release'] = release.groups()[0].strip()
+- break
+- elif name == 'Debian':
+- data = get_file_content(path)
+- if 'Debian' in data:
+- release = re.search("PRETTY_NAME=[^(]+ \(?([^)]+?)\)", data)
+- if release:
+- self.facts['distribution_release'] = release.groups()[0]
+- break
+- elif name == 'Mandriva':
+- data = get_file_content(path)
+- if 'Mandriva' in data:
+- version = re.search('DISTRIB_RELEASE="(.*)"', data)
+- if version:
+- self.facts['distribution_version'] = version.groups()[0]
+- release = re.search('DISTRIB_CODENAME="(.*)"', data)
+- if release:
+- self.facts['distribution_release'] = release.groups()[0]
++ break
++ elif name == 'Alpine':
++ data = get_file_content(path)
+ self.facts['distribution'] = name
++ self.facts['distribution_version'] = data
+ break
++ elif name == 'Solaris':
++ data = get_file_content(path).split('\n')[0]
++ if 'Solaris' in data:
++ ora_prefix = ''
++ if 'Oracle Solaris' in data:
++ data = data.replace('Oracle ','')
++ ora_prefix = 'Oracle '
++ self.facts['distribution'] = data.split()[0]
++ self.facts['distribution_version'] = data.split()[1]
++ self.facts['distribution_release'] = ora_prefix + data
++ break
++ elif name == 'SuSE':
++ data = get_file_content(path)
++ if 'suse' in data.lower():
++ if path == '/etc/os-release':
++ release = re.search("PRETTY_NAME=[^(]+ \(?([^)]+?)\)", data)
++ if release:
++ self.facts['distribution_release'] = release.groups()[0]
++ break
++ elif path == '/etc/SuSE-release':
++ data = data.splitlines()
++ for line in data:
++ release = re.search('CODENAME *= *([^\n]+)', line)
++ if release:
++ self.facts['distribution_release'] = release.groups()[0].strip()
++ break
++ elif name == 'Debian':
++ data = get_file_content(path)
++ if 'Debian' in data:
++ release = re.search("PRETTY_NAME=[^(]+ \(?([^)]+?)\)", data)
++ if release:
++ self.facts['distribution_release'] = release.groups()[0]
++ break
++ elif name == 'Mandriva':
++ data = get_file_content(path)
++ if 'Mandriva' in data:
++ version = re.search('DISTRIB_RELEASE="(.*)"', data)
++ if version:
++ self.facts['distribution_version'] = version.groups()[0]
++ release = re.search('DISTRIB_CODENAME="(.*)"', data)
++ if release:
++ self.facts['distribution_release'] = release.groups()[0]
++ self.facts['distribution'] = name
++ break
+ else:
+ self.facts['distribution'] = name
+
+--
+2.2.1
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2015-01-02 17:00:32 UTC (rev 125181)
+++ PKGBUILD 2015-01-02 19:00:37 UTC (rev 125182)
@@ -7,7 +7,7 @@
pkgname=ansible
pkgver=1.8.2
-pkgrel=1
+pkgrel=2
pkgdesc='Radically simple IT automation platform'
arch=('any')
url='http://www.ansible.com'
@@ -18,9 +18,16 @@
'python2-crypto: needed for accelerated mode'
'python2-keyczar: needed for accelerated mode')
backup=('etc/ansible/ansible.cfg')
-source=(http://releases.ansible.com/ansible/$pkgname-$pkgver.tar.gz)
-sha256sums=('2cd01ff4d67acb410bae0a9438956f6fc36d01babd956b0dc3b700620f2372b9')
+source=(http://releases.ansible.com/ansible/$pkgname-$pkgver.tar.gz
+ 0001-Fix-os_family-and-distribution-on-archlinux.patch)
+md5sums=('c2ac0e5a4c092dfa84c7e9e51cd45095'
+ '2d00eecedea58697186087b7c446f112')
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 -i ../0001-Fix-os_family-and-distribution-on-archlinux.patch
+}
+
build() {
cd $pkgname-$pkgver
python2 setup.py build
More information about the arch-commits
mailing list