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
This commit is contained in:
Simo Sorce
2008-03-25 15:17:21 -04:00
parent c3a14e978c
commit 934ac494b9
5 changed files with 196 additions and 0 deletions

13
contrib/RHEL4/Makefile.am Normal file
View File

@@ -0,0 +1,13 @@
NULL =
sbin_SCRIPTS = \
ipa-client-setup \
$(NULL)
EXTRA_DIST = \
$(sbin_SCRIPTS) \
$(NULL)
MAINTAINERCLEANFILES = \
*~ \
Makefile.in

View File

@@ -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}
"

View File

@@ -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 <ssorce@redhat.com> - 0.99.0-1
- First RHEL-4 release

3
contrib/RHEL4/ipa.conf Normal file
View File

@@ -0,0 +1,3 @@
[defaults]
# realm = EXAMPLE.COM
# server = ipa.example.com

75
contrib/RHEL4/setup.py Normal file
View File

@@ -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()