-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 02/02/2010 05:50 AM, Sumit Bose wrote:
>> NACK
> 
>> libini does not build anymore because it cannot find libcollection. The
>> changes 0006-Split-off-libcollection-into-a-shared-library.patch does in
>> server/ needs to be ported to common/ini/, too.

Attached patches will address this, as well as Dmitri's comments in the
parallel reply.

Also, I regenerated these patches using 'git format-patch -M -C
- --find-copies-harder', so they're much smaller and easier to read now
(all the license files are detected as copies)

- -- 
Stephen Gallagher
RHCE 804006346421761

Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAktoHnQACgkQeiVVYja6o6MmAACePXq47IcVmJhhG0tPEWAxRlwy
rJ8AnRNnLJqa4pMF7Cu0FK8TwPGpXzE7
=ad65
-----END PGP SIGNATURE-----
From aa03bd62f62f50551ace1bd525afd0cb81f585d5 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Fri, 22 Jan 2010 13:51:49 -0500
Subject: [PATCH 01/14] License libpath_utils under LGPL

---
 COPYING => common/path_utils/COPYING   |    0
 common/{ => path_utils}/COPYING.LESSER |    0
 common/path_utils/path_utils.h         |    7 +++++++
 3 files changed, 7 insertions(+), 0 deletions(-)
 copy COPYING => common/path_utils/COPYING (100%)
 copy common/{ => path_utils}/COPYING.LESSER (100%)

diff --git a/COPYING b/common/path_utils/COPYING
similarity index 100%
copy from COPYING
copy to common/path_utils/COPYING
diff --git a/common/COPYING.LESSER b/common/path_utils/COPYING.LESSER
similarity index 100%
copy from common/COPYING.LESSER
copy to common/path_utils/COPYING.LESSER
diff --git a/common/path_utils/path_utils.h b/common/path_utils/path_utils.h
index 9c1598e..94764ff 100644
--- a/common/path_utils/path_utils.h
+++ b/common/path_utils/path_utils.h
@@ -1,3 +1,10 @@
+#if 0
+Copyright 2009-1010 John Dennis
+This program is distributed under the terms of the GNU Lesser General Public
+License (LGPL). See the included COPYING and COPYING.LESSER files for the
+terms of this license.
+#endif
+
 #ifndef PATH_UTILS_H
 #define PATH_UTILS_H
 
-- 
1.6.6

From 4d73d4b1356648e4d270ad5f5346daaf876810cf Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Fri, 22 Jan 2010 14:07:51 -0500
Subject: [PATCH 02/14] Split off libpath_utils into a shared library

---
 common/path_utils/Makefile.am  |   16 +++++++++-------
 common/path_utils/README       |    1 +
 common/path_utils/configure.ac |    2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)
 create mode 100644 common/path_utils/README

diff --git a/common/path_utils/Makefile.am b/common/path_utils/Makefile.am
index b738c3e..8539ffd 100644
--- a/common/path_utils/Makefile.am
+++ b/common/path_utils/Makefile.am
@@ -8,13 +8,15 @@ endif
 ACLOCAL_AMFLAGS = -I m4
 
 pkgconfigdir = $(libdir)/pkgconfig
-dist_noinst_DATA = \
-    path_utils.pc \
-    m4
+dist_pkgconfig_DATA = path_utils.pc
 
-noinst_LTLIBRARIES = libpath_utils.la
-libpath_utils_la_SOURCES = \
-    path_utils.c \
-    path_utils.h
+dist_include_HEADERS = path_utils.h
+
+dist_noinst_DATA = m4
+
+lib_LTLIBRARIES = libpath_utils.la
+libpath_utils_la_SOURCES = path_utils.c
+libpath_utils_la_LDFLAGS = \
+    -version-info 1:0:0
 
 tests: all $(check_PROGRAMS)
diff --git a/common/path_utils/README b/common/path_utils/README
new file mode 100644
index 0000000..2ccc3dc
--- /dev/null
+++ b/common/path_utils/README
@@ -0,0 +1 @@
+Documentation for libpath_utils can be found in path_utils.h
diff --git a/common/path_utils/configure.ac b/common/path_utils/configure.ac
index 9207a07..87dd615 100644
--- a/common/path_utils/configure.ac
+++ b/common/path_utils/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([path_utils], [0.1], [jden...@redhat.com])
+AC_INIT([path_utils], [0.2.0], [jden...@redhat.com])
 AC_CONFIG_SRCDIR([path_utils.c])
 AC_CONFIG_AUX_DIR([build])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
-- 
1.6.6

From 345135354d0b094a648834edf77fc6ff29b6bd85 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 10:13:50 -0500
Subject: [PATCH 03/14] Package libpath_utils and libpath_utils-devel

---
 contrib/sssd.spec.in |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index f5afdf4..cf620f4 100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -13,6 +13,7 @@ Source0: %{name}-%{version}.tar.gz
 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 
 %define dhash_version 0.4.0
+%define path_utils_version 0.2.0
 
 ### Patches ###
 
@@ -100,6 +101,24 @@ License: LGPLv3+
 A hash table which will dynamically resize to achieve optimal storage & access
 time properties
 
+%package -n libpath_utils
+Summary: Filesystem Path Utilities
+Group: Development/Libraries
+Version: %{path_utils_version}
+License: LGPLv3+
+
+%description -n libpath_utils
+Utility functions to manipulate filesystem pathnames
+
+%package -n libpath_utils-devel
+Summary: Development files for libpath_utils
+Group: Development/Libraries
+Version: %{path_utils_version}
+Requires: libpath_utils = %{path_utils_version}-%{release}
+License: LGPLv3+
+
+%description -n libpath_utils-devel
+Utility functions to manipulate filesystem pathnames
 
 %prep
 %setup -q
@@ -147,6 +166,7 @@ rm -f \
     $RPM_BUILD_ROOT/%{_lib}/libnss_sss.la \
     $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.la \
     $RPM_BUILD_ROOT/%{_libdir}/libdhash.la \
+    $RPM_BUILD_ROOT/%{_libdir}/libpath_utils.la \
     $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \
@@ -233,6 +253,20 @@ rm -rf $RPM_BUILD_ROOT
 %doc common/dhash/README
 %doc common/dhash/examples
 
+%files -n libpath_utils
+%defattr(-,root,root,-)
+%doc common/path_utils/COPYING
+%doc common/path_utils/COPYING.LESSER
+%{_libdir}/libpath_utils.so.1
+%{_libdir}/libpath_utils.so.1.0.0
+
+%files -n libpath_utils-devel
+%defattr(-,root,root,-)
+%{_includedir}/path_utils.h
+%{_libdir}/libpath_utils.so
+%{_libdir}/pkgconfig/path_utils.pc
+%doc common/path_utils/README
+
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{servicename}
@@ -261,6 +295,9 @@ fi
 
 %postun -n libdhash -p /sbin/ldconfig
 
+%post -n libpath_utils -p /sbin/ldconfig
+%postun -n libpath_utils -p /sbin/ldconfig
+
 %changelog
 * Mon Sep 28 2009 Sumit Bose <sb...@redhat.com> - 0.6.0-0
 - New upstream release 0.6.0
-- 
1.6.6

From 06f345c9fc719fe564791c42cddc3d679fbdbc70 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Fri, 22 Jan 2010 14:47:25 -0500
Subject: [PATCH 04/14] Add license files for collection

---
 COPYING => common/collection/COPYING   |    0
 common/{ => collection}/COPYING.LESSER |    0
 2 files changed, 0 insertions(+), 0 deletions(-)
 copy COPYING => common/collection/COPYING (100%)
 copy common/{ => collection}/COPYING.LESSER (100%)

diff --git a/COPYING b/common/collection/COPYING
similarity index 100%
copy from COPYING
copy to common/collection/COPYING
diff --git a/common/COPYING.LESSER b/common/collection/COPYING.LESSER
similarity index 100%
copy from common/COPYING.LESSER
copy to common/collection/COPYING.LESSER
-- 
1.6.6

From 81ae2840c12e4eaacd716252410ffd0ac4604e1e Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Fri, 22 Jan 2010 14:47:40 -0500
Subject: [PATCH 05/14] Remove private header requirements from collection_tools.h

---
 common/collection/collection_tools.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/common/collection/collection_tools.h b/common/collection/collection_tools.h
index 5bcf085..55770c6 100644
--- a/common/collection/collection_tools.h
+++ b/common/collection/collection_tools.h
@@ -23,7 +23,6 @@
 #ifndef COLLECTION_TOOLS_H
 #define COLLECTION_TOOLS_H
 
-#include "trace.h"
 #include "collection.h"
 
 #ifdef  HAVE_TRACE
-- 
1.6.6

From 16ecac68e5923dcfcd98d1c6ae7f580eb9585d3b Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 10:33:28 -0500
Subject: [PATCH 06/14] Split off libcollection into a shared library

---
 common/collection/Makefile.am    |   16 ++++++++++------
 common/collection/README         |    2 ++
 common/collection/configure.ac   |    2 +-
 server/Makefile.am               |   17 +++++++++++------
 server/configure.ac              |    1 +
 server/external/libcollection.m4 |   12 ++++++++++++
 6 files changed, 37 insertions(+), 13 deletions(-)
 create mode 100644 common/collection/README
 create mode 100644 server/external/libcollection.m4

diff --git a/common/collection/Makefile.am b/common/collection/Makefile.am
index bd7186b..2734a71 100644
--- a/common/collection/Makefile.am
+++ b/common/collection/Makefile.am
@@ -16,12 +16,16 @@ ACLOCAL_AMFLAGS = -I m4
 
 # Set up the pkg-config file
 pkgconfigdir = $(libdir)/pkgconfig
-dist_noinst_DATA = \
-    collection.pc \
-    m4
+dist_pkgconfig_DATA = collection.pc
+
+dist_include_HEADERS = \
+    collection.h \
+    collection_tools.h
+
+dist_noinst_DATA = m4
 
 # Build library
-noinst_LTLIBRARIES = libcollection.la
+lib_LTLIBRARIES = libcollection.la
 libcollection_la_SOURCES = \
     collection.c \
     collection_tools.c \
@@ -30,12 +34,12 @@ libcollection_la_SOURCES = \
     collection_stack.c \
     collection_cmp.c \
     collection_iter.c \
-    collection.h \
-    collection_tools.h \
     collection_priv.h \
     collection_queue.h \
     collection_stack.h \
     ../trace/trace.h
+libcollection_la_LDFLAGS = \
+    -version-info 1:0:0
 
 # Build unit test
 check_PROGRAMS = collection_ut collection_stack_ut collection_queue_ut
diff --git a/common/collection/README b/common/collection/README
new file mode 100644
index 0000000..83a7b92
--- /dev/null
+++ b/common/collection/README
@@ -0,0 +1,2 @@
+Documentation for libcollection can be found in collection.h and
+collection_tools.h
diff --git a/common/collection/configure.ac b/common/collection/configure.ac
index 3ba1eb7..2ec6c01 100644
--- a/common/collection/configure.ac
+++ b/common/collection/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([collection],[0.3.3],[sssd-de...@lists.fedorahosted.org])
+AC_INIT([collection],[0.4.0],[sssd-de...@lists.fedorahosted.org])
 AC_CONFIG_SRCDIR([collection.c])
 AC_CONFIG_AUX_DIR([build])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
diff --git a/server/Makefile.am b/server/Makefile.am
index 7ba7ffa..9ebc985 100644
--- a/server/Makefile.am
+++ b/server/Makefile.am
@@ -132,12 +132,17 @@ dist_noinst_DATA = \
 ###############################
 # Global compilation settings #
 ###############################
-COLLECTION_CFLAGS = \
-    -I$(srcdir)/../common/collection \
-    -I$(srcdir)/../common/trace
-COLLECTION_LIBS = \
-    -L$(builddir)/../common/collection/.libs/ \
-    -lcollection
+
+if HAVE_SYSTEM_COLLECTION
+    COLLECTION_CFLAGS = $(SYSTEM_COLLECTION_CFLAGS)
+    COLLECTION_LIBS = $(SYSTEM_COLLECTION_LIBS)
+else
+    COLLECTION_CFLAGS = \
+        -I$(srcdir)/../common/collection
+    COLLECTION_LIBS = \
+        -L$(builddir)/../common/collection \
+        -lcollection
+endif
 
 INI_CFG_CFLAGS = \
     -I$(srcdir)/../common/ini
diff --git a/server/configure.ac b/server/configure.ac
index 75c07da..a67dd15 100644
--- a/server/configure.ac
+++ b/server/configure.ac
@@ -66,6 +66,7 @@ m4_include([external/libtdb.m4])
 m4_include([external/libtevent.m4])
 m4_include([external/libldb.m4])
 m4_include([external/libdhash.m4])
+m4_include([external/libcollection.m4])
 m4_include([external/pam.m4])
 m4_include([external/ldap.m4])
 m4_include([external/libpcre.m4])
diff --git a/server/external/libcollection.m4 b/server/external/libcollection.m4
new file mode 100644
index 0000000..8fc37e8
--- /dev/null
+++ b/server/external/libcollection.m4
@@ -0,0 +1,12 @@
+AC_SUBST(SYSTEM_COLLECTION_OBJ)
+AC_SUBST(SYSTEM_COLLECTION_CFLAGS)
+AC_SUBST(SYSTEM_COLLECTION_LIBS)
+
+PKG_CHECK_MODULES(SYSTEM_COLLECTION, collection >= 0.4.0,
+    have_system_collection=true,
+    have_system_collection=false
+    )
+# This is future-compatible. Right now, we'll force the use of our
+# in-tree copy. When collection is split off as its own source package, we'll
+# fix this test
+AM_CONDITIONAL(HAVE_SYSTEM_COLLECTION, test x$have_system_collection = xtrue_FORCE_IN_TREE)
-- 
1.6.6

From 2ed3f244d321e4ded8677aec4fff75afe40bd59e Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 10:36:36 -0500
Subject: [PATCH 07/14] Package libcollection and libcollection-devel

---
 contrib/sssd.spec.in |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index cf620f4..3b05be3 100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -14,6 +14,7 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 
 %define dhash_version 0.4.0
 %define path_utils_version 0.2.0
+%define collection_version 0.4.0
 
 ### Patches ###
 
@@ -23,6 +24,7 @@ Requires: libldb >= 0.9.3
 Requires: libtdb >= 1.1.3
 Requires: sssd-client = %{version}-%{release}
 Requires: libdhash = %{dhash_version}-%{release}
+Requires: libcollection = %{collection_version}-%{release}
 Requires: cyrus-sasl-gssapi
 Requires(post): python
 Requires(preun):  initscripts chkconfig
@@ -120,6 +122,27 @@ License: LGPLv3+
 %description -n libpath_utils-devel
 Utility functions to manipulate filesystem pathnames
 
+%package -n libcollection
+Summary: Collection data-type for C
+Group: Development/Libraries
+Version: %{collection_version}
+License: LGPLv3+
+
+%description -n libcollection
+A data-type to collect data in a heirarchical structure for easy iteration
+and serialization
+
+%package -n libcollection-devel
+Summary: Development files for libcollection
+Group: Development/Libraries
+Version: %{collection_version}
+Requires: libcollection = %{collection_version}-%{release}
+License: LGPLv3+
+
+%description -n libcollection-devel
+A data-type to collect data in a heirarchical structure for easy iteration
+and serialization
+
 %prep
 %setup -q
 
@@ -167,6 +190,7 @@ rm -f \
     $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.la \
     $RPM_BUILD_ROOT/%{_libdir}/libdhash.la \
     $RPM_BUILD_ROOT/%{_libdir}/libpath_utils.la \
+    $RPM_BUILD_ROOT/%{_libdir}/libcollection.la \
     $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \
@@ -267,6 +291,21 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/path_utils.pc
 %doc common/path_utils/README
 
+%files -n libcollection
+%defattr(-,root,root,-)
+%doc common/collection/COPYING
+%doc common/collection/COPYING.LESSER
+%{_libdir}/libcollection.so.1
+%{_libdir}/libcollection.so.1.0.0
+
+%files -n libcollection-devel
+%defattr(-,root,root,-)
+%{_includedir}/collection.h
+%{_includedir}/collection_tools.h
+%{_libdir}/libcollection.so
+%{_libdir}/pkgconfig/collection.pc
+%doc common/collection/README
+
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{servicename}
@@ -298,6 +337,9 @@ fi
 %post -n libpath_utils -p /sbin/ldconfig
 %postun -n libpath_utils -p /sbin/ldconfig
 
+%post -n libcollection -p /sbin/ldconfig
+%postun -n libcollection -p /sbin/ldconfig
+
 %changelog
 * Mon Sep 28 2009 Sumit Bose <sb...@redhat.com> - 0.6.0-0
 - New upstream release 0.6.0
-- 
1.6.6

From ad3d40a1adbb97f19911c525c93659204053629c Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 10:43:55 -0500
Subject: [PATCH 08/14] Add license files for ini_config

---
 COPYING => common/ini/COPYING   |    0
 common/{ => ini}/COPYING.LESSER |    0
 2 files changed, 0 insertions(+), 0 deletions(-)
 copy COPYING => common/ini/COPYING (100%)
 copy common/{ => ini}/COPYING.LESSER (100%)

diff --git a/COPYING b/common/ini/COPYING
similarity index 100%
copy from COPYING
copy to common/ini/COPYING
diff --git a/common/COPYING.LESSER b/common/ini/COPYING.LESSER
similarity index 100%
copy from common/COPYING.LESSER
copy to common/ini/COPYING.LESSER
-- 
1.6.6

From 09ccaf15d21b5f788b96cd8fa23b2e651b191867 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 10:57:43 -0500
Subject: [PATCH 09/14] Fix array index error

The null-terminator would have been written one byte past the end
of the array (and there may have been an extra garbage character
in the index before it)
---
 common/ini/ini_config.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/ini/ini_config.c b/common/ini/ini_config.c
index 67af11b..f9461a7 100644
--- a/common/ini/ini_config.c
+++ b/common/ini/ini_config.c
@@ -1610,7 +1610,7 @@ static char **get_str_cfg_array(struct collection_item *item,
     }
     else {
         strncpy(locsep, sep, 3);
-        locsep[4] = '\0';
+        locsep[3] = '\0';
         lensep = strlen(locsep) + 1;
     }
 
-- 
1.6.6

From ff710ee057f49c28db93070d4eaaf0c85eec839f Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 11:17:03 -0500
Subject: [PATCH 10/14] Split off libini_config into a shared library

---
 common/ini/Makefile.am           |   21 ++++++++++++++++-----
 common/ini/README                |    1 +
 common/ini/configure.ac          |    2 +-
 common/ini/ini_config.pc.in      |    2 +-
 server/Makefile.am               |   15 ++++++++++-----
 server/configure.ac              |    1 +
 server/external/libini_config.m4 |   12 ++++++++++++
 7 files changed, 42 insertions(+), 12 deletions(-)
 create mode 100644 common/ini/README
 create mode 100644 server/external/libini_config.m4

diff --git a/common/ini/Makefile.am b/common/ini/Makefile.am
index bf993bc..cfaacf9 100644
--- a/common/ini/Makefile.am
+++ b/common/ini/Makefile.am
@@ -1,7 +1,10 @@
 #debug_fla...@debug_var@
 trace_lev...@trace_var@
 
+builddir ?= .
+
 topdir=$(srcdir)/..
+topbuilddir=$(builddir)/..
 
 AM_CFLAGS =
 if HAVE_GCC
@@ -16,23 +19,31 @@ ACLOCAL_AMFLAGS = -I m4
 
 # Set up the pkg-config file
 pkgconfigdir = $(libdir)/pkgconfig
+dist_pkgconfig_DATA = ini_config.pc
+
 dist_noinst_DATA = \
-    ini_config.pc \
     ini.conf \
     ini.d/real.conf \
     ini.d/test.conf \
     m4
 
+dist_include_HEADERS = \
+    ini_config.h
+
 # Build library
-noinst_LTLIBRARIES = libini_config.la
+lib_LTLIBRARIES = libini_config.la
 libini_config_la_SOURCES = \
-    ini_config.c \
-    ini_config.h
+    ini_config.c
+libini_config_la_LIBADD = \
+    -L$(topbuilddir)/collection \
+    -lcollection
+libini_config_la_LDFLAGS = \
+    -version-info 1:0:0
 
 # Build unit test
 check_PROGRAMS = ini_config_ut
 ini_config_ut_SOURCES = ini_config_ut.c
-ini_config_ut_LDADD = libini_config.la ../collection/libcollection.la
+ini_config_ut_LDADD = libini_config.la -lcollection
 
 TESTS = ini_config_ut
 
diff --git a/common/ini/README b/common/ini/README
new file mode 100644
index 0000000..2b4d381
--- /dev/null
+++ b/common/ini/README
@@ -0,0 +1 @@
+Documentation for ini_config can be found in ini_config.h
\ No newline at end of file
diff --git a/common/ini/configure.ac b/common/ini/configure.ac
index ef8f0de..c58be24 100644
--- a/common/ini/configure.ac
+++ b/common/ini/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([ini_config],[0.3.3],[sssd-de...@lists.fedorahosted.org])
+AC_INIT([ini_config],[0.4.0],[sssd-de...@lists.fedorahosted.org])
 AC_CONFIG_SRCDIR([ini_config.c])
 AC_CONFIG_AUX_DIR([build])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
diff --git a/common/ini/ini_config.pc.in b/common/ini/ini_config.pc.in
index 3ac3b26..efa8da9 100644
--- a/common/ini/ini_config.pc.in
+++ b/common/ini/ini_config.pc.in
@@ -6,6 +6,6 @@ included...@includedir@
 Name: @PACKAGE_NAME@
 Description: Library to process config files in INI format into a libcollection data structure
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lini_config
+Libs: -L${libdir} -lini_config -lcollection
 Cflags: -I${includedir}
 URL: http://fedorahosted.org/sssd/
diff --git a/server/Makefile.am b/server/Makefile.am
index 9ebc985..87de065 100644
--- a/server/Makefile.am
+++ b/server/Makefile.am
@@ -144,11 +144,16 @@ else
         -lcollection
 endif
 
-INI_CFG_CFLAGS = \
-    -I$(srcdir)/../common/ini
-INI_CFG_LIBS = \
-    -L$(builddir)/../common/ini/.libs/ \
-    -lini_config
+if HAVE_SYSTEM_INI_CONFIG
+    INI_CFG_CFLAGS = $(SYSTEM_INI_CONFIG_CFLAGS)
+    INI_CFG_LIBS = $(SYSTEM_INI_CONFIG_LIBS)
+else
+    INI_CFG_CFLAGS = \
+        -I$(srcdir)/../common/ini
+    INI_CFG_LIBS = \
+        -L$(builddir)/../common/ini/ \
+        -lini_config
+endif
 
 if HAVE_SYSTEM_DHASH
     DHASH_CFLAGS = $(SYSTEM_DHASH_CFLAGS)
diff --git a/server/configure.ac b/server/configure.ac
index a67dd15..1e414a3 100644
--- a/server/configure.ac
+++ b/server/configure.ac
@@ -67,6 +67,7 @@ m4_include([external/libtevent.m4])
 m4_include([external/libldb.m4])
 m4_include([external/libdhash.m4])
 m4_include([external/libcollection.m4])
+m4_include([external/libini_config.m4])
 m4_include([external/pam.m4])
 m4_include([external/ldap.m4])
 m4_include([external/libpcre.m4])
diff --git a/server/external/libini_config.m4 b/server/external/libini_config.m4
new file mode 100644
index 0000000..20291ef
--- /dev/null
+++ b/server/external/libini_config.m4
@@ -0,0 +1,12 @@
+AC_SUBST(SYSTEM_INI_CONFIG_OBJ)
+AC_SUBST(SYSTEM_INI_CONFIG_CFLAGS)
+AC_SUBST(SYSTEM_INI_CONFIG_LIBS)
+
+PKG_CHECK_MODULES(SYSTEM_INI_CONFIG, ini_config >= 0.4.0,
+    have_system_ini_config=true,
+    have_system_ini_config=false
+    )
+# This is future-compatible. Right now, we'll force the use of our
+# in-tree copy. When ini_config is split off as its own source package, we'll
+# fix this test
+AM_CONDITIONAL(HAVE_SYSTEM_INI_CONFIG, test x$have_system_ini_config = xtrue_FORCE_IN_TREE)
-- 
1.6.6

From f6a412288a50dd0dc0db864de2b71b6b34c89919 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 11:40:48 -0500
Subject: [PATCH 11/14] Package libini_config and libini_config-devel

---
 contrib/sssd.spec.in |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index 3b05be3..59b4d09 100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -15,6 +15,7 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 %define dhash_version 0.4.0
 %define path_utils_version 0.2.0
 %define collection_version 0.4.0
+%define ini_config_version 0.4.0
 
 ### Patches ###
 
@@ -25,6 +26,7 @@ Requires: libtdb >= 1.1.3
 Requires: sssd-client = %{version}-%{release}
 Requires: libdhash = %{dhash_version}-%{release}
 Requires: libcollection = %{collection_version}-%{release}
+Requires: libini_config = %{ini_config_version}-%{release}
 Requires: cyrus-sasl-gssapi
 Requires(post): python
 Requires(preun):  initscripts chkconfig
@@ -143,6 +145,28 @@ License: LGPLv3+
 A data-type to collect data in a heirarchical structure for easy iteration
 and serialization
 
+%package -n libini_config
+Summary: INI file parser for C
+Group: Development/Libraries
+Version: %{ini_config_version}
+Requires: libcollection = %{collection_version}-%{release}
+License: LGPLv3+
+
+%description -n libini_config
+Library to process config files in INI format into a libcollection data
+structure
+
+%package -n libini_config-devel
+Summary: Development files for libini_config
+Group: Development/Libraries
+Version: %{ini_config_version}
+Requires: libini_config = %{ini_config_version}-%{release}
+License: LGPLv3+
+
+%description -n libini_config-devel
+Library to process config files in INI format into a libcollection data
+structure
+
 %prep
 %setup -q
 
@@ -191,6 +215,7 @@ rm -f \
     $RPM_BUILD_ROOT/%{_libdir}/libdhash.la \
     $RPM_BUILD_ROOT/%{_libdir}/libpath_utils.la \
     $RPM_BUILD_ROOT/%{_libdir}/libcollection.la \
+    $RPM_BUILD_ROOT/%{_libdir}/libini_config.la \
     $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \
@@ -306,6 +331,20 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/collection.pc
 %doc common/collection/README
 
+%files -n libini_config
+%defattr(-,root,root,-)
+%doc common/ini/COPYING
+%doc common/ini/COPYING.LESSER
+%{_libdir}/libini_config.so.1
+%{_libdir}/libini_config.so.1.0.0
+
+%files -n libini_config-devel
+%defattr(-,root,root,-)
+%{_includedir}/ini_config.h
+%{_libdir}/libini_config.so
+%{_libdir}/pkgconfig/ini_config.pc
+%doc common/ini/README
+
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{servicename}
@@ -340,6 +379,9 @@ fi
 %post -n libcollection -p /sbin/ldconfig
 %postun -n libcollection -p /sbin/ldconfig
 
+%post -n libini_config -p /sbin/ldconfig
+%postun -n libini_config -p /sbin/ldconfig
+
 %changelog
 * Mon Sep 28 2009 Sumit Bose <sb...@redhat.com> - 0.6.0-0
 - New upstream release 0.6.0
-- 
1.6.6

From 94291394367403fc71c4cba25af4fa99ad79187d Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 12:48:08 -0500
Subject: [PATCH 12/14] Add license files for refarray

---
 COPYING => common/refarray/COPYING   |    0
 common/{ => refarray}/COPYING.LESSER |    0
 2 files changed, 0 insertions(+), 0 deletions(-)
 copy COPYING => common/refarray/COPYING (100%)
 copy common/{ => refarray}/COPYING.LESSER (100%)

diff --git a/COPYING b/common/refarray/COPYING
similarity index 100%
copy from COPYING
copy to common/refarray/COPYING
diff --git a/common/COPYING.LESSER b/common/refarray/COPYING.LESSER
similarity index 100%
copy from common/COPYING.LESSER
copy to common/refarray/COPYING.LESSER
-- 
1.6.6

From 59a23d56099349523d5793e47ee23e071d880e7d Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 12:52:39 -0500
Subject: [PATCH 13/14] Split refarray off into a shared library

---
 common/refarray/Makefile.am     |   15 +++++++++------
 common/refarray/README          |    1 +
 common/refarray/configure.ac    |    5 ++---
 common/refarray/ref_array.pc.in |    2 +-
 4 files changed, 13 insertions(+), 10 deletions(-)
 create mode 100644 common/refarray/README

diff --git a/common/refarray/Makefile.am b/common/refarray/Makefile.am
index 573173a..724131f 100644
--- a/common/refarray/Makefile.am
+++ b/common/refarray/Makefile.am
@@ -16,15 +16,18 @@ ACLOCAL_AMFLAGS = -I m4
 
 # Set up the pkg-config file
 pkgconfigdir = $(libdir)/pkgconfig
-dist_noinst_DATA = \
-    ref_array.pc \
-    m4
+pkgconfig_DATA = ref_array.pc
+
+dist_noinst_DATA = m4
+
+dist_include_HEADERS = ref_array.h
 
 # Build library
-noinst_LTLIBRARIES = libref_array.la
+lib_LTLIBRARIES = libref_array.la
 libref_array_la_SOURCES = \
-    ref_array.c \
-    ref_array.h
+    ref_array.c
+libref_array_la_LDFLAGS = \
+    -version-info 1:0:0
 
 # Build unit test
 check_PROGRAMS = ref_array_ut
diff --git a/common/refarray/README b/common/refarray/README
new file mode 100644
index 0000000..a3e4f61
--- /dev/null
+++ b/common/refarray/README
@@ -0,0 +1 @@
+Documentation for libref_array can be found in ref_array.h
diff --git a/common/refarray/configure.ac b/common/refarray/configure.ac
index b220c52..ebcfaa6 100644
--- a/common/refarray/configure.ac
+++ b/common/refarray/configure.ac
@@ -1,6 +1,5 @@
-m4_include([../../version.m4])
-AC_INIT([sssd_libs],
-        VERSION_NUMBER,
+AC_INIT([ref_array],
+        0.1.0,
         [sssd-de...@lists.fedorahosted.org])
 AC_CONFIG_SRCDIR([ref_array.c])
 AC_CONFIG_AUX_DIR([build])
diff --git a/common/refarray/ref_array.pc.in b/common/refarray/ref_array.pc.in
index 1fc06f7..c4fe941 100644
--- a/common/refarray/ref_array.pc.in
+++ b/common/refarray/ref_array.pc.in
@@ -4,7 +4,7 @@ libd...@libdir@
 included...@includedir@
 
 Name: @PACKAGE_NAME@
-Description: Reference library
+Description: A dynamically-growing, reference-counted array
 Version: @PACKAGE_VERSION@
 Libs: -L${libdir} -lref_array
 Cflags: -I${includedir}
-- 
1.6.6

From a01cae7b2e33846187dc00949f8752ab87169aad Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgall...@redhat.com>
Date: Mon, 1 Feb 2010 13:20:55 -0500
Subject: [PATCH 14/14] Package libref_array and libref_array-devel

---
 contrib/sssd.spec.in |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index 59b4d09..b1eef32 100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -16,6 +16,7 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 %define path_utils_version 0.2.0
 %define collection_version 0.4.0
 %define ini_config_version 0.4.0
+%define refarray_version 0.1.0
 
 ### Patches ###
 
@@ -167,6 +168,25 @@ License: LGPLv3+
 Library to process config files in INI format into a libcollection data
 structure
 
+%package -n libref_array
+Summary: A refcounted array for C
+Group: Development/Libraries
+Version: %{refarray_version}
+License: LGPLv3+
+
+%description -n libref_array
+A dynamically-growing, reference-counted array
+
+%package -n libref_array-devel
+Summary: Development files for libref_array
+Group: Development/Libraries
+Version: %{refarray_version}
+Requires: libref_array = %{refarray_version}-%{release}
+License: LGPLv3+
+
+%description -n libref_array-devel
+A dynamically-growing, reference-counted array
+
 %prep
 %setup -q
 
@@ -216,6 +236,7 @@ rm -f \
     $RPM_BUILD_ROOT/%{_libdir}/libpath_utils.la \
     $RPM_BUILD_ROOT/%{_libdir}/libcollection.la \
     $RPM_BUILD_ROOT/%{_libdir}/libini_config.la \
+    $RPM_BUILD_ROOT/%{_libdir}/libref_array.la \
     $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \
     $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \
@@ -345,6 +366,21 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/ini_config.pc
 %doc common/ini/README
 
+%files -n libref_array
+%defattr(-,root,root,-)
+%doc common/refarray/COPYING
+%doc common/refarray/COPYING.LESSER
+%{_libdir}/libref_array.so.1
+%{_libdir}/libref_array.so.1.0.0
+
+%files -n libref_array-devel
+%defattr(-,root,root,-)
+%{_includedir}/ref_array.h
+%{_libdir}/libref_array.so
+%{_libdir}/pkgconfig/ref_array.pc
+%doc common/refarray/README
+
+
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{servicename}
@@ -382,6 +418,9 @@ fi
 %post -n libini_config -p /sbin/ldconfig
 %postun -n libini_config -p /sbin/ldconfig
 
+%post -n libref_array -p /sbin/ldconfig
+%postun -n libref_array -p /sbin/ldconfig
+
 %changelog
 * Mon Sep 28 2009 Sumit Bose <sb...@redhat.com> - 0.6.0-0
 - New upstream release 0.6.0
-- 
1.6.6

Attachment: 0001-License-libpath_utils-under-LGPL.patch.sig
Description: PGP signature

Attachment: 0002-Split-off-libpath_utils-into-a-shared-library.patch.sig
Description: PGP signature

Attachment: 0003-Package-libpath_utils-and-libpath_utils-devel.patch.sig
Description: PGP signature

Attachment: 0004-Add-license-files-for-collection.patch.sig
Description: PGP signature

Attachment: 0005-Remove-private-header-requirements-from-collection_t.patch.sig
Description: PGP signature

Attachment: 0006-Split-off-libcollection-into-a-shared-library.patch.sig
Description: PGP signature

Attachment: 0007-Package-libcollection-and-libcollection-devel.patch.sig
Description: PGP signature

Attachment: 0008-Add-license-files-for-ini_config.patch.sig
Description: PGP signature

Attachment: 0009-Fix-array-index-error.patch.sig
Description: PGP signature

Attachment: 0010-Split-off-libini_config-into-a-shared-library.patch.sig
Description: PGP signature

Attachment: 0011-Package-libini_config-and-libini_config-devel.patch.sig
Description: PGP signature

Attachment: 0012-Add-license-files-for-refarray.patch.sig
Description: PGP signature

Attachment: 0013-Split-refarray-off-into-a-shared-library.patch.sig
Description: PGP signature

Attachment: 0014-Package-libref_array-and-libref_array-devel.patch.sig
Description: PGP signature

_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to