Set fourth file version digit to signify rebuild.
[shibboleth/cpp-xmltooling.git] / xmltooling.spec.in
index 4d17609..b8f5f8d 100644 (file)
-Name:          xmltooling\r
-Summary:       Open source XMLTooling library\r
-Version:       @-VERSION-@\r
-Release:       1\r
-Group:         System Environment/Libraries\r
-Vendor:                Internet2\r
-License:       Apache 2.0\r
-URL:           http://www.opensaml.org/\r
-Source0:       http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz\r
-Source1:       http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz.asc\r
-BuildRoot:     %{_tmppath}/%{name}-%{version}-root\r
-\r
-BuildRequires: xerces-c-devel >= 2.6.1\r
-BuildRequires: xml-security-c-devel >= 1.3.0\r
-BuildRequires: log4cpp-devel >= 0.3.5, cxxtest \r
-\r
-%description\r
-The XMLTooling library contains generic XML parsing and processing\r
-classes based on the Xerces-C DOM. It adds more powerful facilities\r
-for declaring element- and type-specific API and implementation\r
-classes to add value around the DOM, as well as signing and encryption\r
-support.\r
-\r
-This package contains the xmltooling runtime library.\r
-\r
-%package devel\r
-Summary: XMLTooling development Headers\r
-Group: Development/Libraries\r
-Requires: %{name} = %{version}\r
-\r
-%description devel\r
-The XMLTooling library contains generic XML parsing and processing\r
-classes based on the Xerces-C DOM. It adds more powerful facilities\r
-for declaring element- and type-specific API and implementation\r
-classes to add value around the DOM, as well as signing and encryption\r
-support.\r
-\r
-This package contains the headers and other necessary files to build\r
-applications or libraries that use or extend the xmltooling library.\r
-\r
-%prep\r
-%setup -q\r
-\r
-%build\r
-%configure %{?xmltooling_options}\r
-make\r
-\r
-%install\r
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT\r
-rm -rf _docs\r
-\r
-make install DESTDIR=$RPM_BUILD_ROOT\r
-mv $RPM_BUILD_ROOT/usr/doc/xmltooling _docs\r
-\r
-%check || :\r
-make check\r
-\r
-%clean\r
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT\r
-\r
-%post\r
-/sbin/ldconfig\r
-\r
-%postun\r
-/sbin/ldconfig\r
-\r
-%files\r
-%defattr(-,root,root,-)\r
-#%doc _docs/LICENSE.txt _docs/NEWS.txt _docs/README.txt _docs/TODO.txt\r
-%{_bindir}/xmltoolingtest\r
-%{_libdir}/libxmltooling.so.*\r
-%dir %{_datadir}/xml/xmltooling\r
-%{_datadir}/xml/xmltooling\r
-\r
-%files devel\r
-%defattr(-,root,root,-)\r
-%{_includedir}\r
-%{_libdir}/libxmltooling.so\r
-\r
-%changelog\r
-* Wed Apr 12 2006  Scott Cantor  <cantor.2@osu.edu>  - 1.0-1\r
-- First SPEC file based on various versions in existence.\r
+Name:          @PACKAGE_NAME@
+Version:       @PACKAGE_VERSION@
+Release:       1
+Summary:       OpenSAML XMLTooling library
+Group:         Development/Libraries/C and C++
+Vendor:                Shibboleth Consortium
+License:       Apache 2.0
+URL:           http://www.opensaml.org/
+Source:                %{name}-%{version}.tar.bz2
+BuildRoot:     %{_tmppath}/%{name}-%{version}-root
+%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: 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
+BuildRequires: curl-devel >= 7.10.6
+%endif
+%if 0%{?suse_version} > 1000
+BuildRequires: pkg-config
+%endif
+%{!?_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
+
+# 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
+for declaring element- and type-specific API and implementation
+classes to add value around the DOM, as well as signing and encryption
+support.
+
+%package -n lib@PACKAGE_NAME@6
+Summary:    OpenSAML XMLTooling library
+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@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
+classes to add value around the DOM, as well as signing and encryption
+support.
+
+This package contains just the shared library.
+
+%package -n lib@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
+Requires:  libxerces-c-devel >= 3.1
+%endif
+Requires: libxml-security-c-devel >= 1.7.3
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_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
+Requires: curl-devel >= 7.10.6
+%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/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
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+%configure %{?@PACKAGE_NAME@_options} --with-curl=/opt/shibboleth
+%else
+%configure %{?@PACKAGE_NAME@_options}
+%endif
+%{__make}
+
+%install
+%{__make} install DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir}
+# Don't package unit tester if present.
+%{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/@PACKAGE_NAME@test
+
+%check
+%{__make} check
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%post -n lib@PACKAGE_NAME@6 -p /sbin/ldconfig
+%endif
+
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%postun -n lib@PACKAGE_NAME@6 -p /sbin/ldconfig
+%endif
+
+%files -n lib@PACKAGE_NAME@6
+%defattr(-,root,root,-)
+%{_libdir}/*.so.*
+
+%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 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.
+
+* 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.