From 67c9f9b4a1db45159e710c152deb3d12319bea35 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 11 Aug 2010 16:44:56 -0400 Subject: ini_config: Adding RPM build targets --- ini/Makefile.am | 29 ++++++++++++- ini/configure.ac | 2 +- ini/contrib/libini_config.spec.in | 85 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 ini/contrib/libini_config.spec.in diff --git a/ini/Makefile.am b/ini/Makefile.am index 6771ade..ac71422 100644 --- a/ini/Makefile.am +++ b/ini/Makefile.am @@ -38,7 +38,8 @@ dist_noinst_DATA = \ ini.conf \ ini.d/real.conf \ ini.d/test.conf \ - m4 + m4 \ + contrib/libini_config.spec.in dist_include_HEADERS = \ ini_config.h @@ -96,3 +97,29 @@ tests: all $(check_PROGRAMS) clean-local: rm -Rf doc + +builddir ?= . +RPMBUILD ?= $(PWD)/rpmbuild + +rpmroot: + mkdir -p $(RPMBUILD)/BUILD + mkdir -p $(RPMBUILD)/RPMS + mkdir -p $(RPMBUILD)/SOURCES + mkdir -p $(RPMBUILD)/SPECS + mkdir -p $(RPMBUILD)/SRPMS + +rpms: dist-gzip rpmroot + cp $(builddir)/contrib/libini_config.spec $(RPMBUILD)/SPECS + cp $(distdir).tar.gz $(RPMBUILD)/SOURCES + cd $(RPMBUILD); \ + rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/libini_config.spec + +# make srpms will use the old digest algorithm to be compatible +# with RHEL5 +srpm: dist-gzip rpmroot + cp $(builddir)/contrib/libini_config.spec $(RPMBUILD)/SPECS + cp $(distdir).tar.gz $(RPMBUILD)/SOURCES + cd $(RPMBUILD); \ + rpmbuild --define "_topdir $(RPMBUILD)" \ + --define _source_filedigest_algorithm=1 \ + -bs SPECS/libini_config.spec diff --git a/ini/configure.ac b/ini/configure.ac index 29814a2..ddb3a1f 100644 --- a/ini/configure.ac +++ b/ini/configure.ac @@ -30,5 +30,5 @@ AC_DEFINE([MAX_KEY], [1024], [Max length of the key in the INI file.]) AC_PATH_PROG([DOXYGEN], [doxygen], [false]) AM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ]) -AC_CONFIG_FILES([Makefile ini_config.cfg.doxy ini_config.pc]) +AC_CONFIG_FILES([Makefile ini_config.cfg.doxy ini_config.pc contrib/libini_config.spec]) AC_OUTPUT diff --git a/ini/contrib/libini_config.spec.in b/ini/contrib/libini_config.spec.in new file mode 100644 index 0000000..81d3ad0 --- /dev/null +++ b/ini/contrib/libini_config.spec.in @@ -0,0 +1,85 @@ +Name: @PACKAGE_NAME@ +Version: @PACKAGE_VERSION@ +Release: 0%{?dist} +Summary: INI file parser for C +Group: Development/Libraries +License: LGPLv3+ +URL: http://fedorahosted.org/sssd/ +Source0: %{name}-%{version}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +### Patches ### + +### Dependencies ### + +### Build Dependencies ### +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: m4 +BuildRequires: libcollection-devel +BuildRequires: libpath_utils-devel +BuildRequires: libref_array-devel +BuildRequires: doxygen + +%description +Library to process config files in INI format into a libcollection data +structure + +%package devel +Summary: Development files for libini_config +Group: Development/Libraries +License: LGPLv3+ +Requires: libini_config = %{version}-%{release} + +%description devel +Library to process config files in INI format into a libcollection data +structure + +%prep +%setup -q + +%build +%configure \ + --disable-static \ + --disable-rpath + +make %{?_smp_mflags} all docs + +%check +make %{?_smp_mflags} check + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT + +# Remove .la files created by libtool +rm -f $RPM_BUILD_ROOT/%{_libdir}/libini_config.la + +# Remove document install script. RPM is handling this +rm -f doc/html/installdox + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%doc COPYING +%doc COPYING.LESSER +%{_libdir}/libini_config.so.2 +%{_libdir}/libini_config.so.2.0.0 + +%files devel +%defattr(-,root,root,-) +%{_includedir}/ini_config.h +%{_libdir}/libini_config.so +%{_libdir}/pkgconfig/ini_config.pc +%doc doc/html/ + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%changelog +* Wed Aug 11 2010 Stephen Gallagher - @PACKAGE_VERSION@-0 +- Automated build of libcollection -- cgit