Le skyblog de bochecha

To content | To menu | To search

Friday, June 6 2014

Bodhi 2 FAD

I just came back from the Bodhi 2 FAD in Denver.

I flew from Paris on Saturday 31st morning. Luke, Kevin, Ricky and I started hacking on Sunday morning, the other participants arriving during the day.

The first two days, I started with many small things, as a warm up: packaging in Fedora some of the Bodhi 2 dependencies, escaping raw HTML in forms, adding license headers to all files, fixing some small issues in the update management,...

On Tuesday I implemented the whole release management. This area is particularly lacking in Bodhi 1, but Bodhi 2 should be a big improvement:

  • releng can't create a new release in Bodhi 1 when branching it (i.e when creating it in Git, Koji, PkgDB,...) because we don't use Bodhi right away (we start using it only at Alpha freeze). With Bodhi 2, a release can be created but kept disabled, which fixes this annoyance
  • when a Fedora release reaches end-of-life, we delete it from the Bodhi 1 database, which makes us lose all metrics, and breaks all the URLs to the updates pushed for these old releases. With Bodhi 2, we can now « archive » an old release, so that it doesn't appear in the web UI any more, we can't push updates for it any more, but URLs of old updates will still work.
  • the Release Engineers regularly need to resort to a TurboGears 1 shell to enter some Python code in order to create / modify a release in Bodhi 1. Bodhi 2 now exposes a web API to manage releases, and a command-line tool which uses this API.

Before dinner, I then quickly implemented the file-based creation of updates as needed by « fedpkg update ».

On Wednesday, I started implementing the management of buildroot overrides, tagging the build appropriately in Koji, ... That's not all done though, so I'll try to finish it in the next few days. :-)

We also had some discussions about the mashing process. We haven't decided whether we'd use the koji-mash plugin I wrote, or the more generic « run any command as root » plugin, but now that we have a working staging instance of Koji we should be able to test them and take the decision.

Overall, it was a great event. We made lots of progress, and had tons of fun.

Finally, I'd like to thank Ralph for organizing the event, Kevin for picking me up at the airport on Saturday, Tim for bringing me to the airport on Thursday (at 7am!), and Red Hat for funding my trip.

It was my first FAD, and I loved it. Looking forward to the next one. :-)

Thursday, May 8 2014

gom in Fedora

I've been experimenting with gom, the GObject data mapper recently.

With a lot of help from Bastien Nocera, I eventually managed to get started using it as an experiment for one of my projects.

I have to say I'm quite impressed. Sure, writing GObject code is super verbose, but then managing objects and properties is so much nicer than managing strings full of SQL queries. And I hear the verbosity might be greatly reduced in the near future! :-D

Long story short, I've started building gom packages from Git snapshots in a Copr.

I'll eventually push it to Fedora proper, but I'd rather wait for an actual release. Maybe in time for GNOME 3.14?

In the meantime, if you want to try it out, go grab the packages from the Copr. Gom is under quick development, and now is a great time to test it and ensure it has the features your application needs. For example, I needed boolean properties and columns with a UNIQUE constraint, and both are now possible in master. :-)

Now to play some more with it...

Friday, April 25 2014

New releases from the Cangjians

It's been a few months since our last releases, and we have made a few bug fixes and improvements since then.

These are once more minor releases, preserving the API/ABI and without disruptive user-visible changes, so they should be really safe to update to even in stable distros.

Fedora packages are on their way, and other distributions will pick them up at their own rythm.

So without further ado, here are the changelogs for the new releases.


libcangjie 1.2

Bug Fixes

  • Handle failures in the libcangjie_cli tool correctly, instead of crashing a segmentation fault. (Sam)
  • Fixed a couple of typos in the libcangjie_cli tool which prevented it from working properly for some filter values. (Mathieu)
  • Use /bin/sh for the autogen.sh script, to improve cross-platform compatibility. (Sam)
  • Fixed a bunch of issues in our Cangjie code data. (Mathieu, Koala, Wan Leung, Antony)

Docs Improvements

  • Added installation instructions for Arch Linux (Antony) and NixOS. (Sam)
  • Removed an obsolete (and confusing) notice about release tarballs. (Mathieu)
  • Added missing hiragana filter to the libcangjie_cli help. (Mathieu)

pycangjie 1.2

Bug Fixes

  • Use /bin/sh for the autogen.sh script, to improve cross-platform compatibility. (Sam)

Docs Improvements

  • Added installation instructions for Arch Linux (Antony) and NixOS. (Sam)
  • Removed an obsolete (and confusing) notice about release tarballs. (Mathieu)

Testing improvements

  • Get Travis CI to build against the 1.x branch of libcangjie, as libcangjie master has now broken tha API in a way that pycangjie 1.x doesn't build against it any more. (Mathieu)
  • Improve testing coverage. (Mathieu)

IBus Cangjie 2.2

Bug Fixes

  • Fixed using the numpad to commit candidates. (Mathieu)

Docs Improvements

  • Added installation instructions for Arch Linux. (Antony)
  • Removed an obsolete (and confusing) notice about release tarballs. (Mathieu)

Testing improvements

  • Get Travis CI to build against the 1.x branch of libcangjie and pycangjie, as their master branch has now broken the API in a way that ibus-cangjie 1.x doesn't build against it any more. (Mathieu)
  • Use the in-memory GSettings backend for the tests, so avoid any undesired side-effects from the running environment. (Mathieu)

Sunday, February 2 2014

New releases from the Cangjians

We made our first round of major releases on Christmas day, and since then, a few issues were found, and some were fixed.

So on this second day of the new year of the horse, here comes a new round.

Today, we release libcangjie 1.1, pycangjie 1.1 and IBus Cangjie 2.1

All of these are pretty minor releases, which fix bugs and improve the internals without introducing any user-visible change. We recommend everybody to upgrade as soon as possible. (Fedora packages are coming)

I'll finish with the changelog for each release.

Happy Chinese New Year to everyone!

libcangjie 1.1

  • Fix typo in data/README.table.rst (Linquize)
  • Add docs to the tarball (Mathieu)
  • Add a link to the release tarballs in the README (Mathieu)
  • Correct typo of README file (Anthony)
  • Improve the benchmark tool (Mathieu)
  • Add a missing copyright header to the benchmark tool (Mathieu)
  • Various code improvements (Mathieu, with help from clang's scan-build)
  • Code refactoring of the filter handling (Dridi)
  • Add install instructions for a few distributions (Mathieu)
  • Document libcangjie_cli (Mathieu)

pycangjie 1.1

  • Add docs to the tarball (Mathieu)
  • Add a link to the release tarballs in the README (Mathieu)
  • Add install instructions for a few distributions (Mathieu)
  • Improve « make clean » (Anthony)
  • Fix the URL to the documentation in the README (Linquize)

IBus Cangjie 2.1

  • Add a link to the release tarballs in the README (Mathieu)
  • Actually run the unit tests on « make check » (Anthony)
  • Improve « make clean » (Anthony)
  • Add install instructions for a few distributions (Mathieu)
  • Improve the optionality of pycanberra (Mathieu)
  • Fix the pt_BR translation (Mathieu)
  • Reset sys.path to limit side effects on the unit tests (Mathieu)
  • Ensure validity of the preferences UI file (Mathieu)
  • Fix the UI file (Mathieu)

Wednesday, December 25 2013

The Cangjians wish you a merry Christmas

About a year and a half ago now, we set out to fix what seemed to us like the one critical issue which was preventing broad adoption of Free Software in Hong Kong: the lack of a good Cangjie/Quick input method for IBus.

And today, at the foot of the Christmas tree, we have 3 presents: today we are releasing libcangjie 1.0, pycangjie 1.0, and IBus Cangjie 2.0.

This is a release we are very proud of, it is the achievement of a year and a half of hard work, of studying all about Chinese input methods, and the lessons we learned with our previous attempts.

Speaking of previous attempts, even though we don't use Wan Leung Wong's libcangjie any more (we rewrote it completely), the hindsight we got from Wan Leung's original efforts was invaluable, and we wouldn't be where we are right now without it.

Without further ado, here are the links to the release:

Fedora packages are already on their way, and we'll get them very soon at least in Ubuntu and Arch Linux.

The major highlight from this release is that finally, we support all the characters which are important in Hong Kong out of the box.

But we're not done yet. For the next release, we are already working on a few things. Among others, suggestion of whole expressions and automatic translation from Traditional to Simplified Chinese are on our TODO list.

Merry Christmas to all, and don't hesitate to join us, send us code or bug reports, or just let us know how this release works for you.

Thursday, November 7 2013

Recruiting Fedora packagers

At work we produce our own distribution which is basically a downstream of RHEL / Fedora, adapted to the specific needs of our products.

We're looking to hire someone to do the following:

  • Build RPM packages

    Most of the time, we usually just rebuild packages from RHEL / Fedora packages with some occasional downstream changes.

    There are some packages that are not in their repositories though, and whenever it makes sense you'll be expected to maintain them in Fedora as well, to give back to the community.

    Of course, the changes we make downstream will often need to be pushed upstream as well, so you'd have to do that too. ;-)

  • Maintain our build infrastructure

    It's pretty much a replica of the Fedora build infrastructure: spec files are maintained in Git, source tarballs are in our lookaside cache, packages are built in Koji, updates are managed with Bodhi, repositories are made with mash, etc...

    You might have to contribute to those projects if we need to change them (hint: we need Bodhi 2!), and if the changes are interesting to upstream of course, so some minimal Python knowledge would definitely be appreciated.

  • Release engineering

    You'll be seeing the other side of Bodhi, pushing the updates to the testing and stable repositories to enable QA to do its job.

    You'll also need to work on the tools we use to compose new releases of our OS, improve our release/branching processes, etc...

Basically, in Fedora terms, we need someone to be part of the provenpackager, buildsys-build and releng teams for our OS.

One last thing, you'd need to be willing to come and live in Hong Kong. :-)

If you're interested, send me an email at "bochecha at fedoraproject dot org". Be sure to specify your FAS login, as we'll check that as well as your resume. ;-)

Tuesday, October 8 2013

Meet the Cangjians

Cangjiception - CC-By-SA - Jacqueline Wong and Mathieu Bridon

I have been hacking on Chinese input methods for Hong Kong people for more than a year now, and recently the project gained some momentum.

In order to increase participation, and make it less of a "one man show", I created some time ago the Cangjians team on Github, and moved upstream development of the various Cangjie-related stuff there.

We're only two core contributors at the moment, Koala and I, but I'm hopeful that we can grow this team to the point where we leave the absurd situation we are in now, i.e where the biggest contributor can't even read Chinese. ;-)

And in fact, we made great progress last Wednesday at The Loop, and Sam just keeps sending us tons of pull requests to fix lots of small things here and there, like making lincangjie2 build on Windows, fixing build warnings, etc... In other words, he's paying a lot of attention to the details, which eventually makes a big difference for the library.

We have a simple website, which we're still working on, but hopefully it's good enough already to showcase what we do, publish the documentation, etc...

If you are interested in all things related to Cangjie, come and talk to us. We'll be thrilled to receive your feedback and/or your help.

Thursday, October 3 2013

A great iteration at The Loop

I realize I should blog more often about The Loop, the Free Software hackfest we are running every two weeks at the Dim Sum Labs here in Hong Kong, so here's an attempt at doing just that. We'll see how long it lasts. :-)

I'm back from tonight's event, and it went great!

We weren't too many people tonight (that means there's room for you!), but what we didn't have in quantity, we definitely made up for in quality.

While Koala was busy working on a new website for the Ubuntu Hong Kong community, Sam multiplied the pull requests to make libcangjie2 build on Windows.

Jeremy, who just arrived in Hong Kong 2 months ago, started hacking on Firefox / ASM.js. However, while that was building, we worked together on fixing an issue in pycangjie so that it can now build on Ubuntu 12.04.

As for myself, I started having a look into Travis CI, and did some preliminary work to use it for libcangjie2. And as Travis runs on Ubuntu 12.04, we can now also add pycangjie thanks to Jeremy. :-D

All in all, it was a very productive evening, we did lots of good stuff, all while having fun.

So don't hesitate and join us!

If you look at the calendar, you'll see that next event will happen on September 16. No registration required, the event is free for all. Just come, and have fun with us making Free Software.

Friday, September 13 2013

IBus Cangjie in Ubuntu 12.04

It's been a while since I last blogued about IBus Cangjie, but we've only been quiet, not inactive.

Something great happened just today: Haggen just finished uploading IBus Cangjie to his PPA. Thanks to his work, it is now trivial to install IBus Cangjie in Ubuntu 12.04. One step closer to world domination. ;-)

On my side, I've just finished revamping the website a bit. It should now look nicer, and be easier to navigate. Let me know what you think!

Saturday, July 27 2013

Testing GNOME Music on Rawhide

GNOME is working on a new music application, which should be available for 3.10 in September: GNOME Music.

It's not really ready for prime-time yet, so I haven't submitted a review request for Fedora, but if you want to give it a try, I've pushed it to a side-repo.

If you're running Rawhide, give it a try:

# curl http://repos.fedorapeople.org/repos/bochecha/gnome-music/fedora-gnome-music.repo > /etc/yum.repos.d/fedora-gnome-music.repo
# yum install gnome-music

Note: It relies on a yet unreleased version of grilo, so that will come in as a dependency and replace the version provided by Fedora.

I'll try to keep it relatively up-to-date with upstream development, until there's a release to send into Fedora.

Enjoy!

- page 1 of 7