Presentations at linux.conf.au

January 8th, 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

Scripts 2.10.0 and Compile 1.13.0 released

December 28th, 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.

New GPG key

December 22nd, 2009

Since my key was getting old I have generated a new key that is stronger than the old one I was using, and has different cipher preferences. It’s also for use at the keysigning at LCA next month. There’s a transition notice signed by both the old and new keys here: http://mwh.geek.nz/files/key-transition-2009-12-22.txt

The key ID is FEC39745 and is on pgp.mit.edu and probably others.

Wave invites

November 15th, 2009

I have some if anybody wants one.

Python 3 SFTP library

November 13th, 2009

As PyCrypto and Paramiko are not ported to Python 3 yet, I’ve put together a library providing basic SFTP functionality for the interim. It wraps the ssh executable (not the command-line sftp client) and speaks the wire protocol over the encrypted channel.

The library currently has support for connecting, listing directories, getting files, putting files, removing files, creating directories, and removing directories. There’s also support for sending raw SFTP packets if necessary.

Everything is at a pretty early state and in rough form; there’s little to no error handling at all, and it’s only been tested against the servers I ordinarily have access to (a few fairly recent versions of OpenSSH). Use at your own risk, and patches welcome. Comments on the interface and API too.

It can be downloaded with either git clone https://gytha.org/py3sftp/ or git clone git://gytha.org/py3sftp.

It’s going to be integrated into another project I’m working on (the one that prompted me to write it, oddly enough), but I plan to keep maintaining it separately at least until Paramiko is available, and perhaps beyond since I like piggybacking on the functionality of OpenSSH itself (VisualHostKey is great).

Accepted to linux.conf.au 2010

September 1st, 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!