Package: libcroco
Version: 0.6.2-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu precise ubuntu-patch

Hi folks,

Please find attached a patch to libcroco to transition it to use the
multiarch library paths as described at
<http://wiki.debian.org/Multiarch/Implementation>.  This patch is being
applied in Ubuntu precise.

Since libcroco3 is a dependency of librsvg2-2, it sits fairly low in the
desktop dependency tree, so this will help with the multiarch installability
of a number of relevant cases.

Please note that this patch also addresses bug #462349 about including a
binary in the shared library package.  Even if the executable meets policy's
requirements by changing name for every soname change, it's still
incompatible with multiarch since two binaries from two different
architectures can't occupy the same path.  (I'm also not sure this does meet
the policy requirement, because the library soname is libcroco-0.6.so.3 and
the executable is named csslint-0.6 - what happens when libcroco-0.6.so.4
comes out?)

The changelog entry for this Ubuntu upload is:

  * Build for multiarch.
  * Move csslint to a new libcroco-tools package, for multiarch cleanliness.
  * croco-config.in: libdir is never used, so don't set it at all - this lets
    the executable be the same across architectures and allows the -dev
    package to be Multi-Arch: same.

Thanks for considering the patch.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
=== modified file 'croco-config.in'
--- croco-config.in     2004-07-29 23:30:57 +0000
+++ croco-config.in     2011-10-20 22:13:12 +0000
@@ -4,7 +4,6 @@
 exec_prefix=@exec_prefix@
 exec_prefix_set=no
 includedir=@includedir@
-libdir=@libdir@
 
 usage()
 {

=== modified file 'debian/compat'
--- debian/compat       2009-11-04 10:22:19 +0000
+++ debian/compat       2011-10-20 21:08:34 +0000
@@ -1 +1 @@
-6
+9

=== modified file 'debian/control'
--- debian/control      2009-11-04 10:22:19 +0000
+++ debian/control      2011-10-20 22:14:42 +0000
@@ -1,10 +1,15 @@
+# This file is autogenerated. DO NOT EDIT!
+# 
+# Modifications should be made to debian/control.in instead.
+# This file is regenerated automatically in the clean target.
+
 Source: libcroco
 Section: libs
 Priority: optional
 Maintainer: Sebastien Bacher <seb...@debian.org>
 Uploaders: Debian GNOME Maintainers 
<pkg-gnome-maintain...@lists.alioth.debian.org>, Josselin Mouette 
<j...@debian.org>, Kilian Krause <kil...@debian.org>, Loic Minier 
<l...@dooz.org>, Sebastian Dröge <sl...@debian.org>
-Build-Depends: cdbs,
-               debhelper (>= 6),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper (>= 8.1.3~),
                gnome-pkg-tools (>= 0.7),
                libxml2-dev (>= 2.4.23),
                libglib2.0-dev (>= 2.0),
@@ -16,6 +21,7 @@
 Package: libcroco3-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libcroco3 (= ${binary:Version}),
@@ -47,6 +53,8 @@
 Package: libcroco3
 Section: libs
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Description: a generic Cascading Style Sheet (CSS) parsing and manipulation 
toolkit
@@ -69,3 +77,30 @@
     engine at the moment is libxml2.
  .
  This package contains the shared libraries.
+
+Package: libcroco-tools
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Description: Cascading Style Sheet (CSS) parsing and manipulation toolkit - 
utils
+ Services provided by Libcroco
+  * A parser module that provides
+    o A SAC like API. SAC stands for Simple API for CSS. SAC is an event driven
+      API wich resembles SAX in the xml world.
+    o A CSSOM like API. CSSOM stands for Cascading Style Sheet Object Model. 
+ .
+    The libcroco parser implements the CSS Level 2 specification, the CSS 
+    forward compatibility rules and the CSS cascading rules.
+ .
+  * A CSS2 selection engine
+    Given an xml element node (that obviously comes from an xml document) and
+    a stylesheet cascade, the Libcroco selection engine can evaluate the css 
+    selectors of the cascade and return the style properties associated to 
+    the xml element node.
+ .
+    Note that the xml manipulation toolkit used by the libcroco selection 
+    engine at the moment is libxml2.
+ .
+ This package contains csslint, a standalone utility based on libcroco that
+ can be used for testing CSS correctness.

=== modified file 'debian/control.in'
--- debian/control.in   2009-11-04 10:22:19 +0000
+++ debian/control.in   2011-10-20 22:14:42 +0000
@@ -3,8 +3,8 @@
 Priority: optional
 Maintainer: Sebastien Bacher <seb...@debian.org>
 Uploaders: @GNOME_TEAM@
-Build-Depends: cdbs,
-               debhelper (>= 6),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper (>= 8.1.3~),
                gnome-pkg-tools (>= 0.7),
                libxml2-dev (>= 2.4.23),
                libglib2.0-dev (>= 2.0),
@@ -16,6 +16,7 @@
 Package: libcroco3-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libcroco3 (= ${binary:Version}),
@@ -47,6 +48,8 @@
 Package: libcroco3
 Section: libs
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Description: a generic Cascading Style Sheet (CSS) parsing and manipulation 
toolkit
@@ -69,3 +72,30 @@
     engine at the moment is libxml2.
  .
  This package contains the shared libraries.
+
+Package: libcroco-tools
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Description: Cascading Style Sheet (CSS) parsing and manipulation toolkit - 
utils
+ Services provided by Libcroco
+  * A parser module that provides
+    o A SAC like API. SAC stands for Simple API for CSS. SAC is an event driven
+      API wich resembles SAX in the xml world.
+    o A CSSOM like API. CSSOM stands for Cascading Style Sheet Object Model. 
+ .
+    The libcroco parser implements the CSS Level 2 specification, the CSS 
+    forward compatibility rules and the CSS cascading rules.
+ .
+  * A CSS2 selection engine
+    Given an xml element node (that obviously comes from an xml document) and
+    a stylesheet cascade, the Libcroco selection engine can evaluate the css 
+    selectors of the cascade and return the style properties associated to 
+    the xml element node.
+ .
+    Note that the xml manipulation toolkit used by the libcroco selection 
+    engine at the moment is libxml2.
+ .
+ This package contains csslint, a standalone utility based on libcroco that
+ can be used for testing CSS correctness.

=== added file 'debian/libcroco-tools.install'
--- debian/libcroco-tools.install       1970-01-01 00:00:00 +0000
+++ debian/libcroco-tools.install       2011-10-20 21:56:18 +0000
@@ -0,0 +1 @@
+usr/bin/csslint*

=== modified file 'debian/libcroco3-dev.install'
--- debian/libcroco3-dev.install        2009-11-04 10:22:19 +0000
+++ debian/libcroco3-dev.install        2011-10-20 21:09:04 +0000
@@ -1,6 +1,6 @@
-debian/tmp/usr/include
-debian/tmp/usr/lib/pkgconfig
-debian/tmp/usr/lib/*.so
-debian/tmp/usr/lib/*.la
-debian/tmp/usr/lib/*.a
-debian/tmp/usr/bin/croco*config
+usr/include
+usr/lib/*/pkgconfig
+usr/lib/*/*.so
+usr/lib/*/*.la
+usr/lib/*/*.a
+usr/bin/croco*config

=== modified file 'debian/libcroco3.install'
--- debian/libcroco3.install    2009-11-04 10:22:19 +0000
+++ debian/libcroco3.install    2011-10-20 22:02:29 +0000
@@ -1,2 +1 @@
-debian/tmp/usr/lib/*.so.*
-debian/tmp/usr/bin/csslint*
+usr/lib/*/*.so.*

=== modified file 'debian/rules'
--- debian/rules        2009-11-04 10:22:19 +0000
+++ debian/rules        2011-10-20 21:13:04 +0000
@@ -9,9 +9,9 @@
 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
 
 DEB_DH_MAKESHLIBS_ARGS_ALL += -V
-DEB_CONFIGURE_EXTRA_FLAGS += --disable-gtk-doc
+DEB_CONFIGURE_EXTRA_FLAGS += --disable-gtk-doc \
+       --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 
 common-install-impl::
-       chrpath -d debian/tmp/usr/lib/*.so*
+       chrpath -d debian/tmp/usr/lib/*/*.so*
        chrpath -d debian/tmp/usr/bin/csslint*
-

Reply via email to