Optimize makefile and check in draft spec file improvements.
authorScott Cantor <cantor.2@osu.edu>
Thu, 6 Aug 2009 17:25:23 +0000 (17:25 +0000)
committerScott Cantor <cantor.2@osu.edu>
Thu, 6 Aug 2009 17:25:23 +0000 (17:25 +0000)
Makefile.am
xmltooling.spec.in

index ebcdeb3..14c1a5c 100644 (file)
@@ -10,26 +10,29 @@ dist-hook:
        rm -rf `find $(distdir)/xmltoolingtest/data -name .svn`
        rm -rf `find $(distdir)/doc/api -name .svn`
 
+checksum: Portfile $(PACKAGE)-$(VERSION).tar.gz
+       rm -f Portfile.tmp
+       set HASH = `$(SHA1) $(PACKAGE)-$(VERSION).tar.gz`
+       sed < Portfile > Portfile.tmp \
+          -e 's:@CHECKSUM@:${HASH}:'
+       mv Portfile.tmp Portfile
+
 
 SUBDIRS = doc schemas xmltooling xmltoolingtest
 
+GENFILES = xmltooling.spec pkginfo Portfile
+
 if DX_COND_doc
-all-local: doxygen-doc xmltooling.spec pkginfo
+all-local: doxygen-doc $(GENFILES)
 else
-all-local: xmltooling.spec pkginfo
+all-local: $(GENFILES)
 endif
 
 install-data-hook:
        rm -rf $(DESTDIR)$(datadir)/doc/@PACKAGE@/api
        cp -r doc/api $(DESTDIR)$(datadir)/doc/@PACKAGE@
 
-xmltooling.spec: xmltooling.spec.in Makefile
-       rm -f $@.tmp
-       sed < $@.in > $@.tmp \
-           -e 's:@-VERSION-@:${VERSION}:'
-       mv $@.tmp $@
-
-pkginfo: pkginfo.in Makefile
+$(GENFILES): %: %.in Makefile
        rm -f $@.tmp
        sed < $@.in > $@.tmp \
            -e 's:@-VERSION-@:${VERSION}:'
@@ -43,11 +46,9 @@ EXTRA_DIST = $(DX_CONFIG) \
         doxygen.m4 \
         depcomp \
         config_win32.h \
-        xmltooling.spec.in \
-        xmltooling.spec \
-        pkginfo.in \
-        pkginfo \
+        $(GENFILES) \
+        $(GENFILES:%=%.in) \
         depend \
         postinstall
 
-DISTCLEANFILES = xmltooling.spec pkginfo
+DISTCLEANFILES = $(GENFILES)
index b016883..f53f1fb 100644 (file)
@@ -1,12 +1,12 @@
 Name:          xmltooling
-Summary:       Open source XMLTooling library
 Version:       @-VERSION-@
 Release:       1
+Summary:    OpenSAML XMLTooling library
 Group:         System Environment/Libraries
 Vendor:                Internet2
 License:       Apache 2.0
 URL:           http://www.opensaml.org/
-Source0:       %{name}-%{version}.tar.gz
+Source:            %{name}-%{version}.tar.gz
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
 %if 0%{?suse_version} > 1030
 BuildRequires:  libXerces-c-devel >= 2.8.0
@@ -14,7 +14,7 @@ BuildRequires:  libXerces-c-devel >= 2.8.0
 BuildRequires:  xerces%{?xercesver}-c-devel >= 2.8.0
 %endif
 BuildRequires: xml-security-c-devel >= 1.4.0
-BuildRequires: openssl-devel, curl-devel >= 7.10.6
+BuildRequires: gcc-c++, openssl-devel, curl-devel >= 7.10.6
 %{?_with_log4cpp:BuildRequires:        log4cpp-devel >= 1.0}
 %{!?_with_log4cpp:BuildRequires: log4shib-devel}
 
@@ -25,12 +25,31 @@ for declaring element- and type-specific API and implementation
 classes to add value around the DOM, as well as signing and encryption
 support.
 
-This package contains the xmltooling runtime library.
+%if 0%{?suse_version} > 1030
+%package -n libxmltooling12
+Summary:    OpenSAML XMLTooling library
+Group:      Development/Libraries
+Provides:   xmltooling = %{version}
+
+%description -n libxmltooling12
+The XMLTooling library contains generic XML parsing and processing
+classes based on the Xerces-C DOM. It adds more powerful facilities
+for declaring element- and type-specific API and implementation
+classes to add value around the DOM, as well as signing and encryption
+support.
 
+This package contains just the shared library.
+%endif
+
+%if 0%{?suse_version} > 1030
+%package -n libxmltooling-devel
+Requires: libxmltooling12 = %version
+%else
 %package devel
+Requires: %name = %version
+%endif
 Summary: XMLTooling development Headers
 Group: Development/Libraries
-Requires: %{name} = %{version}
 %if 0%{?suse_version} > 1030
 Requires: libXerces-c-devel >= 2.8.0
 %else
@@ -41,23 +60,19 @@ Requires: openssl-devel, curl-devel >= 7.10.6
 %{?_with_log4cpp:Requires: log4cpp-devel >= 1.0}
 %{!?_with_log4cpp:Requires: log4shib-devel}
 
-%description devel
+%if 0%{?suse_version} > 1030
+%description -n libxmltooling-devel
+Requires: libxmltooling12 = %version
+%else
+%description
+%endif
 The XMLTooling library contains generic XML parsing and processing
 classes based on the Xerces-C DOM. It adds more powerful facilities
 for declaring element- and type-specific API and implementation
 classes to add value around the DOM, as well as signing and encryption
 support.
 
-This package contains the headers and other necessary files to build
-applications or libraries that use or extend the xmltooling library.
-
-%package docs
-Summary: XMLTooling API Documentation
-Group: Development/Libraries
-Requires: %{name} = %{version}
-
-%description docs
-XMLTooling Library API documentation generated by doxygen.
+This package includes files needed for development with xmltooling.
 
 %prep
 %setup -q
@@ -67,10 +82,9 @@ XMLTooling Library API documentation generated by doxygen.
 %{__make}
 
 %install
-[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 %{__make} install DESTDIR=$RPM_BUILD_ROOT
-find $RPM_BUILD_ROOT/%{_bindir} -type f |
-  %{__sed} -e "s|$RPM_BUILD_ROOT||" | sort > rpm.binlist
+# Don't package unit tester if present.
+{__rm} $RPM_BUILD_ROOT/%{_bindir}/xmltoolingtest
 
 %check
 %{__make} check
@@ -78,20 +92,41 @@ find $RPM_BUILD_ROOT/%{_bindir} -type f |
 %clean
 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 
-%ifnos solaris2.8 solaris2.9 solaris2.10 
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%if 0%{?suse_version} > 1030
+%post -n libxmltooling12 -p /sbin/ldconfig
+%else
 %post -p /sbin/ldconfig
 %endif
+%endif
 
-%ifnos solaris2.8 solaris2.9 solaris2.10 
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%if 0%{?suse_version} > 1030
+%postun -n libxmltooling12 -p /sbin/ldconfig
+%else
 %postun -p /sbin/ldconfig
 %endif
+%endif
 
-%files -f rpm.binlist
+%if 0%{?suse_version} > 1030
+%files -n libxmltooling12
+%else
+%files
+%endif
 %defattr(-,root,root,-)
 %{_libdir}/libxmltooling.so.*
 %{_libdir}/libxmltooling-lite.so.*
 %dir %{_datadir}/xml/xmltooling
 %{_datadir}/xml/xmltooling
+
+%if 0%{?suse_version} > 1030
+%files -n libxmltooling-devel
+%else
+%files devel
+%endif
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/*.so
 %docdir %{_datadir}/doc/xmltooling
 %{_datadir}/doc/xmltooling/README.txt
 %{_datadir}/doc/xmltooling/LICENSE.txt
@@ -99,21 +134,16 @@ find $RPM_BUILD_ROOT/%{_bindir} -type f |
 %{_datadir}/doc/xmltooling/CURL.LICENSE
 %{_datadir}/doc/xmltooling/LOG4CPP.LICENSE
 %{_datadir}/doc/xmltooling/OPENSSL.LICENSE
-
-%files devel
-%defattr(-,root,root,-)
-%{_includedir}
-%{_libdir}/libxmltooling.so
-%{_libdir}/libxmltooling-lite.so
-
-%files docs
-%defattr(644,root,root,755)
 %doc %{_datadir}/doc/xmltooling/api
 
 %changelog
+* Thu Aug 6 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.2.1-1
+- SuSE conventions
+- Stop packaging unit tester
+
 * Wed Dec 3 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.2-1
 - Bumping for minor update.
-- Fixing SUSE Xerces dependency name.
+- Fixing SuSE Xerces dependency name.
 
 * Tue Jul 1 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.1-1
 - Bumping for minor update.