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* -