diff options
author | Karl MacMillan <kmacmill@redhat.com> | 2007-10-16 15:16:04 -0400 |
---|---|---|
committer | Karl MacMillan <kmacmill@redhat.com> | 2007-10-16 15:16:04 -0400 |
commit | bd3b07b448f3724b9abf7a4eb3b84143258a0252 (patch) | |
tree | 7bd29d7ce9a33253acdf29b0cbcafd14d832c368 /ipa-python | |
parent | 08855a4d770bb29f8f8737182e157faed29fc965 (diff) | |
download | freeipa-bd3b07b448f3724b9abf7a4eb3b84143258a0252.tar.gz freeipa-bd3b07b448f3724b9abf7a4eb3b84143258a0252.tar.xz freeipa-bd3b07b448f3724b9abf7a4eb3b84143258a0252.zip |
Use setup.py for ipa-python from William Jon McCann <mccann@jhu.edu>.
Diffstat (limited to 'ipa-python')
-rw-r--r-- | ipa-python/MANIFEST.in | 3 | ||||
-rwxr-xr-x | ipa-python/freeipa-python.spec | 33 | ||||
-rwxr-xr-x | ipa-python/freeipa-python.spec.in | 33 | ||||
-rw-r--r-- | ipa-python/setup.py | 62 |
4 files changed, 97 insertions, 34 deletions
diff --git a/ipa-python/MANIFEST.in b/ipa-python/MANIFEST.in new file mode 100644 index 000000000..49f2126a6 --- /dev/null +++ b/ipa-python/MANIFEST.in @@ -0,0 +1,3 @@ +include *.conf +include freeipa-python.spec* + diff --git a/ipa-python/freeipa-python.spec b/ipa-python/freeipa-python.spec index f2403582b..5a3985aa3 100755 --- a/ipa-python/freeipa-python.spec +++ b/ipa-python/freeipa-python.spec @@ -1,3 +1,6 @@ +%define pyver %(%{__python} -c 'import sys ; print sys.version[:3]') +%define pynext %(%{__python} -c 'print %{pyver} + 0.1') + Name: freeipa-python Version: 0.4.0 Release: 1%{?dist} @@ -6,16 +9,12 @@ Summary: FreeIPA authentication server Group: System Environment/Base License: GPL URL: http://www.freeipa.org -Source0: %{name}-%{version}.tgz +Source0: http://www.freeipa.org/downloads/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch - -Requires: python PyKerberos - -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} - -%define pkgpythondir %{python_sitelib}/ipa -%define configdir /etc/ipa +BuildRequires: python >= 0:%{pyver}, python < 0:%{pynext} +Requires: python >= 0:%{pyver}, python < 0:%{pynext} +Requires: PyKerberos %description FreeIPA is a server for identity, policy, and audit. @@ -23,22 +22,22 @@ FreeIPA is a server for identity, policy, and audit. %prep %setup -q +%build +%{__python} setup.py build + %install rm -rf %{buildroot} -mkdir -p %{buildroot}%{pkgpythondir} -mkdir -p %{buildroot}%{configdir} - -make install DESTDIR=%{buildroot} - +%{__python} setup.py install -O1 --root=%{buildroot} --record=INSTALLED_FILES +sed 's|^\(.*\.pyo\)$|%ghost \1|' < INSTALLED_FILES > %{name}-%{version}.files +find $RPM_BUILD_ROOT%{_libdir}/python%{pyver}/site-packages/* -type d \ + | sed "s|^$RPM_BUILD_ROOT|%dir |" >> %{name}-%{version}.files %clean rm -rf %{buildroot} - -%files +%files -f %{name}-%{version}.files %defattr(-,root,root,-) -%{pkgpythondir}/* -%config(noreplace) %{configdir}/ipa.conf +%config(noreplace) %{_sysconfdir}/ipa.conf %changelog diff --git a/ipa-python/freeipa-python.spec.in b/ipa-python/freeipa-python.spec.in index 5da3fbfa8..ed78ec0cc 100755 --- a/ipa-python/freeipa-python.spec.in +++ b/ipa-python/freeipa-python.spec.in @@ -1,3 +1,6 @@ +%define pyver %(%{__python} -c 'import sys ; print sys.version[:3]') +%define pynext %(%{__python} -c 'print %{pyver} + 0.1') + Name: freeipa-python Version: VERSION Release: 1%{?dist} @@ -6,16 +9,12 @@ Summary: FreeIPA authentication server Group: System Environment/Base License: GPL URL: http://www.freeipa.org -Source0: %{name}-%{version}.tgz +Source0: http://www.freeipa.org/downloads/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch - -Requires: python PyKerberos - -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} - -%define pkgpythondir %{python_sitelib}/ipa -%define configdir /etc/ipa +BuildRequires: python >= 0:%{pyver}, python < 0:%{pynext} +Requires: python >= 0:%{pyver}, python < 0:%{pynext} +Requires: PyKerberos %description FreeIPA is a server for identity, policy, and audit. @@ -23,22 +22,22 @@ FreeIPA is a server for identity, policy, and audit. %prep %setup -q +%build +%{__python} setup.py build + %install rm -rf %{buildroot} -mkdir -p %{buildroot}%{pkgpythondir} -mkdir -p %{buildroot}%{configdir} - -make install DESTDIR=%{buildroot} - +%{__python} setup.py install -O1 --root=%{buildroot} --record=INSTALLED_FILES +sed 's|^\(.*\.pyo\)$|%ghost \1|' < INSTALLED_FILES > %{name}-%{version}.files +find $RPM_BUILD_ROOT%{_libdir}/python%{pyver}/site-packages/* -type d \ + | sed "s|^$RPM_BUILD_ROOT|%dir |" >> %{name}-%{version}.files %clean rm -rf %{buildroot} - -%files +%files -f %{name}-%{version}.files %defattr(-,root,root,-) -%{pkgpythondir}/* -%config(noreplace) %{configdir}/ipa.conf +%config(noreplace) %{_sysconfdir}/ipa.conf %changelog diff --git a/ipa-python/setup.py b/ipa-python/setup.py new file mode 100644 index 000000000..3dfee1220 --- /dev/null +++ b/ipa-python/setup.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python +"""FreeIPA python support library + +FreeIPA is a server for identity, policy, and audit. +""" + +DOCLINES = __doc__.split("\n") + +import os +import sys +import distutils.sysconfig + +CLASSIFIERS = """\ +Development Status :: 4 - Beta +Intended Audience :: System Environment/Base +License :: GPL +Programming Language :: C +Programming Language :: Python +Operating System :: POSIX +Operating System :: Unix +Operating System :: MacOS +""" + +# BEFORE importing distutils, remove MANIFEST. distutils doesn't properly +# update it when the contents of directories change. +if os.path.exists('MANIFEST'): os.remove('MANIFEST') + +def setup_package(): + + from distutils.core import setup + + old_path = os.getcwd() + local_path = os.path.dirname(os.path.abspath(sys.argv[0])) + os.chdir(local_path) + sys.path.insert(0,local_path) + + try: + setup( + name = "freeipa-python", + version = "0.4", + license = "GPL", + author = "Karl MacMillan, et.al.", + author_email = "kmacmillan@mentalrootkit.com", + maintainer = "freeIPA Developers", + maintainer_email = "freeipa-devel@redhat.com", + url = "http://www.freeipa.org/", + description = DOCLINES[0], + long_description = "\n".join(DOCLINES[2:]), + download_url = "http://www.freeipa.org/page/Downloads", + classifiers=filter(None, CLASSIFIERS.split('\n')), + platforms = ["Linux", "Solaris", "Mac OS-X", "Unix"], + package_dir = {'ipa': ''}, + packages = [ "ipa" ], + data_files = [('/etc/ipa', ['ipa.conf'])] + ) + finally: + del sys.path[0] + os.chdir(old_path) + return + +if __name__ == '__main__': + setup_package() |