Set default file attrs for schemas.
[shibboleth/cpp-xmltooling.git] / xmltooling.spec.in
index db333f8..a29a849 100644 (file)
@@ -1,5 +1,5 @@
-Name:          xmltooling
-Version:       @-VERSION-@
+Name:          @PACKAGE_NAME@
+Version:       @PACKAGE_VERSION@
 Release:       1
 Summary:    OpenSAML XMLTooling library
 Group:         System Environment/Libraries
@@ -9,16 +9,18 @@ URL:          http://www.opensaml.org/
 Source:            %{name}-%{version}.tar.gz
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
 %if 0%{?suse_version} > 1030
-%define libpkgprefix lib
 BuildRequires:  libXerces-c-devel >= 2.8.0
 %else
-%define libpkgprefix
-BuildRequires:  xerces%{?xercesver}-c-devel >= 2.8.0
+BuildRequires:  libxerces-c-devel >= 2.8.0
 %endif
-BuildRequires: %{libpkgprefix}xml-security-c-devel >= 1.4.0
+BuildRequires:  libxml-security-c-devel >= 1.4.0
+%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
 BuildRequires: gcc-c++, openssl-devel, curl-devel >= 7.10.6
-%{?_with_log4cpp:BuildRequires:        %{libpkgprefix}log4cpp-devel >= 1.0}
-%{!?_with_log4cpp:BuildRequires: %{libpkgprefix}log4shib-devel}
+%{!?_without_doxygen:BuildRequires: doxygen}
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
 
 %if "%{_vendor}" == "suse"
 %define pkgdocdir %{_docdir}/%{name}
@@ -33,13 +35,13 @@ for declaring element- and type-specific API and implementation
 classes to add value around the DOM, as well as signing and encryption
 support.
 
-%if 0%{?suse_version} > 1030
-%package -n libxmltooling12
+%package -n lib@PACKAGE_NAME@5
 Summary:    OpenSAML XMLTooling library
 Group:      Development/Libraries
-Provides:   xmltooling = %{version}
+Provides:   @PACKAGE_NAME@ = %{version}
+Obsoletes:  @PACKAGE_NAME@
 
-%description -n libxmltooling12
+%description -n lib@PACKAGE_NAME@5
 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
@@ -47,52 +49,56 @@ classes to add value around the DOM, as well as signing and encryption
 support.
 
 This package contains just the shared library.
-%endif
 
+%package -n lib@PACKAGE_NAME@-devel
+Summary:       XMLTooling development Headers
+Group:         Development/Libraries
+Requires:      lib@PACKAGE_NAME@5 = %{version}
+Provides:      @PACKAGE_NAME@-devel = %{version}
+Obsoletes:     @PACKAGE_NAME@-devel
 %if 0%{?suse_version} > 1030
-%package -n libxmltooling-devel
-Requires: libxmltooling12 = %version
+Requires:  libXerces-c-devel >= 2.8.0
 %else
-%package devel
-Requires: %name = %version
+Requires:  libxerces-c-devel >= 2.8.0
 %endif
-Summary: XMLTooling development Headers
-Group: Development/Libraries
-%if 0%{?suse_version} > 1030
-Requires: libXerces-c-devel >= 2.8.0
-%else
-Requires: xerces%{?xercesver}-c-devel >= 2.8.0
-%endif
-Requires: %{libpkgprefix}xml-security-c-devel >= 1.4.0
+Requires: libxml-security-c-devel >= 1.4.0
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: liblog4shib-devel}
 Requires: openssl-devel, curl-devel >= 7.10.6
-%{?_with_log4cpp:Requires: %{libpkgprefix}log4cpp-devel >= 1.0}
-%{!?_with_log4cpp:Requires: %{libpkgprefix}log4shib-devel}
 
-%if 0%{?suse_version} > 1030
-%description -n libxmltooling-devel
-Requires: libxmltooling12 = %version
-%else
-%description
-%endif
+%description -n lib@PACKAGE_NAME@-devel
+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 includes files needed for development with XMLTooling.
+
+%package -n @PACKAGE_NAME@-schemas
+Summary:       XMLTooling schemas and catalog
+Group:         Development/Libraries
+
+%description -n @PACKAGE_NAME@-schemas
 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 includes files needed for development with xmltooling.
+This package includes XML schemas and related files.
 
 %prep
 %setup -q
 
 %build
-%configure %{?xmltooling_options}
+%configure %{?@PACKAGE_NAME@_options}
 %{__make}
 
 %install
 %{__make} install DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir}
 # Don't package unit tester if present.
-%{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/xmltoolingtest
+%{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/@PACKAGE_NAME@test
 
 %check
 %{__make} check
@@ -101,43 +107,37 @@ This package includes files needed for development with xmltooling.
 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 
 %ifnos solaris2.8 solaris2.9 solaris2.10
-%if 0%{?suse_version} > 1030
-%post -n libxmltooling12 -p /sbin/ldconfig
-%else
-%post -p /sbin/ldconfig
-%endif
+%post -n lib@PACKAGE_NAME@5 -p /sbin/ldconfig
 %endif
 
 %ifnos solaris2.8 solaris2.9 solaris2.10
-%if 0%{?suse_version} > 1030
-%postun -n libxmltooling12 -p /sbin/ldconfig
-%else
-%postun -p /sbin/ldconfig
-%endif
+%postun -n lib@PACKAGE_NAME@5 -p /sbin/ldconfig
 %endif
 
-%if 0%{?suse_version} > 1030
-%files -n libxmltooling12
-%else
-%files
-%endif
+%files -n lib@PACKAGE@5
 %defattr(-,root,root,-)
-%{_libdir}/libxmltooling.so.*
-%{_libdir}/libxmltooling-lite.so.*
-%dir %{_datadir}/xml/xmltooling
-%{_datadir}/xml/xmltooling
+%{_libdir}/*.so.*
 
-%if 0%{?suse_version} > 1030
-%files -n libxmltooling-devel
-%else
-%files devel
-%endif
+%files -n @PACKAGE_NAME@-schemas
+%defattr(-,root,root,-)
+%dir %{_datadir}/xml/@PACKAGE_NAME@
+%{_datadir}/xml/@PACKAGE_NAME@/*
+
+%files -n lib@PACKAGE_NAME@-devel
 %defattr(-,root,root,-)
 %{_includedir}/*
 %{_libdir}/*.so
+%{_libdir}/pkgconfig/@PACKAGE_NAME@.pc
 %doc %{pkgdocdir}
 
 %changelog
+* Thu Dec 24 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.4-1
+- Add pkg-config support.
+- Sync package names for side by side install.
+
+* 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