<?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>AdamW on Linux and more</title>
	<atom:link href="http://www.happyassassin.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.happyassassin.net</link>
	<description></description>
	<lastBuildDate>Tue, 21 May 2013 07:07:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Anaconda Test Day Tuesday, and debugging</title>
		<link>http://www.happyassassin.net/2013/05/21/anaconda-test-day-tuesday-and-debugging/</link>
		<comments>http://www.happyassassin.net/2013/05/21/anaconda-test-day-tuesday-and-debugging/#comments</comments>
		<pubDate>Tue, 21 May 2013 07:07:31 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1773</guid>
		<description><![CDATA[Sorry (again) for the late notice, but Tuesday 2013-05-21 &#8211; tomorrow or today, depending &#8211; is Anaconda Test Day! Yeah, in a way it&#8217;s anaconda test day every day in Fedoraland, as we focus a lot of our day-to-day testing on the installer. But the folks running this Test Day have come up with some [...]]]></description>
				<content:encoded><![CDATA[<p>Sorry (again) for the late notice, but Tuesday 2013-05-21 &#8211; tomorrow or today, depending &#8211; is <a href="https://fedoraproject.org/wiki/Test_Day:2013-05-21_AnacondaNewUI_Followup">Anaconda Test Day</a>!</p>
<p>Yeah, in a way it&#8217;s anaconda test day every day in Fedoraland, as we focus a lot of our day-to-day testing on the installer. But the folks running this Test Day have come up with some good extended test cases that go beyond what we cover in the release validation testing, so we should be able to find some more interesting bugs (it&#8217;s always fun).</p>
<p>We&#8217;ll be testing the current Beta candidate build, Beta RC2. As always, full instructions for testing are available in <a href="https://fedoraproject.org/wiki/Test_Day:2013-05-21_AnacondaNewUI_Followup">the Test Day page</a>, and there will be QA folks on hand in #fedora-test-day on Freenode IRC for discussion and any help you need in testing or debugging. If you&#8217;re not sure what IRC is or how to use it, we have <a href="http://fedoraproject.org/wiki/How_to_use_IRC">instructions here</a>, and you can also simply <a href="http://webchat.freenode.net/?channels=fedora-test-day">click here</a> to join the chat through a Web front end.</p>
<p>If you haven&#8217;t tried out the improved anaconda in Fedora 19 yet, this event is a great excuse to take a look at it: it is much more polished and stable now than it was in Fedora 18, so come try it for yourself and help us to improve it further before the final release of Fedora 19!</p>
<p>I&#8217;ve been really enjoying work on Fedora 19 lately. After the somewhat hellish Fedora 18 cycle where we worked more or less 24&#215;7 on stabilising anaconda, Fedora 19 has been a pretty well-behaved release so far, and so I&#8217;ve had time to look around and try to investigate and fix up some other things. Among other things, today, I was looking into a couple of bugs which turned out to be very interesting (to weird people like me, anyhow) to debug. I don&#8217;t know if anyone else feels like this, but I absolutely love this stuff &#8211; it&#8217;s my favourite thing about my job, really, the process of pinning down exactly why something is going wrong, and how to fix it. I also love that in a project like Fedora, you rarely do it alone: it&#8217;s very cool to work alongside (or just watch) a big group of extremely smart and knowledgeable people, both inside RH and in the Fedora community. I just had the urge to do a post mortem on a specific bug here, because I really love this process. Those of you who do this every day can safely move on. <img src='http://www.happyassassin.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Since upgrading to Fedora 19, I hit a strange problem three or four times where there was a long delay when using the &#8216;su&#8217; command to become root. I&#8217;d run &#8216;su&#8217;, enter my password, and then it would sit there apparently thinking about it for 15-20 seconds before returning a root prompt; it&#8217;s usually instant. This was different from the delay that usually happens when you get the password <i>wrong</i> &#8211; it happens when you get the password right, and is longer than that delay.</p>
<p>So when I finally got around to trying to figure out what was going on recently, I started out by trying to &#8216;strace&#8217; the su process.</p>
<p>Now, strace is <i>rarely</i> the tool you really want to use for debugging. It&#8217;s a very unwieldy thing to use, for most cases. There&#8217;s usually a better way of doing it. But it can be invaluable for your real mystery bugs, like this one, where there is no other obvious way to attack the problem &#8211; no logs to sink your teeth into or obvious triage techniques you can use. It turned out to be invaluable for this bug.</p>
<p>At first I was stymied because if you just run the su process through strace from the outset, authentication always fails &#8211; strace interferes with it somehow. Tomas Mraz <a href="https://lists.fedoraproject.org/pipermail/devel/2013-May/182924.html">pointed out</a> the workaround which really should&#8217;ve been obvious to me in hindsight: just run su first, then attach the strace to it (the &#8216;strace -p [pid]&#8216; command does this). That works fine. So, now I had the strace output, and it had a reasonably obvious smoking gun:</p>
<p><code><br />
stat("/root/.xauth/import", 0x7fff660f8b70) = -1 ENOENT (No such file or directory)<br />
getgid()                                = 1001<br />
getuid()                                = 1001<br />
pipe([4, 6])                            = 0<br />
pipe([7, 8])                            = 0<br />
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f2a174b9a10) = 15192<br />
close(4)                                = 0<br />
close(8)                                = 0<br />
close(6)                                = 0<br />
read(7, </p>
<p>** PAUSE HERE **</p>
<p>"", 2048)                       = 0<br />
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=15192, si_status=1, si_utime=0, si_stime=0} ---<br />
close(7)<br />
</code></p>
<p>The pause happened at &#8220;PAUSE HERE&#8221;: the strace output sat right in the middle of that line for 15 seconds before moving on. So what does that bunch of gibberish mean?</p>
<p>Extracting meaning from voluminous gibberish is an invaluable skill for the kind of stuff we&#8217;re working on here, which you only really develop with experience. But in this particular case, here&#8217;s how that stuff reads to me:</p>
<p>blahblahblahwordswordswords CHILD CHILD SIGCHLD 15192 blahblahblahwords&#8230;pause&#8230;SIGCHLD CLD_EXITED wordswordswords</p>
<p>The key thing to know is that, just before the pause, the su process created a child process. Basically, it ran some other command that it needed to run. This happens all the time: say you were writing a very unsophisticated file manager, if the user clicked the Create Directory button, your program would run a child &#8216;mkdir&#8217; process. (That&#8217;s a horrible way to write a file manager, but you get the idea).</p>
<p>So what this means is that we&#8217;re not going to get any further staring at this strace, because the data just isn&#8217;t there. The pause happens right after a child process is forked off, and right when the pause ends, we see that the child process finished. That makes it pretty damn obvious that the pause is happening in the child process, somehow.</p>
<p>So what next? Well, we find out what the child process is. That &#8217;15192&#8242; is the pid of the child process. How did I know that? I didn&#8217;t (though a real developer probably would have), but it seemed like a reasonable guess &#8211; it&#8217;s a pid-ish number, it&#8217;s clearly associated with the creation of the child process, and if <b>I</b> were the developer of strace, then when a child process was created, I&#8217;d bloody well make sure it logged the pid. So it seemed a pretty safe bet, and it was easy enough to check: re-do the strace and check &#8216;ps&#8217; output for the apparent pid while the pause was happening. And lo, it came to pass that I was right. So ps told me that the child process was this:</p>
<p>/usr/bin/xauth -f /run/gdm/auth-for-adamw-szT11D/database nlist :0</p>
<p>it&#8217;s trying to read some kind of authentication information from a database provided by gdm. Okay. Now we&#8217;re making progress.</p>
<p>The next step is probably pretty obvious: let&#8217;s strace the child process. It&#8217;s easy enough to watch the su strace output and fire off an &#8216;strace -p 15192&#8242; (or whatever the new number was) right when the pause happens.</p>
<p>That yielded some nice gratifying results. The xauth strace showed this happening, seven times:</p>
<p>open(&#8220;/run/gdm/auth-for-adamw-szT11D/database-c&#8221;, O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)<br />
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0<br />
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0<br />
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0<br />
nanosleep({2, 0}, 0x7fff8b56d5c0)       = 0</p>
<p>it tries to access (actually, create) a file, gets &#8216;Permission denied&#8217;, WORDSWORDSWORDS, then goes away to sulk in the corner for a bit: after that &#8216;nanosleep&#8217; line, there was a two second pause. Multiply that by 7 (actually I think it&#8217;s probably 8, and the first happened before I got the strace started) and you get the long pause. Eureka!</p>
<p>Of course, we&#8217;re not done yet. When you run up against something like this, there are two key questions:</p>
<p>a) Why is it trying to do that in the first place?<br />
b) Why is it failing?</p>
<p>a) can <i>sometimes</i> be an interesting question, but then, I always find it&#8217;s a good idea to consider a third question: &#8216;do the people who did this know better than I do?&#8217;, to which the answer is often &#8216;yes&#8217;. I&#8217;m certainly not going to start questioning the motives of the people who maintain util-linux unless it seems to be urgently necessary. So in a case like this, it&#8217;s probably prudent to assume that there&#8217;s a good and valid answer to a), and slide right along to b).</p>
<p>At this point it was necessary to call in the cavalry again, what with me still being the idiot monkey and all. So I got on IRC and bleated piteously for <a href="http://blogs.gnome.org/halfline/">halfline</a> &#8211; Ray Strode &#8211; the maintainer of GDM. He did most of the work from there on; I just sat around coming up with silly ideas.</p>
<p>It was still a pretty wide open problem area to start with; there are always multiple possibilities when you&#8217;re looking at a problem like this. We had to consider, for instance, the possibility that this file creation <i>always</i> failed, but didn&#8217;t always cause a delay. Or that the attempt to create the file itself isn&#8217;t a &#8216;normal&#8217; thing but some kind of failure path; perhaps in the &#8216;success&#8217; case, the file creation isn&#8217;t attempted. So it seemed prudent to run an strace on the &#8216;success&#8217; case as well as the failure case. <a href="http://ajaxxx.livejournal.com/">ajax</a> &#8211; Adam Jackson &#8211; had a handy trick for achieving this. In the &#8216;success&#8217; case the xauth command returns pretty much instantaneously, so you can&#8217;t catch it in strace just by being handy with the copy/paste shortcuts. Noo, we have to be smarter than that. So, we do this:</p>
<p>cp /usr/bin/xauth /usr/bin/xauth-real<br />
cat > /usr/bin/xauth << EOF<br />
strace -o /tmp/$$.strace /usr/bin/xauth-real "$@"<br />
EOF</p>
<p>What we did there was replace the xauth binary with a wrapper script that runs the 'real' xauth (renamed to xauth-real) through strace. (The cat > << EOF...EOF stuff is just a way to create a file with any contents you like; you could just as easily create a file in gedit, and type in that strace line to it). The "$$" means "the pid of the process", so you wind up with /tmp/18104.strace or whatever.</p>
<p>After that nifty trick we run our 'su', and take a look at the strace. It shows that the creation of the file is indeed attempted in the success case, and works immediately. So as it turns out, this isn't a curveball: the problem really is that xauth should be able to create that file, but it's being denied permission. Still - <i>always check for curveballs</i>. Don&#8217;t get blinkers on when you&#8217;ve caught a hint of what the problem is: at every stage of debugging, try and consider <i>all</i> the possibilities.</p>
<p>With that knowledge we could focus in a little bit. After looking at various things we worked our way around to what turned out to be the problem: on the system where I was seeing the bug, /run/gdm/ had the permissions 1770 (and ownership root.gdm). Well, that&#8217;s clear enough.</p>
<p>We still weren&#8217;t done, though! The question is always <b>why</b>: why did the directory have those permissions? Remember, the bug isn&#8217;t permanent. Checking a normally-working system, the permissions were 0711, which is what halfline expected to see. Since I didn&#8217;t see the bug all the time, it looked like the permissions were usually right, but somehow, sometimes, they got set to the wrong thing. So what would be changing the permissions in the middle of a running session?</p>
<p>Tracking that down was a bit tricky. We poked through the gdm codebase looking for calls to chmod or other functions for setting permissions and couldn&#8217;t find anything. Finally, though, when we were getting pretty stumped, halfline thought to check the gdm package spec file. Eureka once again:</p>
<p>%attr(1770, root, gdm) %dir /run/gdm</p>
<p>And there, the prosecution rests: we have our culprit. On package installation, the permission on /run/gdm were set wrong. As we&#8217;d discovered while poking the gdm codebase, gdm has code to set the correct permissions &#8211; 0711 &#8211; at runtime, so most of the time, that was disguising this bug; when I booted up my system, gdm would fix the incorrect permissions. But what would trigger the bug would be any update to the &#8216;gdm&#8217; package that I installed on the fly, without rebooting or restarting GNOME: the package install would set the permissions back to 1770, and boom, bug. A reboot would trigger gdm fixing the permissions and the bug went away again.</p>
<p>I don&#8217;t know, maybe I&#8217;m just weird, but I enjoy the whole process of narrowing something like that down, and it&#8217;s a great feeling when you get to the end and you&#8217;re satisfied that you know exactly what broke and how to fix it. Even if someone else wound up doing most of the work! Thanks much to Ray, Adam and Tomas for that.</p>
<p>I actually intended to also work through in similar fashion the other interesting thing I figured out today, which is why most of anaconda&#8217;s icons are missing when you run it from the new MATE Fedora spin, but this has gotten very long, so I guess I&#8217;ll save that for another time! Thanks for reading, if you got this far.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/05/21/anaconda-test-day-tuesday-and-debugging/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quote of the day</title>
		<link>http://www.happyassassin.net/2013/05/16/quote-of-the-day/</link>
		<comments>http://www.happyassassin.net/2013/05/16/quote-of-the-day/#comments</comments>
		<pubDate>Thu, 16 May 2013 18:25:37 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1768</guid>
		<description><![CDATA[jwb: so let me get this straight. you&#8217;re using an unreleased kernel with a btrfs and ceph combination? atb9090_: thinking about it jwb: think harder.]]></description>
				<content:encoded><![CDATA[<p><b>jwb</b>: so let me get this straight.  you&#8217;re using an unreleased kernel with a btrfs and ceph combination?<br />
<b>atb9090_</b>: thinking about it<br />
<b>jwb</b>: think harder.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/05/16/quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer memory usage in F19 Beta TC3</title>
		<link>http://www.happyassassin.net/2013/05/09/installer-memory-usage-in-f19-beta-tc3/</link>
		<comments>http://www.happyassassin.net/2013/05/09/installer-memory-usage-in-f19-beta-tc3/#comments</comments>
		<pubDate>Thu, 09 May 2013 20:13:54 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1762</guid>
		<description><![CDATA[So I had a few spare cycles this morning and thought I&#8217;d look at the memory usage of the installer in F19 Beta TC3. The awesome Chris Lumens made this much easier back in 2011 by adding memory use logging functionality to anaconda. He wrote up his findings at the time &#8211; based on a [...]]]></description>
				<content:encoded><![CDATA[<p>So I had a few spare cycles this morning and thought I&#8217;d look at the memory usage of the installer in F19 Beta TC3.</p>
<p>The awesome Chris Lumens made this much easier back in 2011 by <a href="https://www.redhat.com/archives/anaconda-devel-list/2011-May/msg00085.html">adding memory use logging functionality</a> to anaconda. He wrote up his findings at the time &#8211; based on a Fedora 15 install &#8211; in <a href="http://www.bangmoney.org/serendipity/index.php?/archives/165-This-Week-in-Anaconda-11.html">this blog post</a>.</p>
<p>I ran a very similar test to Chris&#8217; using F19 Beta TC3. We both did a default package set install from a DVD image. Only difference is that I did not switch language to German in the anaconda UI, as Chris did. Here&#8217;s my graph:</p>
<p><img src="https://www.happyassassin.net/extras/memusage-f19btc3.png" alt="Memory usage during F19 Beta TC3 install" /></p>
<p>As Chris did, I&#8217;ve annotated the spikes (although much more messily than he did).</p>
<p>So, what do we see? It&#8217;s a bit hard to see in this graph as I blew through the install process very quickly, but I just ran another test, and if I complete the necessary spokes and leave the UI sitting at the hub screen before actually kicking off an install, the &#8216;background level&#8217; of anaconda itself is 329MB. In Chris&#8217; graph, this &#8216;background level&#8217; before package installation kicks in looks like it&#8217;s around 200MB. However, oldUI was very different from newUI, and most of the difference there may be accounted for by the fact that we&#8217;ve already fired up storage and repository configuration code at this point.</p>
<p>The &#8216;background level&#8217; during package installation &#8211; where the line sort of mostly sits aside from spikes &#8211; is around 590MB in my data. In Chris&#8217; F15 test, it looks like it was around 520MB-530MB (eyeballing it). So usage has increased about 60-70MB there.</p>
<p>The spikes are as follows:</p>
<p>A &#8211; sepolgen-ifgen running during install of policycoreutils-devel package (spikes to 796MB)<br />
B and C &#8211; both gtk-update-icon-cache, running during %posttrans I believe. See <a href="https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache">icon cache packaging guidelines</a>.<br />
D &#8211; this whole ramp is yum&#8217;s &#8220;VerifyTransaction&#8221; action, which is new since Fedora 15 (I forget which release introduced it)</p>
<p>The shorter unlabelled spikes I haven&#8217;t looked into, but they&#8217;re probably update-mime-databases, like the similar small spikes in Chris&#8217; F15 run.</p>
<p>It&#8217;s rather odd that gtk-update-icon-cache runs multiple times in %posttrans, the policy seems designed to prevent this happening. From the raw data it looks like it runs three times, once at 08:29-31, once at 08:36-38, and once at 09:17. The memory usage spikes in all three cases. <b>edit:</b> Thanks to kalev who came up with a nifty bit of RPM magic to inspect all scripts that do gtk-update-icon-cache, it looks like this makes sense: there are three icon themes of significant size that are updated in %posttrans of various packages, hicolor, gnome and HighContrast. So the three spikes associated with gtk-update-icon-cache runs make sense.</p>
<p>So it looks like since F15, the general &#8216;background&#8217; usage of memory during an anaconda run has increased modestly, and the spikes in usage have changed somewhat. </p>
<p>The good news is that the highest spike in a default F19 run is lower than the highest spike in a default F15 run; Chris&#8217; graph spikes clear over 800MB, while mine just touches it. The big spike in F15 was &#8220;from the selinux-policy-targeted package&#8217;s %post running semodule&#8221;; that&#8217;s gone completely in F19, there is no spike at all associated with selinux-policy-targeted. However, the biggest spike in F19 appears to be a new one: it is a different SELinux spike, this time sepolgen-ifgen running during install of policycoreutils-devel. It is not quite as big as the F15 spike, but obviously something we should try and optimize if possible.</p>
<p>gtk-update-icon-cache caused spikes both times. However, during F15 it ran only once (according to Chris), and was a somewhat smaller spike. It&#8217;s labelled K in Chris&#8217; graph, and is a spike of 70-80MB, to 600MB total. In F19Btc3, the spike is of 110MB, to 700MB total.</p>
<p>The &#8216;depmod&#8217; spike from Chris&#8217; run seems to have disappeared now.</p>
<p>Finally, the &#8216;ramp&#8217; associated with the new VerifyTransaction step in yum is a new issue, and possibly worrying: I haven&#8217;t tested with a larger package set, but this test indicates that the memory usage never seems to level off, which would indicate that memory usage during VerifyTransaction is directly proportionate to the number of packages being installed. So at least theoretically, if you did a really big package set install, the memory usage during VerifyTransaction might be the highest of all, and could go quite high. I&#8217;ll try doing an &#8216;as much stuff as possible&#8217; install and see how high it gets.</p>
<p>So we have a mixed picture from this small comparison; in fact the highest memory usage of a stock DVD install seems to have gone down slightly since F15, but there&#8217;s clearly room for improvement, and there may be issues with larger package sets that we didn&#8217;t have in F15.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/05/09/installer-memory-usage-in-f19-beta-tc3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ABRT  and SSSD Test Days this week</title>
		<link>http://www.happyassassin.net/2013/05/06/abrt-and-sssd-test-days-this-week/</link>
		<comments>http://www.happyassassin.net/2013/05/06/abrt-and-sssd-test-days-this-week/#comments</comments>
		<pubDate>Tue, 07 May 2013 02:13:52 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Red Hat]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1759</guid>
		<description><![CDATA[This week in Test Days: we&#8217;ll be testing ABRT on Tuesday 2013-05-07 and SSSD improvements and Active Directory integration on Thursday 2013-05-09! ABRT is the Fedora tool for catching and reporting crashes. If you&#8217;ve been running Fedora 19, or you&#8217;ve updated with updates-testing in Fedora 18 in the last few days, you may have noticed [...]]]></description>
				<content:encoded><![CDATA[<p>This week in Test Days: we&#8217;ll be testing <a href="https://fedoraproject.org/wiki/Test_Day:2013-05-07_ABRT">ABRT on Tuesday 2013-05-07</a> and <a href="https://fedoraproject.org/wiki/Test_Day:2013-05-09_SSSD_Improvements_and_AD_Integration">SSSD improvements and Active Directory integration on Thursday 2013-05-09</a>!</p>
<p>ABRT is the Fedora tool for catching and reporting crashes. If you&#8217;ve been running Fedora 19, or you&#8217;ve updated with updates-testing in Fedora 18 in the last few days, you may have noticed some major changes to ABRT and libreport, including a completely new graphical tool for reporting crashes called gnome-abrt. We&#8217;ll be testing out these big changes at the <a href="https://fedoraproject.org/wiki/Test_Day:2013-05-07_ABRT">ABRT Test Day</a>. ABRT gets better every Fedora release, but the more broad-based testing we get the more issues we can squish, so please, come along and help us test!</p>
<p>The <a href="https://fedoraproject.org/wiki/Test_Day:2013-05-09_SSSD_Improvements_and_AD_Integration">SSSD improvements and Active Directory integration Test Day</a> will focus on Fedora 19 enhancements to our enterprise authentication tools. In particular, we&#8217;ll be testing integrating Fedora 19 systems into Active Directory domains. This probably won&#8217;t be of interest to some of you, but if you use or even help to admin a FreeIPA or AD shop, you might well want to come along and help check if we have things working properly for your deployment.</p>
<p>As always, full instructions for taking part in each Test Day are available on the Wiki page, and we&#8217;ll be making live images available so you can do as much of the testing as possible without needing to install a pre-release Fedora. QA and development folks will be present in the #fedora-test-day channel on Freenode IRC for discussion and any help you might need in testing.  If you&#8217;re not sure what IRC is or how to use it, we have <a href="http://fedoraproject.org/wiki/How_to_use_IRC">instructions here</a>, and you can also simply <a href="http://webchat.freenode.net/?channels=fedora-test-day">click here</a> to join the chat through a Web front end.</p>
<p>Thanks to all in advance!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/05/06/abrt-and-sssd-test-days-this-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Day In The Life Of A Firmware Engineer</title>
		<link>http://www.happyassassin.net/2013/05/03/a-day-in-the-life-of-a-firmware-engineer/</link>
		<comments>http://www.happyassassin.net/2013/05/03/a-day-in-the-life-of-a-firmware-engineer/#comments</comments>
		<pubDate>Fri, 03 May 2013 23:41:41 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1754</guid>
		<description><![CDATA[11am: Arrive at work, check out crack pipe from inventory 11:05am &#8211; noon: Read online forums, cackle at victims; crack pipe Noon &#8211; 1pm: Read latest standards documents; write code that is in technical compliance but to any sane observer appears screamingly inept, baroque, buggy, unusable and downright dangerous 1pm &#8211; 2pm: Lunch with friend [...]]]></description>
				<content:encoded><![CDATA[<p>11am: Arrive at work, check out crack pipe from inventory<br />
11:05am &#8211; noon: Read online forums, cackle at victims; crack pipe<br />
Noon &#8211; 1pm: Read latest standards documents; write code that is in technical compliance but to any sane observer appears screamingly inept, baroque, buggy, unusable and downright dangerous<br />
1pm &#8211; 2pm: Lunch with friend from International Tax Code Writers&#8217; Union; compare notes<br />
2pm &#8211; 3pm: Review usability testing results; remove all discovered usability<br />
3pm &#8211; 3:30pm: Bonghits<br />
3:30pm &#8211; 4:00pm: Reading &#8211; &#8220;Transparency, The Apple Way (S. Jobs)&#8221;<br />
4:00pm &#8211; 4:30pm: Notice latest production firmware code does not include enough potential bricking bugs; run random bug generator<br />
4:30pm &#8211; 5:00pm: Notice company has minor hardware revision upcoming; write entirely new firmware implementation for it for no apparent reason<br />
5:00pm: Home, with a warm fuzzy feeling of achievement<br />
5:30pm &#8211; 11:30pm: Tease dog by pretending to throw ball<br />
11:35pm: Watch Leno</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/05/03/a-day-in-the-life-of-a-firmware-engineer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>500 mile emails</title>
		<link>http://www.happyassassin.net/2013/05/01/500-mile-emails/</link>
		<comments>http://www.happyassassin.net/2013/05/01/500-mile-emails/#comments</comments>
		<pubDate>Thu, 02 May 2013 01:46:29 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1752</guid>
		<description><![CDATA[Thanks to Daniel Siegel for the link to this one. I have come across some truly crazy bugs in my time &#8211; buy me a beer at a conference and I&#8217;ll tell you about them &#8211; but I don&#8217;t think anything tops Trey Harris&#8217; Case of the 500 Mile Email. That&#8217;s amazing.]]></description>
				<content:encoded><![CDATA[<p>Thanks to <a href="http://www.dgsiegel.net/news/2013_04_29-summing_up_1">Daniel Siegel</a> for the link to this one.</p>
<p>I have come across some truly crazy bugs in my time &#8211; buy me a beer at a conference and I&#8217;ll tell you about them &#8211; but I don&#8217;t think anything tops Trey Harris&#8217; <a href="http://www.ibiblio.org/harris/500milemail.html">Case of the 500 Mile Email</a>. That&#8217;s amazing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/05/01/500-mile-emails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The great package format debate: why there&#8217;s no need for distributions to use the same package format</title>
		<link>http://www.happyassassin.net/2013/04/29/the-great-package-format-debate-why-theres-no-need-for-distributions-to-use-the-same-package-format/</link>
		<comments>http://www.happyassassin.net/2013/04/29/the-great-package-format-debate-why-theres-no-need-for-distributions-to-use-the-same-package-format/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 06:09:40 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1742</guid>
		<description><![CDATA[As I mentioned, I spent the weekend at LinuxFest Northwest, a great conference I&#8217;ve been to three times now. Bryan Lunduke does a recurring talk there which is called &#8220;Why Linux Sucks&#8221; or something like it. It&#8217;s a great talk, where Bryan gives his tongue-in-cheek opinion on what&#8217;s holding back desktop (and, more recently, mobile) [...]]]></description>
				<content:encoded><![CDATA[<p>As I mentioned, I spent the weekend at <a href="http://linuxfestnorthwest.org/">LinuxFest Northwest</a>, a great conference I&#8217;ve been to three times now.</p>
<p><a href="http://lunduke.com/">Bryan Lunduke</a> does a recurring talk there which is called &#8220;Why Linux Sucks&#8221; or something like it. It&#8217;s a great talk, where Bryan gives his tongue-in-cheek opinion on what&#8217;s holding back desktop (and, more recently, mobile) Linux adoption. There&#8217;s <a href="https://www.youtube.com/watch?v=QKwWPQ1Orzs"> a video of this year&#8217;s talk</a>.</p>
<p>Bryan&#8217;s awesome, and we get along great. I love his talks (in the last couple of years he&#8217;s started following the &#8220;Why Linux Sucks&#8221; talk with a &#8220;Why Linux Rocks&#8221; talk which uses <i>almost the exact same slide deck</i>, which is an awesome idea). But I think he&#8217;s wrong on one point he brings up. It&#8217;s hard to do a good job of explaining why concisely during the talk &#8211; you can watch me doing a bad job of it in the video! &#8211; because it&#8217;s a complex issue that&#8217;s hard to distil. So I thought I&#8217;d write it down instead. </p>
<p>The problem Bryan identifies affects third parties providing Linux applications directly to users: Bryan trying to provide his games to users of different distributions, or Google trying to provide Chrome, or Mozilla trying to provide Firefox, and so on and so forth.</p>
<p>If you&#8217;re one of those third parties, you can put your application in a <b>package</b>, or you can put it in a <b>tarball</b>.</p>
<p>If you put it in a <b>package</b> and provide a repository, your users can take advantage of the features of package management. Your app will show up in their package management applications, it will be updated when they do a system update, and a few other things. But there&#8217;s a problem: different distributions use different package formats. So if you just do one package (and repository), you won&#8217;t be covering all your potential users. If you do RPM and DEB you&#8217;ll cover 90+% of them, but there are still a few who&#8217;ll be left out.</p>
<p>If you put it in a <b>tarball</b>, you can just make one, and give it to users of all distributions. They&#8217;ll all be able to extract your app and run it. But it won&#8217;t show up in their package manager. You&#8217;ll have to tell them to download a new tarball, or write your own update mechanism.</p>
<p>Bryan wants for third parties to be able to get <b>all the neat stuff</b> that comes with using a packaging format, <b>without the inconvenience</b> of doing multiple builds.</p>
<p>If distributions all used the same packaging format, would Bryan&#8217;s goal be achieved? <b>Absolutely.</b> Is it a worthwhile goal? <b>Sure.</b> I don&#8217;t think it&#8217;d change the world, but we agree it&#8217;d be a benefit.</p>
<p>So Bryan&#8217;s right? I&#8217;m an <i>idiot</i>? Well&#8230;not so fast there!</p>
<p>Switching package formats for a distribution is a <b>huge pile of work</b>. I can explain why if anyone needs me to, but for now I&#8217;m going to assume you&#8217;re willing to take it on trust.</p>
<p>If all distributions used the same package format, that wouldn&#8217;t help them directly <i>at all</i>. A lot of people believe that if, say, Fedora, OpenSUSE and Ubuntu all used the same package format, you could just mix and match packages between them, and each distro wouldn&#8217;t have to package everything separately.</p>
<p><b>This is not true, we can&#8217;t ever make it true, and we don&#8217;t want it to be true</b>. I&#8217;ll try to explain why as quickly as I can: distributions are very different, and they all are strongly committed to using shared resources.</p>
<p>When you get Chrome from Google, you get a <b>static build</b>: it uses very little of the shared resources the distribution provides, stuff that&#8217;s present and compatible on virtually any distro.</p>
<p>When you download a package from your distro vendor, it&#8217;s not like that. Distros use <b>dynamic builds</b>: distro packages use all the shared resources they can. Just take it on trust that the benefits are huge and distributions will <i>never</i> start using static linking outside of the cases where it&#8217;s unavoidable (ask me for details if you want). Distros differ in terms of the shared resources they include, and this isn&#8217;t just being ornery, it&#8217;s <b>a key part of what differentiates distributions from each other</b>, and why we have them at all. Fedora 18 has openssl 1.0.1e. Ubuntu has 1.0.1c. RHEL 6 has 1.0.0. Debian stable has 0.9.8o. This is because Fedora is bleeding edge, Ubuntu is a bit more conservative, RHEL 6 is a lot more conservative, and Debian stable is even more so. We couldn&#8217;t all get together and &#8216;agree to compromise on 1.0.0&#8242;. Then none of those distributions except RHEL would be serving the needs of its users.</p>
<p>Multiply that by the thousands of packages in a distribution. You can&#8217;t take a Fedora 18 package and install it on RHEL 6, even though they are both RPM distributions, because <b>the package expects stuff from Fedora 18 that just isn&#8217;t in RHEL 6</b>.</p>
<p>So we&#8217;ve got a cost/benefit. The benefit? It&#8217;s there. The cost? It&#8217;s huge, and it falls on groups that don&#8217;t directly benefit at all. This sucks. But fortunately, <b>we don&#8217;t need to pay that cost!</b></p>
<p>We don&#8217;t need all the distributions to agree on a common package format for their packages so third parties can provide applications with most of the benefits of package management. All we need is for there to be a package management framework that third parties can rely on to be present on all distributions. <b>It doesn&#8217;t matter at all whether the distribution packages use it or not</b>.</p>
<p>That&#8217;s a <b>much</b> easier problem to solve. All we&#8217;d need to do is agree to all provide support for one existing package format out of the box. (Sidebar: LSB already actually tries this. It requires RPM.) That&#8217;s one big bunfight at a conference and maybe like a week or so of work. No big deal. If Bryan pushed for <i>this</i> instead of saying &#8216;all distributions should use the same package format!&#8217;, <b>I&#8217;d have no disagreement with him</b>.</p>
<p><b>You can stop reading here if you like!</b> But if you&#8217;re thinking &#8216;hey, waitaminute&#8217;&#8230;</p>
<p>To pre-emptively address one objection: what if a third party wants to provide a package that depends on something in the core distribution?</p>
<p>Bryan&#8217;s idea would go a bit further to addressing that than mine would. But it&#8217;s not <i>so</i> important, Bryan&#8217;s idea still doesn&#8217;t totally solve it, and you can modify mine to solve it quite easily.</p>
<p><b>It&#8217;s not so important</b> because most significant third party providers just want to make their package as independent as possible. They don&#8217;t want to worry about making sure their app works with all the possible versions of the shared resources they want to use that are shipped by the various distributions. They usually just link almost everything statically. Here are the requirements of Google&#8217;s Chrome RPM, for instance:</p>
<p>libatk-1.0.so.0()(64bit)<br />
libc.so.6(GLIBC_2.11)(64bit)<br />
libcurl.so.4()(64bit)<br />
libgconf-2.so.4()(64bit)<br />
libnss3.so(NSS_3.12.3)(64bit)<br />
libbz2.so.1()(64bit)<br />
libXss.so.1()(64bit)<br />
libXcomposite.so.1()(64bit)<br />
libXfixes.so.3()(64bit)<br />
wget<br />
xdg-utils<br />
zlib</p>
<p>Honestly, <b>you really don&#8217;t need to specify any of those</b>. If someone&#8217;s running a Linux distribution with a desktop (which they are if they want to install Chrome), it&#8217;s about 99 to 1 they have all of that installed.</p>
<p><b>Bryan&#8217;s idea doesn&#8217;t fully address this requirement</b> because distributions don&#8217;t all agree on what different packages should be called, or how library dependencies should be written, etc etc etc. It&#8217;s <i>slightly</i> more likely that we could all agree on that than that we could all switch to one package format, but it&#8217;s still a hell of a long shot. Even if we all used the same package format, you couldn&#8217;t just write &#8220;Requires: foo&#8221; and be done. One of the distros probably calls it &#8220;libfoo&#8221;. You&#8217;d still have problems.</p>
<p>And <b>you could pretty easily achieve this with my idea</b>, too. Better, we don&#8217;t have to do it all at once. We could just get the format in place first. If that was a success, then &#8216;I want to be able to specify some dependencies!&#8217; is an obvious enhancement request, and now we&#8217;re building on an existing idea, not just throwing impractical proposals around.</p>
<p>Maybe we can&#8217;t get all the distros to agree on the names of absolutely all their packages, but we <b>could</b> get them all to agree to have their GTK+ 3.0 package provide <i>gtk+-3.0</i> under the shared packaging system. The names could still differ under the native packaging systems &#8211; it wouldn&#8217;t matter. But it&#8217;s plausible to see us agreeing on a set of commonly-required core components, and doing the work to have the distro packages express those provides in the shared package manager as well as their native package manager, using an agreed nomenclature. And it could be incremental &#8211; we could just start by doing 50 packages, or 10, or just <b>one</b>; however many we could agree on. And then build it out as we went along. And none of this would in any way disturb the functioning of the distro&#8217;s native package system and repositories.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/04/29/the-great-package-format-debate-why-theres-no-need-for-distributions-to-use-the-same-package-format/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>LinuxFest Northwest, etc</title>
		<link>http://www.happyassassin.net/2013/04/27/linuxfest-northwest-etc/</link>
		<comments>http://www.happyassassin.net/2013/04/27/linuxfest-northwest-etc/#comments</comments>
		<pubDate>Sat, 27 Apr 2013 21:07:53 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1740</guid>
		<description><![CDATA[I&#8217;m writing from LinuxFest Northwest once more &#8211; right now I&#8217;m watching Jesse Keating present on git. The conference is really buzzing so far this year; I&#8217;ve been spending most of my time manning the Fedora booth, and the swag is disappearing like crazy and we&#8217;ve had people stacked three deep at times. It&#8217;s always [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m writing from <a href="http://linuxfestnorthwest.org/">LinuxFest Northwest</a> once more &#8211; right now I&#8217;m watching Jesse Keating present on git. The conference is really buzzing so far this year; I&#8217;ve been spending most of my time manning the Fedora booth, and the swag is disappearing like crazy and we&#8217;ve had people stacked three deep at times. It&#8217;s always a good conference. Come find me and say hi if you&#8217;re here! I&#8217;ll be at the Fedora booth a lot both today and tomorrow. We have been signing people up for <a href="http://openshift.com/">OpenShift</a> accounts at a rapid pace: if you stop by and prove you have an OpenShift account, we&#8217;ll give you a USB key that is ALSO a bottle opener. Or possibly a bottle opener that is ALSO a USB key. At least until we run out, which is likely to be soon.</p>
<p>Of course, being at LFNW means yesterday I travelled to LFNW &#8211; it&#8217;s just a train ride down from Vancouver. Being a giant idiot, I decided that &#8216;five hours before the train to LFNW leaves&#8217; would be a great time to upgrade the CPU and memory in my husband&#8217;s system. Yeah&#8230;turns out, not so much. Windows managed once more to stun me with its incompetence: after an hour of hardware wrangling I had everything hooked up and booting, but Windows was just stuck in a boot loop. It turns out that for some insane reason, a Windows install is kind of tied to the CPU: if you upgrade the CPU to one that&#8217;s sufficiently different (though still the same architecture!), Windows stops booting.</p>
<p>I mean&#8230;.why. WHY?!</p>
<p>It is apparently possible to escape from this situation, but it was now 30 minutes before the train to LFNW left, so I thought it was possibly not the best moment to be figuring out Windows&#8217; system recovery options. So followed a very hasty 30 minutes of further hardware wrangling, getting the old CPU and RAM back in. So I wasted an entire stressful afternoon to ultimately put everything back exactly the way it was before and rush to catch my train. D&#8217;oh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/04/27/linuxfest-northwest-etc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fedora 19 Graphics Test Week kicks off tomorrow!</title>
		<link>http://www.happyassassin.net/2013/04/22/fedora-19-graphics-test-week-kicks-off-tomorrow/</link>
		<comments>http://www.happyassassin.net/2013/04/22/fedora-19-graphics-test-week-kicks-off-tomorrow/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 23:35:33 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1737</guid>
		<description><![CDATA[Yup, it&#8217;s that time again &#8211; one of the bigger weeks of the Test Day cycle, as Graphics Test Week lands once more. Tomorrow, Tuesday 2013-04-23, is Intel graphics Test Day. Wednesday 2013-04-24 will be Nouveau Test Day. And Thursday 2013-04-25 will be Radeon Test Day. As always, we&#8217;ll be looking to test out the [...]]]></description>
				<content:encoded><![CDATA[<p>Yup, it&#8217;s that time again &#8211; one of the bigger weeks of the Test Day cycle, as Graphics Test Week lands once more.</p>
<p>Tomorrow, Tuesday 2013-04-23, is <a href="https://fedoraproject.org/wiki/Test_Day:2013-04-23_Intel">Intel graphics Test Day</a>. Wednesday 2013-04-24 will be <a href="https://fedoraproject.org/wiki/Test_Day:2013-04-24_Nouveau">Nouveau Test Day</a>. And Thursday 2013-04-25 will be <a href="https://fedoraproject.org/wiki/Test_Day:2013-04-25_Radeon">Radeon Test Day</a>.</p>
<p>As always, we&#8217;ll be looking to test out the widest possible range of hardware and see how well it works with the very up-to-date graphics stacks in Fedora 19. As Fedora uses very recent builds of the relevant components and sends all its work upstream, contributing to these Test Days can help out all other distributions, not just Fedora &#8211; so please, even if you&#8217;re not a Fedora user, consider coming and contributing your testing! We provide comprehensive instructions and live images for testing, so you won&#8217;t need to replace your current distribution or do a permanent installation of Fedora at all if you don&#8217;t want to. You can easily <a href="https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB">write a Fedora live image to a USB stick</a>, so you don&#8217;t even have to waste a DVD.</p>
<p>We always want to get as much data as we can in these events, so please, if you have a few minutes, help us out and perform the tests for your system(s). If you can&#8217;t make the correct date for your hardware, no problems &#8211; you can file results early or late and we&#8217;ll still be able to use them. It&#8217;s also fine to come to the IRC channel on the &#8216;wrong day&#8217; and ask questions &#8211; we&#8217;ll have folks in the channel all week who will answer your questions if they can. The testing is very easy, and if you don&#8217;t have time to run through all the test cases, partial results are still very useful &#8211; if all you have time to do is boot the live image and check whether the desktop appears on your system, even that is useful.</p>
<p>As always, the full instructions and live images are on the Wiki pages: <a href="https://fedoraproject.org/wiki/Test_Day:2013-04-23_Intel">Intel</a>, <a href="https://fedoraproject.org/wiki/Test_Day:2013-04-24_Nouveau">Nouveau</a>, <a href="https://fedoraproject.org/wiki/Test_Day:2013-04-25_Radeon">Radeon</a>. Fedora QA team members and graphics developers will be hanging out in the #fedora-test-day channel on Freenode IRC to help out with testing and debugging any problems you come across, so please come join us there if you&#8217;re taking part! If you&#8217;re not sure what IRC is or how to use it, we have <a href="http://fedoraproject.org/wiki/How_to_use_IRC">instructions here</a>, and you can also simply <a href="http://webchat.freenode.net/?channels=fedora-test-day">click here</a> to join the channel through a Web front end &#8211; all you need to know is that IRC is a chat system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/04/22/fedora-19-graphics-test-week-kicks-off-tomorrow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 19 happenings</title>
		<link>http://www.happyassassin.net/2013/04/14/fedora-19-happenings/</link>
		<comments>http://www.happyassassin.net/2013/04/14/fedora-19-happenings/#comments</comments>
		<pubDate>Mon, 15 Apr 2013 04:37:20 +0000</pubDate>
		<dc:creator>adamw</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.happyassassin.net/?p=1734</guid>
		<description><![CDATA[Thought I&#8217;d write an on-topic blog post, for a change! Sadly, we had our first Fedora 19 delay last week. I actually was trying pretty hard to get this to be the first release where we didn&#8217;t slip at all, but alas, this was not to be. The good news is this is nothing like [...]]]></description>
				<content:encoded><![CDATA[<p>Thought I&#8217;d write an on-topic blog post, for a change!</p>
<p>Sadly, we had our first <a href="https://lists.fedoraproject.org/pipermail/devel-announce/2013-April/001137.html">Fedora 19 delay</a> last week. I actually was trying pretty hard to get this to be the first release where we didn&#8217;t slip at all, but alas, this was not to be.</p>
<p>The good news is this is nothing like the Fedora 18 situation. In F18, when we hit the first go/no-go for Alpha we were barely within shouting distance of having anything releasable, and Beta was worse: we didn&#8217;t just have a few stray bugs, we were still writing bits of the installer.</p>
<p>What&#8217;s holding up Fedora 19 Alpha, in contrast, is <a href="http://qa.fedoraproject.org/blockerbugs/milestone/19/alpha/buglist">two bugs in UEFI installation</a>, and that&#8217;s it. (Note for the haters: none of the bugs has anything to do with Secure Boot). The installer is in fine shape, except for <a href="https://bugzilla.redhat.com/show_bug.cgi?id=950700">an issue in the custom partitioning screen</a> which we&#8217;ll try and slip a fix in for. All the code that was meant to be written by now <i>is actually written</i>, it&#8217;s all working pretty well, and most of the functionality of the installer is pretty solid. There have been a ton of UI improvements since Fedora 18 based on both online feedback and real-world usability testing and observation, as well.</p>
<p>So it sucks that we had to slip, but it&#8217;s a much different situation from Fedora 18, and it&#8217;s been a lot lower stress &#8211; we&#8217;re not running around trying to keep tabs on 15 bugs and 5 features that aren&#8217;t written yet, right now we&#8217;re really just waiting on upstream review of a patch for the last UEFI issue (the fix will need to go into the upstream kernel, and we won&#8217;t put it in Fedora until it&#8217;s in an approvable state for upstream merging).</p>
<p>We made some fairly significant changes to the release validation process prior to the Fedora 19 cycle, and we&#8217;ve been happy with how they&#8217;re working out so far. At FUDCon Lawrence, the QA members present came up with a plan to revise the &#8220;nice-to-have&#8221; process by which we track fixes that we want to take through the Alpha, Beta and Final freezes. That proposal was sent to the mailing list, where in turn, a lot of the group members who weren&#8217;t at FUDCon contributed improvements to it. We rolled out the changes to what is now called the <a href="https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process">freeze exception process</a> &#8211; because, you know, it&#8217;s for <i>freeze exceptions</i>! &#8211; ahead of the F19 Alpha validation process, and it&#8217;s been working out well so far. It really boils down to renaming &#8220;nice-to-have&#8221; to &#8220;freeze exception&#8221;, but there are some devils in the details, and it makes what was a somewhat poorly-understood process much more understandable.</p>
<p>I drafted up some substantial revisions to the layout and content of the <a href="https://fedoraproject.org/wiki/Fedora_Release_Criteria">release criteria</a> just ahead of the Alpha release. The changes have been put into practice for the <a href="https://fedoraproject.org/wiki/Fedora_19_Alpha_Release_Criteria">Alpha release criteria</a> (compare with the <a href="https://fedoraproject.org/wiki/Fedora_18_Alpha_Release_Criteria">F18 Alpha criteria</a> to see the changes), and will go into place for the Beta and Final criteria before we reach those milestones. The idea is to have a shorter &#8216;main&#8217; text for each criterion with details and &#8216;commentary&#8217; as expandable extra paragraphs, and to lay out the criteria better so it&#8217;s easier to read the page and to refer to specific criteria. So far the changes seem to have been integrated into the process smoothly enough.</p>
<p>Finally, we made some tweaks to the <a href="https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process">blocker bug process</a> and <a href="https://fedoraproject.org/wiki/QA:SOP_Blocker_Bug_Meeting">blocker review meeting process</a> to try and expedite blocker (and freeze exception) review a bit. We introduced the concept of <a href="https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process#Automatic_blockers">automatic blockers</a> to try and cut down a bit on unnecessary review of issues that are very obviously blockers, and tried to set things up so blocker review meetings don&#8217;t run on forever. Again, those changes seem to be working out well.</p>
<p>So I&#8217;m feeling good about the Fedora 19 cycle so far! I&#8217;m hopeful there&#8217;ll be very few (or no) further delays after this first one, and we&#8217;ll wind up with a very solid release, with significant improvements to the new installer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.happyassassin.net/2013/04/14/fedora-19-happenings/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Object Caching 559/585 objects using apc

 Served from: www.happyassassin.net @ 2013-05-23 07:55:15 by W3 Total Cache -->