<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Dependencies don&#039;t matter -- but stability does</title>
	<atom:link href="http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/</link>
	<description>Whatever comes to mind</description>
	<lastBuildDate>Thu, 09 Sep 2010 12:01:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: François Perrad</title>
		<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/comment-page-1/#comment-32</link>
		<dc:creator>François Perrad</dc:creator>
		<pubDate>Fri, 08 May 2009 19:52:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=142#comment-32</guid>
		<description>I want the best of both worlds (Debian &amp; CPAN). I wrote a small script cpan2apt (available at http://github.com/fperrad/misc/tree/master).

This script retrieves module dependencies from deps.cpantesters.org,
and tries to find a debian package for each module.

For example, I want install the latest Padre (still in development) on the latest Ubuntu 9.04.
So, I need to 2 commands :

$ cpan2apt Padre
$ cpan Padre

In this case, Padre depends of 88 Perl modules (not core) but 69 of them have a package.

A long chain of dependencies is not a problem when the majority of them have a stable version.</description>
		<content:encoded><![CDATA[<p>I want the best of both worlds (Debian &amp; CPAN). I wrote a small script cpan2apt (available at <a href="http://github.com/fperrad/misc/tree/master)" rel="nofollow">http://github.com/fperrad/misc/tree/master)</a>.</p>
<p>This script retrieves module dependencies from deps.cpantesters.org,<br />
and tries to find a debian package for each module.</p>
<p>For example, I want install the latest Padre (still in development) on the latest Ubuntu 9.04.<br />
So, I need to 2 commands :</p>
<p>$ cpan2apt Padre<br />
$ cpan Padre</p>
<p>In this case, Padre depends of 88 Perl modules (not core) but 69 of them have a package.</p>
<p>A long chain of dependencies is not a problem when the majority of them have a stable version.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yuval Kogman</title>
		<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/comment-page-1/#comment-31</link>
		<dc:creator>Yuval Kogman</dc:creator>
		<pubDate>Fri, 08 May 2009 19:02:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=142#comment-31</guid>
		<description>For what it&#039;s worth, old CPAN/CPANPLUS versions can also use alternative indexes by just using symlinks to create an alternative 02packages.details.gz with the dists shared.

Obviously sub optimal from a clarity POV, but, o conf urllist = $stable could work today.</description>
		<content:encoded><![CDATA[<p>For what it's worth, old CPAN/CPANPLUS versions can also use alternative indexes by just using symlinks to create an alternative 02packages.details.gz with the dists shared.</p>
<p>Obviously sub optimal from a clarity POV, but, o conf urllist = $stable could work today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/comment-page-1/#comment-29</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Thu, 07 May 2009 22:48:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=142#comment-29</guid>
		<description>autarch, I am pretty sure xdg is right on this one. (I&#8217;m using handles to avoid &#8220;Dave and David&#8221;.)

Even if CP5.6.2AN suffers compared to Debian, I am pretty sure that something like it but stricter would be so much more stable than the &#8220;open&#8221; CPAN that it would basically not matter whether we attain a Debian level of installation smoothness. What&#8217;s more, in such a case you start to get &#8220;herd immunity&#8221;: users expect things to not break, and so the few cases that do break are isolated cases, so stand out like a sore thumb, and are likely to get reported and then acted upon swiftly.

Furthermore, on at least one count, this would work far better than Debian: there would be a continuously-updated, rolling &#8220;stable&#8221; that is never too far from the bleeding edge. This is how the testing culture would be part of the solution: the effort of making packages fit for inclusion would be outsourced in tiny increments to their authors, and that of measuring their fitness outsourced wholesale to computers &#8211; rather than being a big-bang integration effort among packagers, with a stop-the-world release every couple of years.</description>
		<content:encoded><![CDATA[<p>autarch, I am pretty sure xdg is right on this one. (I&#8217;m using handles to avoid &#8220;Dave and David&#8221;.)</p>
<p>Even if CP5.6.2AN suffers compared to Debian, I am pretty sure that something like it but stricter would be so much more stable than the &#8220;open&#8221; CPAN that it would basically not matter whether we attain a Debian level of installation smoothness. What&#8217;s more, in such a case you start to get &#8220;herd immunity&#8221;: users expect things to not break, and so the few cases that do break are isolated cases, so stand out like a sore thumb, and are likely to get reported and then acted upon swiftly.</p>
<p>Furthermore, on at least one count, this would work far better than Debian: there would be a continuously-updated, rolling &#8220;stable&#8221; that is never too far from the bleeding edge. This is how the testing culture would be part of the solution: the effort of making packages fit for inclusion would be outsourced in tiny increments to their authors, and that of measuring their fitness outsourced wholesale to computers &#8211; rather than being a big-bang integration effort among packagers, with a stop-the-world release every couple of years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yuval Kogman</title>
		<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/comment-page-1/#comment-28</link>
		<dc:creator>Yuval Kogman</dc:creator>
		<pubDate>Thu, 07 May 2009 22:07:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=142#comment-28</guid>
		<description>Schwern had a grant for that a while back, but nothing ever happened (I think it was postponed or something? can&#039;t remember).

So far as I can tell the amount of work required for this to happen is not that big:

1. support more than one 02packages.details.txt.gz in both pause and the CPAN clients. This might be a PITA to work in but shouldn&#039;t be too hard.

2. implement a UI for pause authors to mark a distribution as stable, explicitly upgrading it into the stable index.

3. implement configuration in the CPAN clients to choose which index they point to

The current index is sort of like testing. the unstable index would include distributions with underscores in their verrsion number.

This could also pave the way towards additional alternative indexes, either as DarkPAN type things, or public indexes (for instance a CPAN index for known good versions of dependencies for a large project with many dependencies).</description>
		<content:encoded><![CDATA[<p>Schwern had a grant for that a while back, but nothing ever happened (I think it was postponed or something? can't remember).</p>
<p>So far as I can tell the amount of work required for this to happen is not that big:</p>
<p>1. support more than one 02packages.details.txt.gz in both pause and the CPAN clients. This might be a PITA to work in but shouldn't be too hard.</p>
<p>2. implement a UI for pause authors to mark a distribution as stable, explicitly upgrading it into the stable index.</p>
<p>3. implement configuration in the CPAN clients to choose which index they point to</p>
<p>The current index is sort of like testing. the unstable index would include distributions with underscores in their verrsion number.</p>
<p>This could also pave the way towards additional alternative indexes, either as DarkPAN type things, or public indexes (for instance a CPAN index for known good versions of dependencies for a large project with many dependencies).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/comment-page-1/#comment-27</link>
		<dc:creator>david</dc:creator>
		<pubDate>Thu, 07 May 2009 19:33:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=142#comment-27</guid>
		<description>I think we&#039;re in broad agreement, but I&#039;m emphasizing the stability point over testing/no-testing.  You&#039;re right that CP5.6.2AN may still give people issues during testing -- but it&#039;s also a much better starting point to build a binary repository from than ordinary CPAN.  Then we can offer the best of both approaches.

(Sorry about the name typo. Why aren&#039;t you in my dictionary? :-)</description>
		<content:encoded><![CDATA[<p>I think we're in broad agreement, but I'm emphasizing the stability point over testing/no-testing.  You're right that CP5.6.2AN may still give people issues during testing -- but it's also a much better starting point to build a binary repository from than ordinary CPAN.  Then we can offer the best of both approaches.</p>
<p>(Sorry about the name typo. Why aren't you in my dictionary? <img src='http://www.dagolden.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Rolsky</title>
		<link>http://www.dagolden.com/index.php/142/dependencies-dont-matter-but-stability-does/comment-page-1/#comment-26</link>
		<dc:creator>Dave Rolsky</dc:creator>
		<pubDate>Thu, 07 May 2009 18:48:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=142#comment-26</guid>
		<description>I think you may have distorted my point for dramatic effect.

I said that the key to Debian&#039;s success at handling deps is that installs always work. You made a point about how they achieve that, which is a good one, but I&#039;m not sure what you think I got wrong.

If Debian packages all came with a test suite, and that test suite always ran on install, that would make doing what Debian does infinitely harder.

Even something like CP5.6.2AN will &quot;suffer&quot; from the inclusion of tests. There are still a bazillion platforms on which 5.6.2 could run, and some modules will fail their tests on some of those platforms, or with some particular version of a dependency.

You mention specifying a specific version, but I think Debian&#039;s way is more powerful (and more complex, of course).

With Debian, a package maintainer can say &quot;I depend on X version 1.11, 1.12, o r1.14&quot;. If you have X 1.10, 1.13 or 1.15 the package won&#039;t install. CPAN only allows for declaring a minimum version, which really doesn&#039;t give authors much control. If a module works with every version of a dep from 0.5 - 1.0, &lt;em&gt;except 0.84&lt;/em&gt;, there&#039;s no good way to handle that.

Module::Build does let you write version specs along the lines of Debian, but the rest of the toolchain doesn&#039;t do anything useful with the information.

Also, it&#039;s &quot;Rolsky&quot;, not &quot;Rolky&quot;.</description>
		<content:encoded><![CDATA[<p>I think you may have distorted my point for dramatic effect.</p>
<p>I said that the key to Debian's success at handling deps is that installs always work. You made a point about how they achieve that, which is a good one, but I'm not sure what you think I got wrong.</p>
<p>If Debian packages all came with a test suite, and that test suite always ran on install, that would make doing what Debian does infinitely harder.</p>
<p>Even something like CP5.6.2AN will "suffer" from the inclusion of tests. There are still a bazillion platforms on which 5.6.2 could run, and some modules will fail their tests on some of those platforms, or with some particular version of a dependency.</p>
<p>You mention specifying a specific version, but I think Debian's way is more powerful (and more complex, of course).</p>
<p>With Debian, a package maintainer can say "I depend on X version 1.11, 1.12, o r1.14". If you have X 1.10, 1.13 or 1.15 the package won't install. CPAN only allows for declaring a minimum version, which really doesn't give authors much control. If a module works with every version of a dep from 0.5 - 1.0, <em>except 0.84</em>, there's no good way to handle that.</p>
<p>Module::Build does let you write version specs along the lines of Debian, but the rest of the toolchain doesn't do anything useful with the information.</p>
<p>Also, it's "Rolsky", not "Rolky".</p>
]]></content:encoded>
	</item>
</channel>
</rss>
