Set fourth file version digit to signify rebuild.
[shibboleth/cpp-xmltooling.git] / xmltooling.spec.in
index 8b44888..b8f5f8d 100644 (file)
@@ -1,25 +1,31 @@
 Name:          @PACKAGE_NAME@
 Version:       @PACKAGE_VERSION@
 Release:       1
 Name:          @PACKAGE_NAME@
 Version:       @PACKAGE_VERSION@
 Release:       1
-Summary:    OpenSAML XMLTooling library
-Group:         System Environment/Libraries
-Vendor:                Internet2
+Summary:       OpenSAML XMLTooling library
+Group:         Development/Libraries/C and C++
+Vendor:                Shibboleth Consortium
 License:       Apache 2.0
 URL:           http://www.opensaml.org/
 License:       Apache 2.0
 URL:           http://www.opensaml.org/
-Source:            %{name}-%{version}.tar.gz
+Source:                %{name}-%{version}.tar.bz2
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
-%if 0%{?suse_version} > 1030
-BuildRequires:  libXerces-c-devel >= 2.8.0
-BuildRequires:  libxml-security-c-devel >= 1.4.0
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+BuildRequires:  xerces-c-devel >= 3.1
+%else
+BuildRequires:  libxerces-c-devel >= 3.1
+%endif
+BuildRequires:  libxml-security-c-devel >= 1.7.3
 %{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
 %{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
-%{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
+%{!?_with_log4cpp:BuildRequires: liblog4shib-devel >= 1.0.4}
+BuildRequires: gcc-c++, openssl-devel, boost-devel >= 1.32.0
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+BuildRequires: libcurl-openssl-devel >= 7.21.7
+Requires: libcurl-openssl >= 7.21.7
 %else
 %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}
+BuildRequires: curl-devel >= 7.10.6
+%endif
+%if 0%{?suse_version} > 1000
+BuildRequires: pkg-config
 %endif
 %endif
-BuildRequires: gcc-c++, openssl-devel, curl-devel >= 7.10.6
 %{!?_without_doxygen:BuildRequires: doxygen}
 %if "%{_vendor}" == "redhat"
 BuildRequires: redhat-rpm-config
 %{!?_without_doxygen:BuildRequires: doxygen}
 %if "%{_vendor}" == "redhat"
 BuildRequires: redhat-rpm-config
@@ -31,6 +37,12 @@ BuildRequires: redhat-rpm-config
 %define pkgdocdir %{_docdir}/%{name}-%{version}
 %endif
 
 %define pkgdocdir %{_docdir}/%{name}-%{version}
 %endif
 
+# Prevent the RHEL/etc 6+ package from requiring a vanilla libcurl.
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+%filter_from_requires /libcurl\.so\..*/d
+%filter_setup
+%endif
+
 %description
 The XMLTooling library contains generic XML parsing and processing
 classes based on the Xerces-C DOM. It adds more powerful facilities
 %description
 The XMLTooling library contains generic XML parsing and processing
 classes based on the Xerces-C DOM. It adds more powerful facilities
@@ -38,14 +50,16 @@ for declaring element- and type-specific API and implementation
 classes to add value around the DOM, as well as signing and encryption
 support.
 
 classes to add value around the DOM, as well as signing and encryption
 support.
 
-%if 0%{?suse_version} > 1030
-%package -n lib@PACKAGE_NAME@5
+%package -n lib@PACKAGE_NAME@6
 Summary:    OpenSAML XMLTooling library
 Summary:    OpenSAML XMLTooling library
-Group:      Development/Libraries
-Provides:   @PACKAGE_NAME@ = %{version}
-Obsoletes:  @PACKAGE_NAME@
+Group:      Development/Libraries/C and C++
+Provides:   @PACKAGE_NAME@ = %{version}-%{release}
+Obsoletes:  @PACKAGE_NAME@ < %{version}-%{release}
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+Requires: libcurl-openssl >= 7.21.7
+%endif
 
 
-%description -n lib@PACKAGE_NAME@5
+%description -n lib@PACKAGE_NAME@6
 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
 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
@@ -53,36 +67,29 @@ classes to add value around the DOM, as well as signing and encryption
 support.
 
 This package contains just the shared library.
 support.
 
 This package contains just the shared library.
-%endif
 
 
-%if 0%{?suse_version} > 1030
 %package -n lib@PACKAGE_NAME@-devel
 %package -n lib@PACKAGE_NAME@-devel
-Requires:   lib@PACKAGE_NAME@5 = %version
-Obsoletes:  @PACKAGE_NAME@-devel
+Summary:       XMLTooling development Headers
+Group:         Development/Libraries/C and C++
+Requires:      lib@PACKAGE_NAME@6 = %{version}-%{release}
+Provides:      @PACKAGE_NAME@-devel = %{version}-%{release}
+Obsoletes:     @PACKAGE_NAME@-devel < %{version}-%{release}
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+Requires:  xerces-c-devel >= 3.1
 %else
 %else
-%package devel
-Requires:   %name = %version
+Requires:  libxerces-c-devel >= 3.1
 %endif
 %endif
-Summary: XMLTooling development Headers
-Group: Development/Libraries
-%if 0%{?suse_version} > 1030
-Requires: libXerces-c-devel >= 2.8.0
-Requires: libxml-security-c-devel >= 1.4.0
+Requires: libxml-security-c-devel >= 1.7.3
 %{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
 %{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
-%{!?_with_log4cpp:Requires: liblog4shib-devel}
+%{!?_with_log4cpp:Requires: liblog4shib-devel >= 1.0.4}
+Requires: openssl-devel, boost-devel >= 1.32.0
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+Requires: libcurl-openssl-devel >= 7.21.7
 %else
 %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}
+Requires: curl-devel >= 7.10.6
 %endif
 %endif
-Requires: openssl-devel, curl-devel >= 7.10.6
 
 
-%if 0%{?suse_version} > 1030
 %description -n lib@PACKAGE_NAME@-devel
 %description -n lib@PACKAGE_NAME@-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
 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
@@ -91,11 +98,28 @@ support.
 
 This package includes files needed for development with XMLTooling.
 
 
 This package includes files needed for development with XMLTooling.
 
+%package -n @PACKAGE_NAME@-schemas
+Summary:       XMLTooling schemas and catalog
+Group:         Development/Libraries/C and C++
+
+%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 XML schemas and related files.
+
 %prep
 %setup -q
 
 %build
 %prep
 %setup -q
 
 %build
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+%configure %{?@PACKAGE_NAME@_options} --with-curl=/opt/shibboleth
+%else
 %configure %{?@PACKAGE_NAME@_options}
 %configure %{?@PACKAGE_NAME@_options}
+%endif
 %{__make}
 
 %install
 %{__make}
 
 %install
@@ -110,36 +134,23 @@ This package includes files needed for development with XMLTooling.
 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 
 %ifnos solaris2.8 solaris2.9 solaris2.10
 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 
 %ifnos solaris2.8 solaris2.9 solaris2.10
-%if 0%{?suse_version} > 1030
-%post -n lib@PACKAGE_NAME@5 -p /sbin/ldconfig
-%else
-%post -p /sbin/ldconfig
-%endif
+%post -n lib@PACKAGE_NAME@6 -p /sbin/ldconfig
 %endif
 
 %ifnos solaris2.8 solaris2.9 solaris2.10
 %endif
 
 %ifnos solaris2.8 solaris2.9 solaris2.10
-%if 0%{?suse_version} > 1030
-%postun -n lib@PACKAGE_NAME@5 -p /sbin/ldconfig
-%else
-%postun -p /sbin/ldconfig
-%endif
+%postun -n lib@PACKAGE_NAME@6 -p /sbin/ldconfig
 %endif
 
 %endif
 
-%if 0%{?suse_version} > 1030
-%files -n lib@PACKAGE@5
-%else
-%files
-%endif
+%files -n lib@PACKAGE_NAME@6
 %defattr(-,root,root,-)
 %{_libdir}/*.so.*
 %defattr(-,root,root,-)
 %{_libdir}/*.so.*
+
+%files -n @PACKAGE_NAME@-schemas
+%defattr(-,root,root,-)
 %dir %{_datadir}/xml/@PACKAGE_NAME@
 %{_datadir}/xml/@PACKAGE_NAME@/*
 
 %dir %{_datadir}/xml/@PACKAGE_NAME@
 %{_datadir}/xml/@PACKAGE_NAME@/*
 
-%if 0%{?suse_version} > 1030
 %files -n lib@PACKAGE_NAME@-devel
 %files -n lib@PACKAGE_NAME@-devel
-%else
-%files devel
-%endif
 %defattr(-,root,root,-)
 %{_includedir}/*
 %{_libdir}/*.so
 %defattr(-,root,root,-)
 %{_includedir}/*
 %{_libdir}/*.so
@@ -147,8 +158,27 @@ This package includes files needed for development with XMLTooling.
 %doc %{pkgdocdir}
 
 %changelog
 %doc %{pkgdocdir}
 
 %changelog
-* Thu Dec 24 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.4-1
-- Add pkg-config support
+* Thu Feb 26 2015 Scott Cantor <cantor.2@osu.edu> - 1.5.4-1
+- Require Xerces 3.1 even on older platforms
+- Add Amazon platform checks
+- Switch to bz2 source to avoid future SuSE issues
+
+* Tue May 13 2014 Ian Young <ian@iay.org.uk> - 1.5.3-1.2
+- Update package dependencies for RHEL/CentOS 7
+
+* Wed Dec 14 2011 Scott Cantor  <cantor.2@osu.edu>  - 1.5-1
+- Update lib package number.
+- Add boost-devel dependency.
+
+* Sun Jun 26 2011  Scott Cantor  <cantor.2@osu.edu>  - 1.4.2-1
+- Override curl build for RHEL6.
+
+* Tue Oct 26 2010  Scott Cantor  <cantor.2@osu.edu>  - 1.4-1
+- Update version
+- Add pkg-config support.
+- Sync package names for side by side install.
+- Adjust Xerces dependency name and Group setting
+- Split out schemas into separate subpackage
 
 * Mon Aug 31 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.3-1
 - Bump soname for SUSE packaging.
 
 * Mon Aug 31 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.3-1
 - Bump soname for SUSE packaging.