<?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>Duncan Mac-Vicar P. &#187; zypp</title>
	<atom:link href="http://duncan.mac-vicar.com/blog/archives/tag/zypp/feed" rel="self" type="application/rss+xml" />
	<link>http://duncan.mac-vicar.com/blog</link>
	<description>homepage</description>
	<lastBuildDate>Mon, 05 Jul 2010 13:04:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ark Linux to adopt ZYpp</title>
		<link>http://duncan.mac-vicar.com/blog/archives/549#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/549#comments</comments>
		<pubDate>Tue, 02 Jun 2009 05:37:30 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[zypp]]></category>
		<category><![CDATA[zypper]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/549</guid>
		<description><![CDATA[Ark Linux is becoming the first third-party distro other than openSUSE to adopt ZYpp as its package manager.]]></description>
			<content:encoded><![CDATA[<p>Ark Linux is becoming the first third-party distro other than openSUSE <a href="http://arklinux.wordpress.com/2009/06/02/another-look-at-linux-packaging-systems/">to adopt ZYpp as its package manager</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/549/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZYpp 6.2.1, no mirror will stop you</title>
		<link>http://duncan.mac-vicar.com/blog/archives/517#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/517#comments</comments>
		<pubDate>Tue, 03 Mar 2009 15:23:05 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[yast]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/517</guid>
		<description><![CDATA[Two weeks ago I posted about making aria2c the default transfer mechanism for our software management stack. With libzypp 6.1.0 in Factory, this is already the case. With the first community round of testing, we got quite a lot of bug reports and feedback. Some stuff did not work because the implementation was wrong, while [...]]]></description>
			<content:encoded><![CDATA[<p>Two weeks ago <a href="http://duncan.mac-vicar.com/blog/archives/507#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">I posted about making aria2c</a> the default transfer mechanism for our software management stack.</p>

<p>With libzypp 6.1.0 in Factory, this is already the case. With the first community round of testing, we got quite a lot of bug reports and feedback. Some stuff did not work because the implementation was wrong, while others just showed us that aria2 worked differently as we thought.</p>

<p>The upcoming 6.2.1 addresses the following issues:</p>

<ul>
<li>implemented speed indicators (bnc#475506). You should see transfer speed in applications that report it (like zypper).</li>
<li><p>implemented progress indicators correctly (bnc#473846). You should see progress reporting now in a consistent basis.</p></li>
<li><p>fixed broken pipe when looking for aria2c which caused a fallback to curl. (bnc#480930)</p></li>
<li><p>implement saving and reading mirror stats data in /var/cache/zypp/aria2.stats. This means libzypp now learns which mirrors are faster and more reliable for you and remembers it. Every usage adds more information to the &#8220;learning&#8221;.</p></li>
<li><p>handle failover correctly (bnc#481115). This means libzypp tries harder to get the file from alternate mirrors.</p></li>
<li>various improvements in error and report handling. General code review and minor fixes.</li>
</ul>

<p>How to test?</p>

<p>Peter added an interesting &#8220;test feature&#8221;. If a request happens with a header X-Broken-Mirrors then the openSUSE redirector will send you broken mirrors. So edit your root&#8217;s aria2.conf:</p>

<pre><code>cat ~/.aria2/aria2.conf
header=X-Broken-Mirrors: true
</code></pre>

<p>And observe zypper.log. Even if errors are reported, libzypp should try other mirrors and get the file successfully.</p>

<p>You can go more extreme, and use &#8220;X-Broken-Mirrors: only&#8221;, which will give you only bad servers. Even in this case you will see libzypp try hard to get the file before giving up. How hard to try is configurable, see <a href="http://duncan.mac-vicar.com/blog/archives/507#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">last post for more information</a>.</p>

<p>Big thanks to <a href="http://en.opensuse.org/User:Poeml">Peter Poeml</a> and Tatsuhiro Tsujikawa for all the feedback and support, and of course </p>

<p>And with this, <a href="https://features.opensuse.org/302923">feature 302923</a> is done <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  and the rest is tracked as bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/517/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ZYpp project now on git</title>
		<link>http://duncan.mac-vicar.com/blog/archives/483#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/483#comments</comments>
		<pubDate>Wed, 14 Jan 2009 17:19:59 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[yast]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/?p=483</guid>
		<description><![CDATA[You may have noticed (or not?) that svn.opensuse.org/svn/zypp is now read-only Since a couple of weeks the ZYpp project repository is now hosted on git.opensuse.org. Please read the official announcement here. Now you can fork and develop much easily without needing access to the &#8220;official repository&#8221;. Developers can work disconnected, enjoy the git features to [...]]]></description>
			<content:encoded><![CDATA[<p>You may have noticed (or not?) that svn.opensuse.org/svn/zypp is now
read-only <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>Since a couple of weeks the ZYpp project repository is now hosted on git.opensuse.org. Please read the official announcement <a href="http://lists.opensuse.org/zypp-devel/2009-01/msg00000.html">here</a>.</p>

<p>Now you can fork and develop much easily without needing access to the &#8220;official repository&#8221;. Developers can work disconnected, enjoy the git features to handle merges and branches, oh, and you can keep your forks in git publishing sites like the cool <a href="http://www.github.com">GitHub</a></p>

<p>We updated the following pages to reflect the move:</p>

<ul>
<li><a href="http://en.opensuse.org/Libzypp/Devel">ZYpp Development page</a></li>
<li><a href="http://en.opensuse.org/Package_Management/Sat_Solver">sat-solver homepage</a></li>
</ul>

<p>Those also link to the new pages, written as a starting point:</p>

<ul>
<li><a href="http://en.opensuse.org/Git">General git information and useful links</a></li>
<li><a href="http://en.opensuse.org/Git_Hosting">git hosting (including git.opensuse.org) information</a></li>
</ul>

<p>One of the challenges of the migration was continuous integration. We needed to replicate the automated
building/testing process, which is a core part of the ZYpp team development model.</p>

<p>The process has been migrated from cruisecontrol.rb to <a href="https://hudson.dev.java.net/">Hudson</a> ( Extensible continuous integration engine, https://hudson.dev.java.net/) which provides better job handling support, plugins and it is not tied
to svn.</p>

<p>Some new features:</p>

<ul>
<li>We now build zypper automatically over the rest of the ZYpp stack.</li>
<li>We publish the last successful build that passes the testsuite automatically to <a href="http://download.opensuse.org/repositories/zypp:/Head/">zypp:Head</a> project. This one will obsolete zypp:svn.</li>
<li>We are working to build other pieces of the stack automatically, like PackageKit.</li>
<li>We are working to also build and test the whole YaST stack, so it can also be published automatically. So expect a YaST:Head project soon too, to obsolete YaST:SVN (outdated).</li>
</ul>

<p>I would like to thank R. Tyler for his help with Hudson plugins, <a href="http://en.opensuse.org/User:Jdsn">Jens Daniel</a> for his original automation scripts we used, which are still the base for the Hudson build scripts <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , <a href="http://en.opensuse.org/User:Visnov">Stano</a> for adding on-request features to y2makeall, and the <a href="https://hudson.dev.java.net/">Hudson</a> developers for such a amazing piece of software.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/483/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ZYpp and SAT solver documentation now available</title>
		<link>http://duncan.mac-vicar.com/blog/archives/441#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/441#comments</comments>
		<pubDate>Wed, 19 Nov 2008 17:37:37 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/441</guid>
		<description><![CDATA[We have cleaned up the main pages of libzypp and satsolver, mainly to introduce a new feature. Since today, there is developer documentation generated on every svn build from our cruise control system (continuous build), available for trunk and branches. ZYpp documentation has already qute some articles and the API is very good documented, still, [...]]]></description>
			<content:encoded><![CDATA[<p>We have cleaned up the main pages of <a href="http://en.opensuse.org/Libzypp">libzypp</a> and <a href="http://en.opensuse.org/Package_Management/Sat_Solver">satsolver</a>, mainly to introduce a new feature.</p>

<p>Since today, there is developer documentation generated on every svn build from our cruise control system (continuous build), available for trunk and branches.</p>

<p>ZYpp documentation has already qute some articles and the API is very good documented, still, it will be enhanced in the following months to take advantages of having the documentation always available. SP2 branch documentation will be available soon.</p>

<p>For SAT solver, we have moved the existing documentation into the Related pages of the generated documentation (which already contains very useful articles) and we will do every possible effort to document the API too (which is almost empty right now :-/ ).</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/441/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>morning: blocker</title>
		<link>http://duncan.mac-vicar.com/blog/archives/432#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/432#comments</comments>
		<pubDate>Tue, 11 Nov 2008 16:57:11 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[yast]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/432</guid>
		<description><![CDATA[Morning Did not start the day in a good way. I buy mobicards every month so I have full access to the public transport system. I buy them via the internet, so I get an email when it is about to run out, and with one click I get the form to order another one [...]]]></description>
			<content:encoded><![CDATA[<h3>Morning</h3>

<p>Did not start the day in a good way. I buy <a href="http://www.vgn.de/mobicard/">mobicards</a> every month so I have full access to the public transport system. I buy them via the internet, so I get an email when it is about to run out, and with one click I get the form to order another one by mail (even with the date range pre filled).</p>

<p>Today I took the straßenbahn (tram), and suddenly the guy next to me transformed itself in 1 second from a civilian to a public transport control employee, and asked me for my ticket. I took my mobicard from my pocket and showed it to him. He nods but after a second he comes back and ask &#8220;let me see it again&#8221;. He looks again and points out it starts on 12.11 and today was 11.11. No problem, last month one is behind that one (the whole year cards are there). He looks the old one and points out &#8220;This one ends at 10.11&#8243;. I could not believe it, I did not even realize. Usually I just click OK-OK when buying them. I got a ticket. Luckily the checkbox marked was not &#8220;pay 40€&#8221; but &#8220;Go to the headquarters to clarify&#8221; (which still means they could fine me). Of course that means wasting half a morning not counting the time I lost already over the tram (not being able to get out in the right station). If I get fined after buying mobicards every month for years it would be really ironic.</p>

<h3>ZYpp</h3>

<p>In the office we had the typical &#8220;first media&#8221; blocker. Luckily <a href="http://lizards.opensuse.org/author/mlandres/">Michael</a> found the bug really quickly. Later I wanted to test the fix using linuxrc magic driverupdate tricks I have learned in the past weeks. However it did not work: Linuxrc can use rpms as a container format, but still expects the driverupdate directory structure. Bah, world was not that cool as I thought. Met with Michael and Steffen about it. Steffen realized that it would not be a bad idea to try the rpm first as a driverupdate, and if no driverupdate is there just unpack it in the system (and promised to implement it) That sounds good, easy testing. Happy.</p>

<h3>YaST</h3>

<h4>autoYaST</h4>

<p>Katarina wrote a really nice <a href="http://hedgehogpainter.livejournal.com/2568.html">tutorial</a> that explains how use autoYaST to apply a configuration to a running system. Uhm. Looks like an XML API. Wow. Couldn&#8217;t we use it for our YaST web service?. Talked with schubi about it. While the command line interface has higher level, exposing this interface would make sense too, because it will offer automatically almost all autoYaST power.</p>

<h4>Partitioner</h4>

<p>The new YaST partitioner, on which <a href="http://hedgehogpainter.livejournal.com">Katarina</a>, <a href="http://lizards.opensuse.org/author/aschnell/">Arvin</a>, <a href="http://www.linkedin.com/pub/1/9b0/b93">Matthias</a> and <a href="http://en.opensuse.org/User:Mschmidkunz">Martin</a> worked really hard during the Code11 cycle <a href="http://ostatic.com/176402-blog/opensuse-11-1s-new-partitioning-module">got a pretty nice review here</a>. Give it a look. And give the guys feedback. I am sure lots of things can still be improved!.</p>

<h4>YaST releases</h4>

<p><a href="http://lizards.opensuse.org/author/visnov/">Stano</a> is reviving the discussion about whether to make <a href="http://lizards.opensuse.org/2008/11/07/yast-releases-independent-of-opensuse-releases/">independent of openSUSE YaST releases</a>. I talked about this topic with Zonker just after he started as community manager.</p>

<p>I think it would be a pretty good move. Also a big challenge. It would mean a challenge not only for us the YaST teams but also for other internal and external stakeholders.</p>

<p>Right now a new YaST package submission (same with libzypp) is more or less tied with the development of features or some project manager sitting next to your chair to get a blocker fixed for an openSUSE release. Things would change if the distribution&#8217;s team would need to take the last released YaST and take patches, forward ports, backports, etc.</p>

<p>Also it would be a challenge for us. Most of YaST testing happens on a openSUSE release. We have lot of ideas on how to improve our automated testing and this would require develop them further. Also I think an approach like this would facilitate making YaST less distro-dependent.</p>

<p>Another point I like of the approach is that it would force us to have a better process to define our core-platform (ir order to be able to release it separately). Right now I see it a bit chaotic: APIs are born in modules, and as soon as they are used by more than one module, they land in the wildcard yast2 package. Something I really don&#8217;t find very convenient. APIs should be reviewed with more care and packaged by the area the API covers.</p>

<p>Still and interesting topic and material to innovate!</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/432/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>openSUSE 11.1 command not found</title>
		<link>http://duncan.mac-vicar.com/blog/archives/430#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/430#comments</comments>
		<pubDate>Sat, 01 Nov 2008 19:50:32 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/430</guid>
		<description><![CDATA[duncan@tarro:~&#62; xmms The program 'xmms' can be found in the following package: * xmms [ path: /usr/bin/xmms, repository: zypp (packman) ] Try: sudo zypper install xmms bash: xmms: command not found duncan@tarro:~&#62; made possible by Scout.]]></description>
			<content:encoded><![CDATA[<pre>
duncan@tarro:~&gt; xmms

The program 'xmms' can be found in the following package:
  * xmms [ path: /usr/bin/xmms, repository: zypp (packman) ]

Try: sudo zypper install xmms

bash: xmms: command not found
duncan@tarro:~&gt;
</pre>

<p>made possible by <a href="http://en.opensuse.org/Scout">Scout</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/430/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Towards trusted third party repositories</title>
		<link>http://duncan.mac-vicar.com/blog/archives/414#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/414#comments</comments>
		<pubDate>Mon, 13 Oct 2008 06:38:36 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[yum]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/414</guid>
		<description><![CDATA[I got pointed to Dan&#8217;s Kegel post on Linux Foundation&#8217;s packaging mailing list called &#8220;Towards trusted third party repositories&#8221;. I am not subscribed to the list so I am commenting here. I&#8217;ve been intrigued by http://en.opensuse.org/Standards/OneClickInstall for some time now. (That&#8217;s a way to provide a one-click web install experience for .deb/.rpm/.psi etc. packages, implemented [...]]]></description>
			<content:encoded><![CDATA[<p>I got pointed to <a href="https://lists.linux-foundation.org/pipermail/packaging/2008-October/000842.html">Dan&#8217;s Kegel post on Linux Foundation&#8217;s packaging mailing list</a> called &#8220;Towards trusted third party repositories&#8221;. I am not subscribed to the list so I am commenting here.</p>

<blockquote>
  <p>I&#8217;ve been intrigued by http://en.opensuse.org/Standards/One<em>Click</em>Install
  for some time now.  (That&#8217;s a way to provide a one-click web
  install experience for .deb/.rpm/.psi etc. packages, implemented
  as a mime type handler that parses a simple .xml file pointing
  to the package/repository appropriate for each distro.)
  When this idea was brought up on the Packagekit mailing
  list, it generated lots of negative feedback.  The summary at

http://packagekit.org/pk-faq.html#1-click-install

  gives a bunch of non-central objections, followed by
  the central objection that one cannot trust third party repositories:
  &#8220;Allowing to easily add third party repositories and install
  third party software without a certification infrastructure is like
  opening the gates to hell&#8221;</p>
</blockquote>

<p>One Click Install is only a simple description to add a repository and some software, but the security is not a property of this simple description, but of the package manager. A malicious one click install file can point ZYpp to &#8220;hell&#8221;, but &#8220;hell:</p>

<ul>
<li>Either is signed with a non trusted key and the user needs to trust it.</li>
<li>Is signed with the distribution key, which is already in the trusted keyring therefore it just works.</li>
</ul>

<blockquote>
  <p>This is a real problem.   Here are a couple risks:</p>
</blockquote>

<p>No, it is not. It depends on the package manager you are using. Basic security here is independent of one click install.</p>

<blockquote>
  <p>1) users might click on malware sites and add
  completely malicious sites to their repository lists</p>
</blockquote>

<p>Again, this is not true for ZYpp, and I guess not all package managers allows to download metadata from a repository without trusting it first.</p>

<blockquote>
  <p>2) a compromised third-party repository
  might update system packages maliciously.</p>
</blockquote>

<p>If you trusted it, there is nothing you can do.</p>

<blockquote>
  <p>3) several genuinely well-intentioned
  repositories might include conflicting versions of
  a commonly needed package not provided by the
  system repositories.</p>
</blockquote>

<p>This has nothing to do with one click install. Packman repository does it already. This is a dependency resolving problem and vendor management: ZYpp for example, does not allow implicit vendor jump on update (only on dist-upgrade). And vendor jump is a conflict you need manually to approve. Only package managers that threat all packages with the same name as the same package suffer here.</p>

<blockquote>
  <p>After mulling this problem over for a long time,
  two ideas came to mind:
  1) Since the distribution is trusted, it could decide
  to trust some third-party repositories.  For instance,
  it might decide to trust Adobe&#8217;s hypothetical
  repository so that people could get flash and air
  updates straight from the source.</p>
</blockquote>

<p>This is possible now:</p>

<ul>
<li>You can import Adobe&#8217;s key into the distribution together with the distribution key, so it goes automatically to the trusted keyring</li>
<li>You can create metadata in the distribution side, linking to Adobe&#8217;s packages, and sign the metadata with the distribution key</li>
<li>You can do nothing and let the user trust explicitly the repository</li>
</ul>

<blockquote>
  <p>This idea of using the distribution as arbiter of
  trust for third party repositories could be extended
  to games publishers, etc.  This could provide a
  partial solution to the first threat listed above;
  if the &#8220;good&#8221; third-party repositories are already
  known to the distribution, there&#8217;s less need for users
  to be doing something dangerous like deciding
  on their own to trust a random third-party repo.
  This addresses the first threat identified above.</p>
</blockquote>

<p>I think repository trusting and the required package manager infrastructure has nothing to do with one click install. It just needs to be there.</p>

<blockquote>
  <p>2) A simple way to keep repositories from
  updating packages they shouldn&#8217;t is to
  have package managers enforce some sort
  of namespacing.  e.g. Adobe&#8217;s repository
  could be allowed to only update packages
  whose names start with &#8220;adobe-&#8221;.
  (System repositories would continue to be
  able to update any package at all.)
  This addresses the second and third threats
  identified above.</p>
</blockquote>

<p>Why inventing a new thing? You already have the vendor tag there. A package should be considered update candidate only for packages that are from the same vendor. </p>

<p>Imagine you have mediaplayer-1.0 from the distribution, without mp3 support. Then a 3rd party repo offers a compiled 2.0 version with mp3 support but without other features, and then the distribution offers 3.0. You would be getting and losing features all the time as you update. Same package names does not means it is the same package. If your package manager does that, it is a bug. If there is no solution to the dependency solving than jumping vendor, do a conflict and make the user explicitly switch. Once he does, the update candidate would be the same vendor packages.</p>

<blockquote>
  <p>I think something like this is going to be needed
  before we can have a thriving &#8212; and safe &#8211;
  ecosystem of ISVs providing
  easily-downloaded-and-installed binary packages
  for Linux.
  What do people think about the package namespacing
  idea?
  &#8211; Dan</p>
</blockquote>

<p>I don&#8217;t think reinventing the vendor tag and repository signatures is a good idea.</p>

<p>The problem is not at this level, IMHO the only thing we can do is improve the usability of the security chain. For the user is meanless to trust a repository with gpg key 0&#215;32432432 and they will probably just click &#8220;yes&#8221;. The pending task is to make the cryptographic chain something that makes sense for the user.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/414/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enhancerepo 0.3.2</title>
		<link>http://duncan.mac-vicar.com/blog/archives/387#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/387#comments</comments>
		<pubDate>Mon, 06 Oct 2008 11:51:01 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[enhancerepo]]></category>
		<category><![CDATA[yum]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/387</guid>
		<description><![CDATA[A new version of enhancerepo (0.3.2) is building in the build service. The new feature is updateinfo metadata generation (patches) support, in a simple but very automatic way, designed specially for testing purposes, but it may be sufficient for people wanting to generate patches for their own repositories. Using the &#8211;generate-update pkg1,pkg2.. option, enhancerepo will [...]]]></description>
			<content:encoded><![CDATA[<p>A new version of <a href="http://en.opensuse.org/Enhancerepo">enhancerepo</a> (0.3.2) is building in <a href="http://software.opensuse.org/search?q=enhancerepo">the build service</a>.</p>

<p>The new feature is updateinfo metadata generation (patches) support, in a simple but very automatic way, designed specially for testing purposes, but it may be sufficient for people wanting to generate patches for their own repositories.</p>

<p>Using the &#8211;generate-update pkg1,pkg2.. option, enhancerepo will look in your repository (and additionally in another base directory), and look for all packages. If a package has multiple versions available (including the base directory) it will create update metadata in the repoparts directory. If you run enhancerepo with the &#8211;updates option (either in the same run or not) it will take all repoparts and index them in the updateinfo.xml. This allow to manually edit the patches before indexing them, or to mix automatically generated ones with hand-crafted ones.</p>

<p>As additional coolness it will look for bugs to generate descriptions/references, update type (for example changes containing CVE references or vulnerabilities are tagged with security automatically).</p>

<p>For example, I have 2 amarok packages in my repo, plus one in the 11.0 base directory. This command will look the 3 rpms, and start looking backwards till it finds some changes in the changelog. You can specify multiple packages per &#8220;patch&#8221;.</p>

<pre>
# enhancerepo --generate-update amarok --updates --updates-base-dir /space/repo/11.0 /space/repo/duncan2
generating update...
3 versions for 'amarok'
Found change amarok-1.4.10-17-i586.i586 and amarok-1.4.9.1-53-i586.i586.
'amarok' has 1 entries (68/67)
Saving update part to '/space/repo/duncan2/repoparts/update-amarok-1.xml'.
Adding update /space/repo/duncan2/repoparts/update-amarok-1.xml
Saving /space/repo/duncan2/repodata/updateinfo.xml.gz ..
Adding /space/repo/duncan2/repodata/updateinfo.xml.gz to 
       /space/repo/duncan2/repodata/repomd.xml index
repodata/updateinfo.xml.gz already exists. Replacing.
Saving /space/repo/duncan2/repodata/repomd.xml ..
</pre>

<p>The resulting updateinfo.xml:</p>

<pre>

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;updates&gt;
&lt;update status="stable" from="dmacvicar@piscola" type="security" version="1"&gt;
  &lt;title&gt;Untitled updatesecurity update 1 for amarok&lt;/title&gt;
  &lt;id&gt;amarok&lt;/id&gt;
  &lt;issued&gt;1223293050&lt;/issued&gt;
  &lt;release&gt;no release&lt;/release&gt;
  &lt;description&gt;
    - update to 1.4.10: fix tmp file vulnerability in the Magnatune
    database parsing. Secunia#SA31418 / CVE-2008-3699 / bnc#417232
  &lt;/description&gt;
  &lt;references&gt;
    &lt;reference href="http://bugzilla.novell.com/417232" 
       title="bug number 417232" type="bugzilla" id="417232"/&gt;
    &lt;reference 
       href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3699" 
       title="CVE number 2008-3699" type="cve" id="2008-3699"/&gt;
  &lt;/references&gt;
  &lt;pkglist&gt;
    &lt;collection&gt;
      &lt;package name="amarok" arch="i586" version="1.4.10" release="17"&gt;
        &lt;filename&gt;amarok-1.4.10-17.i586.rpm&lt;/filename&gt;
      &lt;/package&gt;
    &lt;/collection&gt;
  &lt;/pkglist&gt;
&lt;/update&gt;
&lt;/updates&gt;

</pre>

<p>Some important notes:</p>

<ul>
<li>If you generate an update, and then you don&#8217;t add new packages or changes, enhancerepo will generate the same update again, but with a new version.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/387/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enhancerepo 0.3.1 cooking in build service: deltarpm support</title>
		<link>http://duncan.mac-vicar.com/blog/archives/381#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/381#comments</comments>
		<pubDate>Tue, 30 Sep 2008 16:35:47 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[enhancerepo]]></category>
		<category><![CDATA[rpmmd]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[yum]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/381</guid>
		<description><![CDATA[A new version of enhancerepo (0.3.1) is cooking itself in the build service. The new feature is deltarpm metadata generation support and also some kind of smart deltarpm generation. This means, enhancerepo can look which package has several versions in the repository, and generate delta rpms for N steps to the older versions. The default [...]]]></description>
			<content:encoded><![CDATA[<p>A new version of <a href="http://en.opensuse.org/Enhancerepo">enhancerepo</a> (0.3.1) is cooking itself in <a href="http://software.opensuse.org/search?q=enhancerepo">the build service</a>.</p>

<p>The new feature is deltarpm metadata generation support and also some kind of smart deltarpm generation.</p>

<p>This means, enhancerepo can look which package has several versions in the repository, and generate delta rpms for N steps to the older versions. The default is one step, that is, only a delta rpm to the newest to the previous one. And then it can generate the metadata for you too (and add it to the index and such).</p>

<p>Example run:</p>

<pre>
# enhancerepo --disk-usage --keywords --eulas --create-deltas 2 --deltas -- /space/repo/duncan2
Adding eula: /space/repo/duncan2/zapping-0.9.6-72.eula to zapping-0.9.6-72-i586
Adding eula: /space/repo/duncan2/zaptel.eula to zaptel-1.2.10-70-i586
Adding keyword: /space/repo/duncan2/zaptel-debuginfo.keywords to zaptel-debuginfo-1.2.10-70-i586
Preparing disk usage...
Creating delta - amarok-1.4.10-3-i586 -&gt; amarok-1.4.10-17-i586 (1/2)
Creating delta - amarok-1.4.9.1-53-i586 -&gt; amarok-1.4.10-17-i586 (2/2)
Saving /space/repo/duncan2/repodata/susedata.xml.gz ..
Adding /space/repo/duncan2/repodata/susedata.xml.gz to /space/repo/duncan2/repodata/repomd.xml index
repodata/susedata.xml.gz already exists. Replacing.
Saving /space/repo/duncan2/repodata/deltainfo.xml.gz ..
Adding /space/repo/duncan2/repodata/deltainfo.xml.gz to /space/repo/duncan2/repodata/repomd.xml index
repodata/deltainfo.xml.gz already exists. Replacing.
Saving /space/repo/duncan2/repodata/repomd.xml ..
</pre>

<p>Some important notes:</p>

<ul>
<li>It now requires ruby-rpm, which is available on the <a href="http://software.opensuse.org/search?q=ruby-rpm">devel:languages:ruby:extensions</a> repository.</li>
<li>Be careful with running createrepo on top of a directory with deltarpms. createrepo will index them incorrectly as packages (So clean deltarpms, run createrepo, and then generate deltas with enhancerepo on top).</li>
<li>I did not test this release as much as the latest <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/381/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>libZYpp, torrents and metalinks</title>
		<link>http://duncan.mac-vicar.com/blog/archives/379#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/379#comments</comments>
		<pubDate>Tue, 30 Sep 2008 09:31:53 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/379</guid>
		<description><![CDATA[Using only http for transfering files will be a thing from the past very soon. We know all the problems distributing content to large audiences companies face, and Peter Poeml knows it very well too. So Peter mentored Gerard Farràs during the last Summer of Code, and the result was a ZYpp media handler that [...]]]></description>
			<content:encoded><![CDATA[<p>Using only http for transfering files will be a thing from the past very soon. We know all the problems distributing content to large audiences companies face, and <a href="http://en.opensuse.org/User:Poeml">Peter Poeml</a> knows it very well too.</p>

<p>So Peter mentored <a href="http://bloc.gerardfarras.com/">Gerard Farràs</a> during <a href="http://code.google.com/soc/">the last Summer of Code</a>, and the result was a ZYpp media handler that uses <a href="http://aria2.sourceforge.net/">aria2</a> to download files, instead of curl. (May be aria uses curl for http then, I have no idea <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>

<blockquote>
  <p>aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, BitTorrent  (DHT, PEX, MSE/PE), and Metalink. It can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. It even supports downloading a file from HTTP(S)/FTP and BitTorrent at the same time, while the data downloaded from HTTP(S)/FTP is uploaded to the BitTorrent swarm. Using Metalink&#8217;s chunk checksums, aria2 automatically validates chunks of data while downloading a file like BitTorrent. </p>
</blockquote>

<p>The benefits is that aria knows about bittorrent, metalinks, etc, so this open the door for much better download failover in the future.</p>

<p>As we are aready on beta phase and we can&#8217;t switch such an important component, I <a href="http://lists.opensuse.org/zypp-devel/2008-09/msg00142.html">merged the code</a>, but disabled. That means ZYpp still uses curl, unless you enable the environment variable ZYPP_ARIA=1. That way you can play with it while it matures for 11.2 or something. There should be lot of features missing in the aria2 handler, so please have that in mind.</p>

<p>Thanks to Peter and Gerard for the handler.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/379/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
