OpenBSD Journal

Xfce 4.4.1, or 'how i became more involved in OpenBSD'

Contributed by deanna on from the on the desktop dept.

Landry Breuil (gaston@gcu.info) writes:

I'm sure you haven't missed previous Gnome 2.18 update so i though it was a good idea to talk about the recent update of Xfce to its latest stable version, 4.4.1, released on 4/10/07. For people interested in more information on this desktop environment, check this tour.

First, a little word about myself : i'm a happy OpenBSD user since 2005, first on my gateway with 3.7, and i soon decided to give a try to OpenBSD as a desktop OS, near 3.9 release. Still a pleasure, stability, awesome documentation, simple and powerful ports/package management.. i was quickly convinced that i could easily use it too on my personal desktop and on my work laptop.

In the end of '06, i had the opportunity (thanks to our best-ever french BSD/*NIX user group, GCU-Squad) to write an article in a French Free Software Magazine, named 'GNU/Linux Magazine France', whose editor in chief wanted to have a 'BSD-oriented special number'. As i started having a good knowledge in Packet Filter syntax, i wrote a ten-pages 'PF for dummies' article, which was well received by readers. Two months later, we then had the opportunity to write articles in a second 'BSD-oriented special number', and as i had always wanted to familiarise myself with ports-tree internals, i quickly decided to write about 'How to create your own third-party port for OpenBSD'.

I decided to start with ports for libofx and grisbi, which were quickly reviewed, corrected and committed by ajacoutot@, a great thanks to him for this. Writing this article was a real pleasure, i had to dig through porting.html, ports(7) and bsd.port.mk(5), and i quickly fell in love with ports-tree internals too. My only previous experiments on creating packages was dealing about RPM .specs, or hacking FreeBSD ports for my personal needs, so OpenBSD ports-tree was a real hack-laboratory for me.

I was then using an svn version of Xfce4 on my systems, because the version in ports was rather outdated. I soon became more and more confident with Xfce internals, but it was quite a pain to compile it from svn source on OpenBSD (little quirks everywhere).

Then, a friend of mine sent a first rough update to Xfce 4.4.0 for the in-tree Xfce. I quickly decided to take it as a starting point, and decided to work on submitting a clean and polished update to the latest stable version. I first splitted this big diff in several diffs against cvs, one by port, tested it on -CURRENT/Xenocara, and after a lot of iterations and submissions to ports@ i quickly had a 'working' Xfce 4.4.0 version on my computer. I solved various little problems spotted by various people (Christian Rueger, Lars Hansson, Lawrence Theo and others), as i knew a little upstream code, it was not that hard, i only had to adapt some Makefile's and learn how to cleanly patch code.

At this moment, OpenBSD devs started the switch to the latest Gtk/Glib needed by the 'being-updated' GNOME 2.18, and Xfce devs released 4.4.1 maintenance release. This gave me the occasion to rework and recheck all my diffs (on i386 and sparc64, thanks to an old Ultra10), i then created a website dedicated to this porting effort (ports.gcu.info). For me, it was a way to present/comment my various diffs, and discuss the reasons of all the choices i've done in activating/disabling things in Xfce components. Now this website welcomes new contributers, if you want to use it to host/present your ports/diffs, i'd be happy to create you an account.

For my great pleasure, steven@ and ajacoutot@ then decided to have a deeper look into my work, and after a lot of discussions/comments and help on corrections, they decided it started to look good, and steven@ committed the first bits of Xfce, core libs, then core apps (window manager, file manager, desktop manager, settings manager, session manager, panel,...). I struggled a little on two issues with xfce4-mixer and Thunar, but these bugs were quickly corrected. Finally, other Xfce apps like mousepad, orage and Terminal were imported, and steven@ and i started updating existing panel-plugins and porting new ones.

Now, Xfce 4.4.1 is mostly complete in OpenBSD ports-tree, and has recently appeared in snapshots. I'd really like to thank all people which provided help, testing, comments and feedback at various moments of this porting/update effort (which took nearly two months) : So, thanks to Steven Mestdagh, Antoine Jacoutot, Markus Bergkvist, Josh Grosse and others i'm surely missing. Working with them was a real pleasure.

And finally, the mandatory screenshot. Thanks a lot to all OpenBSD folks, keep up the good work !

(Comments are closed)


Comments
  1. By Bastiaan Jacques (86.83.136.97) on

    I have been following CVS ports closely so as to be able to run XFCE 4.4. I've happily been using it for a while now, and I've even managed to get the battery monitor applet to work with ACPI. Thanks!

    Comments
    1. By Landry Breuil (gaston) on http://gruiik.info

      > I have been following CVS ports closely so as to be able to run XFCE 4.4. I've happily been using it for a while now, and I've even managed to get the battery monitor applet to work with ACPI. Thanks!

      I'm interested in getting battery monitor work with ACPI too - did you patched/tweaked something ? Here, Dell D410 has no apm support, apm -v doesn't say anything, so i think i'll have to patch upstream to make it work with our sensors framework...

      Comments
      1. By Bastiaan Jacques (86.83.136.97) on

        I'm interested in getting battery monitor work with ACPI too - did you patched/tweaked something ?

        Yes, I added a very crude hack very crude hack (but it mostly works). It gets the percentage of battery life right, but isn't aware of cable status.

  2. By Mike (24.218.219.172) on

    I'd like to read your porting article in GNU/Linux France, where I'm both slowly trying to learn French and how to make ports. Which edition was it and do you know off hand if North Americans can order a specific edition?

    Comments
    1. By Tomi (194.6.188.110) on

      > I'd like to read your porting article in GNU/Linux France, where I'm both slowly trying to learn French and how to make ports. Which edition was it and do you know off hand if North Americans can order a specific edition?

      the mag is edited by Diamond Editions. There is an online shop to buy the mag but they seem to only ship in France. And the psd forms which are used for international orders seem outdated (you can't select the 2 BSD related issues).

      http://www.ed-diamond.com/

      You should try to contact them at cial@ed-diamond.com with your best french :)

      Comments
      1. By Tomi (194.6.188.110) on

        I forgot to give you the reference to the specific edition :

        GNU/Linux Magazine France - Hors sÚrie #30 (mai/juin 2007)
        http://www.ed-diamond.com/produit.php?produit=492

        I just want to warn you that the article written by the GCU-squad are written in a very humoristic fashion. It could seem strange to someone who is not fluent in french. You can have a taste of it here :
        http://www.gcu-squad.org/

    2. By Noryungi (Noryungi) noryungi@yahoo.com on

      I'd like to read your porting article in GNU/Linux France, where I'm both slowly trying to learn French and how to make ports. Which edition was it and do you know off hand if North Americans can order a specific edition?

      I may be wrong, but I think you can probably order both special editions of GNU/Linux magazine from their web site: http://www.gnulinuxmag.com/

      Here are some relevant links:

      BSD Special Edition #1

      BSD Special Edition #2

      Ordering page

      To order the magazines, download the PDF ordering forms (the ones that are under the header: "Etranger"), print and fill them, and send them back to the address given at the bottom of the page. Prices are reasonable, if memory serves me well, but I haven't ordered these in a long time.

      Hope this helps!

  3. By jirib (85.207.203.106) on

    thanks!

    so next in ports is going to be inkscape and maybe in future some SIP/IAX software client and i will be totally happy :)

  4. By Anonymous Coward (81.83.81.251) on

    I've been meaning to try out XFCE 4.4 on my OpenBSD box. Am I correct in assuming that their shiny graphical installer won't give me a functional installation? I don't really want to upgrade to -current just so I can use your port.. (no offence of course).

    Comments
    1. By Landry Breuil (gaston) on http://gruiik.info

      > I've been meaning to try out XFCE 4.4 on my OpenBSD box. Am I correct in assuming that their shiny graphical installer won't give me a functional installation? I don't really want to upgrade to -current just so I can use your port.. (no offence of course).

      If you want to use the vanilla graphical installer, you'll run into little quirks.. see these threads on xfce4-dev@xfce.org :
      http://foo-projects.org/pipermail/xfce4-dev/2006-May/019996.html
      http://foo-projects.org/pipermail/xfce4-dev/2006-July/020677.html

      But it's "doable" :)

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]