<?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; fedora</title>
	<atom:link href="http://duncan.mac-vicar.com/blog/archives/tag/fedora/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>The greatest unknown openSUSE 11.0 package management feature</title>
		<link>http://duncan.mac-vicar.com/blog/archives/314#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/314#comments</comments>
		<pubDate>Tue, 20 May 2008 22:02:17 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[yast]]></category>
		<category><![CDATA[yum]]></category>
		<category><![CDATA[zypp]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/?p=314</guid>
		<description><![CDATA[During the development of openSUSE 11.0, we have been reporting in real time cool improvements like the fast installation, how YaST became sexy, how YaST/ZYpp/zypper became fast, how YaST/ZYpp/zypper performs better than others and even that our solver is also really smart. However, there is something else&#8230; Interoperability Background One of the features of our [...]]]></description>
			<content:encoded><![CDATA[<p>During the development of openSUSE 11.0, we have been reporting in real time cool improvements like the <a href="http://www.kdedevelopers.org/node/3385">fast installation</a>, <a href="http://www.kdedevelopers.org/node/3143">how YaST became sexy</a>, <a href="http://duncan.mac-vicar.com/blog/archives/296#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">how YaST/ZYpp/zypper became fast</a>, <a href="http://duncan.mac-vicar.com/blog/archives/309#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">how YaST/ZYpp/zypper performs better than others</a> and even <a href="http://duncan.mac-vicar.com/blog/archives/311#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">that our solver is also really smart</a>.</p>

<p>However, there is something else&#8230;</p>

<h2>Interoperability</h2>

<p><a href="http://www.flickr.com/photos/koke/2251169371/"><img src="http://img232.imageshack.us/img232/9904/plugdu9.jpg"/></a></p>

<h3>Background</h3>

<p>One of the features of our stack is the availability of patches and patterns. The first provide updates in a sense of &#8220;fix for a problem&#8221; (which can mean various, or none updated packages), while patterns are intelligent groups that can recommend, require and suggest packages in order to make certain functionality available, without being too strict in the specific packages to install.</p>

<p>Unlike in other systems where groups and updates are handled as special entities, ZYpp patterns and patches are just objects with dependencies like packages, and the solver threats them in the same way.</p>

<p>Because rpm installed packages database does not know about patterns and patches, in openSUSE 10.x (and SLE10) those objects are installed in a separate database, only viewable to libzypp. This is hidden to the users, but does not allow for easy management using 3rd party tools.</p>

<p>In addition to that, the patch metadata format is our own extension to the <a href="http://linux.duke.edu/projects/metadata/">metadata</a> handled by <a href="http://en.wikipedia.org/wiki/Yellow_dog_Updater%2C_Modified">yum</a>, the tool used by Fedora and Centos. That means, even if other distribution provide similar concepts, they will mostly ignore our extended metadata.</p>

<p>This is sad, if we share 90% of the metadata format, why not go further?. Sometimes it is no worth to wait that others do steps in becoming more interoperable with you, so what about doing those steps ourselves?</p>

<p>At this time, Fedora was implementing updates metadata by using a yum plugin and a updateinfo.xml description. Metadata for deltarpm availability is handled via the yum-presto plugin.</p>

<h3>Sharing tools and data, a step for Interoperability</h3>

<h4>Metadata format</h4>

<p>In openSUSE 11.0, ZYpp reads patches from updateinfo.xml too! (<a href="http://download.opensuse.org/update/11.0">check 11.0 update repo!</a>). Not only that, our delta rpm availability metadata will be in the same format <a href="http://hosted.fedoraproject.org/presto">yum-presto</a> (with some modifications agreed with its author).</p>

<p>How will this benefit you?</p>

<ul>
<li>You will be able to use yum stack with updates out of the box with updates and deltarpms, and they will just work.</li>
<li>You will be able to generate custom patches for openSUSE using existing tools like <a href="http://fedorahosted.org/bodhi">Bodhi</a>, from Fedora, or generate custom deltarpm information using the yum-presto included tools.</li>
<li>We are working hard to get the <a href="http://download.opensuse.org/repositories/zypp:/Backport/Fedora_8/">ZYpp/YaST stack to build on Fedora</a> (and other distros), in a near future, you will be able to enjoy ZYpp performance and features on Fedora with their own repositories!</li>
<li>We decoupled the delta-rpm information from patches, so we may start adding delta-rpm to normal factory packages and it will start to work out of the box!</li>
<li>Much more!</li>
</ul>

<h4>Handling of patches and patterns</h4>

<p>As we mentioned, in 10.x codebase we used to install patterns and patches in a special database. This is no longer the case. </p>

<p>Patterns and patches are no longer installed, which means your system is rpm only! Patches are shown now as (un)satisfied (and (un)relevant). Which means you have all the requirements to consider them present.</p>

<p>All the information of patches and patterns (and products) is extra information that openSUSE applications use to add more value to you. So if you for example remove a repository offering patches, then you just lose the information about which patches do you have, the real information is the rpm packages you have installed. When you re-add the update repository, and you can immediately see which patches published affect you, which ones are irrelevant, and which ones are relevant but you don&#8217;t need because your packages are up to date.</p>

<p>Patterns and patches become &#8220;advice&#8221; and &#8220;value&#8221;, not extra non-compatible information.</p>

<p>How will this benefit you?</p>

<ul>
<li>Simpler system.</li>
<li>No conflicts because using 3rd party tools, &#8220;rpm by hand&#8221; or our native tools.</li>
</ul>

<h4>openSUSE, PackageKit enabled</h4>

<p><a href="http://www.packagekit.org/">PackageKit</a> is the new actor in the package management world. It is a thin layer that provides applications access to the package management system as a <a href="http://freedesktop.org/wiki/Software/dbus">DBUS</a> service. You may heard about it because Fedora 9 is coming PackageKit enabled. How it benefits you?</p>

<ul>
<li>Role based (non-root) package management, via <a href="http://hal.freedesktop.org/docs/PolicyKit/index.html">PolicyKit</a>.</li>
<li>Sharing of upstream tools across distributions.</li>
<li>Gives the desktop the chance to integrate with software manipulation.</li>
</ul>

<p>So, openSUSE 11.0 is fully PackageKit enabled. You will be able to use all <a href="http://www.packagekit.org/pk-screenshots.html">PackageKit compatible applications</a> on openSUSE and they will use the ZYpp stack underneaths. Not only that it is enabled, but our hackers <a href="http://en.opensuse.org/User:Sreeves1">Scott Reeves</a> and <a href="http://freedesktop.org/wiki/Software/dbus">Stefan Haas</a> did an amazing job on the backend, I would dare to say it is one of the most robust backend implementations, and it fully benefits from the ZYpp speed and features.</p>

<h3>Future</h3>

<p>All this improvements are available now. May be you are already enjoying them in Factory. However this opens the door for new possibilities, just a few examples come to mind:</p>

<ul>
<li>The openSUSE Build Service, the great software building platform from our openSUSE team, builds packages for all major distributions since long time. The build service could allow to enter and generate patch information for fixed bugs and the update/patch information will be compatible across yum/Fedora and openSUSE. Same with deltarpm information.</li>
<li>We could extend ZYpp parser to understand Fedora groups stored in comps.xml and threat them as patterns.</li>
<li>Do you have more ideas?</li>
</ul>

<h3>Community involvement</h3>

<p>We welcome any help on creating more interoperability possibilities, especially about building the ZYpp stack and YaST on Fedora, Mandriva and others. There are already some packages building in the build service, but we still have a long way to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/314/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>openSUSE 11.0 beta</title>
		<link>http://duncan.mac-vicar.com/blog/archives/304#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/304#comments</comments>
		<pubDate>Sat, 12 Apr 2008 12:52:40 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[packagekit]]></category>
		<category><![CDATA[suse]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/304</guid>
		<description><![CDATA[openSUSE 11.0 beta is coming. This means that all the pieces of the update stack have to be in place by then. While reading Review: Hat Trick For Fedora 9 Beta, it caught my attention that the author says &#8220;Fedora continues to wear the innovation hat&#8221; because some of the changes described there. I did [...]]]></description>
			<content:encoded><![CDATA[<p>openSUSE 11.0 beta is coming. This means that all the pieces of the update stack have to be in place by then.</p>

<p>While reading <a href="http://www.crn.com/software/207200137">Review: Hat Trick For Fedora 9 Beta</a>, it caught my attention that the author says &#8220;Fedora continues to wear the innovation hat&#8221; because some of the changes described there. I did not see any killer feature openSUSE 11.0 does not have too, and a few ones are worth to highlight:</p>

<ul>
<li>KDE 4 integration: No distro will ever beat openSUSE here <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  you know that. openSUSE is a multi desktop distribution and both the Gnome and the KDE team are unbeatable. Period. (I am objective today <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</li>
<li>The installation experience and look essentially remained the same from Fedora 8: Sorry guys, but YaST installer <a href="http://news.opensuse.org/2008/03/19/announcing-opensuse-110-alpha-3/">looks far cooler</a> than in our last release. The <a href="http://www.kdedevelopers.org/node/3385">experience is also much different</a>.</li>
<li>except there is now support for resizing ext2, ext3, and NTFS partitions from the installer: zzzzzzz. YaST resizes partitions before Linux was invented.</li>
<li>The installer also checks for password strength for the root account: YaST in the 80&#8242;s ?</li>
<li>The new package management solution, PackageKit, is another interesting feature: openSUSE 11.0 will have native PackageKit support (the backend is upstream) and it works really well. The yum backend has no good reputation. The ZYpp backend in 11.0 inherits all the unbeatable speed of ZYpp 4.x and it is robust at the same time.</li>
</ul>

<p>Sorry guys, the innovation hat is green. Ok, enough with articles. Lets back to 11.0 beta.</p>

<p>We talked about <a href="http://duncan.mac-vicar.com/blog/archives/296#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">package management speed</a>, we talked about <a href="http://duncan.mac-vicar.com/blog/archives/303#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">new looks and features already</a>. However our work around patches and patterns was still missing.</p>

<p>During the last weeks, we have been working on this and now all the pieces start to fall together. Click on any image to see it in full size. Also note that ugly scrollbar in the disk usage is was also fixed already.</p>

<p>You may remember the pattern selector:</p>

<p><a href="http://files.opensuse.org/opensuse/de/b/b8/Selecting-patterns-de.png"><img src="http://files.opensuse.org/opensuse/de/thumb/b/b8/Selecting-patterns-de.png/755px-Selecting-patterns-de.png" alt="Old Pattern Selector" /></a></p>

<p>New pattern selector:</p>

<p><a href="http://files.opensuse.org/opensuse/en/e/e6/Patterns.png"><img src="http://files.opensuse.org/opensuse/en/thumb/e/e6/Patterns.png/750px-Patterns.png" alt="New Pattern Selector" /></a></p>

<p>If you go to the repository view, it was a little boring. openSUSE has the Build Service, which has generated a big community of repositories. Visually, we want to make a difference to the eye if a repo is a normal repository, or the home project of a friend, or a well known repository, or may be a update repository. Result?</p>

<p><a href="http://files.opensuse.org/opensuse/en/3/3f/Repos.png"><img src="http://files.opensuse.org/opensuse/en/thumb/3/3f/Repos.png/783px-Repos.png" alt="New repo view" /></a></p>

<p>The old patch view was confusing. The category column never had space for itself.</p>

<p><a href="http://de.opensuse.org/Bild:Yast-gui-online-update.png"><img src="http://files.opensuse.org/opensuse/de/thumb/e/e7/Yast-gui-online-update.png/550px-Yast-gui-online-update.png" alt="Old patch selector" /></a></p>

<p>So we introduced categories just like in the patterns view.</p>

<p><a href="http://files.opensuse.org/opensuse/en/8/8c/Patches.png"><img src="http://files.opensuse.org/opensuse/en/thumb/8/8c/Patches.png/800px-Patches.png" alt="Old patch selector" /></a></p>

<p>There are still some details. In that view the reboot patch should not be shown in the default filter, because I don&#8217;t have the package the patch fixes installed. For some reason isRelevant() is not working there. Same with the security patch. It shows correctly the fact that the patch is satisfied, but therefore it should be hidden.</p>

<p>In a next post I will write a bit about how patterns, products and patches are handled now, plus other features.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/304/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>ZYpp stack on other distributions?</title>
		<link>http://duncan.mac-vicar.com/blog/archives/300#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://duncan.mac-vicar.com/blog/archives/300#comments</comments>
		<pubDate>Fri, 14 Mar 2008 17:01:17 +0000</pubDate>
		<dc:creator>duncan</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[zypper]]></category>

		<guid isPermaLink="false">http://duncan.mac-vicar.com/blog/archives/300</guid>
		<description><![CDATA[Keeping a permanent build of svn on the build service motivated me to try to build it on other non-SUSE based distros. On the way I discovered not only simple things as different package names, but linking problems, compile errors, etc. In the past it did not make much sense to try libzypp outside of [...]]]></description>
			<content:encoded><![CDATA[<p>Keeping a permanent build of svn on the build service motivated me to try to build it on other non-SUSE based distros. On the way I discovered not only simple things as different package names, but linking problems, compile errors, etc.</p>

<p>In the past it did not make much sense to try libzypp outside of SUSE as we were trying to catchup with other tools speed. But now that libzypp speed outperforms any other tool in speed, while keeping it complete set of features, we may start thinking about taking over the world. May be other distros want to use libzypp, or why not, the small and powerful sat-solver library alone.</p>

<p>So, since today I got the first successful build of <a href="https://build.opensuse.org/project/monitor?project=zypp%3Asvn">sat-solver/libzypp/zypper</a> on <a href="http://fedoraproject.org/">Fedora 8</a>. Mandriva is also close, but I still get a compiler error I should not get when compiling the rpm backend.</p>

<p>At the beginning, it may be a consuming effort, but once it is a continuous process, our software should adopt a more agnostic view of the world and just compile there out of the box. If anyone has the time to test it, I would be interested in the results <img src='http://duncan.mac-vicar.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </p>

<p>By the way, our colleagues at internal tools finished processing the FOSDEM talk&#8217;s videos we had in the openSUSE Developer&#8217;s room. You can find the ogg video files <a href="http://tube.opensuse.org/">here</a>. Also you can watch on <a href="http://video.google.de/videosearch?q=FOSDEM2008+site%3Avideo.google.com&amp;amp;num=10&amp;amp;so=0&amp;amp;hl=de&amp;amp;start=0">google video here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://duncan.mac-vicar.com/blog/archives/300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
