Compile 1.13.2 released; 015 branch to be merged

February 16, 2010

There’s a new version of Compile out, with all bug fixes this time. This release fixes building from CMake recipes and corrects the behaviour of the using_X() useflag functions, which was lost in the last reorganisation. using_X() can now set environment variables and override variables set in the recipe again, while CMake recipes have their build directory correctly created.

The package is out and making its way to the mirrors now; InstallPackage Compile 1.13.2 should pick it up. There is no corresponding release of Scripts this time around because all fixes are within Compile itself. The latest Scripts release remains 2.10.1.

Following this release the 015 branches for Scripts and Compile will be merged into trunk to allow them to bed in, get more testing, and pick up the new developments in the trunk. That may cause some disruption to users who are tracking trunk tools; it may be best to hold off updating your snapshots for a few days after the merge, or be prepared to revert.

There is also a new 015 prerelease available for testing, snapshotting the state of work right now. It is available from http://karlsson.sytes.net/gobo/015/iso/GoboLinux-20100214.iso and should be functional. Testing, especially on different hardware, would be appreciated. It should boot and be able to start X correctly; where it doesn’t please make a report with as much detail as possible to the mailing list or on #gobolinux.

0

LCA day 5 and the GoboLinux talk

January 23, 2010

The last day brought the reason I was really there, my GoboLinux presentation in the very last speaking slot. Before then I made it into Sarah Sharp’s USB 3 talk, the photo management BOF, which was less useful than anticipated, and Rusty’s Wiimote presentation. The latter was both amazing and adorable, and well worth watching when the videos come out. The video of the first time it actually worked left me open-mouthed from both directions. That was the last talk I got to since I spent the next couple of hours preparing and practicing.

My slot was right before the closing ceremony and not too badly populated given that it was against at least two others I wanted to see. I don’t think it went too badly, though I did fixate on minor topics at a couple of points, and there were some good questions at the end. Since we were before the ceremony the cutoff was rigorously enforced and we actually ran out of time for them all, but I did have a chat with a couple of interested people at the stage while I was packing up.

Interestingly, and unexpectedly, an article turned up on TechWorld the next day about my talk and about GoboLinux. Some of the quoting is interesting, but the gist of it is there. The slides are also available (I think they’ll be on the conference site too at some point; at least they were collected on a USB stick afterwards), as is a more formally written-up version of the presentation. It doesn’t have all the content the talk did, since I added a few parts, including the whole Rootless section, in the aftermath of Monday’s Distro Summit discussion. Video should be available in a couple of weeks.

The closing ceremony was good enough, but ran long (and started late, so we didn’t really need to have rushed the questions so much…). Mostly that was to fit in thanks to the organisers and helpers, who really did do a fantastic job, so no complaints. Next year’s conference is in Brisbane. I’m not sure whether I’ll go or not yet, but it was definitely valuable this time so I will consider it. No speaking maybe ever again though. The Penguin Dinner that night was all right but also lagged a bit. The entertaining part of it was the Life Flight Trust donations race, which had a fivefold increase in the donation volume in just a couple of hours. I left early to get some actual sleep, so I’m not sure how high it got by the end, but it was approaching $20,000 last I saw.

I was hoping to find out the total at the open day today, but it didn’t appear to be up anywhere. I did get a lot of brochures and blurbs instead, and there was free stuff everywhere too. I didn’t end up with much of that; it was probably more appreciated by my later companion, who got all klepto (but not as klepto as she wanted to be, which seemed like a wasted opportunity). Most appreciated was the koala pen from the LCA2011 booth, so good marketing on their part. It was cute.

That’s a wrap. Later I’ll write up something on the various community engagement presentations I attended, which I think we can get some value out of. There were some others I didn’t make it into that I’ll watch when the videos become available. Right now I’m appreciating the opportunity to do something non-conference-related for a while.

0

First talk over at linux.conf.au

January 18, 2010

I made my first presentation at linux.conf.au today, in the Distro Summit miniconf. I talked about the Aliens system, and it wasn’t a disaster, which is a plus. It went reasonably well, though I missed out on a couple of points I was planning to hit since I went off-script a bit. All the important content made it in, and there were plenty of good questions afterwards (& during). The speaker immediately after me had travel problems and didn’t make it, so there was an extended discussion jumping off from my talk that I think covered a lot of useful territory. It was a good miniconf to be at.

I appreciated the copious power points around to keep the battery charged, and the wireless network I managed to get working today (except in the Civic Suite where the miniconf was, annoyingly [edit: and they've fixed it! Amazing.]). Kudos to the organisers. The tech people from the conference were also fantastic helping me get the projection up and running, even though it was completely my fault it wasn’t working. He was, in fact, a genius full of information, like he said, so people got to see my fairly information-free slides. Thankfully I’d turned up early to make sure it was going to work.

Those slides are available now, as is a written-up version of it that has more content than I was able to fit into the talk. I had to go through it with a hatchet last night and today to make it fit in the twenty-minute slot and some good parts had to go. Honesty dictated that I couldn’t leave out any of the limitations and drawbacks so it was mostly the rest that got the chop. The main talk is on Friday, and there were a few points that came out of the discussion today that I’ll work into it as well. It turns out everything is being webcast live, which I didn’t find out until after I spoke today, but you can watch Friday’s if you like (Renouf 1 feed, 1545L/0245Z). There’ll be recordings up too, apparently later in the week, which’d be an impressive feat, but at some point over the next few weeks or months anyway.

Now I have to try to plan out what I’m going to go to tomorrow. It’s not going to be easy.

0

Presentations at linux.conf.au

January 8, 2010

The conference is the week after next, and I will be presenting twice: once on the Monday and once on the Friday. On Monday in the Distro Summit miniconf I am speaking on the somewhat opaque topic of “Integrating domain-specific package managers into distribution package management systems”. That’s /System/Aliens, or trying to tie systems like CPAN, RubyGems, LuaRocks, and an ever-increasing number of others into the distribution package manager in order to avoid user conflicts and get automatic access to the full repository of their software. I seem to be just about the only speaker there who isn’t from Debian, so I’m not sure how that’s going to go down. My talk is at 13.30 in Civic Suite 3 inside the Town Hall.

In the main conference on Friday, in the very last presentation slot, I will be speaking on “An updated directory hierarchy for Unix”. That’s a broader GoboLinux paper where I will talk about the hierarchy we’ve chosen and discuss a little of the history behind the standard structure, particularly why we feel it’s ok to break with it. I’ll be talking about the advantages the new structure brings for the administrator, including some of the lesser-known traits that fall naturally out of it, and a couple of other (not so hierarchy-related, but interesting) features that we have. That part will probably include a brief discussion of Aliens too, looking at it from more of a user perspective than the implementor’s view in the miniconf.  I’ll also try to dispel a few of the more common misconceptions we run into, but that may be a bit much to hope for. That presentation is at 15.45 Friday in Renouf Foyer 1 in the MFC.

At least the second talk should be recorded and the video available afterwards (for the miniconfs it’s “best effort”, and there’s bound to be a few kinks on the very first day). There will also be more comprehensive written papers available here afterwards, particularly for the Aliens system. I’ve tried to document it as fully as possible in the written version, while the twenty-minute talk has a lot of the less-important details left out. That one’s going to be cutting it a bit fine as it is, and I may need to trim more still to make sure there’s time for questions. If there’s anything important cut I’ll work it into the other paper to make sure we get it out somewhere. It’s been suggested there might be room for a lightning talk during the open day on Saturday too, but I’m not sure whether I’ll be talked out by that point, so we’ll see how it goes.

Registrations for the conference have been extended so there’s still an opportunity for anybody to come along and watch me if they want. There are a lot of other presentations as well that look more interesting still, so it should be an enlightening week.

https:// stconf.linux.org.au/programme/schedule/view_talk/50181?day=fridayin Re
0

Scripts 2.10.0 and Compile 1.13.0 released

December 28, 2009

Another release, and a minor version bump for both tools. The major update in these releases is the inclusion of the /System/Aliens feature in both. There has also been a change in the default mirror configuration that you will need to update your GetAvailable.conf for.

The /System/Aliens system incorporates third-party packaging systems into the system, allowing both recipes and packages to depend on components from these alien systems (RubyGems, CPAN, and LuaRocks at this point). Using these features will require building the newest versions of Ruby, Perl, and LuaRocks — if you aren’t using them, you don’t need to do that, and they should be installed automatically when required. Dependencies of the form “LuaRocks:json” are handed off to the alien system to install.

With the final release, these dependencies are now available for use in recipes in the store. Remember to specify compile_version=1.13.0 in any recipe using them. Contributions of new wrappers for other systems are also welcome.

Another important change here is in the default mirror configuration: gobo.calica.com has disappeared, and a new mirror has been added to replace it. If you are using kundor.org you don’t need to make any change, but otherwise you should swap in the new mirror in /System/Settings/Scripts/GetAvailable.conf.

UpdateSettings will prompt you about this change when you install the Scripts package. While the gobolinux.org package mirror is now the master it is not included in the configuration by default. The recipe store remains on gobolinux.org and there is no need to change your settings.

Other than those two important notes, there are also the usual bugfixes and minor feature improvements. There is support for more archive types in Compile (xz and cpio), a bugfix for Cabal recipes, and a few variables should now be correctly set in some more corner cases.

Many of the changes relate to improving functioning with the /System/Index structure that will be in 015, but most work on that is occurring in the “015″ SVN branch. There will be another tools release in the new year (probably another minor version bump) that will incorporate all of those changes and be used in 015. There may also be a 2.10.1/1.13.1 point update early next month to address any issues found in these releases, but not merging the 015 branch.

You will be able to install using `InstallPackage Scripts 2.10.0` when the mirrors sync (assuming you’re not using calica.com), but until then you can use:

InstallPackage http://gobolinux.org/packages/official/Scripts--2.10.0--i686.tar.bz2

and

InstallPackage http://gobolinux.org/packages/official/Compile--1.13.0--i686.tar.bz2

to update. Be sure to merge the changes in GetAvailable.conf when installing Scripts. Please report any bugs you encounter on the bug tracker and ask for help on the lists or the forum.

Thanks to everybody who contributed code, bug reports, and feedback during this release cycle.

0

Scripts 2.9.11 and Compiile 1.12.4 released; and, an update on 015

October 25, 2009

We are pleased to announce the release of Scripts 2.9.11 and Compile 1.12.4. These releases do not contain many major functional changes, with the focus mostly on bug fixes and similar improvements leading up to 015 (of which more below).

In Scripts, several programs will now offer suggested corrections to program names and versions that aren’t found, using the new Corrections script. The tools will now interact better with Manager when interactivity is required, so trunk Manager should now be usable. A new Manager release may be forthcoming soon.

xz-format archives are now supported, and there is better output from archive extraction when the required extraction program is not found. Package blacklisting now works more reliably and safe linking should now be faster, as unneeded files are skipped over.

Compile has minor bugfixes and improvements but no major changes. It will also offer the corrections for mistyped recipe names, and suggest the correct action when `Compile Scripts` is called. Noticeable bugfixes are that it will obey –no-web for SCM recipes and check for existing recipes when running NewVersion. There are two changes affecting recipe API:

  • $basedir is now available in hooks as well.
  • There is a new python_major recipe variable which specifies the major (2.x, 3.x) version of Python to be used in recipe_type=python. It should be left unset for Python 2.x recipes and set to 3 for Python 3.x recipes. This affects which executable setup.py is run with.

As the master mirror appears to have gone down for the count, the packages are available from gobolinux.org:

These can be installed using `InstallPackage http://gobolinux.org/packages/official/Scripts–2.9.11–i686.tar.bz2`. They likely will not be picked up with only `InstallPackage Scripts` because of the missing master mirror.

As the mirror has gone, you should remove gobo.calica.com from your GetAvailable.conf and Compile.conf to avoid errors fetching the package and recipe lists. When/if the mirror comes back up it can be replaced there. kundor.org is working, and there is a copy on gobolinux.org as well if needed.

As always, please report any bugs you encounter in these new releases, either on bugs.gobolinux.org or on the mailing lists if you’re unsure or need help. Thanks to all the contributors of code, bug reports, and feedback over this release cycle.

Now, on the subject of 015: it has been decided that it will use the /System/Index layout as discussed previously. The widespread adoption of broken-by-design CMake has forced our hand a little here, and delayed the release longer than I would have preferred. It will also break up the hodgepodge in /Files and /System/Variable in favour of /System/Variable and a new /Data directory. Most of the work for these changes is complete, and you can see the planned tools in the 015 branch in SVN. There’s still some work to go, and package selection and combining for the ISO is yet to come.

Outside commitments have stalled the process at the moment. We hope to get it back on track later this year. We have a provisional set of proposed packages for the release, but no progress is being made on that end at the moment. A new pretaste ISO will wait until after those real-world commitments wind down a bit as well, although somebody else is welcome to have a crack at putting one together – the packages and tools are there.

Since there is an enforced delay in the process, I intend to take advantage of it to get /System/Aliens into shape for the 015 release. It isn’t guaranteed to make it in – the release will not delay on it if it isn’t ready – but given the form it has now it shouldn’t have too many difficulties. Once the infrastructure is in place I encourage interested people to get in touch with me about building the interfaces for third-party systems they want to have.

4

Helping out

September 24, 2009

The question about what someone can do to help out with GoboLinux has popped up from time to time on IRC and now also in our forum. Therefore I thought I should answer that question with what is needed in the closest future and also in the long run.

As you know we’re working on releasing 015, and the work(1) required is a bit more than we planned for. Therefore we haven’t had that much focus on approving recipes(2) submitted to the review panel. We could make use of more people looking at and approving/rejecting submitted recipes. To have a chance to be accepted one has to have at least five recipes approved by any current reviewer. It’s also ok to submit recipes for approval with the application to become a recipe reviewer. Note that to have a better chance at getting accepted a high standard in the written recipes is favorable, specifically proper dependencies listing with correct version limits.

Another thing we need help with is bug squashing. While we fix fatal bugs and functional bugs there are many cosmetic bugs and improvements/wish items for our tools and also recipe bugs in our bug tracker that we currently don’t put time into solving. Select one (or many) to work on, preferably mention this to a manager so it can be assigned, and then attach a patch/fix (or send it to one of our mailing lists).

Lastly, for the brave out there, we need testing and development of the tools for 015. For 015 there’s a special branch in svn. Check out the tools (svn co http://svn.gobolinux.org/tools/branches/015/Scripts and svn co http://svn.gobolinux.org/tools/branches/015/Compile respectively) and set up a ChrootCompile environment with them inside(3). Play around with it, build as many packages as possible and report/fix any issues with /System/Index you can find.

1) Combine it with real world stuff as well
2) Beyond using the panel we also write and submit recipes ourselves
3) Contact me on IRC (Mohjive), in the comments to this post, as a forum message or just by mail (jonas <at> gobolinux.org) and I’ll help you get started.

0

Accepted to linux.conf.au 2010

September 1, 2009

One of the GoboLinux papers I submitted has been accepted to linux.conf.au 2010, so I will be presenting on “An updated directory structure for Unix” at some point between 20 and 22 on the 22nd of January next year. I haven’t heard anything about the Aliens paper yet, so I guess that’s a provisional “no” for it (edit: but it will be in the Distro Summit miniconf on the Monday).

linux.conf.au is about free and open source software, especially Linux. It is a community-run technical conference which attracts some of the brightest minds in the world. Next year it is in New Zealand’s beautiful capital city of Wellington from January 18 to 23, and will be based at the Wellington Town Hall and Michael Fowler Centre in the central city.

Registration is $399 for hobbyists, $249 for students, or $799 for professionals and opens in a couple of weeks (all prices in NZD and for earlybird registration). Come along and watch me!

0

GoboLinux Twitter account

August 19, 2009
Tags: ,

This is a quick post to announce that we now have a Twitter account which is linked to this blog’s RSS feed. If you’re using Twitter, you can follow @gobolinux and keep informed about the latest posts and other announcements.

0

Adventures with new hardware

August 16, 2009

The issue I had with my new hardware and unmatching kernel gave me quite a challenge but in the end it wasn’t that hard to fix, when the system was GoboLinux. It started with that I had to buy a new PSU as my old one was about to give up any day soon and while I was investing in some new hardware I got me a new mobo, CPU and RAM as well. I had a clue that my custom kernel wouldn’t boot my new hardware and I was right. So instead I had to reinstall the old hardware and build a new, more general kernel to boot my new system. And with that something went wrong. The system booted but I could not manipulate the filesystems. I could read and edit files, mount and unmount the partitions but not create, move or copy files. I didn’t know what was wrong but I was pretty sure I had configured my kernel badly. But how should I fix this, when I could not install a new kernel as that meant I had to create files? And I couldn’t boot the old kernel and I did not want to install my old hardware.

LiveCD to the rescue. Boot the system from CD, mount the partitions and chroot into the host system. Then I could use Compile –batch –lazy linux to reconfigure and rebuild a proper kernel. It seemed that I had configured my kernel for a non-x86 system as that was what make menuconfig told me. Everything built without errors and after a reboot my server was up and running again. I still have a hard time grasping how hard you can break a GoboLinux system and still be able to sort things out.

1