Add Obsoletes for SUSE package renaming.
[shibboleth/cpp-xmltooling.git] / xmltooling.spec.in
index af1aca2..59ce378 100644 (file)
@@ -1,17 +1,35 @@
-Name:          xmltooling
-Summary:       Open source XMLTooling library
-Version:       @-VERSION-@
+Name:          @PACKAGE@
+Version:       @PACKAGE_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
-
-BuildRequires: xerces%{?xercesver}-c-devel >= 2.6.1
-BuildRequires: xml-security-c-devel >= 1.3.1
-BuildRequires: log4cpp-devel >= 0.3.5, cxxtest, doxygen
+%if 0%{?suse_version} > 1030
+BuildRequires:  libXerces-c-devel >= 2.8.0
+BuildRequires:  libxml-security-c-devel >= 1.4.0
+%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
+%else
+BuildRequires:  xerces%{?xercesver}-c-devel >= 2.8.0
+BuildRequires:  xml-security-c-devel >= 1.4.0
+%{?_with_log4cpp:BuildRequires: log4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: log4shib-devel}
+%endif
+BuildRequires: gcc-c++, openssl-devel, curl-devel >= 7.10.6
+%{!?_without_doxygen:BuildRequires: doxygen}
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
+
+%if "%{_vendor}" == "suse"
+%define pkgdocdir %{_docdir}/%{name}
+%else
+%define pkgdocdir %{_docdir}/%{name}-%{version}
+%endif
 
 %description
 The XMLTooling library contains generic XML parsing and processing
@@ -20,75 +38,142 @@ 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 lib@PACKAGE@4
+Summary:    OpenSAML XMLTooling library
+Group:      Development/Libraries
+Provides:   @PACKAGE@ = %{version}
+Obsoletes:  @PACKAGE@
+
+%description -n lib@PACKAGE@4
+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 lib@PACKAGE@-devel
+Requires:   lib@PACKAGE@4 = %version
+Obsoletes:  @PACKAGE@-devel
+%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
+Requires: libxml-security-c-devel >= 1.4.0
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: liblog4shib-devel}
+%else
+Requires: xerces%{?xercesver}-c-devel >= 2.8.0
+Requires: xml-security-c-devel >= 1.4.0
+%{?_with_log4cpp:Requires: log4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: log4shib-devel}
+%endif
+Requires: openssl-devel, curl-devel >= 7.10.6
+
+%if 0%{?suse_version} > 1030
+%description -n lib@PACKAGE@-devel
+%else
 %description devel
+%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
 
 %build
-%configure %{?xmltooling_options}
-make
+%configure %{?@PACKAGE@_options}
+%{__make}
 
 %install
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-rm -rf _docs
-make install DESTDIR=$RPM_BUILD_ROOT
-mv $RPM_BUILD_ROOT/usr/doc/xmltooling _docs
+%{__make} install DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir}
+# Don't package unit tester if present.
+%{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/@PACKAGE@test
 
-%check || :
-make check
+%check
+%{__make} check
 
 %clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%if 0%{?suse_version} > 1030
+%post -n lib@PACKAGE@4 -p /sbin/ldconfig
+%else
+%post -p /sbin/ldconfig
+%endif
+%endif
+
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%if 0%{?suse_version} > 1030
+%postun -n lib@PACKAGE@4 -p /sbin/ldconfig
+%else
+%postun -p /sbin/ldconfig
+%endif
+%endif
+
+%if 0%{?suse_version} > 1030
+%files -n lib@PACKAGE@4
+%else
 %files
+%endif
 %defattr(-,root,root,-)
-%doc _docs/LICENSE.txt _docs/NOTICE.txt
-%{_bindir}/xmltoolingtest
-%{_libdir}/libxmltooling.so.*
-%{_libdir}/libxmltooling-lite.so.*
-%dir %{_datadir}/xml/xmltooling
-%{_datadir}/xml/xmltooling
+%{_libdir}/*.so.*
+%dir %{_datadir}/xml/@PACKAGE@
+%{_datadir}/xml/@PACKAGE@/*
 
+%if 0%{?suse_version} > 1030
+%files -n lib@PACKAGE@-devel
+%else
 %files devel
+%endif
 %defattr(-,root,root,-)
-%{_includedir}
-%{_libdir}/libxmltooling.so
-%{_libdir}/libxmltooling-lite.so
-
-%files docs
-%defattr(644,root,root,755)
-%doc _docs/api/*
+%{_includedir}/*
+%{_libdir}/*.so
+%doc %{pkgdocdir}
 
 %changelog
+* Mon Aug 31 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.3-1
+- Bump soname for SUSE packaging.
+
+* 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.
+
+* Tue Jul 1 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.1-1
+- Bumping for minor update.
+
+* Mon Mar 17 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.0-6
+- Official release.
+
+* Fri Jan 18 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.0-5
+- Release candidate 1.
+
+* Thu Nov 08 2007  Scott Cantor  <cantor.2@osu.edu>  - 1.0-4
+- Second public beta.
+
+* Thu Aug 16 2007  Scott Cantor  <cantor.2@osu.edu>  - 1.0-3
+- First public beta.
+
+* Fri Jul 13 2007  Scott Cantor  <cantor.2@osu.edu>  - 1.0-2
+- Second alpha.
+
 * Wed Apr 12 2006  Scott Cantor  <cantor.2@osu.edu>  - 1.0-1
 - First SPEC file based on various versions in existence.