From 934ac494b9c4f7e66dfbacaa0cc74944e9cc108a Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 25 Mar 2008 15:17:21 -0400 Subject: Add autoconf and automake stuff and provide a spec file. To build a package one need to run autoconf and then create a tarball of the RHEL4 directory so that the content is like this: $ ls -1 ipa-client-0.99.0 aclocal.m4 AUTHORS autom4te.cache ChangeLog configure configure.ac COPYING INSTALL install-sh ipachangeconf.py ipa-client-setup ipa.conf Makefile.am Makefile.in missing NEWS README setup.py the spec file will then be able to build a package for RHEL4 --- contrib/RHEL4/Makefile.am | 13 ++++++++ contrib/RHEL4/configure.ac | 55 +++++++++++++++++++++++++++++++ contrib/RHEL4/ipa-client.spec | 50 +++++++++++++++++++++++++++++ contrib/RHEL4/ipa.conf | 3 ++ contrib/RHEL4/setup.py | 75 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 196 insertions(+) create mode 100644 contrib/RHEL4/Makefile.am create mode 100644 contrib/RHEL4/configure.ac create mode 100644 contrib/RHEL4/ipa-client.spec create mode 100644 contrib/RHEL4/ipa.conf create mode 100644 contrib/RHEL4/setup.py (limited to 'contrib') diff --git a/contrib/RHEL4/Makefile.am b/contrib/RHEL4/Makefile.am new file mode 100644 index 000000000..f42303c47 --- /dev/null +++ b/contrib/RHEL4/Makefile.am @@ -0,0 +1,13 @@ +NULL = + +sbin_SCRIPTS = \ + ipa-client-setup \ + $(NULL) + +EXTRA_DIST = \ + $(sbin_SCRIPTS) \ + $(NULL) + +MAINTAINERCLEANFILES = \ + *~ \ + Makefile.in diff --git a/contrib/RHEL4/configure.ac b/contrib/RHEL4/configure.ac new file mode 100644 index 000000000..83676a37f --- /dev/null +++ b/contrib/RHEL4/configure.ac @@ -0,0 +1,55 @@ +AC_PREREQ(2.59) +AC_INIT([ipa-client], + [0.99.0], + [http://www.freeipa.org/]) + +AM_INIT_AUTOMAKE + +AC_SUBST(VERSION) + +dnl --------------------------------------------------------------------------- +dnl - Check for Python +dnl --------------------------------------------------------------------------- + +AC_MSG_NOTICE([Checking for Python]) +have_python=no +AM_PATH_PYTHON([2.3]) + +if test "x$PYTHON" = "x" ; then + AC_MSG_ERROR([Python not found]) +fi + +dnl --------------------------------------------------------------------------- +dnl - Set the data install directory since we don't use pkgdatadir +dnl --------------------------------------------------------------------------- + +IPA_DATA_DIR="$datadir/ipa" +AC_SUBST(IPA_DATA_DIR) + +dnl --------------------------------------------------------------------------- +dnl Finish +dnl --------------------------------------------------------------------------- + +# Files + +AC_CONFIG_FILES([ + Makefile +]) + +AC_OUTPUT + +echo " + IPA client $VERSION + ======================== + + prefix: ${prefix} + exec_prefix: ${exec_prefix} + libdir: ${libdir} + bindir: ${bindir} + sbindir: ${sbindir} + sysconfdir: ${sysconfdir} + localstatedir: ${localstatedir} + datadir: ${datadir} + source code location: ${srcdir} + Maintainer mode: ${USE_MAINTAINER_MODE} +" diff --git a/contrib/RHEL4/ipa-client.spec b/contrib/RHEL4/ipa-client.spec new file mode 100644 index 000000000..c62c79f4a --- /dev/null +++ b/contrib/RHEL4/ipa-client.spec @@ -0,0 +1,50 @@ +Name: ipa-client +Version: 0.99.0 +Release: 1%{?dist} +Summary: IPA client Setup script for RHEL-4 + +Group: System Environment/Base +License: GPLv2 +URL: http://www.freeipa.org +Source0: %{name}-%{version}.tgz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +#BuildRequires: python-devel + +Requires: python + +%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} + +%description +IPA is a server for identity, policy, and audit. +The client package provide install and configuration scripts for RHEL-4 clients. + +%prep +%setup -q +%configure --prefix=/usr + +%build + +make + +%install +rm -rf %{buildroot} +%{__python} setup.py install --no-compile --root=%{buildroot} +%makeinstall \ + SBINDIR=$RPM_BUILD_ROOT%{_sbindir} +mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/ipa +install -m644 ipa.conf $RPM_BUILD_ROOT%{_sysconfdir}/ipa/ipa.conf + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%{_sbindir}/ipa-client-setup +%{python_sitelib}/ipachangeconf.py* +%config(noreplace) %{_sysconfdir}/ipa/ipa.conf + +%changelog +* Mon Mar 25 2008 Simo Sorce - 0.99.0-1 +- First RHEL-4 release + diff --git a/contrib/RHEL4/ipa.conf b/contrib/RHEL4/ipa.conf new file mode 100644 index 000000000..516f764d5 --- /dev/null +++ b/contrib/RHEL4/ipa.conf @@ -0,0 +1,3 @@ +[defaults] +# realm = EXAMPLE.COM +# server = ipa.example.com diff --git a/contrib/RHEL4/setup.py b/contrib/RHEL4/setup.py new file mode 100644 index 000000000..ef0f36b88 --- /dev/null +++ b/contrib/RHEL4/setup.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; version 2 only +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +"""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 :: Python +Operating System :: POSIX +Operating System :: Unix +""" + +# 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 = "ipa-client", + version = "0.99.0", + license = "GPL", + author = "Simo Sorce", + author_email = "ssorce@redhat.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"], + py_modules=['ipachangeconf'] + ) + finally: + del sys.path[0] + os.chdir(old_path) + return + +if __name__ == '__main__': + setup_package() -- cgit