summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2009-05-18 14:52:42 -0400
committerSimo Sorce <ssorce@redhat.com>2009-05-19 11:09:45 -0400
commit84ae5edab16ad6be5e3be956cb6fa031c1428eb5 (patch)
treea9884af6cfc28ad1e440cd50e38d8fab204411ea
parent53499a31876e720597a42f59c16a4326c8c23671 (diff)
downloadsssd-84ae5edab16ad6be5e3be956cb6fa031c1428eb5.tar.gz
sssd-84ae5edab16ad6be5e3be956cb6fa031c1428eb5.tar.xz
sssd-84ae5edab16ad6be5e3be956cb6fa031c1428eb5.zip
Convert top-level of SSSD to automake.
Also update RPM spec and build procedures.
-rw-r--r--BUILD.txt35
-rw-r--r--Makefile57
-rw-r--r--Makefile.am24
-rw-r--r--configure.ac11
-rw-r--r--sssd.spec.in (renamed from sssd.spec)86
5 files changed, 119 insertions, 94 deletions
diff --git a/BUILD.txt b/BUILD.txt
index cddfea810..b90a7a90a 100644
--- a/BUILD.txt
+++ b/BUILD.txt
@@ -12,18 +12,43 @@ They are now available in major distribution development branches.
If you want to build them from source download the latest samba master branch
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+How to build everything in one go (Preferred approach)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+From the root of the source, run:
+autoreconf -i -f && \
+./configure && \
+make
+
+Optionally, parallel builds are possible with:
+autoreconf -i -f && \
+mkdir parallelbuilddir && cd parallelbuilddir && \
+../configure && \
+make
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+How to build components individually
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
Internal Library Requirements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd provides several required libraries within its source tree:
collection
ini_config
+libreplace
Compiling sssd internal libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-pushd common; \
+pushd replace;
+autoreconf -i -f && \
+./configure && \
+make;
+popd
+
+pushd common;
autoreconf -i -f && \
./configure --enable-static --disable-shared && \
-make; \
+make;
popd
This will build the libraries statically for linking into the sssd. Currently
@@ -33,7 +58,7 @@ for collection and ini_config is not yet ready for general consumption).
Compiling sssd with system installed libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pushd server; \
-./autogen.sh && \
+autoreconf -i -f && \
./configure && \
make; \
popd
@@ -43,7 +68,7 @@ Compiling client libraries
The nss and pam client do not require any additional dependencies.
pushd sss_client; \
-./autogen.sh && \
+autoreconf -i -f && \
./configure && \
make; \
popd
@@ -65,4 +90,4 @@ Now you can call pam_test_client:
./pam_test_client [auth|chau|acct|setc|open|clos] username@domain
~~~~~
-Simo and Steve
+Simo and Steve (Last updated for 0.4.0)
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 7e774a2a8..000000000
--- a/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-PACKAGE_NAME = sssd
-PACKAGE_VERSION = 0.3.3
-TARGET ?= master
-SUBDIRS = common server replace sss_client
-TARBALL_PREFIX = $(PACKAGE_NAME)-$(PACKAGE_VERSION)
-TARBALL = $(TARBALL_PREFIX).tar.gz
-LIBDIR ?= /usr/lib
-RPMBUILD ?= $(PWD)/rpmbuild
-DOC = BUILD.txt COPYING
-
-all:
-
-clean:
- rm -Rf dist
- rm -Rf $(RPMBUILD)
-
-realdistclean: clean
- -make -C common maintainer-clean
- -make -C server realdistclean
-
-archive:
- -mkdir -p dist/$(TARBALL_PREFIX)
- git archive --format=tar --prefix=sssd/ $(TARGET) | (cd dist && tar xf -)
- @for subdir in $(SUBDIRS); do \
- cp -pr dist/sssd/$$subdir dist/$(TARBALL_PREFIX)/.; \
- done
-
-local-archive: realdistclean
- -mkdir -p dist/$(TARBALL_PREFIX)
- @for subdir in $(SUBDIRS); do \
- cp -pr $$subdir dist/$(TARBALL_PREFIX)/.; \
- done
- cp -p $(DOC) dist/$(TARBALL_PREFIX)/.
-
-tarballs: local-archive
- -mkdir -p dist/sources
- rm -f dist/sources/$(TARBALL)
- cd dist/$(TARBALL_PREFIX)/server; ./autogen.sh
- cd dist; tar cfz sources/$(TARBALL) $(TARBALL_PREFIX)
-
-
-rpmroot:
- mkdir -p $(RPMBUILD)/BUILD
- mkdir -p $(RPMBUILD)/RPMS
- mkdir -p $(RPMBUILD)/SOURCES
- mkdir -p $(RPMBUILD)/SPECS
- mkdir -p $(RPMBUILD)/SRPMS
-
-rpmdistdir:
- mkdir -p dist/rpms
- mkdir -p dist/srpms
-
-rpms: tarballs rpmroot rpmdistdir
- cp sssd.spec $(RPMBUILD)/SPECS
- cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES
- cd $(RPMBUILD); rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/sssd.spec
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 000000000..60d739e80
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,24 @@
+SUBDIRS = replace common server sss_client
+
+RPMBUILD ?= $(PWD)/rpmbuild
+
+dist_noinst_DATA = \
+ sssd.spec.in \
+ BUILD.txt \
+ COPYING
+
+rpmroot:
+ mkdir -p $(RPMBUILD)/BUILD
+ mkdir -p $(RPMBUILD)/RPMS
+ mkdir -p $(RPMBUILD)/SOURCES
+ mkdir -p $(RPMBUILD)/SPECS
+ mkdir -p $(RPMBUILD)/SRPMS
+
+rpmdistdir:
+ mkdir -p dist/rpms
+ mkdir -p dist/srpms
+
+rpms: dist-gzip rpmroot rpmdistdir
+ cp $(builddir)/sssd.spec $(RPMBUILD)/SPECS
+ cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
+ cd $(RPMBUILD); rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/sssd.spec
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 000000000..8359f64bd
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,11 @@
+AC_INIT([sssd], [0.4.0], [sgallagh@redhat.com])
+AC_CONFIG_SRCDIR([BUILD.txt])
+AC_CONFIG_AUX_DIR([build])
+AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+AC_CONFIG_MACRO_DIR([m4])
+AC_PROG_INSTALL
+
+AC_CONFIG_SUBDIRS([replace common server sss_client])
+
+AC_CONFIG_FILES([Makefile sssd.spec])
+AC_OUTPUT
diff --git a/sssd.spec b/sssd.spec.in
index 20d939b75..dd5cb4ddd 100644
--- a/sssd.spec
+++ b/sssd.spec.in
@@ -1,12 +1,12 @@
-Name: sssd
-Version: 0.3.3
+Name: @PACKAGE_NAME@
+Version: @PACKAGE_VERSION@
Release: 1%{dist}
Group: Applications/System
Summary: System Security Services Daemon
# The entire source code is GPLv3+ except replace/ which is LGPLv3+
License: GPLv3+ and LGPLv3+
URL: http://www.freeipa.org/
-Source0: sssd-%{version}.tar.gz
+Source0: %{name}-%{version}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
### Patches ###
@@ -41,6 +41,7 @@ BuildRequires: nspr-devel
BuildRequires: pcre-devel
BuildRequires: libxslt
BuildRequires: libxml2
+BuildRequires: docbook-style-xsl
%description
Provides a set of daemons to manage access to remote directories and
@@ -53,43 +54,61 @@ services for projects like FreeIPA.
%setup -q
%build
-# common
-pushd common
-autoreconf -i -f
-%configure --disable-shared \
- --enable-static
+%configure \
+ --without-tests \
+ --without-policykit \
+ --without-infopipe \
+ --with-init-dir=%{_initrddir} \
+ --enable-nsslibdir=/%{_lib}
make %{?_smp_mflags}
-popd
-
-# sssd
-pushd server
-./autogen.sh
-%configure --without-tests \
- --without-policykit \
- --without-infopipe \
- --with-init-dir=%{_initrddir} \
-
-make %{?_smp_mflags}
-popd
-
-pushd sss_client
-./autogen.sh
-%configure --libdir=/%{_lib}
-make %{?_smp_mflags}
-popd
%install
rm -rf $RPM_BUILD_ROOT
-# sssd
-pushd server
make install DESTDIR=$RPM_BUILD_ROOT
-popd
-pushd sss_client
-make install DESTDIR=$RPM_BUILD_ROOT
-popd
+# Delete files that we do not want to package for now
+# Eventually some of these will be added to a -devel package
+rm -f \
+ $RPM_BUILD_ROOT/%{_lib}/libnss_sss.a \
+ $RPM_BUILD_ROOT/%{_lib}/libnss_sss.la \
+ $RPM_BUILD_ROOT/%{_lib}/libnss_sss.so.2.0.0 \
+ $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.a \
+ $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.la \
+ $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.so.1 \
+ $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.so.1.0.0 \
+ $RPM_BUILD_ROOT/%{_includedir}/collection.h \
+ $RPM_BUILD_ROOT/%{_includedir}/collection_tools.h \
+ $RPM_BUILD_ROOT/%{_includedir}/dhash.h \
+ $RPM_BUILD_ROOT/%{_includedir}/ini_config.h \
+ $RPM_BUILD_ROOT/%{_includedir}/trace.h \
+ $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.a \
+ $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \
+ $RPM_BUILD_ROOT/%{_libdir}/libcollection.a \
+ $RPM_BUILD_ROOT/%{_libdir}/libcollection.la \
+ $RPM_BUILD_ROOT/%{_libdir}/libcollection.so \
+ $RPM_BUILD_ROOT/%{_libdir}/libcollection.so.0 \
+ $RPM_BUILD_ROOT/%{_libdir}/libcollection.so.0.0.0 \
+ $RPM_BUILD_ROOT/%{_libdir}/libdhash.a \
+ $RPM_BUILD_ROOT/%{_libdir}/libdhash.la \
+ $RPM_BUILD_ROOT/%{_libdir}/libdhash.so \
+ $RPM_BUILD_ROOT/%{_libdir}/libdhash.so.0 \
+ $RPM_BUILD_ROOT/%{_libdir}/libdhash.so.0.0.0 \
+ $RPM_BUILD_ROOT/%{_libdir}/libini_config.a \
+ $RPM_BUILD_ROOT/%{_libdir}/libini_config.la \
+ $RPM_BUILD_ROOT/%{_libdir}/libini_config.so \
+ $RPM_BUILD_ROOT/%{_libdir}/libini_config.so.0 \
+ $RPM_BUILD_ROOT/%{_libdir}/libini_config.so.0.0.0 \
+ $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/collection.pc \
+ $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/dhash.pc \
+ $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/ini_config.pc \
+ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.a \
+ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \
+ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.a \
+ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \
+ $RPM_BUILD_ROOT/%{_docdir}/dhash/examples/dhash_example.c \
+ $RPM_BUILD_ROOT/%{_docdir}/dhash/examples/dhash_test.c
%clean
rm -rf $RPM_BUILD_ROOT
@@ -131,6 +150,9 @@ if [ $1 -ge 1 ] ; then
fi
%changelog
+* Mon May 18 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.4.0-1
+- Convert build system to automake
+
* Mon Apr 20 2009 Jakub Hrozek <jhrozek@redhat.com> - 0.3.2-1
- bugfix release 0.3.2