jrabbit's blog

Batisseur: The End?

Blog post by jrabbit on Thu, 2011-09-08 17:11

GSOC 2011 is over and I’ve had some time to cool off from last minute stress. A few awesome tools for haikuporter will be coming soon. I’m going to work on rounding off those tools. The builddrone project somewhat works but is not of a very high quality. The queen needs love with respect to databases and or data structure. I may revisit it later, but I’d love for someone with relevant experience to implement something better. Jenkins reporting and distributed uploading may make it into haikuporter along with gpg signing (According to GPG availability, last time I checked gpg doesn’t work on Haiku.). There are a few interesting peices of code I may cut off into packages for others to easily depend on (Bitbucket and Github commit post parsing anyone?)

This whole process was a real experience for me on working with long term projects that will come in handy with a college program focusing heavily on student-designed work. My Haiku related work isn’t over and I’m still excited to make packaging fun and easy. One project in the back of my head is an interface layer for PyPI packages, Rubygems and CPAN, to be used by package managers so they don’t duplicate work. Basically what that amounts to is processing their packages into a portable format.

Camlistore and Go on Haiku will be very interesting to see. I may be able to help with Google Code In this fall also. My schedule seems to be flexible enough to allow it. The Python BeAPI interface will be amazing to work with.

Batiseur: not a bed and breakfast

Blog post by jrabbit on Sun, 2011-08-07 15:14

In these last few (official) weeks of Google Summer of Code I’m focusing on the meat of my project. This means that side features like the achievements, scoreboard etc will be ‘frozen’ as-is until after GSOC. I’m planning on rounding them out, just not yet. The main work will be on the builddrone working properly and testing/signing. A major but was in the camlistore python library, I’ve fixed it and will change how it works a little.

I wrote a haikuports standalone validator which can be used in an upcoming version of haikuports possibly or just for your own amusement on a simple bepfile. (Hint you could wrap this in a git-hook and then only allow a commit if your beps pass!) On the builddrone front I fixed a bunch of assumption-related bugs that came from not testing.

BONUS: WPA derived propaganda

Batisseur Midterm: Gravatars, packaging sugar, and achievements

Blog post by jrabbit on Mon, 2011-07-18 20:03

I’m in the middle of my planned vacation in New Mexico. I recently wrote a new feature for haikuporter emulating the style of homebrew’s create command. (It makes as much of the bep file for you as can be automated.) I’ve written a haikuporter (or later pkgman) wrapper to handle the achievements. It works like git-achievements you alias over the command and check the switches/commands. I’ve moved over some code to redis, and have gotten their development branch to build on alpha3 (Stable used to work back a few revs.). If you have ideas for achievements please file them in the issues tracker

I’ve implemented Gravatar support in the points board web app, it needs to be fleshed out more from the html side, if anyone has design questions or suggestions on how to implement this HaikuPoints system with regard to existing Haiku website features let me know.

The build drone “queen” controller I’ve been thinking about and will use a unique identifier for build jobs to allow cross-referencing with a list of available builds. (i.e. delegating responsibility of picking a useful build up to the client.) The unique ID would be based on GCC, Haiku version (release or nightly), and git-sha or a GUID. This will also allow for the build names to reference a camlistore sha1-blob with build information and binaries. I will be investigating if Jenkins is a good fit for receiving this data or if I will write a viewer for packagers to get build logs.

Batisseur Check-in

Blog post by jrabbit on Wed, 2011-06-22 19:47

A lot of commits have happened since I last blogged on my GSOC Project. The big hitters are:

  • the framework of a rankings website for users’ point totals
  • A non-regex parser I wrote because I’m impatient (I’m going to test its speed.)
  • The begining of the http server that will inform user’s builddrones of availible jobs (builds) [Basically it tells you if packages have been updated so you can build them]
  • Verified that Camlistore (on python) can work on Haiku.
  • A Jenkins API wrapper for magic to happen (I think it may be the perfect thing to handle build logs and results)
  • Redis
  • Redis
  • Redis

Progress is coming along, I recently [On the 15th] returned from a tour of France. There is a second period later in the summer I’ll have unknown-connectivity, but I’ll still be coding then.

Batisseur project update: Summary of work done and crystal ball into the future.

Blog post by jrabbit on Sun, 2011-05-29 14:41

Some of the clearly amazing things that got done during the community bonding period were:

I also discovered that Buildbot (Mostly its dependency: Twisted) don’t play nice on FreeBSD, the platform which currently builds Haiku nightlies on Matt Madia’s server. It’s not a huge priority to me at this point but it appears a bug still exists and will have to be filed (on my list).

On my list for the first quarter is finishing Command Not Found, and beginning work on the git tools and web services for package developers.[My actual project.] These tools can be developed while the package-fs work is in limbo or hpkgs mature. Command Not Found is a little script (if the install has python) or message that hooks into Bash’s command not found system and informs the user of ways to get this software. (i.e. you type in ruby but haven’t installed it or know that we have installoptionalpackage ruby, it will kindly tell you we have it.) Ubuntu has this feature in recent releases, and has an optional feature that may be interesting to use, spelling correction. It will be optional.

Command not found will be a way for users to be educated about Haiku even if they dive straight into the Terminal like a Unix user without reading any documentation (Like me!).

GSOC Introduction: Jrabbit, Batisseur and you

Blog post by jrabbit on Thu, 2011-04-28 23:45

I'm Jack (Jrabbit). I am a python hacker.

Bâtisseur is a broad system for making Haiku package development simple and quick. It will borrow concepts from OpenSuse Build and Canonical's Launchpad [Specifically Soyuz]. Some documents pertaining to it can be found in this repo. The end goal will be a modern build system for packages that can scale up or down and a system of achievements for participating in it.

Whats happening now

During the community bonding period I will be working with the new hpkg_builder tool to make sure it's ready for hackage. I will be working with the core team to look at buildbot deployment and such. Also I will be trying to get some of my web tools I wrote for haiku put up on haiku-files.

Syndicate content