[libxml2] Spec cleanups and a fix for multiarch support



commit 87b4d6f6105658a99b976f812223c8edf4469265
Author: Daniel Veillard <veillard redhat com>
Date:   Thu Oct 11 14:44:22 2012 +0800

    Spec cleanups and a fix for multiarch support

 libxml.spec.in |   55 ++++++++++++++++++++++++++++++++++++-------------------
 xml2-config.in |    7 ++++++-
 2 files changed, 42 insertions(+), 20 deletions(-)
---
diff --git a/libxml.spec.in b/libxml.spec.in
index 03eb24e..1ffa683 100644
--- a/libxml.spec.in
+++ b/libxml.spec.in
@@ -1,22 +1,22 @@
 Summary: Library providing XML and HTML support
 Name: libxml2
 Version: @VERSION@
-Release: 1
+Release: 1%{?dist}%{?extra_release}
 License: MIT
 Group: Development/Libraries
 Source: ftp://xmlsoft.org/libxml2/libxml2-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
 BuildRequires: python python-devel zlib-devel pkgconfig xz-devel
 URL: http://xmlsoft.org/
 
 %description
-This library allows to manipulate XML files. It includes support 
+This library allows to manipulate XML files. It includes support
 to read, modify and write XML and HTML files. There is DTDs support
 this includes parsing and validation even with complex DtDs, either
 at parse time or later once the document has been modified. The output
 can be a simple SAX stream or and in-memory DOM like representations.
 In this case one can use the built-in XPath and XPointer implementation
-to select subnodes or ranges. A flexible Input/Output mechanism is
+to select sub nodes or ranges. A flexible Input/Output mechanism is
 available, with existing HTTP and FTP modules and combined to an
 URI library.
 
@@ -30,28 +30,36 @@ Requires: pkgconfig
 
 %description devel
 Libraries, include files, etc you can use to develop XML applications.
-This library allows to manipulate XML files. It includes support 
+This library allows to manipulate XML files. It includes support
 to read, modify and write XML and HTML files. There is DTDs support
 this includes parsing and validation even with complex DtDs, either
 at parse time or later once the document has been modified. The output
 can be a simple SAX stream or and in-memory DOM like representations.
 In this case one can use the built-in XPath and XPointer implementation
-to select subnodes or ranges. A flexible Input/Output mechanism is
+to select sub nodes or ranges. A flexible Input/Output mechanism is
 available, with existing HTTP and FTP modules and combined to an
 URI library.
 
+%package static
+Summary: Static library for libxml2
+Group: Development/Libraries
+Requires: libxml2 = %{version}-%{release}
+
+%description static
+Static library for libxml2 provided for specific uses or shaving a few
+microseconds when parsing, do not link to them for generic purpose packages.
+
 %package python
 Summary: Python bindings for the libxml2 library
 Group: Development/Libraries
 Requires: libxml2 = %{version}-%{release}
-Requires: python
 
 %description python
 The libxml2-python package contains a module that permits applications
 written in the Python programming language to use the interface
 supplied by the libxml2 library to manipulate XML files.
 
-This library allows to manipulate XML files. It includes support 
+This library allows to manipulate XML files. It includes support
 to read, modify and write XML and HTML files. There is DTDs support
 this includes parsing and validation even with complex DTDs, either
 at parse time or later once the document has been modified.
@@ -62,29 +70,34 @@ at parse time or later once the document has been modified.
 %build
 %configure
 make %{_smp_mflags}
-gzip -9 ChangeLog
 
 %install
 rm -fr %{buildroot}
 
-%makeinstall
+make install DESTDIR=%{buildroot}
+
+%check
+make check
+
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
+rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
+rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-%{version}/*
+rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-python-%{version}/*
 (cd doc/examples ; make clean ; rm -rf .deps Makefile)
 gzip -9 doc/libxml2-api.xml
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 
 %clean
 rm -fr %{buildroot}
 
-%post
-/sbin/ldconfig
+%post -p /sbin/ldconfig
 
-%postun
-/sbin/ldconfig
+%postun -p /sbin/ldconfig
 
 %files
 %defattr(-, root, root)
 
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO
+%doc AUTHORS NEWS README Copyright TODO
 %doc %{_mandir}/man1/xmllint.1*
 %doc %{_mandir}/man1/xmlcatalog.1*
 %doc %{_mandir}/man3/libxml.3*
@@ -97,7 +110,7 @@ rm -fr %{buildroot}
 %defattr(-, root, root)
 
 %doc %{_mandir}/man1/xml2-config.1*
-%doc AUTHORS ChangeLog.gz NEWS README Copyright
+%doc AUTHORS NEWS README Copyright
 %doc doc/*.html doc/html doc/*.gif doc/*.png
 %doc doc/tutorial doc/libxml2-api.xml.gz
 %doc doc/examples
@@ -108,16 +121,20 @@ rm -fr %{buildroot}
 %doc %{_datadir}/gtk-doc/html/libxml2/*.css
 
 %{_libdir}/lib*.so
-%{_libdir}/*a
 %{_libdir}/*.sh
 %{_includedir}/*
 %{_bindir}/xml2-config
 %{_datadir}/aclocal/libxml.m4
 %{_libdir}/pkgconfig/libxml-2.0.pc
+
+%files static
+%defattr(-, root, root)
+
+%{_libdir}/*a
+
 %files python
 %defattr(-, root, root)
 
-%doc AUTHORS ChangeLog.gz NEWS README Copyright
 %{_libdir}/python*/site-packages/libxml2.py*
 %{_libdir}/python*/site-packages/drv_libxml2.py*
 %{_libdir}/python*/site-packages/libxml2mod*
diff --git a/xml2-config.in b/xml2-config.in
index 1957486..5453ab2 100644
--- a/xml2-config.in
+++ b/xml2-config.in
@@ -3,7 +3,12 @@
 prefix= prefix@
 exec_prefix= exec_prefix@
 includedir= includedir@
-libdir= libdir@
+if [ "`ldd /bin/sh | grep lib64`" = "" ]
+then
+    libdir=${exec_prefix}/lib
+else
+    libdir=${exec_prefix}/lib64
+fi
 
 usage()
 {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]