2ae906
Name: ding-libs
2ae906
Version: 0.6.1
9bfdce
Release: 32%{?dist}
2ae906
Summary: "Ding is not GLib" assorted utility libraries
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
URL: https://pagure.io/SSSD/ding-libs
2ae906
Source0: https://releases.pagure.org/SSSD/ding-libs/%{name}-%{version}.tar.gz
2ae906
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
2ae906
2ae906
# If a new upstream release changes some, but not all of these
2ae906
# version numbers, remember to keep the Release tag in order to
2ae906
# allow clean upgrades!
2ae906
%global path_utils_version 0.2.1
2ae906
%global dhash_version 0.5.0
2ae906
%global collection_version 0.7.0
2ae906
%global ref_array_version 0.1.5
2ae906
%global basicobjects_version 0.1.1
2ae906
%global ini_config_version 1.3.1
2ae906
2ae906
### Patches ###
9bfdce
Patch0001: 0001-INI-Silence-ini_augment-match-failures.patch
9bfdce
Patch0002: 0002-INI-Remove-definiton-of-TRACE_LEVEL.patch
9bfdce
9bfdce
9bfdce
### Downstream only ###
9bfdce
Patch999: ding-libs-fake-soname.patch
2ae906
2ae906
### Dependencies ###
2ae906
# ding-libs is a meta-package that will pull in all of its own
2ae906
# sub-packages
2ae906
Requires: libpath_utils = %{path_utils_version}-%{release}
2ae906
Requires: libdhash = %{dhash_version}-%{release}
2ae906
Requires: libcollection = %{collection_version}-%{release}
2ae906
Requires: libref_array = %{ref_array_version}-%{release}
2ae906
Requires: libbasicobjects = %{basicobjects_version}-%{release}
2ae906
Requires: libini_config = %{ini_config_version}-%{release}
2ae906
2ae906
### Build Dependencies ###
2ae906
2ae906
BuildRequires: autoconf
2ae906
BuildRequires: automake
2ae906
BuildRequires: libtool
2ae906
BuildRequires: m4
2ae906
BuildRequires: doxygen
2ae906
BuildRequires: check-devel
2ae906
2ae906
%description
2ae906
A set of helpful libraries used by projects such as SSSD.
2ae906
2ae906
%package devel
2ae906
Summary: Development packages for ding-libs
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
2ae906
# ding-libs is a meta-package that will pull in all of its own
2ae906
# sub-packages
2ae906
Requires: libpath_utils-devel = %{path_utils_version}-%{release}
2ae906
Requires: libdhash-devel = %{dhash_version}-%{release}
2ae906
Requires: libcollection-devel = %{collection_version}-%{release}
2ae906
Requires: libref_array-devel = %{ref_array_version}-%{release}
2ae906
Requires: libbasicobjects-devel = %{basicobjects_version}-%{release}
2ae906
Requires: libini_config-devel = %{ini_config_version}-%{release}
2ae906
2ae906
%description devel
2ae906
A meta-package that pulls in development libraries for libcollection,
2ae906
libdhash, libini_config, librefarray and libpath_utils.
2ae906
2ae906
##############################################################################
2ae906
# Path Utils
2ae906
##############################################################################
2ae906
2ae906
%package -n libpath_utils
2ae906
Summary: Filesystem Path Utilities
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
Version: %{path_utils_version}
2ae906
2ae906
%description -n libpath_utils
2ae906
Utility functions to manipulate filesystem pathnames
2ae906
2ae906
%package -n libpath_utils-devel
2ae906
Summary: Development files for libpath_utils
2ae906
Group: Development/Libraries
2ae906
Requires: libpath_utils = %{path_utils_version}-%{release}
2ae906
License: LGPLv3+
2ae906
Version: %{path_utils_version}
2ae906
2ae906
%description -n libpath_utils-devel
2ae906
Utility functions to manipulate filesystem pathnames
2ae906
2ae906
%post -n libpath_utils -p /sbin/ldconfig
2ae906
%postun -n libpath_utils -p /sbin/ldconfig
2ae906
2ae906
%files -n libpath_utils
2ae906
%defattr(-,root,root,-)
2ae906
%doc COPYING COPYING.LESSER
2ae906
%{_libdir}/libpath_utils.so.*
2ae906
2ae906
%files -n libpath_utils-devel
2ae906
%defattr(-,root,root,-)
2ae906
%{_includedir}/path_utils.h
2ae906
%{_libdir}/libpath_utils.so
2ae906
%{_libdir}/pkgconfig/path_utils.pc
2ae906
%doc path_utils/README.path_utils
2ae906
%doc path_utils/doc/html/
2ae906
2ae906
2ae906
##############################################################################
2ae906
# dhash
2ae906
##############################################################################
2ae906
2ae906
%package -n libdhash
2ae906
Group: Development/Libraries
2ae906
Summary: Dynamic hash table
2ae906
License: LGPLv3+
2ae906
Version: %{dhash_version}
2ae906
2ae906
%description -n libdhash
2ae906
A hash table which will dynamically resize to achieve optimal storage & access
2ae906
time properties
2ae906
2ae906
%package -n libdhash-devel
2ae906
Summary: Development files for libdhash
2ae906
Group: Development/Libraries
2ae906
Requires: libdhash = %{dhash_version}-%{release}
2ae906
License: LGPLv3+
2ae906
Version: %{dhash_version}
2ae906
2ae906
%description -n libdhash-devel
2ae906
A hash table which will dynamically resize to achieve optimal storage & access
2ae906
time properties
2ae906
2ae906
%post -n libdhash -p /sbin/ldconfig
2ae906
%postun -n libdhash -p /sbin/ldconfig
2ae906
2ae906
%files -n libdhash
2ae906
%defattr(-,root,root,-)
2ae906
%doc COPYING COPYING.LESSER
2ae906
%{_libdir}/libdhash.so.*
2ae906
2ae906
%files -n libdhash-devel
2ae906
%defattr(-,root,root,-)
2ae906
%{_includedir}/dhash.h
2ae906
%{_libdir}/libdhash.so
2ae906
%{_libdir}/pkgconfig/dhash.pc
2ae906
%doc dhash/README.dhash
2ae906
%doc dhash/examples/*.c
2ae906
2ae906
2ae906
##############################################################################
2ae906
# collection
2ae906
##############################################################################
2ae906
%package -n libcollection
2ae906
Summary: Collection data-type for C
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
Version: %{collection_version}
2ae906
2ae906
%description -n libcollection
2ae906
A data-type to collect data in a hierarchical structure for easy iteration
2ae906
and serialization
2ae906
2ae906
%package -n libcollection-devel
2ae906
Summary: Development files for libcollection
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
Requires: libcollection = %{collection_version}-%{release}
2ae906
Version: %{collection_version}
2ae906
2ae906
%description -n libcollection-devel
2ae906
A data-type to collect data in a hierarchical structure for easy iteration
2ae906
and serialization
2ae906
2ae906
%post -n libcollection -p /sbin/ldconfig
2ae906
%postun -n libcollection -p /sbin/ldconfig
2ae906
2ae906
2ae906
%files -n libcollection
2ae906
%defattr(-,root,root,-)
2ae906
%doc COPYING
2ae906
%doc COPYING.LESSER
2ae906
%{_libdir}/libcollection.so.*
2ae906
2ae906
%files -n libcollection-devel
2ae906
%defattr(-,root,root,-)
2ae906
%{_includedir}/collection.h
2ae906
%{_includedir}/collection_tools.h
2ae906
%{_includedir}/collection_queue.h
2ae906
%{_includedir}/collection_stack.h
2ae906
%{_libdir}/libcollection.so
2ae906
%{_libdir}/pkgconfig/collection.pc
2ae906
%doc collection/doc/html/
2ae906
2ae906
2ae906
##############################################################################
2ae906
# ref_array
2ae906
##############################################################################
2ae906
2ae906
%package -n libref_array
2ae906
Summary: A refcounted array for C
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
Version: %{ref_array_version}
2ae906
2ae906
%description -n libref_array
2ae906
A dynamically-growing, reference-counted array
2ae906
2ae906
%package -n libref_array-devel
2ae906
Summary: Development files for libref_array
2ae906
Group: Development/Libraries
2ae906
Requires: libref_array = %{ref_array_version}-%{release}
2ae906
License: LGPLv3+
2ae906
Version: %{ref_array_version}
2ae906
2ae906
%description -n libref_array-devel
2ae906
A dynamically-growing, reference-counted array
2ae906
2ae906
%post -n libref_array -p /sbin/ldconfig
2ae906
%postun -n libref_array -p /sbin/ldconfig
2ae906
2ae906
%files -n libref_array
2ae906
%defattr(-,root,root,-)
2ae906
%doc COPYING
2ae906
%doc COPYING.LESSER
2ae906
%{_libdir}/libref_array.so.*
2ae906
2ae906
%files -n libref_array-devel
2ae906
%defattr(-,root,root,-)
2ae906
%{_includedir}/ref_array.h
2ae906
%{_libdir}/libref_array.so
2ae906
%{_libdir}/pkgconfig/ref_array.pc
2ae906
%doc refarray/README.ref_array
2ae906
%doc refarray/doc/html/
2ae906
2ae906
2ae906
##############################################################################
2ae906
# basicobjects
2ae906
##############################################################################
2ae906
2ae906
%package -n libbasicobjects
2ae906
Summary: Basic object types for C
2ae906
Group: Development/Libraries
2ae906
License: GPLv3+
2ae906
Version: %{basicobjects_version}
2ae906
2ae906
%description -n libbasicobjects
2ae906
Basic object types
2ae906
2ae906
%package -n libbasicobjects-devel
2ae906
Summary: Development files for libbasicobjects
2ae906
Group: Development/Libraries
2ae906
License: GPLv3+
2ae906
Version: %{basicobjects_version}
2ae906
Requires: libbasicobjects = %{basicobjects_version}-%{release}
2ae906
2ae906
%description -n libbasicobjects-devel
2ae906
Basic object types
2ae906
2ae906
%post -n libbasicobjects -p /sbin/ldconfig
2ae906
%postun -n libbasicobjects -p /sbin/ldconfig
2ae906
2ae906
%files -n libbasicobjects
2ae906
%defattr(-,root,root,-)
2ae906
%doc COPYING
2ae906
%doc COPYING.LESSER
2ae906
%{_libdir}/libbasicobjects.so.*
2ae906
2ae906
%files -n libbasicobjects-devel
2ae906
%defattr(-,root,root,-)
2ae906
%{_includedir}/simplebuffer.h
2ae906
%{_libdir}/libbasicobjects.so
2ae906
%{_libdir}/pkgconfig/basicobjects.pc
2ae906
2ae906
##############################################################################
2ae906
# ini_config
2ae906
##############################################################################
2ae906
2ae906
%package -n libini_config
2ae906
Summary: INI file parser for C
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
Version: %{ini_config_version}
2ae906
2ae906
%description -n libini_config
2ae906
Library to process config files in INI format into a libcollection data
2ae906
structure
2ae906
2ae906
%package -n libini_config-devel
2ae906
Summary: Development files for libini_config
2ae906
Group: Development/Libraries
2ae906
License: LGPLv3+
2ae906
Requires: libini_config = %{ini_config_version}-%{release}
2ae906
Requires: libcollection-devel = %{collection_version}-%{release}
2ae906
Requires: libref_array-devel = %{ref_array_version}-%{release}
2ae906
Requires: libbasicobjects-devel = %{basicobjects_version}-%{release}
2ae906
Version: %{ini_config_version}
2ae906
2ae906
%description -n libini_config-devel
2ae906
Library to process config files in INI format into a libcollection data
2ae906
structure
2ae906
2ae906
%post -n libini_config -p /sbin/ldconfig
2ae906
%postun -n libini_config -p /sbin/ldconfig
2ae906
2ae906
%files -n libini_config
2ae906
%defattr(-,root,root,-)
2ae906
%doc COPYING
2ae906
%doc COPYING.LESSER
2ae906
%{_libdir}/libini_config.so.*
2ae906
2ae906
%files -n libini_config-devel
2ae906
%defattr(-,root,root,-)
2ae906
%{_includedir}/ini_config.h
2ae906
%{_includedir}/ini_comment.h
2ae906
%{_includedir}/ini_configmod.h
2ae906
%{_includedir}/ini_configobj.h
2ae906
%{_includedir}/ini_valueobj.h
2ae906
%{_libdir}/libini_config.so
2ae906
%{_libdir}/pkgconfig/ini_config.pc
2ae906
%doc ini/doc/html/
2ae906
2ae906
2ae906
##############################################################################
2ae906
# Build steps
2ae906
##############################################################################
2ae906
2ae906
%prep
2ae906
%setup -q
9bfdce
9bfdce
for p in %patches ; do
9bfdce
    %__patch -p1 -i $p
9bfdce
done
2ae906
2ae906
%build
2ae906
autoreconf -ivf
2ae906
%configure \
2ae906
    --disable-static
2ae906
2ae906
make %{?_smp_mflags} all docs
2ae906
2ae906
%check
2ae906
make %{?_smp_mflags} check
2ae906
2ae906
%install
2ae906
rm -rf $RPM_BUILD_ROOT
2ae906
2ae906
make install DESTDIR=$RPM_BUILD_ROOT
2ae906
2ae906
# Remove .la files created by libtool
2ae906
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
2ae906
2ae906
# Remove the example files from the output directory
2ae906
# We will copy them directly from the source directory
2ae906
# for packaging
2ae906
rm -f \
2ae906
    $RPM_BUILD_ROOT/usr/share/doc/ding-libs/README.* \
2ae906
    $RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_example.c \
2ae906
    $RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_test.c
2ae906
2ae906
# Remove document install script. RPM is handling this
2ae906
rm -f */doc/html/installdox
2ae906
2ae906
%clean
2ae906
rm -rf $RPM_BUILD_ROOT
2ae906
2ae906
%changelog
9bfdce
* Thu Jun  7 2018 Michal Židek <mzidek@redhat.com> - 0.6.1-32
9bfdce
- Previous change in spec file broke the application of downstream only patch
9bfdce
- Related: rhbz#1507607 - ding-libs: libini_config: `ini_config_augment` reports errors on match failure
9bfdce
9bfdce
* Thu Jun  7 2018 Michal Židek <mzidek@redhat.com> - 0.6.1-31
9bfdce
- Resolves: rhbz#1507607 - ding-libs: libini_config: `ini_config_augment` reports errors on match failure
9bfdce
9bfdce
* Thu Jun 07 2018 Michal Židek  <mzidek@redhat.com> - 0.6.1-30
9bfdce
- Adopting to use Downstream Helper for bellow BZ backport
9bfdce
- Related: rhbz#1507607 - ding-libs: libini_config: `ini_config_augment` reports errors on match failure
9bfdce
2ae906
* Mon Jun 27 2016 Michal Židek  <mzidek@redhat.com> - 0.6.1-29
2ae906
- Fix rpmdiff failure for 'Binary stripping'
2ae906
- Resolves: rhbz#1480270 - Rebase ding-libs to the latest upstream release
2ae906
2ae906
* Mon Jun 27 2016 Michal Židek  <mzidek@redhat.com> - 0.6.1-28
2ae906
- Re-add the soname hack
2ae906
- Resolves: rhbz#1480270 - Rebase ding-libs to the latest upstream release
2ae906
2ae906
* Mon Jun 27 2016 Jakub Hrozek <jhrozek@redhat.com> - 0.5.0.1-27
2ae906
- Re-add the soname hack
2ae906
- Resolves: rhbz#1290382 - Rebase ding-libs to the latest available upstream
2ae906
2ae906
* Wed Jun 22 2016 Jakub Hrozek <jhrozek@redhat.com> - 0.5.0.1-26
2ae906
- Resolves: rhbz#1290382 - Rebase ding-libs to the latest available upstream
2ae906
2ae906
* Tue Jun 23 2015 Jakub Hrozek <jhrozek@redhat.com> - 0.5.0.1-25
2ae906
- Resolves: rhbz#1205557 - Include the latest upstream ding-libs release in 7.2
2ae906
- Port the SONAME hack
2ae906
2ae906
* Thu Sep 11 2014 Jakub Hrozek <jhrozek@redhat.com> - 0.4.0.1-24
2ae906
- Fix ABI breakage that affected gssproxy
2ae906
- Related: rhbz#1109856 - Rebase ding-libs to 0.4.0
2ae906
2ae906
* Thu Jul 24 2014 Jakub Hrozek <jhrozek@redhat.com> - 0.4.0.1-23
2ae906
- Resolves: rhbz#1109856 - Rebase ding-libs to 0.4.0
2ae906
2ae906
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 0.3.0.1-22
2ae906
- Mass rebuild 2014-01-24
2ae906
2ae906
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.3.0.1-21
2ae906
- Mass rebuild 2013-12-27
2ae906
2ae906
* Fri Sep 27 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0.1-20
2ae906
- Apply a patch by Dmitri Pal to strip trailing whitespace
2ae906
- Resolves: rhbz#1012434 - libiniconfig doesn't trim trailing whitespace
2ae906
2ae906
* Tue Jul 16 2013 Ondrej Kos <okos@redhat.com> - 0.3.0.1-18
2ae906
- Apply patch to stop generating doxygen timestamps
2ae906
- Apply patch to include correct libini_config file
2ae906
2ae906
* Thu May 23 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0.1-17
2ae906
- Apply patch by Ondrej Kos to bump libtool version info
2ae906
2ae906
* Fri Apr 05 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0.1-16
2ae906
- Fix libiniconfig_devel Requires
2ae906
2ae906
* Thu Apr 04 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0.1-15
2ae906
- Increase the release number to -15 to allow clean upgrade path from
2ae906
  0.2 since some of the components kept their version the same in 0.3
2ae906
2ae906
* Mon Apr 01 2013 Stephen Gallagher <sgallagh@redhat.com> - 0.3.0.1-3
2ae906
- Bumping revision to fix build glitch
2ae906
2ae906
* Fri Mar 29 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0.1-1
2ae906
- New upstream release 0.3.0.1
2ae906
- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.3.0.1
2ae906
- obsoletes patch0001
2ae906
2ae906
* Thu Mar 28 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0-2
2ae906
- Remove cast to allow INI to work on 32bits
2ae906
2ae906
* Thu Mar 28 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.3.0-1
2ae906
- New upstream release 0.3.0
2ae906
- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.3.0
2ae906
2ae906
* Mon Mar 25 2013 Jakub Hrozek <jhrozek@redhat.com> - 0.2.91-14
2ae906
- include a patch to get rid of autoreconf warnings
2ae906
- run autoreconf before configure
2ae906
- Resolves: #925258
2ae906
2ae906
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.91-13
2ae906
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
2ae906
2ae906
* Wed Oct 31 2012 Ondrej Kos <okos@redhat.com> - 0.2.91-12
2ae906
- Fixes missing devel dependency
2ae906
2ae906
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.91-11
2ae906
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2ae906
2ae906
* Mon May 28 2012 Jan Zeleny <jzeleny@redhat.com> - 0.2.91-10
2ae906
- a bunch of fixes in spec file
2ae906
2ae906
* Fri May 25 2012 Jan Zeleny <jzeleny@redhat.com> - 0.2.91-9
2ae906
- Bumped the release number to 9 for smooth upgrade
2ae906
2ae906
* Fri May 25 2012 Jan Zeleny <jzeleny@redhat.com> - 0.2.91-1
2ae906
- Rebase to 0.3.0beta1, changelog available at
2ae906
  https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.2.91
2ae906
2ae906
* Tue Mar 06 2012 Stephen Gallagher <sgallagh@redhat.com> - 0.1.3-8
2ae906
- Make path_concat return empty string on ENOBUFS
2ae906
2ae906
* Tue Mar 06 2012 Stephen Gallagher <sgallagh@redhat.com> - 0.1.3-7
2ae906
- Fix off-by-one bug in path_concat()
2ae906
- Resolves: rhbz#799347 - path_utils:test_path_concat_neg fails on 64-bit big
2ae906
                          endians
2ae906
2ae906
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.3-6
2ae906
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2ae906
2ae906
* Thu Sep 15 2011 Stephen Gallagher <sgallagh@redhat.com> - 0.1.3-5
2ae906
- New upstream release 0.1.3
2ae906
- Fixes a serious issue with libdhash and large initial hash sizes
2ae906
2ae906
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-4
2ae906
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2ae906
2ae906
* Fri Oct 15 2010 Stephen Gallagher <sgallagh@redhat.com> - 0.1.2-3
2ae906
- New upsteam release 0.1.2
2ae906
- Fixes a serious issue with libdhash where hash_enter() would never update
2ae906
- existing entries for a key.
2ae906
2ae906
* Fri Sep 24 2010 Stephen Gallagher <sgallagh@redhat.com> - 0.1.1-2
2ae906
- Fix invalid source URL
2ae906
2ae906
* Thu Sep 23 2010 Stephen Gallagher <sgallagh@redhat.com> - 0.1.1-1
2ae906
- Initial release of ding-libs