<?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>Sexy Sexy Penguins &#187; skein</title>
	<atom:link href="http://sexysexypenguins.com/tag/skein/feed/" rel="self" type="application/rss+xml" />
	<link>http://sexysexypenguins.com</link>
	<description>A lazy admin is a good admin!</description>
	<lastBuildDate>Mon, 11 Mar 2013 04:08:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>&#8216;The Quest for the Golden GoOSe&#8217; Sprint is here!</title>
		<link>http://sexysexypenguins.com/2012/07/26/the-quest-for-the-golden-goose-sprint-is-here/</link>
		<comments>http://sexysexypenguins.com/2012/07/26/the-quest-for-the-golden-goose-sprint-is-here/#comments</comments>
		<pubDate>Fri, 27 Jul 2012 03:12:11 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[HackNights]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Passion]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[6.0]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[Cook]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Golden]]></category>
		<category><![CDATA[july]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[skein]]></category>
		<category><![CDATA[sprint]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=1106</guid>
		<description><![CDATA[Alright folks, it&#8217;s been decided, determined and is about to be announced! Um, yeah, that&#8217;s right everyone, the &#8216;Quest for the Golden GoOSe&#8217; Sprint is on! When is this happening you ask? Well it&#8217;s very simple and very soon, in &#8230; <a href="http://sexysexypenguins.com/2012/07/26/the-quest-for-the-golden-goose-sprint-is-here/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Alright folks, it&#8217;s been decided, determined and is about to be announced! Um, yeah, that&#8217;s right everyone, the &#8216;Quest for the Golden GoOSe&#8217; Sprint is on!</p>
<p>When is this happening you ask? Well it&#8217;s very simple and very soon, in fact it&#8217;s happening July 27-28, 2012. Yes, that&#8217;s Tomorrow and Saturday. It&#8217;s a bit unexpected for some of you, to be sure, but if you can make it, we&#8217;d love to have you for any time possible. If you can&#8217;t make it, take some time this next week and work on the GoOSe. The goal is to get the Golden GoOSe 6.0 release out by the end of August, so we really need to start cranking!</p>
<p>What&#8217;s left, you ask? Quite a bit actually, but the biggest piece still remaining is our Quality Assurance testing and reporting components. We&#8217;re working on them in our <a href="https://github.com/gooseproject/qa">qa repository on github</a>, and you can most definitely fork it and get an idea of what we&#8217;re doing. We need some serious help with ABI compliance, validation of RPMS and overall validation that all packages have been built.</p>
<p>Wait! There&#8217;s more! We also need help with documentation, code and usability testing of the isos. The documentation is all based upon our<br />
<a href="https://github.com/gooseproject/main/wiki/how_to_cook_a_goose">&#8216;How to Cook a Goose&#8217; wiki page on github</a>, the <a href="https://github.com/gooseproject/skein">skein code</a> needs to be<br />
updated to the new <a href="http://developer.github.com/v3/">github v3 api</a> and the Isos can be <a href="http://get.gooseproject.org">downloaded and</a><br />
<a href="http://get.gooseproject.org"> tested</a>.</p>
<p>Some of this is more self-explanatory and some is just plain confusing. This is where we need your help! If you have ever wanted to define how things work, you can jump in now and help us identify things and help us solve problems. That&#8217;s the fun part about free and open source software! A good for instance, what is the usability testing requirements for our Isos? Well at the moment, we don&#8217;t really have a good handle on this, but you could step in and define some requirements. If you would prefer to help write code, you could clean up things that might look a bit messy. There&#8217;s plenty to do!</p>
<p>Please come and help us out this weekend or anytime next week! We&#8217;ll be in #gooseproject on irc.freenode.net, or you can work by <a href="https://groups.google.com/group/goose-linux">email</a>, <a href="https://github.com/gooseproject/main/issues?labels=scrub+for+upstream+content&amp;state=open">github</a> or <a href="http://en.wikipedia.org/wiki/Extrasensory_perception">ESP</a>. We&#8217;re excited to be moving forward and look for your help making the the &#8216;Quest for the Golden GoOSe&#8217; 6.0 release a reality!</p>
<p>Cheers,</p>
<p>Clint</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2012/07/26/the-quest-for-the-golden-goose-sprint-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skein: Updating the build process (somewhat)</title>
		<link>http://sexysexypenguins.com/2011/12/24/skein-updating-the-build-process-somewhat/</link>
		<comments>http://sexysexypenguins.com/2011/12/24/skein-updating-the-build-process-somewhat/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 01:24:44 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[December]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[skein]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=1006</guid>
		<description><![CDATA[The original post is in the GoOSe mailing list. I am reprinting here for a wider audience. Last night, Mike (shalkie) and I had a nice discussion about the process we are now using to build / import packages. This &#8230; <a href="http://sexysexypenguins.com/2011/12/24/skein-updating-the-build-process-somewhat/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div>
<address>The <a href="https://groups.google.com/group/goose-linux/browse_thread/thread/7f068af8b978ab52">original post is in the GoOSe mailing list</a>. I am reprinting here for a wider audience.</address>
<p>Last night, Mike (shalkie) and I had a nice discussion about the process we are now using to build / import packages. This is in preparation for now and the future. A lot of this discussion is thanks to Mathieu Bridon (bochecha).</p>
<p>I have inserted a few notes in the process below for clarification.</p>
<p>02:03 &lt; herlo&gt; k, so you should know that you first &#8216;skein request&#8217; a package<br />
02:03 &lt; herlo&gt; it can be done with either the &#8211;path or &#8211;name option, but one must be provided<br />
02:04 &lt; herlo&gt; normally, one shouldn&#8217;t grant their own package. I should be around some tomorrow to grant packages in bulk for you as needed<br />
02:04 &lt; herlo&gt; but<br />
02:04 &lt; herlo&gt; if you do need to grant a package<br />
02:04 &lt; herlo&gt; it should be something like<br />
02:05 &lt; herlo&gt; skein grant -k &lt;koji owner&gt; -g &lt;github owner&gt; issue_number name</p>
<p>Package repos and koji tags are what get created with skein grant. However *only* an admin can grant a new package into our build environment. This is to make sure we are not putting packages into the process that are not part of the upstream and/or for a good review<br />
process. In the future, I suspect quite a few people will be admins and this will be less problematic.</p>
<p>02:05 &lt; herlo&gt; once granted, the package can be imported with<br />
02:05 &lt; herlo&gt; skein import /path/to/srpm<br />
02:06 &lt; herlo&gt; usually though, I do take one extra manual step.<br />
02:06 &lt; herlo&gt; I visit the repo page on github and add a service hook<br />
02:06 &lt; herlo&gt; if you look at this page: <a href="http://www.google.com/url?sa=D&amp;q=https://github.com/gooselinux/libgnomecanvasmm26/admin/hooks&amp;usg=AFQjCNG6KIv_Ic3KgYsKXQzFJx07YpJqXQ" rel="nofollow" target="_blank">https://github.com/gooselinux/libgnomecanvasmm26/admin/hooks</a><br />
02:07 &lt; herlo&gt; you can see the &#8216;Post-Receive URLs (1)&#8217;<br />
02:07 &lt; herlo&gt; if you click on it, you&#8217;ll see the url you should add for any new repo<br />
02:07 &lt; herlo&gt; this post receive hook will automatically launch builds upon a commit</p>
<p>If you have admin access to a repository (and if a package has been &#8216;granted&#8217; to you, then you do), add the following in the Post-Receive<br />
URLs if it&#8217;s not already there:</p>
<p><a href="http://www.google.com/url?sa=D&amp;q=http://roman.gooselinux.org:8080/add&amp;usg=AFQjCNEx42wY7S0qjsd8GMv39mKiAQ7NtA" rel="nofollow" target="_blank">http://roman.gooselinux.org:8080/add</a></p>
<p>02:08 &lt; herlo&gt; once you have that in place, run the import command described above<br />
02:08 &lt; herlo&gt; at that point, everything should be pretty automatic.<br />
02:08 &lt; shalkie&gt; k<br />
02:08 &lt; herlo&gt; within 10 minutes, the build should automatically launch<br />
02:08 &lt; herlo&gt; shalkie: seem pretty straightforward?<br />
02:09 &lt; shalkie&gt; Yeah it does.<br />
02:09 &lt; herlo&gt; k, so now it should also be clear that you may (and probably already do) have failed builds<br />
02:09 &lt; shalkie&gt; The stack of email certainly suggests that.<br />
02:09 &lt; herlo&gt; lol<br />
02:10 &lt; herlo&gt; shalkie: a good portion of those can be run through again, though I have been working on fixing a few of mine<br />
02:10 &lt; herlo&gt; shalkie: as you look through the failed builds, you may just need to run them again<br />
02:11 &lt; herlo&gt; to do that, you can use<br />
02:11 &lt; herlo&gt; skein build<br />
02:11 &lt; herlo&gt; the way I usually do that is &#8216;skein build &#8211;nowait dist-gl6 &lt;pkg_name&gt;&#8217;<br />
02:11 &lt; herlo&gt; only an admin can perform this task (you are an admin)<br />
02:12 &lt; herlo&gt; you can watch the tasks at <a href="http://www.google.com/url?sa=D&amp;q=http://koji.gooselinux.org/koji&amp;usg=AFQjCNEQ6JLQcbMJv5RSM8aVacSil6xUVg" rel="nofollow" target="_blank">http://koji.gooselinux.org/koji</a> as you always have, or go out for a<br />
few hours and check the build statuses when you return</p>
<p>02:13 &lt; herlo&gt; BUT WAIT! There&#8217;s more!<br />
02:13 &lt; herlo&gt; If for some reason, you determine something has to change in the spec file, like another dependency or something<br />
02:13 &lt; herlo&gt; you&#8217;ll need to do two things<br />
02:14 &lt; herlo&gt; first, clone the branch if not already there and then create a vanilla branch<br />
02:16 &lt; herlo&gt; git checkout &#8211;track -b Â &lt;local branch&gt; &lt;remote&gt;/&lt;tracked branch&gt;<br />
02:16 &lt; herlo&gt; eg git checkout &#8211;track -b vanilla origin/vanilla<br />
02:16 &lt; herlo&gt; then push that vanilla branch<br />
02:16 &lt; herlo&gt; git push origin vanilla<br />
02:17 &lt; herlo&gt; this is so we can keep the original state of the package before we make any changes. I&#8217;ll be working onÂ  automating this later<br />
02:17 &lt; herlo&gt; when vanilla is pushed, we&#8217;ll go back to master and make our changes<br />
02:17 &lt; herlo&gt; git checkout master<br />
02:17 &lt; herlo&gt; &lt;make changes&gt;<br />
02:17 &lt; herlo&gt; git add &lt;files changed&gt;<br />
02:17 &lt; herlo&gt; git commit -m &#8220;message regarding changes&#8221;<br />
02:18 &lt; herlo&gt; git push origin master<br />
02:18 &lt; herlo&gt; again, when you push to master, a build will be launched within 10 minutes<br />
02:18 &lt; herlo&gt; sit back, enjoy coffee and wait for the build to return</p>
<p>At the moment, the &#8216;master&#8217; branch is currently what is getting built. Vanilla never gets built, but serves as a reference point to what the upstream did at certain points along the way. The vanilla branch also provides a way to merge in upstream changes with our changes. Git will<br />
make this easy for us, because merge conflicts will be much easier to resolve across branches.</p>
<p>I hope this little conversation is a bit clearer on the process we&#8217;re trying to use. Look for further improvements coming to skein 2.1 (I already have quite the feature list) in the next few months.</p>
<p>Cheers,</p>
<p>Clint</p>
<p>PS &#8211; I likely won&#8217;t be online when this post is published as I&#8217;ll literally be enjoying some GoOSe, prepared by my lovely wife. She is an amazing cook / chef and is attempting this for the first time ever!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/12/24/skein-updating-the-build-process-somewhat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flying through RPM Builds with Koji: Pass #1 Results</title>
		<link>http://sexysexypenguins.com/2011/12/09/flying-through-rpm-builds-with-koji-pass-1-results/</link>
		<comments>http://sexysexypenguins.com/2011/12/09/flying-through-rpm-builds-with-koji-pass-1-results/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 21:16:33 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[Koji]]></category>
		<category><![CDATA[skein]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[December]]></category>
		<category><![CDATA[koji]]></category>
		<category><![CDATA[RPM Building]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=994</guid>
		<description><![CDATA[Well, it looks like we&#8217;re just about finished with Pass #1 to build all of the imported SRPMs we can from upstream. The GoOSe Project results are looking good. Build statistics from 2011-11-01 through 2011-12-09 Completed Builds: 658 Failed Builds: &#8230; <a href="http://sexysexypenguins.com/2011/12/09/flying-through-rpm-builds-with-koji-pass-1-results/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Well, it looks like we&#8217;re just about finished with <strong>Pass #1</strong> to build all of the imported SRPMs we can from upstream. The GoOSe Project results are looking good.</p>
<h3>Build statistics from 2011-11-01 through 2011-12-09</h3>
<address>Completed Builds: 658<br />
Failed Builds: 296</address>
<p>It appears that a bit more than 1/3 of the builds failed and notifications are going out to the package owners. This means we can work through each of them and resubmit them. Odds are that most of them are due to dependency issues and only a few for other reasons.</p>
<p>We&#8217;re preparing for <strong>Pass #2</strong> this weekend. We&#8217;ve discovered some interesting things, however, so here&#8217;s something we&#8217;ll be putting in place first (hopefully):</p>
<h3>A repository to track BANNED and EXCLUDED (for now, other names may arise) SRPMs.</h3>
<p>At the moment, there are SRPMs we cannot build because we don&#8217;t support an architecture (s390, for example) There is no reason to build packages that won&#8217;t work. There are also some packages that contain proprietary content we need to scrub, even though the license states they are free software. These packages will have to wait unless they affect a critical path of getting GoOSe 6.0 composed in coming weeks.</p>
<p>The plan here is to create a repository to track these banned / excluded SRPMs. Skein will query this git repository for the BANNED and EXCLUDED files to make sure any request, grant, or build actions first check to make sure the package is not in either list. If the package is in the list, skein will refuse to act upon the package and the requester will have to resolve the issue before attempting again.</p>
<p>Watch for the updated skein v2.1 with this fix in place in the very near future.</p>
<p>Cheers,</p>
<p>Herlo</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/12/09/flying-through-rpm-builds-with-koji-pass-1-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Releasing skein 2.0 into the wild &#8211; Grapple gets a client function</title>
		<link>http://sexysexypenguins.com/2011/12/08/releasing-skein-2-0-into-the-wild-grapple-gets-a-client-function/</link>
		<comments>http://sexysexypenguins.com/2011/12/08/releasing-skein-2-0-into-the-wild-grapple-gets-a-client-function/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 00:04:50 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[Koji]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[December]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[koji]]></category>
		<category><![CDATA[RPMs]]></category>
		<category><![CDATA[skein]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=986</guid>
		<description><![CDATA[The GoOSe Project has been very busy over the past two weeks. This evening, after dinner, I will be releasing skein 2.0. It&#8217;s major functionality will be documented and placed in the RELEASE.rst file on github. Essentially, the request, query, &#8230; <a href="http://sexysexypenguins.com/2011/12/08/releasing-skein-2-0-into-the-wild-grapple-gets-a-client-function/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://gooseproject.org">GoOSe Project</a> has <a href="http://github.com/gooselinux/">been very busy</a> <a href="http://koji.gooselinux.org/koji/tasks?state=all&amp;view=tree&amp;method=all&amp;order=-id">over the past</a> <a href="http://koji.gooselinux.org/koji/tasks?start=300&amp;state=all&amp;view=tree&amp;method=all&amp;order=-id">two weeks</a>. This evening, after dinner, I will be releasing <a href="https://github.com/gooseproject/skein/tree/master">skein 2.0</a>. It&#8217;s major functionality will be documented and placed in the <a href="https://github.com/gooseproject/skein/blob/master/RELEASE.rst">RELEASE.rst</a> file on github. Essentially, the request, query, grant, import and build functionality is what makes this <strong>2.0</strong> and ready to use.</p>
<p>The best part about this tool is, while I have been working on it, almost all of the remaining SRPMS have been imported and the majority of them have been built on our koji server. Right now, we&#8217;re on the <a href="http://koji.gooselinux.org/koji/tasks?start=300&amp;state=all&amp;view=tree&amp;method=all&amp;order=-id">last batch</a> and I expect it to finish sometime late Friday or early Saturday (12/10/2011). This ends our first major hurdle to getting an Alpha release of GoOSe Linux 6.0 out the door.</p>
<p>Another huge tool in this process is <a href="https://github.com/gooseproject/grapple">Grapple</a>, written by <a href="http://the.softwaretoolsmith.com">python master Nafai</a>, (aka Travis Hartwell). He spent a good bit of time getting this <a href="http://help.github.com/post-receive-hooks/">github hook</a> in place that will record all git commits and help to process them automatically. I spent a bit of time and added a client script to grab the recorded commits and send them on to koji automatically with the proper dist value and url. No more guessing! This is the &#8216;automagic&#8217; corollary to skein build.</p>
<p>Next up, I plan to rebuild the <a href="http://koji.gooselinux.org/koji/buildsbystatus">failed builds</a> and push them through koji again, using skein build. Possibly doing this a few more times until we get things pared down to the packages that don&#8217;t just have dependency problems. I hope to have most of those fixed up and in place by Monday or Tuesday next week (12/12/2011).I&#8217;ve also noticed a few builds that will never build for our arches, so I will have to figure out what to do with them for now.Â  I don&#8217;t want to waste koji resources trying to rebuild them when I know they will never work.</p>
<p>The first Alpha ISO is getting close enough to taste it now! We&#8217;ll have to make sure to have a grand celebration upon our first Golden GoOSe Release :)</p>
<p>Cheers,</p>
<p>Herlo</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/12/08/releasing-skein-2-0-into-the-wild-grapple-gets-a-client-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoOSe and Skein: The road to 2.0</title>
		<link>http://sexysexypenguins.com/2011/11/20/goose-and-skein-the-road-to-2-0/</link>
		<comments>http://sexysexypenguins.com/2011/11/20/goose-and-skein-the-road-to-2-0/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 23:32:14 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[November]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[skein]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=972</guid>
		<description><![CDATA[As some of you may already know, Iâ€™ve been a part of this enterprise rebuild project for a while now and things have been going pretty well. As I have been working on getting the import functionality into skein pre2.0, &#8230; <a href="http://sexysexypenguins.com/2011/11/20/goose-and-skein-the-road-to-2-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<address>As some of you may already know, Iâ€™ve been a part of this <a href="http://gooseproject.org/">enterprise rebuild project</a> for a while now and things have been going pretty well.</address>
<p>As I have been working on getting the import functionality into <a href="https://github.com/gooseproject/skein/tree/new_workflow">skein pre2.0</a>, there are a few features that have come to mind as I go along. It&#8217;s very interesting to see these features appear once the tool is out in the wild. Some of them have come from other users/contributors and some from my brain, but here&#8217;s a dump of what I have been considering adding to skein:</p>
<ul>
<li><a href="https://github.com/gooseproject/skein/issues/7">skein revoke</a> &#8211; (this one is from imak, and quite a good idea) It&#8217;s possible to accidentally request a repo that you didn&#8217;t mean to request. skein revoke will allow you to specify that you erred and will allow you to close the request with a nice message you provide.</li>
<li><a href="https://github.com/gooseproject/skein/issues/8">skein request from an SRPM</a> &#8211; the above request brought forth something I&#8217;d been thinking about doing, but hadn&#8217;t really formalized. I suspect this feature will be a good bit of our automation in our second push to finish GoOSe 6.0 by year&#8217;s end.</li>
<li>skein update &#8211; providing this feature will probably happen <strong>after</strong> 2.0. The plan would be to allow an already existing repo to be updated to a new release or version of an SRPM. In addition, it&#8217;s possible the update will be to a new branch, which update should be able to handle.</li>
</ul>
<p>As for the rest of the features, the code for export was just finished today. I expect to be able to finish push, upload and import by the end of this coming week. Then it will be on to importing the rest of the upstream tree and building GoOSe 6.0</p>
<p>Cheers,</p>
<p>Herlo</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/11/20/goose-and-skein-the-road-to-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoOSe Project: Progress toward Skein 2.0</title>
		<link>http://sexysexypenguins.com/2011/11/10/goose-project-progress-toward-skein-2-0/</link>
		<comments>http://sexysexypenguins.com/2011/11/10/goose-project-progress-toward-skein-2-0/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 23:34:35 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[Guru]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[November]]></category>
		<category><![CDATA[rebuild]]></category>
		<category><![CDATA[skein]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=966</guid>
		<description><![CDATA[As some of you may already know, I&#8217;ve been a part of this enterprise rebuild project for a while now and things have been going pretty well. Recently, though, I&#8217;ve made some good progress on our import and build tool, &#8230; <a href="http://sexysexypenguins.com/2011/11/10/goose-project-progress-toward-skein-2-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>As some of you may already know, I&#8217;ve been a part of this <a href="http://gooseproject.org">enterprise rebuild project</a> for a while now and things have been going pretty well. Recently, though, I&#8217;ve made some good progress on our import and build tool, <a href="https://github.com/gooseproject/skein">skein</a>.</p>
<p>Skein&#8217;s goal is provide easy functionality for rebuilding SRPMS from upstream and import them into github, where they can be built using our <a href="http://koji.gooselinux.org">koji instance</a>. The process is actually easier than one might think:</p>
<ul>
<li>skein request &#8211; Request a particular repository be setup on our github organization for the specified package. The package itself should be able to be requested from the SRPM, but that feature is not yet available.</li>
<li>skein query &#8211; To verify the request has been placed, this shows the open queries (by default).</li>
<li>skein show &#8211; For a particular request, show the detail of who requested and the purpose of such a request.</li>
<li>skein grant &#8211; Only an admin can grant the repository. Only members of the admin team on our github organization can grant the repository.</li>
<li>skein extract &#8211; Once granted, the SRPM can be extracted and placed into two basic directories:</li>
<ul>
<li>/path/to/package/lookaside/ &#8211; contains the archive from the SRPM, usually a tar, tar.gz or zip file. The contents of this directory can then be pushed to the lookaside cache.</li>
<li>/path/to/package/git/ &#8211; contains the spec file, any patches and other sources that are not archives. A Makefile and sources file are also generated along with a .gitignore to provide useful functionality during the koji build</li>
</ul>
</ul>
<p>Other functionality is currently under development:</p>
<ul>
<li>skein push &#8211; Once extracted and committed to the git repository, this pushes the git commits to github.</li>
<li>skein upload &#8211; Once extracted, this uploads the content of the lookaside directory to the lookaside cache at pkgs.gooselinux.org.</li>
<li>skein import &#8211; A combination of skein extract, push and upload, since that seems fairly logical.</li>
<li>skein build &#8211; Albeit mostly complete, it will need to be tested with an SRPM that has been run through this process.</li>
</ul>
<p>I took a few minutes the other day and created a video of the completed process. I post this here for others to use for their benefit, but also so I can have it in another place besides my laptop.</p>
<p><a href="http://sexysexypenguins.com/misc/skein_qd.webm">Skein video</a></p>
<p>Cheers,</p>
<p>Herlo</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/11/10/goose-project-progress-toward-skein-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happening Today: The Very First GoOSe Sprint!</title>
		<link>http://sexysexypenguins.com/2011/10/22/happening-today-the-very-first-goose-sprint/</link>
		<comments>http://sexysexypenguins.com/2011/10/22/happening-today-the-very-first-goose-sprint/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 16:10:00 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[skein]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[nerds]]></category>
		<category><![CDATA[sprint]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=961</guid>
		<description><![CDATA[We&#8217;re starting to really ramp up on the GoOSe Project. If you haven&#8217;t heard about this project, check out my previous posts. Well, I have been meaning to write this post every day this week, only to be bombarded with &#8230; <a href="http://sexysexypenguins.com/2011/10/22/happening-today-the-very-first-goose-sprint/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<address>We&#8217;re starting to really ramp up on the <a href="http://www.gooseproject.org/">GoOSe Project</a>. If you haven&#8217;t heard about this project, check out my <a href="http://sexysexypenguins.com/2011/09/26/building-rpms-and-twif-interview/">previous</a> <a href="http://sexysexypenguins.com/2011/09/19/building-an-os-the-workflow/">posts</a>.</address>
<p>Well, I have been meaning to write this post every day this week, only to be bombarded with work or other projects getting in the way. However, I am currently sitting at the <a href="http://beansandbrews.com">Beans &amp; Brews</a> <a href="http://www.beansandbrews.com/locations.html">at 45 East 11400 South in Sandy, Utah</a> participating in the <a href="http://theadamsresidence.net/2011/10/21/goose-sprint/">very first GoOSe Sprint</a>.</p>
<p>My goal today is very simple, get <a href="https://github.com/gooseproject/skein">skein</a> 2.0 out the door for testing. Most of contributors will be using skein to build the upstream packages necessary to make the distribution work, so I need to finish this work.</p>
<p>There are other tasks being performed today, including documentation, package building, automating tasks and finishing up the <a href="http://gooseproject.github.com">new website</a>.</p>
<p>If you have any interest in seeing how an enterprise quality distribution can be rebuilt using free software, we&#8217;d love to have you stop by #gooseproject on <a href="http://irc.freenode.net">irc.freenode.net</a>. The <a href="https://groups.google.com/group/goose-linux">GoOSe mailing list</a> is another great place to read about what we&#8217;re doing.</p>
<p>Or if you like physical space, come on by the Beans &amp; Brews today from 10am until 2pm. There should be at least a few of us working on something all day long. Just look for the nerds in the corner getting all excited while discussing phrases like &#8216;build process&#8217; and &#8216;skein grant&#8217; :P</p>
<p><strong>Update: We&#8217;re going to be moving down to the Beans and Brews at 155 East 13800 South at approximately 12:45pm</strong></p>
<p>Cheers,</p>
<p>Herlo</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/10/22/happening-today-the-very-first-goose-sprint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building an OS: The workflow!</title>
		<link>http://sexysexypenguins.com/2011/09/19/building-an-os-the-workflow/</link>
		<comments>http://sexysexypenguins.com/2011/09/19/building-an-os-the-workflow/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 00:24:37 +0000</pubDate>
		<dc:creator>herlo</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GoOSe]]></category>
		<category><![CDATA[Koji]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[koji]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mock]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[September]]></category>
		<category><![CDATA[skein]]></category>

		<guid isPermaLink="false">http://sexysexypenguins.com/?p=949</guid>
		<description><![CDATA[Over the past few months, I&#8217;ve been working on a project which has inspired me to think about how a complete Operating System is built from the ground up. Luckily for me, this process is pretty well documented by the &#8230; <a href="http://sexysexypenguins.com/2011/09/19/building-an-os-the-workflow/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Over the past few months, I&#8217;ve been working on a project which has inspired me to think about how a complete Operating System is built from the ground up. Luckily for me, this process is pretty well documented by the <a href="http://fedoraproject.org/wiki/ReleaseEngineering/Overview">Fedora Project</a>.</p>
<p>The project I&#8217;ve been working on does require a bit of thought around enterprise Linux versions run by a community. There is the ever amazing <a href="http://centos.org">CentOS</a>, <a href="http://scientificlinux.org">Scientific Linux</a> and a few others who have been around the block a time or two. The work that they have done has been immense and very helpful to many, including me.</p>
<p>For my project, the work was about building a fully binary compatible, enterprise-ready, community version of Linux, very similar to what CentOS and others have done. The question always comes &#8216;why?&#8217; which will be addressed later on in future posts. Suffice it to say, the work we&#8217;ve been doing has paid off in both a individual and community sense.</p>
<p>In the beginning of this project, it was clear that we needed some tools to make things work the way we wanted. Luckily, there were tools out there to do a good portion of our work. Tools like <a href="http://fedoraproject.org/wiki/Koji"><strong>koji</strong></a>, <a href="http://fedoraproject.org/wiki/Projects/Mock"><strong>mock</strong></a> and of course <a href="http://en.wikipedia.org/wiki/Linux"><strong>Linux</strong></a> to bring it all together. But other tools seemed to be missing and I went on a quest&#8230;</p>
<p>The first tool that seemed to be missing was a way to import src.rpms from the most popular upstream vendor. These packages needed to be rebuilt by koji in some fashion, but just taking the srpms and rebuilding them had been done before, and seems to be the preferred way to date. In my mind however, it seemed that we were missing a step. Enter <a href="https://github.com/gooseproject/skein"><strong>skein</strong></a>.</p>
<p>While skein is still very green and will need quite a bit more work, it accomplishes the goal of extracting the srpms into two parts. This tool basically sets up two things; a git repository on <a href="https://github.com/organizations/gooseproject">github.com</a> (for now) along with a location and verifiable way to store the archive stored inside the srpm, called a lookaside cache. If one looks at the way the <a href="http://fedoraproject.org/wiki/Using_Fedora_GIT">Fedora Project maintains their source</a>, this process is very similar.</p>
<p>Once the srpm is imported with skein, it can be built with koji. At the moment, this process is fairly manual, but the plan is to improve skein to also allow building from the repositories. However, another bit more automatic way to build would be to use a git hook. Luckily, github provides <a href="http://help.github.com/post-receive-hooks/">several ways to accomplish this</a>, including a custom URL to which an HTTP POST can be sent. At which time, koji would download the spec file and source from the appropriate locations and build a srpm.</p>
<p>Koji completes its task by building the binary RPM(s) and appropriately tagging the successful builds. Once complete, mash can be used to generate custom repositories to prepare for composing actual iso images. Mash is a command-line tool, again used by Fedora.</p>
<p>Once the repositories are generated by mash, <a href="https://fedorahosted.org/pungi/"><strong>pungi</strong></a> takes over. The process of building an iso is actually very simple, just a kickstart file, some repositories and pungi are used to create a fully installable DVD or multi-CD iso image.</p>
<p>Here&#8217;s a bit of my <strong>excellent artwork</strong> to better describe the process.</p>
<p><a href="http://sexysexypenguins.com/wp-content/uploads/2011/09/goose-workflow_800x600.jpg"><img class="alignleft size-full wp-image-950" style="border: 0pt none; margin-left: 5px; margin-right: 5px;" title="OS Workflow" src="http://sexysexypenguins.com/wp-content/uploads/2011/09/goose-workflow_800x600.jpg" alt="" width="480" height="360" /></a>A couple things to note about this process is that while it is starting to become clear how to build an OS from an upstream vendor, there are parts that still haven&#8217;t been addressed. Currently, we can import with skein and rebuild the SRPM and build the binary RPMs with koji. We yet to have enough binary RPMs to actually construct a buildroot, but we are getting very close.</p>
<p>Automating the builds with git hooks and a skein build process is a nice big step toward making our own Operating System possible.</p>
<p>The other big piece of the puzzle is dependency resolution. Now this has been mostly resolved by tools and apis like <a href="http://yum.baseurl.org/">Yum</a> and <a href="http://rpm5.org/">RPM</a>, but I still feel very much like a n00b when working with them. My hope is to figure out that process in the next week or so, and update skein to make building faster and easier overall.</p>
<p>Cheers,</p>
<p>herlo</p>
]]></content:encoded>
			<wfw:commentRss>http://sexysexypenguins.com/2011/09/19/building-an-os-the-workflow/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
