<?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>openSUSE Lizards &#187; Adrian Schröter</title>
	<atom:link href="http://lizards.opensuse.org/author/adriansuse/feed/" rel="self" type="application/rss+xml" />
	<link>http://lizards.opensuse.org</link>
	<description>Blogs and Ramblings of the openSUSE Members</description>
	<lastBuildDate>Sat, 07 Nov 2009 07:25:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OBS Attribute System (not only for maintenance!)</title>
		<link>http://lizards.opensuse.org/2009/11/02/obs-attribute-system/</link>
		<comments>http://lizards.opensuse.org/2009/11/02/obs-attribute-system/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 12:50:51 +0000</pubDate>
		<dc:creator>Adrian Schröter</dc:creator>
				<category><![CDATA[Build Service]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Factory]]></category>
		<category><![CDATA[openSUSE 11.2]]></category>

		<guid isPermaLink="false">http://lizards.opensuse.org/?p=2440</guid>
		<description><![CDATA[People who follow the openSUSE Build Service (OBS) developments might know it already, we work on an attribute system for OBS. But what it is good for at all ?
Our current driver is to enable every OBS user to do maintenance for packages in the maintained products (which are currently openSUSE 11.0, 11.1 and a [...]]]></description>
			<content:encoded><![CDATA[<p>People who follow the openSUSE Build Service (OBS) developments might know it already, we work on an <a href="http://en.opensuse.org/Build_Service/Concepts/AttributeStorage">attribute system for OBS</a>. But what it is good for at all ?</p>
<p>Our current driver is to enable every OBS user to do maintenance for packages in the maintained products (which are currently openSUSE 11.0, 11.1 and a few days 11.2). The maintenance concept itself is described in a very first draft <a href="http://en.opensuse.org/Build_Service/Concepts/Maintenance">here</a></p>
<p>However, the attribute system is way more powerful and can be used to store all kind of informations, attached to projects, source packages or even binary sub packages. The important thing here is that the attribute types have own permission rules. So it is for example possible to edit data in projects like openSUSE:11.1 or Fedora:9 which are usually read only.</p>
<p> A simple example is the OBS:Screenshot attribute, as you might guess you can attach references to screenshots to it. Every maintainer or bugowner has write access to it, this means if you are the bugowner of a package, you store this kind of informations not only in your projects, but also in the openSUSE:11.X project packages.</p>
<p>There is also the openSUSE:Playground attribute type created, just for you, when you like to play with this. Btw, the current available attribute types can be requested via &#8220;osc meta prj OBS&#8221;. And when you use the osc 0.123svn from svn trunk or <a href="http://download.opensuse.org/repositories/openSUSE:/Tools:/Unstable/">openSUSE:Tools:Unstable Project</a>, you can even check single attributes in different ways or create them.</p>
<p>For example:</p>
<p><code><br />
  osc meta attribute openSUSE:11.2                                                                # Shows the attributes of the openSUSE:11.2 project<br />
  osc meta attribute home:adrianSuSE --attribute openSUSE:Playground --create         # just creates the attribute in my home project<br />
  osc meta attribute home:adrianSuSE zphoto                                                  # returns empty, since the package hasn't the attribute.<br />
  osc meta attribute home:adrianSuSE zphoto  --attribute-project                        # returns with attribute, since it falls back to the project<br />
</code><br />
<code><br />
  # stores two values (World Domination and fast) inside of the attribute:<br />
  osc meta attribute home:adrianSuSE --attribute openSUSE:Playground --set "World Domination,fast"<br />
  osc meta attribute home:adrianSuSE                                                             # shows all attributes in my home<br />
</code><br />
<code><br />
  osc search --attribute openSUSE:Playground                                                 # finds all packages in all projects with the openSUSE:Playground attribute<br />
  osc search --package zphoto --attribute openSUSE:Playground                       # finds all zphoto packages in all project with the openSUSE:Playground attribute<br />
</code></p>
<p>Okay, Okay, all that sounds not horrible sexy when you read it first. But imaging the possibilities. Each team or use case can get their own attributes. They decide what to store in which package, independend if they can modify the sources of project or not. So a team can easily mark packages for any kind of purpose (to fix bugreport 1234, to complete their product Z, to show the state of the packages on web page X, &#8230;).</p>
<p>The &#8220;osc mbranch&#8221; command from the maintenance concept shows also the power of this. You do not need to know where all instances of your package, just tell the server that you need to work on it and the server collects them all.</p>
<p>Please note that the API for the attribute system still might change until OBS 1.7 gets released, we may even need to remove the attributes (even though this is not planned). However, the version running at opensuse.org should be ready to play with this system. And I _really_ would like to hear any kind of feedback, ideas or requests. Can you please comment here, what you can imaging, what else you can use this system for ?</p>
<p>Thanks a  lot !</p>
<p>PS: New attribute types can be defined only by the administrator atm, but I am really happy to create any kind of attributes for you, even though you just want to play with it!</p>
]]></content:encoded>
			<wfw:commentRss>http://lizards.opensuse.org/2009/11/02/obs-attribute-system/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>openSUSE Conference 09 has started !</title>
		<link>http://lizards.opensuse.org/2009/09/17/opensuse-conference-09-has-started/</link>
		<comments>http://lizards.opensuse.org/2009/09/17/opensuse-conference-09-has-started/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 18:12:06 +0000</pubDate>
		<dc:creator>Adrian Schröter</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://lizards.opensuse.org/?p=2166</guid>
		<description><![CDATA[The openSUSE Conference 09 has started today ! 
Some first impressions can get found on our gallery server already.
In case you are around Nuernberg, you can still drop by for a talk or a beer !
]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://conference.opensuse.org">openSUSE Conference 09</a> has started today ! </p>
<p>Some first impressions can get found on our <a href="http://gallery.opensuse.org/Conference%2009">gallery server</a> already.</p>
<p>In case you are around Nuernberg, you can still drop by for a talk or a beer !</p>
]]></content:encoded>
			<wfw:commentRss>http://lizards.opensuse.org/2009/09/17/opensuse-conference-09-has-started/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Source Services 0.0.1, no more writing SPEC files ?</title>
		<link>http://lizards.opensuse.org/2009/08/03/source-services-001-no-more-writing-spec-files/</link>
		<comments>http://lizards.opensuse.org/2009/08/03/source-services-001-no-more-writing-spec-files/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 11:48:27 +0000</pubDate>
		<dc:creator>Adrian Schröter</dc:creator>
				<category><![CDATA[Build Service]]></category>
		<category><![CDATA[Packaging]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://lizards.opensuse.org/?p=1803</guid>
		<description><![CDATA[Okay, my first example of the build service source services did something usefull on my notebook. I submitted a very short file and I got installable packages in return. The file is actually that simple that it can easy get created by any IDE, website or desktop shortcut.
So the final goal is to get a [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, my first example of the build service <a href="http://en.opensuse.org/Build_Service/Concepts/SourceService">source services</a> did something usefull on my notebook. I submitted a very short file and I got installable packages in return. The file is actually that simple that it can easy get created by any IDE, website or desktop shortcut.</p>
<p>So the final goal is to get a 1-Click package build, but there is even more !</p>
<p><span id="more-1803"></span>This was my test file:</p>
<p><code>&lt;services&gt;<br />
&nbsp;&nbsp;&lt;service name="download_url"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;param name="host"&gt;fotowall.googlecode.com&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;param name="path"&gt;files/fotowall-0.7.1.tar.bz2&lt;/param&gt;<br />
&nbsp;&nbsp;&lt;/service&gt;<br />
&nbsp;&nbsp;&lt;service name="generator_qmake" /&gt;<br />
&lt;/services&gt;<br />
</code></p>
<p>It lists two services offered by my local build service, the &#8220;download_url&#8221; service is downloading the file from the server. This is important, because we can ensure via this mechanism that our tar balls are really comming from a certain server and are not repacked by someone.</p>
<p>The second service is a spec file generator. Unlike former attempts where people tried to write one general purpose generator, this one is high specialized, in the case for qmake files. In fact, it is acctually a hacked qmake, this avoids that we need implement our own .pro file parser and interpreter. This means it is way more easy to write a generator without the need of all the internal knowledge.</p>
<p>Last but not least there is a first library package, which maps link calls (eg -lqt) to package names. In this way the qmake generator can easily create proper BuildRequire lines.</p>
<p>All this stuff is available in svn and <a href="https://build.opensuse.org/project/show?project=openSUSE:Tools:Devel">openSUSE:Tools:Devel</a> project. If you like to write another source service, you may want to look into the obs-service packages there. They are for sure no master piece of computer sience yet, but they prove the concept. It should be relative easy to write</p>
<ul>
<li>svn/git checkout service</li>
<li>md5 or gpg validator</li>
<li>cmake base spec file generator</li>
<li>specialized autoconf/automake code generators</li>
<li>Java ant based code generator</li>
<li>Perl cpan based code generator</li>
<li>You have for sure another idea <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p>I will for sure not work on all the other code generators and further stuff, so any help is highly welcome !</p>
<p>You can already install these services on your workstation and run them manually. No need for a running build service instance. I will play around with the qmake generator first and try to solve general open problems like</p>
<ul>
<li>Get License field set</li>
<li>Getting RPM Groups handled somehow</li>
<li>Survive desktop Category check better (most likely by fixing our menu config file, it seems not to be maintained since quite a while).</li>
<li>Handle package splitting (esp. for library packages).</li>
<li>Getting descriptions from package meta data.</li>
<li>Improving the library link to package mapping.</li>
</ul>
<p>But before, I will rewrite the bs_service daemon in a more secure way, so that we can actually deploy it on build.opensuse.org <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So you see we are still at the beginning, I hope some of you join the development. It would be extremly powerfull, if we just need to throw a URL at the service to get packages in 90% of the cases <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://lizards.opensuse.org/2009/08/03/source-services-001-no-more-writing-spec-files/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Build Service 1.0 Release Candidate is out</title>
		<link>http://lizards.opensuse.org/2008/06/11/build-service-10-release-candidate-is-out/</link>
		<comments>http://lizards.opensuse.org/2008/06/11/build-service-10-release-candidate-is-out/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 11:24:48 +0000</pubDate>
		<dc:creator>Adrian Schröter</dc:creator>
				<category><![CDATA[Build Service]]></category>

		<guid isPermaLink="false">http://lizards.opensuse.org/?p=59</guid>
		<description><![CDATA[We just released the Build Service 1.0 release candidate. The final release is expected in two weeks.
Most important about this release are the improvements in source handling. Submissions to foreign projects are possible now. That does mean that after two years of development, direct work on openSUSE distribution becomes possible, without bugzilla in between ! [...]]]></description>
			<content:encoded><![CDATA[<p>We just released the Build Service 1.0 release candidate. The final release is expected in two weeks.</p>
<p>Most important about this release are the improvements in source handling. Submissions to foreign projects are possible now. That does mean that after two years of development, direct work on openSUSE distribution becomes possible, without bugzilla in between ! You see, we need sometimes a bit longer, but we keep our promises <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The Build Service at http://build.opensuse.org is already running it, so it can be already used for submissions. You just need the current osc from openSUSE:Tools project.</p>
<p><span id="more-59"></span>When editing a package in openSUSE:Factory, you work usually on a branch of the maintainers project. In this way everybody can work close together with the official maintainers.</p>
<p>These mechanisms are usable via the osc command line client already. But the functionality is provided by the server, so I hope we can easily make the same functionality accessible in the other clients soon.</p>
<p>We have <a href="http://en.opensuse.org/Build_Service/Collaboration">a wiki page</a> describing the way how to use this.</p>
<p>There weill be still some rough edges in the functionality, but only practical usage will show them. A 1.1 release has been added to <a href="http://en.opensuse.org/Build_Service/Roadmap">the roadmap</a>, which can improve these use cases.</p>
<p>Please keep in mind that Factory is frozen atm to get 11.0 out of the door. So submissions will not get check in in the next week. But they can get already prepared <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://lizards.opensuse.org/2008/06/11/build-service-10-release-candidate-is-out/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Easy OBS Web Client Development</title>
		<link>http://lizards.opensuse.org/2008/05/07/easy-obs-web-client-development/</link>
		<comments>http://lizards.opensuse.org/2008/05/07/easy-obs-web-client-development/#comments</comments>
		<pubDate>Wed, 07 May 2008 09:57:11 +0000</pubDate>
		<dc:creator>Adrian Schröter</dc:creator>
				<category><![CDATA[Build Service]]></category>

		<guid isPermaLink="false">http://lizards.opensuse.org/?p=6</guid>
		<description><![CDATA[The web interface of the openSUSE Build Service behind http://build.opensuse.org is written with Ruby on Rails. The good thing about this is that you can easily setup an own instance of the web interface on your workstation using the server behind http://api.opensuse.org. All what you need is to checkout the sources, install the ruby on [...]]]></description>
			<content:encoded><![CDATA[<p>The web interface of the openSUSE Build Service behind <a href="http://build.opensuse.org">http://build.opensuse.org</a> is written with Ruby on Rails. The good thing about this is that you can easily setup an own instance of the web interface on your workstation using the server behind http://api.opensuse.org. All what you need is to checkout the sources, install the ruby on rails packages and run the server.</p>
<p>Installing the Ruby framework in matching release can be done as root user via:</p>
<p># zypper sa http://download.opensuse.org/repositories/openSUSE:Tools/<strong>YOUR_DISTRO</strong> openSUSE:Tools<br />
# zypper install rubygem-rails-2_0</p>
<p>Getting the source code is easy just by anonymous checkout from svn:</p>
<p> # svn co https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/</p>
<p>Running the web interface is really easy now just by running</p>
<p># cd buildservice/src/webclient<br />
# ruby script/server</p>
<p>This runs a local instance where you can connect with any web browser using http://0.0.0.0:3000/ URL. So there is no need to install a full build service, no database administration, just checkout and run it <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  You can easily edit files esp. below the app/ directory and customize or improve the web interface for your needs.</p>
<p>Of course it is easy to get svn write access, if you provide a useful patch <img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizards.opensuse.org/2008/05/07/easy-obs-web-client-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
