diff --git a/ding-libs.spec b/ding-libs.spec index 59ea163278ee8030b74937962eb33c9514f6c9d4..718b3256b7125effd0ade36fad4135956765cfb4 100644 --- a/ding-libs.spec +++ b/ding-libs.spec @@ -1,16 +1,5 @@ -%define anolis_release 3 - -Name: ding-libs -Version: 0.6.2 -Release: %{anolis_release}%{?dist} -Summary: "Ding is not GLib" assorted utility libraries -License: LGPLv3+ -URL: https://pagure.io/SSSD/ding-libs -Source0: https://releases.pagure.org/SSSD/ding-libs/%{name}-%{version}.tar.gz - -# If a new upstream release changes some, but not all of these -# version numbers, remember to keep the Release tag in order to -# allow clean upgrades! +%define anolis_release 4 +%global ding_libs_version 0.6.2 %global path_utils_version 0.2.1 %global dhash_version 0.5.0 %global collection_version 0.7.0 @@ -18,11 +7,16 @@ Source0: https://releases.pagure.org/SSSD/ding-libs/%{name}-%{version}.tar.gz %global basicobjects_version 0.1.1 %global ini_config_version 1.3.1 -### Patches ### +Name: ding-libs +Version: %{ding_libs_version} +Release: %{anolis_release}%{?dist} +Summary: "DING is not GNU" helper libraries for SSSD and FreeIPA +License: LGPLv3+ +URL: https://github.com/SSSD/%{name} +Source0: https://github.com/SSSD/%{name}/releases/download/%{ding_libs_version}/%{name}-%{ding_libs_version}.tar.gz -### Dependencies ### -# ding-libs is a meta-package that will pull in all of its own -# sub-packages +BuildRequires: autoconf automake gcc make m4 git libtool pkgconfig +BuildRequires: gettext-devel check-devel doxygen Requires: libpath_utils = %{path_utils_version}-%{release} Requires: libdhash = %{dhash_version}-%{release} Requires: libcollection = %{collection_version}-%{release} @@ -30,30 +24,14 @@ Requires: libref_array = %{ref_array_version}-%{release} Requires: libbasicobjects = %{basicobjects_version}-%{release} Requires: libini_config = %{ini_config_version}-%{release} -### Build Dependencies ### - -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: gettext-devel -BuildRequires: gcc -BuildRequires: git -BuildRequires: libtool -BuildRequires: m4 -BuildRequires: doxygen -BuildRequires: pkgconfig -BuildRequires: check-devel -BuildRequires: make - %description A meta-package that pulls in libcollection, libdhash, libini_config, librefarray libbasicobjects, and libpath_utils. %package devel -Summary: Development packages for ding-libs +Summary: Development packages for %{name} License: LGPLv3+ -# ding-libs is a meta-package that will pull in all of its own -# sub-packages Requires: libpath_utils-devel = %{path_utils_version}-%{release} Requires: libdhash-devel = %{dhash_version}-%{release} Requires: libcollection-devel = %{collection_version}-%{release} @@ -65,10 +43,6 @@ Requires: libini_config-devel = %{ini_config_version}-%{release} A meta-package that pulls in development libraries for libcollection, libdhash, libini_config, librefarray and libpath_utils. -############################################################################## -# Path Utils -############################################################################## - %package -n libpath_utils Summary: Filesystem Path Utilities License: LGPLv3+ @@ -77,45 +51,57 @@ Version: %{path_utils_version} %description -n libpath_utils Utility functions to manipulate filesystem pathnames -%package -n libpath_utils-devel -Summary: Development files for libpath_utils -Requires: libpath_utils = %{path_utils_version}-%{release} +%package -n libdhash +Summary: Dynamic hash table License: LGPLv3+ -Version: %{path_utils_version} +Version: %{dhash_version} -%description -n libpath_utils-devel -Utility functions to manipulate filesystem pathnames +%description -n libdhash +A hash table which will dynamically resize to achieve optimal storage & access +time properties -%ldconfig_scriptlets -n libpath_utils +%package -n libcollection +Summary: Collection data-type for C +License: LGPLv3+ +Version: %{collection_version} -%files -n libpath_utils -%doc COPYING COPYING.LESSER -%dir %{abidir} -%{_libdir}/libpath_utils.so.1 -%{_libdir}/libpath_utils.so.1.0.1 -%{abidir}/libpath_utils.dump +%description -n libcollection +A data-type to collect data in a hierarchical structure for easy iteration +and serialization +%package -n libref_array +Summary: A refcounted array for C +License: LGPLv3+ +Version: %{ref_array_version} -%files -n libpath_utils-devel -%{_includedir}/path_utils.h -%{_libdir}/libpath_utils.so -%{_libdir}/pkgconfig/path_utils.pc -%doc path_utils/README.path_utils -%doc path_utils/doc/html/ +%description -n libref_array +A dynamically-growing, reference-counted array +%package -n libbasicobjects +Summary: Basic object types for C +License: GPLv3+ +Version: %{basicobjects_version} -############################################################################## -# dhash -############################################################################## +%description -n libbasicobjects +Basic object types for C -%package -n libdhash -Summary: Dynamic hash table +%package -n libini_config +Summary: INI file parser for C License: LGPLv3+ -Version: %{dhash_version} +Version: %{ini_config_version} -%description -n libdhash -A hash table which will dynamically resize to achieve optimal storage & access -time properties +%description -n libini_config +Library to process config files in INI format into a libcollection data +structure + +%package -n libpath_utils-devel +Summary: Development files for libpath_utils +Requires: libpath_utils = %{path_utils_version}-%{release} +License: LGPLv3+ +Version: %{path_utils_version} + +%description -n libpath_utils-devel +Utility functions to manipulate filesystem pathnames %package -n libdhash-devel Summary: Development files for libdhash @@ -127,47 +113,88 @@ Version: %{dhash_version} A hash table which will dynamically resize to achieve optimal storage & access time properties +%package -n libcollection-devel +Summary: Development files for libcollection +License: LGPLv3+ +Requires: libcollection = %{collection_version}-%{release} +Version: %{collection_version} + +%description -n libcollection-devel +A data-type to collect data in a hierarchical structure for easy iteration +and serialization + +%package -n libref_array-devel +Summary: Development files for libref_array +Requires: libref_array = %{ref_array_version}-%{release} +License: LGPLv3+ +Version: %{ref_array_version} + +%description -n libref_array-devel +A dynamically-growing, reference-counted array + +%package -n libbasicobjects-devel +Summary: Development files for libbasicobjects +License: GPLv3+ +Version: %{basicobjects_version} +Requires: libbasicobjects = %{basicobjects_version}-%{release} + +%description -n libbasicobjects-devel +Development files for libbasicobjects + +%package -n libini_config-devel +Summary: Development files for libini_config +License: LGPLv3+ +Requires: libini_config = %{ini_config_version}-%{release} +Requires: libcollection-devel = %{collection_version}-%{release} +Requires: libref_array-devel = %{ref_array_version}-%{release} +Requires: libbasicobjects-devel = %{basicobjects_version}-%{release} +Version: %{ini_config_version} + +%description -n libini_config-devel +Library to process config files in INI format into a libcollection data +structure + +%package doc +Summary: Documentation files for %{name} +Requires: libbasicobjects = %{basicobjects_version}-%{release} +Requires: libcollection = %{collection_version}-%{release} +Requires: libdhash = %{dhash_version}-%{release} +Requires: libpath_utils = %{path_utils_version}-%{release} +Requires: libref_array = %{ref_array_version}-%{release} +BuildArch: noarch + +%description doc +The %{name}-doc package contains documentation files for %{name}. + +%ldconfig_scriptlets -n libpath_utils + +%files -n libpath_utils +%dir %{abidir} +%{_libdir}/libpath_utils.so.* +%{abidir}/libpath_utils.dump +%doc COPYING COPYING.LESSER + +%files -n libpath_utils-devel +%{_includedir}/path_utils.h +%{_libdir}/libpath_utils.so +%{_libdir}/pkgconfig/path_utils.pc +%doc path_utils/doc/html/ path_utils/README.path_utils + %ldconfig_scriptlets -n libdhash %files -n libdhash %doc COPYING COPYING.LESSER -%{_libdir}/libdhash.so.1 -%{_libdir}/libdhash.so.1.1.0 +%{_libdir}/libdhash.so.* %{abidir}/libdhash.dump %files -n libdhash-devel %{_includedir}/dhash.h %{_libdir}/libdhash.so %{_libdir}/pkgconfig/dhash.pc -%doc dhash/README.dhash -%doc dhash/examples/*.c - - -############################################################################## -# collection -############################################################################## -%package -n libcollection -Summary: Collection data-type for C -License: LGPLv3+ -Version: %{collection_version} - -%description -n libcollection -A data-type to collect data in a hierarchical structure for easy iteration -and serialization - -%package -n libcollection-devel -Summary: Development files for libcollection -License: LGPLv3+ -Requires: libcollection = %{collection_version}-%{release} -Version: %{collection_version} - -%description -n libcollection-devel -A data-type to collect data in a hierarchical structure for easy iteration -and serialization +%doc dhash/examples/*.c dhash/README.dhash %ldconfig_scriptlets -n libcollection - %files -n libcollection %doc COPYING %doc COPYING.LESSER @@ -175,80 +202,29 @@ and serialization %{abidir}/libcollection.dump %files -n libcollection-devel -%{_includedir}/collection.h -%{_includedir}/collection_tools.h -%{_includedir}/collection_queue.h -%{_includedir}/collection_stack.h +%{_includedir}/collection*.h %{_libdir}/libcollection.so %{_libdir}/pkgconfig/collection.pc %doc collection/doc/html/ - -############################################################################## -# ref_array -############################################################################## - -%package -n libref_array -Summary: A refcounted array for C -License: LGPLv3+ -Version: %{ref_array_version} - -%description -n libref_array -A dynamically-growing, reference-counted array - -%package -n libref_array-devel -Summary: Development files for libref_array -Requires: libref_array = %{ref_array_version}-%{release} -License: LGPLv3+ -Version: %{ref_array_version} - -%description -n libref_array-devel -A dynamically-growing, reference-counted array - %ldconfig_scriptlets -n libref_array %files -n libref_array -%doc COPYING -%doc COPYING.LESSER -%{_libdir}/libref_array.so.1 -%{_libdir}/libref_array.so.1.2.1 +%doc COPYING COPYING.LESSER +%{_libdir}/libref_array.so.* %{abidir}/libref_array.dump %files -n libref_array-devel %{_includedir}/ref_array.h %{_libdir}/libref_array.so %{_libdir}/pkgconfig/ref_array.pc -%doc refarray/README.ref_array -%doc refarray/doc/html/ - -############################################################################## -# basicobjects -############################################################################## - -%package -n libbasicobjects -Summary: Basic object types for C -License: GPLv3+ -Version: %{basicobjects_version} - -%description -n libbasicobjects -Basic object types - -%package -n libbasicobjects-devel -Summary: Development files for libbasicobjects -License: GPLv3+ -Version: %{basicobjects_version} -Requires: libbasicobjects = %{basicobjects_version}-%{release} - -%description -n libbasicobjects-devel -Basic object types +%doc refarray/README.ref_array refarray/doc/html/ %ldconfig_scriptlets -n libbasicobjects %files -n libbasicobjects -%doc COPYING -%doc COPYING.LESSER -%{_libdir}/libbasicobjects.so.0 -%{_libdir}/libbasicobjects.so.0.1.0 +%license COPYING COPYING.LESSER +%{_libdir}/libbasicobjects.so.* %{abidir}/libbasicobjects.dump %files -n libbasicobjects-devel @@ -256,103 +232,51 @@ Basic object types %{_libdir}/libbasicobjects.so %{_libdir}/pkgconfig/basicobjects.pc -############################################################################## -# ini_config -############################################################################## - -%package -n libini_config -Summary: INI file parser for C -License: LGPLv3+ -Version: %{ini_config_version} - -%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 -License: LGPLv3+ -Requires: libini_config = %{ini_config_version}-%{release} -Requires: libcollection-devel = %{collection_version}-%{release} -Requires: libref_array-devel = %{ref_array_version}-%{release} -Requires: libbasicobjects-devel = %{basicobjects_version}-%{release} -Version: %{ini_config_version} - -%description -n libini_config-devel -Library to process config files in INI format into a libcollection data -structure - %ldconfig_scriptlets -n libini_config %files -n libini_config -%doc COPYING -%doc COPYING.LESSER -%{_libdir}/libini_config.so.5 -%{_libdir}/libini_config.so.5.2.1 +%license COPYING COPYING.LESSER +%{_libdir}/libini_config.so.* %{abidir}/libini_config.dump %files -n libini_config-devel -%{_includedir}/ini_config.h -%{_includedir}/ini_configobj.h -%{_includedir}/ini_valueobj.h -%{_includedir}/ini_comment.h -%{_includedir}/ini_configmod.h +%{_includedir}/ini_*.h %{_libdir}/libini_config.so %{_libdir}/pkgconfig/ini_config.pc %doc ini/doc/html/ -%package doc -Summary: Documentation files for %{name} -Requires: libbasicobjects = %{basicobjects_version}-%{release} -Requires: libcollection = %{collection_version}-%{release} -Requires: libdhash = %{dhash_version}-%{release} -Requires: libpath_utils = %{path_utils_version}-%{release} -Requires: libref_array = %{ref_array_version}-%{release} -BuildArch: noarch - -%description doc -The %{name}-doc package contains documentation files for %{name}. - %files doc -%doc README ABOUT-NLS - -############################################################################## -# Build steps -############################################################################## +%doc ABOUT-NLS README %prep -%autosetup -S git +%autosetup -p1 -n %{name}-%{ding_libs_version} %build -autoreconf -ivf -%configure \ - --disable-static +%configure --disable-static -make %{?_smp_mflags} all docs +%make_build all docs %check -make %{?_smp_mflags} check +%make_build check %install -make install DESTDIR=$RPM_BUILD_ROOT +%make_install -# Remove .la files created by libtool rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la -# Remove the example files from the output directory -# We will copy them directly from the source directory -# for packaging rm -f \ - $RPM_BUILD_ROOT/usr/share/doc/ding-libs/README.* \ - $RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_example.c \ - $RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_test.c + $RPM_BUILD_ROOT/usr/share/doc/%{name}/README.* \ + $RPM_BUILD_ROOT/usr/share/doc/%{name}/examples/dhash_example.c \ + $RPM_BUILD_ROOT/usr/share/doc/%{name}/examples/dhash_test.c -# Remove document install script. RPM is handling this rm -f */doc/html/installdox %generate_compatibility_deps %changelog +* Tue Apr 11 2023 Shawn Wang - 0.6.2-4 +- Optimize the spec file + * Sat Dec 17 2022 Chunmei Xu - 0.6.2-3 - fix wrong requires of doc package