<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technicalities &#187; Debian</title>
	<atom:link href="http://www.sirena.org.uk/log/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sirena.org.uk/log</link>
	<description>Just another random blog</description>
	<lastBuildDate>Sat, 21 Jan 2012 23:41:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Oh dear&#8230;</title>
		<link>http://www.sirena.org.uk/log/2009/12/09/oh-dear/</link>
		<comments>http://www.sirena.org.uk/log/2009/12/09/oh-dear/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 13:10:43 +0000</pubDate>
		<dc:creator>Mark Brown</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[dak]]></category>
		<category><![CDATA[free software]]></category>

		<guid isPermaLink="false">http://www.sirena.org.uk/log/?p=145</guid>
		<description><![CDATA[Subject: zlib_1.2.3.3.dfsg-16_amd64.changes REJECTED Reject Reasons: lib32z1: lintian output: 'embedded-zlib ./usr/lib32/libz.so.1.2.3.3', +automatically rejected package. lib32z1: If you have a good reason, you may override this lintian tag. I guess I should&#8217;ve actually reported the lintian bug rather than just ignoring the bogus warning.]]></description>
			<content:encoded><![CDATA[<pre>Subject: zlib_1.2.3.3.dfsg-16_amd64.changes REJECTED

Reject Reasons:
lib32z1: lintian output: 'embedded-zlib ./usr/lib32/libz.so.1.2.3.3',
+automatically rejected package.
lib32z1: If you have a good reason, you may override this lintian tag.</pre>
<p>I guess I should&#8217;ve actually reported the lintian bug rather than just ignoring the bogus warning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirena.org.uk/log/2009/12/09/oh-dear/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>dpkg symbol versioning</title>
		<link>http://www.sirena.org.uk/log/2008/01/09/dpkg-symbol-versioning/</link>
		<comments>http://www.sirena.org.uk/log/2008/01/09/dpkg-symbol-versioning/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 21:03:30 +0000</pubDate>
		<dc:creator>Mark Brown</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[zlib]]></category>

		<guid isPermaLink="false">http://www.sirena.org.uk/log/?p=65</guid>
		<description><![CDATA[About a month ago I added symbol version information to the zlib package, allowing dpkg-shlibdeps to calculate more relaxed dependencies for packages using the library. The results have been very satisfying so far &#8211; of the 1784 packages depending on zlib1g on amd64: 532 depend on zlib1g 1:1.2.3.3.dfsg-1, the version which introduced support for _FILE_OFFSET_BITS=64 [...]]]></description>
			<content:encoded><![CDATA[<p>About a month ago I added <a href="http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps">symbol version information</a> to the zlib package, allowing dpkg-shlibdeps to calculate more relaxed dependencies for packages using the library. The results have been very satisfying so far &#8211; of the 1784 packages depending on zlib1g on amd64:</p>
<ul>
<li> 532 depend on zlib1g 1:1.2.3.3.dfsg-1, the version which introduced <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=234237">support for _FILE_OFFSET_BITS=64</a> and the version which packages that were built before zlib1g had symbol version information will depend on.</li>
<li>333 depend on version 1:1.2.1, which predates sarge let alone etch.</li>
<li>74 depend on the even earlier version 1:1.1.4-1.</li>
<li>843 packages have an unversioned dependency on zlib1g &#8211; a quick glance at some of these indicates that (as I would expect) they either don&#8217;t actually link against zlib directly or do but don&#8217;t use any symbols from it.</li>
<li>The remaining two packages are the -dev and -dbg packages which have an exact dependency on the library package they were built against.</li>
</ul>
<p>Of course, zlib is a particularly good use case for this &#8211; both API and ABI are extremely stable and most of the changes in interface are in rarely used features &#8211; but it&#8217;s still good to see it working in practice. I don&#8217;t need to worry nearly so much as I would have done previously about keeping other packages out of testing.</p>
<p>If you maintain a library written in C I would encourage you to take a look at implementing this, it&#8217;s <a href="http://wiki.debian.org/UsingSymbolsFiles">very straightforward</a>. Libraries written in other languages may cause more difficulty. There are some <a href="http://qa.debian.org/cgi-bin/mole/seedsymbols">automatically generated symbol files in mole</a> which provide a good starting point (I didn&#8217;t use them since upstream already had a more exact list of versions at which symbols were introduced) and support is already present in debhelper. The main things to watch out for when using the mole data are backwards compatible ABI changes which don&#8217;t just add new symbols (for example, if new values are accepted by a function) and variations between architectures.</p>
<p>Kudos to <a href="http://www.ouaza.com/wp" title="Buxy rêve tout haut » English">Raphaël</a> for all the work he&#8217;s put into this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirena.org.uk/log/2008/01/09/dpkg-symbol-versioning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

