diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2009-05-18 14:52:42 -0400 |
---|---|---|
committer | Simo Sorce <ssorce@redhat.com> | 2009-05-19 11:09:45 -0400 |
commit | 84ae5edab16ad6be5e3be956cb6fa031c1428eb5 (patch) | |
tree | a9884af6cfc28ad1e440cd50e38d8fab204411ea | |
parent | 53499a31876e720597a42f59c16a4326c8c23671 (diff) | |
download | sssd-84ae5edab16ad6be5e3be956cb6fa031c1428eb5.tar.gz sssd-84ae5edab16ad6be5e3be956cb6fa031c1428eb5.tar.bz2 sssd-84ae5edab16ad6be5e3be956cb6fa031c1428eb5.zip |
Convert top-level of SSSD to automake.
Also update RPM spec and build procedures.
-rw-r--r-- | BUILD.txt | 35 | ||||
-rw-r--r-- | Makefile | 57 | ||||
-rw-r--r-- | Makefile.am | 24 | ||||
-rw-r--r-- | configure.ac | 11 | ||||
-rw-r--r-- | sssd.spec.in (renamed from sssd.spec) | 86 |
5 files changed, 119 insertions, 94 deletions
@@ -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 7e774a2a..00000000 --- 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 00000000..60d739e8 --- /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 00000000..8359f64b --- /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 20d939b7..dd5cb4dd 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 |