<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Stationary Traveller</title><link href="http://stationary-traveller.eu/" rel="alternate"></link><link href="http://stationary-traveller.eu/feeds/tag/ubuntu.atom.xml" rel="self"></link><id>http://stationary-traveller.eu/</id><updated>2012-12-19T22:36:43+01:00</updated><entry><title>Bazaar: A retrospective</title><link href="http://stationary-traveller.eu/bzr-retrospective.html" rel="alternate"></link><updated>2012-12-19T22:36:43+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2012-12-19:bzr-retrospective.html</id><summary type="html">&lt;p&gt;For the last 7 years I've been involved in the &lt;a class="reference external" href="http://bazaar-vcs.org/"&gt;Bazaar&lt;/a&gt; project. Since
I am slowly stepping down, I recently wrote &lt;a class="reference external" href="/pages/bzr-a-retrospective.html"&gt;a retrospective&lt;/a&gt; on the
project as I experienced it for the last 7 years.&lt;/p&gt;
&lt;p&gt;Thanks to a few kind people for proofreading earlier drafts; if you spot any
errors, please let me know in the comments.&lt;/p&gt;
</summary><category term="bzr"></category><category term="canonical"></category><category term="samba"></category><category term="ubuntu"></category><category term="debian"></category><category term="vcs"></category></entry><entry><title>Samba 4.0.0, finally</title><link href="http://stationary-traveller.eu/samba-4.0.0.html" rel="alternate"></link><updated>2012-12-11T18:00:00+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2012-12-11:samba-4.0.0.html</id><summary type="html">&lt;p&gt;This afternoon &lt;a class="reference external" href="https://www.samba.org/samba/news/releases/4.0.0.html"&gt;we released version 4.0.0&lt;/a&gt; of Samba. This is a significant
milestone, and I'm very proud of the result. Samba 4 is the first version
that can be a domain controller in an Active Directory domain.&lt;/p&gt;
&lt;p&gt;We embarked on this journey almost a decade ago - &lt;a class="reference external" href="https://git.samba.org/?p=samba.git;a=commit;h=b0510b5428b3461aeb9bbe3cc95f62fc73e2b97f"&gt;the first commit&lt;/a&gt; is from
August 2003. It's been a long and bumpy ride. I hardly recognize
the people in this &lt;a class="reference external" href="https://www.samba.org/samba/images/team_l2003.jpg"&gt;team photo from 2003&lt;/a&gt; (I'm second from the left).&lt;/p&gt;
&lt;p&gt;A lot has happened in that time. We wrote &lt;a class="reference external" href="https://www.ohloh.net/p/samba/contributors/summary"&gt;a few million lines of code&lt;/a&gt;. We migrated from CVS to Subversion to Git. We've drifted apart and grown back together as a &lt;a class="reference external" href="https://www.samba.org/samba/team/"&gt;team&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In my youthful naivity I predicted a release &amp;quot;within 1 or 2
years&amp;quot; during &lt;a class="reference external" href="http://www.samba.org/~jelmer/jelmer-nluug-vj04.pdf"&gt;a talk at the NLUUG&lt;/a&gt; in 2004. But Active Directory was a lot
harder than we thought, and there were quite a few other distractions as well.
I'm glad this release, which is by far the biggest and longest running software
project I have ever worked on, has finally happened.&lt;/p&gt;
&lt;p&gt;Some older RCs of Samba 4 have already been packaged for Debian and Ubuntu,
in the &lt;tt class="docutils literal"&gt;samba4&lt;/tt&gt; source package. For Debian jessie, these will be integrated
into the main &lt;tt class="docutils literal"&gt;samba&lt;/tt&gt; source package. Please use &lt;tt class="docutils literal"&gt;experimental&lt;/tt&gt; if you do
want to try the existing packages, as it is most up to date.&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="ubuntu"></category></entry><entry><title>Last day at Canonical</title><link href="http://stationary-traveller.eu/last-day-at-canonical.html" rel="alternate"></link><updated>2012-10-17T00:00:00+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2012-10-17:last-day-at-canonical.html</id><summary type="html">&lt;p&gt;This Friday will be my last day at &lt;a class="reference external" href="http://www.canonical.com/"&gt;Canonical&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It has been a lot of fun working here. There is so much I have learned in
the last three years. I'm going to miss my colleagues.&lt;/p&gt;
&lt;p&gt;Over the last couple of months I have slowly stepped down from my involvement
in Bazaar and the Bazaar packaging in Debian and Ubuntu.
I would like to stay involved in Ubuntu, but we will see how that goes.&lt;/p&gt;
&lt;p&gt;I'm taking some time off until the end of the year to see the world and
hack, before starting something new in February.&lt;/p&gt;
</summary><category term="canonical"></category><category term="ubuntu"></category><category term="bzr"></category><category term="launchpad"></category><category term="debian"></category></entry><entry><title>Summer of Code 2011</title><link href="http://stationary-traveller.eu/272-Summer-of-Code-2011.html" rel="alternate"></link><updated>2011-07-18T08:53:05+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2011-07-18:272-Summer-of-Code-2011.html</id><summary type="html">&lt;p&gt;The Samba team is once again participating in the Summer of Code this year.
This year we have 4 students working on various projects related to Samba.&lt;/p&gt;
&lt;p&gt;This year I am mentoring Dhananjay Sathe, who is improving the
&lt;a class="reference external" href="http://wiki.samba.org/index.php/SambaGtk"&gt;GTK+ frontends for Samba&lt;/a&gt;. In
particular, he is making it possible to manage shares and users of a remote
Samba or Windows machine.&lt;/p&gt;
&lt;p&gt;Dhananjay is also &lt;a class="reference external" href="http://dsathe.blogspot.com/2011/07/samba-with-soc-google-summer-of-code.html"&gt;blogging about his progress&lt;/a&gt;.&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="soc"></category><category term="ubuntu"></category></entry><entry><title>libapache2-mod-bzr</title><link href="http://stationary-traveller.eu/269-libapache2-mod-bzr.html" rel="alternate"></link><updated>2011-01-02T19:07:53+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2011-01-02:269-libapache2-mod-bzr.html</id><summary type="html">&lt;p&gt;During the last two days I hacked together a &lt;a class="reference external" href="http://bazaar.canonical.com/"&gt;Bazaar&lt;/a&gt; module for &lt;a class="reference external" href="http://www.apache.org/"&gt;Apache&lt;/a&gt;.
This module makes it possible to easily enable the Bazaar smart server for
Bazaar branches. It also can display a simple placeholder page for Bazaar
branches without working tree. It's surprisingly easy to write Apache modules.&lt;/p&gt;
&lt;p&gt;The main advantage this has over a mod_wsgi / mod_python / mod_fcgi setup is that it doesn't require any additional Python hacking on the users side or other configuration outside of Apache, and it doesn't require configuration for each single branch in the Apache configuration. In the future I'd also like to support the settings &amp;quot;BazaarFrontend &lt;a class="reference external" href="https://launchpad.net/wikkid"&gt;Wikkid&lt;/a&gt;&amp;quot; and &amp;quot;BazaarFrontend &lt;a class="reference external" href="https://launchpad.net/loggerhead"&gt;Loggerhead&lt;/a&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;The configuration is currently as simple as:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;LoadModule&lt;/span&gt; bzr_module &lt;span class="sx"&gt;/usr/lib/apache2/modules/mod_bzr.so&lt;/span&gt;
&lt;span class="nb"&gt;BazaarSmart&lt;/span&gt; &lt;span class="k"&gt;on&lt;/span&gt;
&lt;span class="nb"&gt;BazaarFrontend&lt;/span&gt; Basic
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;in your &lt;strong&gt;apache2.conf&lt;/strong&gt;. The &lt;strong&gt;BazaarSmart&lt;/strong&gt; and &lt;strong&gt;BazaarFrontend&lt;/strong&gt; directives can appear in &amp;lt;Directory&amp;gt; or &amp;lt;Location&amp;gt; clauses as well, if you'd like to have different behaviour for different directories.&lt;/p&gt;
&lt;p&gt;At the moment this project is a proof of concept, and probably not something
you would want to run in production. For example, there is no way to limit the
access to a branch to read only. I need to double-check there are no threading
issues.&lt;/p&gt;
&lt;p&gt;Testing and patches are welcome. The project is hosted here:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://launchpad.net/apache-bzr"&gt;https://launchpad.net/apache-bzr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Stream of Passion - Calliopeia&lt;/em&gt;&lt;/p&gt;
</summary><category term="bzr"></category><category term="ubuntu"></category><category term="launchpad"></category></entry><entry><title>On the way to Samba 4: Part 2</title><link href="http://stationary-traveller.eu/268-On-the-way-to-Samba-4-Part-2.html" rel="alternate"></link><updated>2011-01-02T16:30:13+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2011-01-02:268-On-the-way-to-Samba-4-Part-2.html</id><summary type="html">&lt;p&gt;It's been more than a month since the last status update on my Samba 4 work -
much more than the two weeks I promised.&lt;/p&gt;
&lt;p&gt;During the holidays I finally managed to release the &lt;a class="reference external" href="http://wiki.samba.org/index.php/Samba4/Releases/4.0.0alpha14"&gt;new alpha of Samba 4&lt;/a&gt;,
as well as releases of some of our companion libraries (&lt;a class="reference external" href="http://tdb.samba.org/"&gt;tdb&lt;/a&gt;, &lt;a class="reference external" href="http://talloc.samba.org/"&gt;talloc&lt;/a&gt;,
tevent and &lt;a class="reference external" href="http://ldb.samba.org/"&gt;ldb&lt;/a&gt;). The release includes a significant amount of bug fixes and
a lot of work towards a properly functioning Active Directory DC, too much to
list here.&lt;/p&gt;
&lt;p&gt;This release I've mainly been involved in improving our Python bindings and our
handling of internal and external libraries. We now use symbol versioning for
our copy of Heimdal Kerberos as well as some of our other libraries. Hopefully
this will fix some of the issues users of the evolution-mapi plugin have been
seeing where they end up with both MIT Kerberos and Heimdal Kerberos loaded
into the same process (with all the consequences of overlapping symbol names).
Samba 4 now also has the ability to work with the system Heimdal rather than
using the bundled copy. I have packaged alpha14 for Debian and Ubuntu (fixing
most of the open bugs against the Samba 4 package in the BTS), but am currently
waiting for the new release of ldb to pass through NEW before I can upload.&lt;/p&gt;
&lt;p&gt;The next release is scheduled for the first week of February.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Stream of Passion - Haunted&lt;/em&gt;&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="ubuntu"></category></entry><entry><title>On the way to Samba 4: Part 1</title><link href="http://stationary-traveller.eu/267-On-the-way-to-Samba-4.html" rel="alternate"></link><updated>2010-11-24T20:44:00+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2010-11-24:267-On-the-way-to-Samba-4.html</id><summary type="html">&lt;p&gt;After &lt;a class="reference external" href="http://www.sambaxp.org/"&gt;Samba XP 2008&lt;/a&gt; &lt;a class="reference external" href="http://samba.org/~abartlet/"&gt;Andrew&lt;/a&gt; and I started keeping a wiki page with our bi-weekly goals and achievements for Samba 4. Because planning in a Free Software project is hard (time availability and priorities change over time, and other volunteers are equally unpredictable) we called this our &lt;a class="reference external" href="http://wiki.samba.org/index.php/Samba4/Andrew_and_Jelmers_Fantasy_Page"&gt;&amp;quot;Fantasy Page&amp;quot;&lt;/a&gt;; it listed things we wanted to work on next (&amp;quot;fantasies&amp;quot;), but reality being what it is we would usually actually end up working on something entirely different. We discussed our progress and new plans in - what I would now call - a bi-weekly standup call.&lt;/p&gt;
&lt;p&gt;There were several reasons for doing this. It gave us some sense of direction as well as a sense of accomplishment; a way to look back at the end of the year and realize how much we had actually achieved. Because Samba 4 is such a long term project (it is 7 years old at this point) it is easy to become disillusioned, to look back at a year of commits and to not see the gradual improvement, just the fact that there is no release yet.&lt;/p&gt;
&lt;p&gt;We managed to keep this up for &lt;a class="reference external" href="http://wiki.samba.org/index.php/Samba4/Andrew_and_Jelmers_Fantasy_Page/2008"&gt;two&lt;/a&gt; &lt;a class="reference external" href="http://wiki.samba.org/index.php/Samba4/Andrew_and_Jelmers_Fantasy_Page/2009"&gt;years&lt;/a&gt;, much longer than I had anticipated, and eventually started to slip last year.&lt;/p&gt;
&lt;p&gt;More recently &lt;a class="reference external" href="http://www.kblin.org"&gt;Kai&lt;/a&gt; and &lt;a class="reference external" href="http://blog.tridgell.net/"&gt;Tridge&lt;/a&gt; have started to blog weekly about their efforts to make Samba 4.0 a reality and I'm going to join them by trying to blog regularly - every two weeks - about my contributions, even if there were none.&lt;/p&gt;
&lt;p&gt;In the next two weeks I plan to work on finally getting alpha 14 of Samba 4 out and on fixing the daily builds of Samba 4 and OpenChange for Ubuntu on Launchpad after we did a massive reorganization of the private libraries in Samba 4.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Current Playing: Zero 7 - Somersault&lt;/em&gt;&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="ubuntu"></category></entry><entry><title>Mumble and bluetooth</title><link href="http://stationary-traveller.eu/266-Mumble-and-bluetooth.html" rel="alternate"></link><updated>2010-11-07T21:38:35+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2010-11-07:266-Mumble-and-bluetooth.html</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="http://mumble.sourceforge.net/"&gt;Mumble&lt;/a&gt; is an open source, low-latency, high quality voice chat application that we're using at Canonical, and which Samba has recently also adopted.&lt;/p&gt;
&lt;p&gt;After I busted the cable of my cabled headset and inspired by &lt;a class="reference external" href="http://mdzlog.alcor.net/2010/05/26/using-mumble-with-a-bluetooth-headset/"&gt;Matt's post about Mumble and Bluetooth&lt;/a&gt; I bought a cheap Nokia Bluetooth headset that works with my laptop as well as my phone. By using &lt;a class="reference external" href="http://blueman-project.org/"&gt;BlueMan&lt;/a&gt; I even found that the headset worked out of the box on Maverick.&lt;/p&gt;
&lt;p&gt;A nice feature in Mumble is that it is controllable using D-Bus. Blueman supports running an arbitrary command when the answer button is pressed. Combining these two features, it is possible to automatically toggle mute when the answer button is pressed:&lt;/p&gt;
&lt;pre class="code python literal-block"&gt;
&lt;span class="comment"&gt;#!/usr/bin/python&lt;/span&gt;
&lt;span class="keyword namespace"&gt;import&lt;/span&gt; &lt;span class="name namespace"&gt;dbus&lt;/span&gt;
&lt;span class="name"&gt;bus&lt;/span&gt; &lt;span class="operator"&gt;=&lt;/span&gt; &lt;span class="name"&gt;dbus&lt;/span&gt;&lt;span class="operator"&gt;.&lt;/span&gt;&lt;span class="name"&gt;SessionBus&lt;/span&gt;&lt;span class="punctuation"&gt;()&lt;/span&gt;
&lt;span class="name"&gt;mumble&lt;/span&gt; &lt;span class="operator"&gt;=&lt;/span&gt; &lt;span class="name"&gt;bus&lt;/span&gt;&lt;span class="operator"&gt;.&lt;/span&gt;&lt;span class="name"&gt;get_object&lt;/span&gt;&lt;span class="punctuation"&gt;(&lt;/span&gt;&lt;span class="literal string"&gt;&amp;quot;net.sourceforge.mumble.mumble&amp;quot;&lt;/span&gt;&lt;span class="punctuation"&gt;,&lt;/span&gt; &lt;span class="literal string"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span class="punctuation"&gt;)&lt;/span&gt;
&lt;span class="name"&gt;is_muted&lt;/span&gt; &lt;span class="operator"&gt;=&lt;/span&gt; &lt;span class="name"&gt;mumble&lt;/span&gt;&lt;span class="operator"&gt;.&lt;/span&gt;&lt;span class="name"&gt;isSelfMuted&lt;/span&gt;&lt;span class="punctuation"&gt;()&lt;/span&gt;
&lt;span class="name"&gt;mumble&lt;/span&gt;&lt;span class="operator"&gt;.&lt;/span&gt;&lt;span class="name"&gt;setSelfMuted&lt;/span&gt;&lt;span class="punctuation"&gt;(&lt;/span&gt;&lt;span class="operator word"&gt;not&lt;/span&gt; &lt;span class="name"&gt;is_muted&lt;/span&gt;&lt;span class="punctuation"&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;To use this script, set its path in the configuration tab for the &amp;quot;Headset&amp;quot; plugin in blueman.&lt;/p&gt;
&lt;p&gt;The only remaining problem with this setup is that I can't keep the headset on during my work day, as I don't have a way to put it in standby mode automatically. This means that my battery runs out pretty quickly, even when nothing is happening on Mumble.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Red Sparowes - Finally As That Blazing Sun Shone&lt;/em&gt;&lt;/p&gt;
</summary><category term="samba"></category><category term="ubuntu"></category><category term="canonical"></category></entry><entry><title>OpenChange server and SOGo</title><link href="http://stationary-traveller.eu/264-OpenChange-server-and-SOGo.html" rel="alternate"></link><updated>2010-10-26T17:47:16+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2010-10-26:264-OpenChange-server-and-SOGo.html</id><summary type="html">&lt;p&gt;There's more good news on the OpenChange front. Julien has been working
together with Wolfgang and Ludovic from &lt;a class="reference external" href="http://www.inverse.ca/english.html"&gt;Inverse&lt;/a&gt; to leverage the server-side
support in OpenChange to provide native Exchange server support in &lt;a class="reference external" href="http://ww.sogo.nu/"&gt;SOGo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A couple of days ago we &lt;a class="reference external" href="http://www.openchange.org/"&gt;announced&lt;/a&gt; that there now is an initial version that
allows the use of Outlook against a SOGo server through OpenChange.&lt;/p&gt;
&lt;p&gt;There is a screencast &lt;a class="reference external" href="http://www.youtube.com/v/oSZJ95YeXYE"&gt;up on youtube&lt;/a&gt; (there is also a &lt;a class="reference external" href="http://www.openchange.org/openchange-2010-10-15.mov"&gt;.mov version of the
screencast&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;As far as I know, this is the first time it's possible to actually use Outlook
clients with a non-Microsoft Exchange-compatible server, without the need for
plugins on the Outlook side. And it's all Free Software. Of course, this is
just a preview, and not something we'd recommend everybody to run in production
just yet. But it's exciting to finally see this come together.&lt;/p&gt;
&lt;p&gt;We already have OpenChange packages in &lt;a class="reference external" href="http://packages.debian.org/openchangeserver"&gt;Debian&lt;/a&gt; and &lt;a class="reference external" href="http://packages.ubuntu.com/openchangeserver"&gt;Ubuntu&lt;/a&gt; but I hope I can
help get SOGo packaged for both distributions as well.&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="openchange"></category><category term="ubuntu"></category><category term="canonical"></category></entry><entry><title>Samba 4 and OpenChange daily Ubuntu packages</title><link href="http://stationary-traveller.eu/263-Samba-4-and-OpenChange-daily-Ubuntu-packages.html" rel="alternate"></link><updated>2010-09-28T10:39:50+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2010-09-28:263-Samba-4-and-OpenChange-daily-Ubuntu-packages.html</id><summary type="html">&lt;div class="section" id="daily-builds"&gt;
&lt;h2&gt;Daily builds&lt;/h2&gt;
&lt;p&gt;As of a month ago there are Ubuntu archives with fresh packages of &lt;a class="reference external" href="http://wiki.samba.org/index.php/Samba4"&gt;Samba 4&lt;/a&gt; and &lt;a class="reference external" href="http://www.openchange.org/"&gt;OpenChange&lt;/a&gt;, built on a daily basis day from the latest upstream revision.&lt;/p&gt;
&lt;p&gt;This means that it is now possible to run a version of Samba 4 that is less than 24 hours old, without having to know how to extract source code from the version control system that upstream is using, without having to know how to build and install an application from source, but perhaps most importantly: without having to go through the tedious process of manually updating the source code and rebuilding.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://www.openchange.org/"&gt;OpenChange&lt;/a&gt; is tightly coupled to Samba 4, so installing a new version of OpenChange usually involves installing a new version of Samba 4 as well. To make matters more confusing, the two projects use different version control systems (Samba 4 is in &lt;a class="reference external" href="http://git-scm.com/"&gt;Git&lt;/a&gt;, while OpenChange is in &lt;a class="reference external" href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;) and different build systems (Samba 4 uses &lt;a class="reference external" href="http://code.google.com/p/waf/"&gt;waf&lt;/a&gt;, OpenChange uses &lt;a class="reference external" href="http://www.gnu.org/software/autoconf/"&gt;autoconf&lt;/a&gt; and make).&lt;/p&gt;
&lt;p&gt;I have been involved in Samba 4 and OpenChange as an upstream developer and more recently also as a packager for both &lt;a class="reference external" href="http://www.debian.org/"&gt;Debian&lt;/a&gt; and &lt;a class="reference external" href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As an upstream developer for both these projects it is important for me that users can easily run the development versions. It makes it possible for interested users to confirm the fixes for issues they have reported and to test new features. The more users run the development version, the more confident I can be as a developer that &lt;a class="reference external" href="http://lists.samba.org/archive/samba-technical/2010-September/073481.html"&gt;doing a release will not cause any unexpected surprises&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As a packager it is useful to know when there are upstream changes that are going to break my package with the next release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="recipes"&gt;
&lt;h2&gt;Recipes&lt;/h2&gt;
&lt;p&gt;The daily builds work using so-called recipes which describe how to build a Debian source package from a set of Bazaar branches. For example, the &lt;a class="reference external" href="https://code.edge.launchpad.net/~samba-team/+recipe/4.0-ppa"&gt;Samba 4 recipe&lt;/a&gt; looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;# bzr-builder format 0.2 deb-version 4.0.0~alpha14~bzr{revno}~ppa{revno:packaging}+{revno:debian}
lp:samba
merge debian lp:~samba-team/samba/unstable
merge packaging lp:~samba-team/samba/4.0-ppa-maverick
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This dictates that a source package should be built by taking the &lt;a class="reference external" href="https://code.launchpad.net/~samba-team/samba/trunk"&gt;upstream Samba branch&lt;/a&gt; and merging the &lt;a class="reference external" href="https://code.launchpad.net/~samba-team/samba/unstable"&gt;Debian packaging&lt;/a&gt; and &lt;a class="reference external" href="https://code.launchpad.net/~samba-team/samba/4.0-ppa-maverick"&gt;some recipe-specific tweaking&lt;/a&gt;.  The last bit on the first line indicates the version string to be used when generating a changelog entry for the daily build.&lt;/p&gt;
&lt;p&gt;Every night Launchpad (through &lt;a class="reference external" href="https://launchpad.net/bzr-builder"&gt;bzr-builder&lt;/a&gt;) merges these branches and attempts to build the resulting source package, e-mailing me in case of build problems. Generally I fix issues that come up by committing directly to upstream VCS or to the Debian packaging branch. There is no overhead in maintaining the daily build after I've set it up.&lt;/p&gt;
&lt;p&gt;For more information on creating source package recipes, see &lt;a class="reference external" href="https://help.launchpad.net/Packaging/SourceBuilds/GettingStarted"&gt;getting started&lt;/a&gt;.&lt;/p&gt;
&lt;div class="section" id="toolchain"&gt;
&lt;h3&gt;Toolchain&lt;/h3&gt;
&lt;p&gt;The entire toolchain that does the daily package builds for Ubuntu is Free Software, and I have contributed to various bits of that toolchain over the years. It's exciting to see everything come together.&lt;/p&gt;
&lt;div class="section" id="soyuz"&gt;
&lt;h4&gt;Soyuz&lt;/h4&gt;
&lt;p&gt;Launchpad consists of multiple pillars - one of those pillars is Soyuz, which I hack on as part of my day job at Canonical. Soyuz is responsible for the archive management and package building. Debian source packages (a combination of upstream source code and packaging metadata) get uploaded by users and then built for various architectures on our &lt;a class="reference external" href="http://launchpad.net/builders"&gt;buildfarm&lt;/a&gt; and published to the Ubuntu archive or to users personal package archives.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="launchpad-code"&gt;
&lt;h4&gt;Launchpad-code&lt;/h4&gt;
&lt;p&gt;Another pillar of Launchpad is Launchpad-code, which is responsible for the hosting and management of version control branches. Launchpad users can either host their branches on Launchpad directly or mirror branches (either native Bazaar branches or branches in a foreign format such as Subversion, Git or Mercurial). The mirrorring of native and foreign branches happens using standard Bazaar API's. In the case of Samba and OpenChange we import the branches of the upstream projects (Samba is in Git, OpenChange is in Subversion) and the packaging for both projects is in Bazaar.&lt;/p&gt;
&lt;p&gt;Launchad-code calls out to Bazaar to do the actual mirrorring. Over the last few years I have done a lot of work to improve Bazaars support for foreign branches, in particular on supporting Subversion, Git and Mercurial. As the code mirrorring in Launchpad is one of the biggest users of bzr-svn and bzr-git it has helped find some of the more obscure bugs in those plugins over the last few years, to the point where there are only a handful of &lt;a class="reference external" href="https://dev.launchpad.net/FailingBzrGitImports"&gt;issues with Git imports&lt;/a&gt; and &lt;a class="reference external" href="https://dev.launchpad.net/FailingBzrSvnImports"&gt;Subversion imports&lt;/a&gt; left.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="bzr-git-and-dulwich"&gt;
&lt;h4&gt;bzr-git and dulwich&lt;/h4&gt;
&lt;p&gt;bzr-git provides transparent access to Git repositories from within Bazaar and is built on top of &lt;a class="reference external" href="http://samba.org/~jelmer/dulwich"&gt;Dulwich&lt;/a&gt;.  Dulwich is a Python library that provides access to the Git file formats and protocols that is completely independent of Bazaar. James Westby originally started it and I adopted it for bzr-git and further extended it. There are now several other projects that use it as well, including &lt;a class="reference external" href="http://hg-git.github.com/"&gt;hg-git&lt;/a&gt;, and &lt;a class="reference external" href="http://www.rabbitvcs.org/"&gt;rabbitvcs&lt;/a&gt;. Apart from James and myself, almost two dozen other people have contributed it so far.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="bzr-svn-and-subvertpy"&gt;
&lt;h4&gt;bzr-svn and subvertpy&lt;/h4&gt;
&lt;p&gt;bzr-svn provides transparant access to Subversion repositories in Bazaar. When I grew frustrated with the existing Subversion Python bindings &lt;a class="reference external" href="http://jelmer.vernstok.nl/blog/archives/218-bzr-svn-now-with-its-own-Subversion-Python-bindings.html"&gt;for various reasons&lt;/a&gt;, I decided to create independent Python bindings for Subversion from scratch. These bindings have since been split out into a separate project - &lt;a class="reference external" href="http://samba.org/~jelmer/subvertpy"&gt;subvertpy&lt;/a&gt; - and other projects have since also started using them, e.g. &lt;a class="reference external" href="http://mercurial.selenic.com/wiki/HgSubversion"&gt;hgsubversion&lt;/a&gt; and &lt;a class="reference external" href="http://basieproject.org/"&gt;basie&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="using-the-daily-builds"&gt;
&lt;h3&gt;Using the daily builds&lt;/h3&gt;
&lt;p&gt;To use the &lt;a class="reference external" href="http://wiki.samba.org/index.php/Samba4"&gt;Samba 4&lt;/a&gt; and &lt;a class="reference external" href="http://www.openchange.org/"&gt;OpenChange&lt;/a&gt; daily builds (Ubuntu Maverick only for now), run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;$ apt-add-repository ppa:samba-team/ppa
$ apt-add-repository ppa:openchange/daily-builds
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Karnivool - Themata&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="bzr"></category><category term="vc"></category><category term="bzr_svn"></category><category term="openchange"></category><category term="git"></category><category term="ubuntu"></category><category term="hg"></category><category term="bzr_git"></category><category term="launchpad"></category><category term="canonical"></category></entry><entry><title>Proof of concept OpenChange server working</title><link href="http://stationary-traveller.eu/256-Proof-of-concept-OpenChange-server-working.html" rel="alternate"></link><updated>2010-06-08T19:09:08+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2010-06-08:256-Proof-of-concept-OpenChange-server-working.html</id><summary type="html">&lt;p&gt;Seeing &lt;a class="reference external" href="http://openchange.org/"&gt;this&lt;/a&gt; makes me very happy. It's taken &lt;a class="reference external" href="http://www.openchange.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=24&amp;amp;Itemid=15"&gt;us&lt;/a&gt; a couple of years to get to this point but we've finally made it, mostly thanks to the dedication and persistence of Julien and Brad.&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="openchange"></category><category term="ubuntu"></category></entry><entry><title>CtrlProxy: Looking for a new maintainer</title><link href="http://stationary-traveller.eu/241-CtrlProxy-Looking-for-a-new-maintainer.html" rel="alternate"></link><updated>2009-09-13T21:26:13+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2009-09-13:241-CtrlProxy-Looking-for-a-new-maintainer.html</id><summary type="html">&lt;p&gt;After over 7 years of working on it off and on, I'm looking for somebody to
help maintain (and eventually take over)  &lt;a class="reference external" href="http://www.ctrlproxy.org/"&gt;CtrlProxy&lt;/a&gt;. I started working on
CtrlProxy somewhere in 2002, only a short while after Wilmer started hacking on
&lt;a class="reference external" href="http://www.bitlbee.org/"&gt;BitlBee&lt;/a&gt;. If I remember correctly I started working on it because I didn't
want to run a separate dircproxy (the only real competitor at the time)
instance (with configuration) for each IRC network that I connected to. It was
also just a good excuse to play with the IRC protocol a bit.&lt;/p&gt;
&lt;p&gt;Over the years, CtrlProxy has served as a playground for me to try out new and
interesting things. It's been rewritten or severely refactored several times in
its early history, the latest time being the 3.0 release (from 2005).  I've
tried different build systems, I've tried different implementation languages,
I've tried different configuration file formats, I've tried different support
libraries, I've tried different version control systems, I've tried different
documentation formats. So while it's definitely been a very educational project
for me personally, I haven't really had the time or the interest to dedicate to
the project that it deserved during the last few years. This was mostly because
&lt;a class="reference external" href="http://www.samba.org/"&gt;there&lt;/a&gt; &lt;a class="reference external" href="http://www.wireshark.org/"&gt;were&lt;/a&gt; &lt;a class="reference external" href="http://www.ubuntu.com/"&gt;other&lt;/a&gt; &lt;a class="reference external" href="http://www.debian.org/"&gt;more&lt;/a&gt; &lt;a class="reference external" href="http://www.bitlbee.org/"&gt;interesting&lt;/a&gt; &lt;a class="reference external" href="http://www.openchange.org/"&gt;FOSS&lt;/a&gt; &lt;a class="reference external" href="http://bazaar-vcs.org/"&gt;projects&lt;/a&gt; I spent my
spare cycles on.&lt;/p&gt;
&lt;p&gt;These days there are plenty of other good IRC proxies out there, such as
&lt;a class="reference external" href="http://bip.t1r.net/"&gt;BIP&lt;/a&gt;, so I doubt CtrlProxy will be missed if it were to disappear. Despite
that, if anybody is interested in taking over, please send me an email
(&lt;a class="reference external" href="mailto:jelmer&amp;#64;samba.org"&gt;jelmer&amp;#64;samba.org&lt;/a&gt;) or contact me on IRC (jelmer on the OFTC and Freenode
networks).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Anathema - Shroud of False&lt;/em&gt;&lt;/p&gt;
</summary><category term="debian"></category><category term="ctrlproxy"></category><category term="ubuntu"></category></entry><entry><title>bzr-builddeb FTW</title><link href="http://stationary-traveller.eu/226-bzr-builddeb-FTW.html" rel="alternate"></link><updated>2008-11-07T18:01:30+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-11-07:226-bzr-builddeb-FTW.html</id><summary type="html">&lt;div class="highlight"&gt;&lt;pre&gt;%25 bzr branch deb:line6-usb-source debian
Retrieving Vcs locating from line6-usb-source Debian version 0.7.4-1
Branched 354 revision(s).
%25 bzr merge-upstream https://line6linux.svn.sourceforge.net/svnroot/line6linux/driver/trunk
All changes applied successfully.
Using version string 0.7.4+svn511 for upstream branch.
The new upstream version has been imported. You should now update the changelog (try dch -v 0.7.4+svn511-1 &amp;quot;New upstream snapshot.&amp;quot;), resolve any conflicts, and then commit.
%25 dch -v 0.7.4+svn511-1 &amp;quot;New upstream snapshot.
%25 bzr builddeb
Building using working tree
Preparing the build area: ../build-area
Purging the build dir: ../build-area/line6-usb-0.7.4+svn511
[...]
Placing result in /home/jelmer/bzr/line6-usb/result
%25 ls ../result
line6-usb_0.7.4+svn511-1_amd64.changes  line6-usb_0.7.4+svn511-1.dsc
line6-usb-source_0.7.4+svn511-1_all.deb
line6-usb_0.7.4+svn511-1.diff.gz        line6-usb_0.7.4+svn511.orig.tar.gz
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Phideaux - Microdeath Softstar&lt;/em&gt;&lt;/p&gt;
</summary><category term="debian"></category><category term="bzr"></category><category term="bzr_svn"></category><category term="ubuntu"></category></entry><entry><title>Reconciling the Samba 3 and Samba 4 source code trees</title><link href="http://stationary-traveller.eu/223-Reconciling-the-Samba-3-and-Samba-4-source-code-trees.html" rel="alternate"></link><updated>2008-09-15T22:05:14+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-09-15:223-Reconciling-the-Samba-3-and-Samba-4-source-code-trees.html</id><summary type="html">&lt;p&gt;While a few of us have been working very hard on Samba 4 to allow it to rock your socks off as an Active Directory Domain Controller, some of the other Samba developers have been working just as hard on improving the existing Samba 3 codebase and adding features to that. This situation has caused tension between developers as well as technical problems in the past - code with the same purpose is being developed in parallel, libraries diverge because features are only added in one branch and not in the other, one codebase is considered &amp;quot;obsolete&amp;quot; by some and the other is considered only a playground for experimental features by others.&lt;/p&gt;
&lt;p&gt;As of yesterday, we now have the two codebases living in one and the same git branch. This should make it a lot easier for the two to use the same libraries. Better yet, it should allow us to reconcile the copies of various libraries that exist in both codebases, all of which have diverged to some degree in the last few years.&lt;/p&gt;
&lt;p&gt;After &lt;a class="reference external" href="http://thread.gmane.org/gmane.comp.version-control.git/94861"&gt;a few problems came up&lt;/a&gt; merging the two branches the easy way (they both have a directory called &amp;quot;source&amp;quot; and git doesn't deal well with renaming them to &amp;quot;source3&amp;quot; and &amp;quot;source4&amp;quot; respectively), we decided to replay the history of both branches . This has the disadvantage that all existing branches that are based on the Samba 3 and Samba 4 branches will have to be rebased against the new master branch, but it also means we keep the ability to run &amp;quot;git log&amp;quot; inside of our source directories and having it work right.&lt;/p&gt;
&lt;p&gt;Other than the fact that this makes it possible to share more code between the two codebases, one of the ideas we have is also to see if it is possible to provide an Active Directory DC by glueing the best bits of Samba 3 and Samba 4 together (aka &amp;quot;&lt;a class="reference external" href="http://wiki.samba.org/index.php/Franky"&gt;Franky&lt;/a&gt;&amp;quot;) before they are eventually merged completely.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Phideaux - Formaldehyde&lt;/em&gt;&lt;/p&gt;
</summary><category term="samba"></category><category term="git"></category><category term="ubuntu"></category></entry><entry><title>bzr-svn push without file properties</title><link href="http://stationary-traveller.eu/220-bzr-svn-push-without-file-properties.html" rel="alternate"></link><updated>2008-06-30T23:30:40+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-06-30:220-bzr-svn-push-without-file-properties.html</id><summary type="html">&lt;p&gt;Ever since bzr-svn started supporting &amp;quot;true push&amp;quot;, people have been complaining about the extra file properties it sets.&lt;/p&gt;
&lt;p&gt;The key thing about &amp;quot;true&amp;quot; push is that it preserves the exact revisions that were present in Subversion. This lets bzr behave on Subversion branches transparently using the same UI you also use for &amp;quot;native&amp;quot; Bazaar branches.&lt;/p&gt;
&lt;p&gt;In other words, if I push to a Subversion branch from my machine, then that branch in Subversion contains enough information for somebody else to reconstruct the exact bzr branch I had.&lt;/p&gt;
&lt;p&gt;Since some Bazaar metadata can not be represented in Subversion, it is stored in Bazaar-specific Subversion properties. Unfortunately, these file properties show up in email commit notifications and &lt;a class="reference external" href="http://trac.edgewall.org/"&gt;trac&lt;/a&gt; and so they tend to annoy people.&lt;/p&gt;
&lt;p&gt;There are two ways around this:&lt;/p&gt;
&lt;div class="section" id="revision-properties"&gt;
&lt;h2&gt;Revision properties&lt;/h2&gt;
&lt;p&gt;Bazaar-specific metadata can be stored in in custom Subversion revision properties (these don't show up in commit notifications). Unfortunately, this requires Subversion 1.5 or newer to run on the server.&lt;/p&gt;
&lt;p&gt;I hope to start setting revision properties instead of file properties when possible as of the next bzr-svn release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="less-strict-push"&gt;
&lt;h2&gt;less strict push&lt;/h2&gt;
&lt;p&gt;It's also possible to throw away any data that can not be represented in Subversion. Since this means that the remote branch won't end up an exact same copy of the local revisions, this isn't true push. The two branches will have diverged (no matter how slightly) after such a push so it is necessary to rebase on the remote branch after pushing.&lt;/p&gt;
&lt;p&gt;This is similar to the way git-svn pushes data into Subversion - it calls it &amp;quot;dcommit&amp;quot;.&lt;/p&gt;
&lt;p&gt;Since this uses rebase it has the usual disadvantages of rebases, which I won't get into right now.&lt;/p&gt;
&lt;p&gt;As of a couple of days ago, bzr-svn now also supports this mode of pushing using the &amp;quot;dpush&amp;quot; command, by popular demand.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Brandi Carlile - The Story&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
</summary><category term="bzr_svn"></category><category term="ubuntu"></category></entry><entry><title>bzr-svn: now with its own Subversion Python bindings</title><link href="http://stationary-traveller.eu/218-bzr-svn-now-with-its-own-Subversion-Python-bindings.html" rel="alternate"></link><updated>2008-06-22T18:17:42+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-06-22:218-bzr-svn-now-with-its-own-Subversion-Python-bindings.html</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="http://bazaar-vcs.org/BzrSvn"&gt;bzr-svn&lt;/a&gt; has always been using the standard Python bindings that were
provided with Subversion itself. Unfortunately, I had to fix some issues in
these bindings since they were incomplete or broken and thus bzr-svn has always
depended on a development snapshot of Subversion.&lt;/p&gt;
&lt;p&gt;As of today, bzr-svn is using its own Python bindings for Subversion.&lt;/p&gt;
&lt;p&gt;There were several reasons for switching to our own bindings:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;There are no requirements for backwards compatibility within bzr-svn. This
means the API can be made sane without worrying about the mess it was in the
past and users who still rely on that.&lt;/li&gt;
&lt;li&gt;Deployment. It took 2 years for my fixes to the Subversion Python bindings to
be part of a release. It'll be even longer before Subversion 1.5 makes it
into most available distributions. That makes it very hard to just download
and install bzr-svn.&lt;/li&gt;
&lt;li&gt;They're in plain C, not SWIG. SWIG has a big advantage for the Subversion
folks since it can generate python, ruby, java or tcl bindings all at once
without a lot of overhead per language. However, it has issues as well that
make it a bad choice for bzr-svn.&lt;ul&gt;
&lt;li&gt;It generates inefficient code - it generates proxy classes that add more
layers in the stack&lt;/li&gt;
&lt;li&gt;Bindings tend to be very much like the C API rather than &amp;quot;Pythonic&amp;quot;. To make
them more Pythonic, you need tons of typemaps. For example, the Python
bindings in bzr-svn provide an iterator when browsing the revision history
rather than a callback as C and the SWIG bindings do.&lt;/li&gt;
&lt;li&gt;Hard to write - personally at least, I write bindings in C faster than in
SWIG&lt;/li&gt;
&lt;li&gt;Adds an extra dependency to the build process. Several people had trouble
building Subversion on their Mac machines because they didn't have the right
version of SWIG available.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since all of the patches that bzr-svn depended on previously were in the Python
bindings for Subversion, it is now possible to use bzr-svn with any version of
Subversion newer than 1.4.0. Of course, you do need to have the development
headers installed as well.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Kathleen Edwards - Independent Thief&lt;/em&gt;&lt;/p&gt;
</summary><category term="bzr"></category><category term="subversion"></category><category term="bzr_svn"></category><category term="ubuntu"></category></entry><entry><title>Bazaar in the GNOME world</title><link href="http://stationary-traveller.eu/217-Bazaar-in-the-GNOME-world.html" rel="alternate"></link><updated>2008-06-19T15:13:20+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-06-19:217-Bazaar-in-the-GNOME-world.html</id><summary type="html">&lt;p&gt;I was happy to see that &lt;a class="reference external" href="http://blogs.gnome.org/johncarr"&gt;John Carr&lt;/a&gt; has set up a &lt;a class="reference external" href="http://bzr-mirror.gnome.org/"&gt;Bazaar Mirror&lt;/a&gt; of all
projects in GNOME Subversion, all created using bzr-svn.  There's also a &lt;a class="reference external" href="http://live.gnome.org/Bazaar"&gt;quick
introduction to using Bazaar for GNOME developers&lt;/a&gt; on the &lt;a class="reference external" href="http://live.gnome.org/"&gt;GNOME Wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://uwstopia.nl/"&gt;Wouter&lt;/a&gt;, long time Bazaar user and GNOME dude, recently blogged about &lt;a class="reference external" href="http://uwstopia.nl/blog/2008/06/gnome-specimen-now-in-gnome-svn/"&gt;pushing Bazaar branches&lt;/a&gt; into GNOME Subversion, working around the restrictions imposed by the pre-commit hooks in GNOME Subversion.&lt;/p&gt;
&lt;p&gt;The problems John ran into with memory usage in the Python Subversion bindings
encouraged me to continue the work on bzr-svn's own Python bindings, thus
avoiding any dependency on unreleased versions of Subversion and several other
issues.&lt;/p&gt;
</summary><category term="bzr"></category><category term="bzr_svn"></category><category term="ubuntu"></category></entry><entry><title>Git cutting corners</title><link href="http://stationary-traveller.eu/216-Git-cutting-corners.html" rel="alternate"></link><updated>2008-04-27T13:13:20+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-04-27:216-Git-cutting-corners.html</id><summary type="html">&lt;p&gt;My relationship with git is still one of love and hate. It cuts corners to
increase performance in a couple of places and that can be really bloody
annoying.&lt;/p&gt;
&lt;p&gt;For example, jerry renamed one of the top-level directories in Samba 3
(revision 9f672c26d63955f613088489c6efbdc08b5b2d14). Git will skip rename
detection in this revision because of the number of files it affects, thus
causing the output of &amp;quot;git log &amp;lt;path&amp;gt;&amp;quot; of this particular directory to be
useless.&lt;/p&gt;
&lt;p&gt;I'm the first to admit &amp;quot;bzr log&amp;quot; on directories and files in large history
projects is painfully slow, but at least it gets the output right.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Brandi Carlile - The Story&lt;/em&gt;&lt;/p&gt;
</summary><category term="bzr"></category><category term="rants"></category><category term="git"></category><category term="ubuntu"></category></entry><entry><title>SambaXP and other travel</title><link href="http://stationary-traveller.eu/215-SambaXP-and-other-travel.html" rel="alternate"></link><updated>2008-04-26T10:03:04+02:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-04-26:215-SambaXP-and-other-travel.html</id><summary type="html">&lt;p&gt;It's been a busy two weeks.  Wilco and I drove up to Göttingen on Sunday two weeks ago to spend some days hacking and meeting up with the other developers before the start of &lt;a class="reference external" href="http://www.sambaxp.org/"&gt;SambaXP&lt;/a&gt;. It was really nice to see everybody again after more than 7 months.&lt;/p&gt;
&lt;p&gt;SambaXP was a bit different this year. There were three tracks during the second part of the conference this year, one more than previously and of course, there were several engineers from Microsoft attending this time! Some of the interesting talks this year included Julien's update on OpenChange, Tridge's talk on PFIF, the talk from the likewise folks and of course the talk from Microsofts' Wolfgang Grieskamp on SMB2. We also had some other informal discussions with the Microsoft folks about specific topics - very useful!&lt;/p&gt;
&lt;p&gt;There are &lt;a class="reference external" href="http://sambaxp.org/index.php?id=137"&gt;some photos&lt;/a&gt; up on the SambaXP homepage. And just to be ahead of the comments: yes, I know I need a haircut.&lt;/p&gt;
&lt;p&gt;I did some initial work on several bits and pieces of code that I hope to expand over the next few months. Volker has started working on ncacn_ip_tcp support and I have been working on making the Samba 3 DCE/RPC library compatible with Samba 4. This should allow OpenChange to use Samba 3 in the future.&lt;/p&gt;
&lt;p&gt;Guenther, Wilco and I made some initial progress on the policy library, allowing client-side manipulation of (group) policies in Samba. I worked with Simo on trying to get rid of an evil hack in Samba4's event subsystem.&lt;/p&gt;
&lt;p&gt;David Holder blogged about some of the IPv6 development that we did during the conference: &lt;a class="reference external" href="http://www.ipv6consultancy.com/ipv6blog/?p=34"&gt;http://www.ipv6consultancy.com/ipv6blog/?p=34&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And lots of other things I can't remember at the moment...&lt;/p&gt;
&lt;p&gt;After the conference Andrew, Wilco and I drove back to the Netherlands and I played tour guide for a bit showing Andrew around the country during the afternoon and hacking Samba together in the morning. Later this week we took the train to Brussels, Eurostar to London and visited Sam's company
in the UK Midlands for a couple of days.&lt;/p&gt;
&lt;p&gt;And in the midst of all this, it seems Ubuntu Hardy was released. Congratulations to all those involved!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Brandi Carlile - Turpentine&lt;/em&gt;&lt;/p&gt;
</summary><category term="samba"></category><category term="uk"></category><category term="de"></category><category term="be"></category><category term="nl"></category><category term="conferences"></category><category term="ubuntu"></category></entry><entry><title>Using bzr-builddeb as a svn-buildpackage replacement</title><link href="http://stationary-traveller.eu/214-Using-bzr-builddeb-as-a-svn-buildpackage-replacement.html" rel="alternate"></link><updated>2008-03-26T15:21:20+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-03-26:214-Using-bzr-builddeb-as-a-svn-buildpackage-replacement.html</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="http://samba.org/~jelmer/bzr-svn-buildpackage.diffThisslightlyevilhack"&gt;This slightly evil hack&lt;/a&gt; to bzr-svn allows using bzr-builddeb as a drop-in replacement for svn-buildpackage, making it recognize the &amp;quot;mergeWithUpstream&amp;quot; property svn-buildpackage uses.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Jeff Healey - Mess O' Blues&lt;/em&gt;&lt;/p&gt;
</summary><category term="debian"></category><category term="bzr_svn"></category><category term="ubuntu"></category><category term="pkg"></category></entry><entry><title>Adaption blockers Bazaar sprint</title><link href="http://stationary-traveller.eu/213-Adaption-blockers-Bazaar-sprint.html" rel="alternate"></link><updated>2008-03-09T17:06:00+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-03-09:213-Adaption-blockers-Bazaar-sprint.html</id><summary type="html">&lt;p&gt;The London Bazaar sprint is over again for this year. It was really good to meet
everybody in person again and also to meet some of the folks who hadn't been to
a sprint before.&lt;/p&gt;
&lt;p&gt;Last years sprint was mainly about improving performance; this year, we
discussed adoption blockers and how to remove them. A short summary of the
&lt;a class="reference external" href="http://bazaar-vcs.org/SprintLondonMarch08/Brainstorms"&gt;brainstorming&lt;/a&gt; is on the wiki.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://beuno.com.ar/"&gt;Martin's Blog&lt;/a&gt; has some pictures.&lt;/p&gt;
&lt;div class="section" id="tmv"&gt;
&lt;h2&gt;TMV&lt;/h2&gt;
&lt;p&gt;The Mars Volta concert we went to last night in Tilburg was absolutely
brilliant. Very energetic and definitely one of the best acts I've ever seen
live. We were standing in the back of a completely packed venue for 3 hours,
but it was very much worth it.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Currently Playing: Soft Machine - Teeth&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
</summary><category term="bzr"></category><category term="music"></category><category term="ubuntu"></category></entry><entry><title>OpenChange Evolution plugin preview and Debian packages</title><link href="http://stationary-traveller.eu/210-OpenChange-Evolution-plugin-preview-and-Debian-packages.html" rel="alternate"></link><updated>2008-01-21T14:42:07+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2008-01-21:210-OpenChange-Evolution-plugin-preview-and-Debian-packages.html</id><summary type="html">&lt;p&gt;Srini writes that a preview of the &lt;a class="reference external" href="http://blogs.gnome.org/sragavan/2008/01/21/evolution-mapi-exchange-2007-preview/"&gt;Evolution OpenChange plugin&lt;/a&gt; has just been
published. This plugin is now developed in the Evolution Subversion repository,
but is based on the original plugin that was written by the &lt;a class="reference external" href="http://www.epitech.eu/"&gt;Epitech&lt;/a&gt; team
that was assigned to OpenChange earlier this year.&lt;/p&gt;
&lt;p&gt;I've packaged new snapshots of Samba and OpenChange for Debian/Ubuntu.
They're available from my &lt;a class="reference external" href="http://samba.org/~jelmer/debian/"&gt;personal apt repository&lt;/a&gt; and will hopefully soon
also be available from Debian experimental.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;: The packages are now in &lt;a class="reference external" href="http://packages.debian.org/experimental/"&gt;Debian experimental&lt;/a&gt; as well as the
upcoming Intrepid release of Ubuntu. I have removed them from my personal
repository because I was running out of disk quota.&lt;/p&gt;
</summary><category term="samba"></category><category term="debian"></category><category term="openchange"></category><category term="ubuntu"></category></entry><entry><title>GTK+ LDB Browser</title><link href="http://stationary-traveller.eu/204-GTK+-LDB-Browser.html" rel="alternate"></link><updated>2007-12-16T20:49:05+01:00</updated><author><name>Jelmer Vernooij</name></author><id>tag:stationary-traveller.eu,2007-12-16:204-GTK+-LDB-Browser.html</id><summary type="html">&lt;p&gt;As some may have noticed, a large portion of my Samba 4 work during the last
few months has been focussed on adding Python bindings for our various public
libraries and the refactoring necessary to make it possible to add Python
bindings. So far, we have bindings for LDB and TDB but I intend to add bindings
for most of our public API so it is possible to, for example, open Windows
registry files, join domains, etc. from Python.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://ldb.samba.org"&gt;LDB&lt;/a&gt; is our LDAP-like embedded database, and is for LDAP what sqlite is for
SQL. Last night I decided to see how hard it would be to write a graphical
browser for LDB using Python, and it turned out to be quite easy, thanks to
PyGTK. There is a screenshot of what it looks like &lt;a class="reference external" href="http://samba.org/~jelmer/gtkldb.png"&gt;here&lt;/a&gt;. Packages with the
Python bindings for LDB are &lt;a class="reference external" href="http://packages.debian.org/python-ldb"&gt;already in Debian&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The sources for gtkldb are available in the samba-gtk bzr branch at
&lt;a class="reference external" href="http://people.samba.org/bzr/jelmer/samba-gtk/trunk"&gt;http://people.samba.org/bzr/jelmer/samba-gtk/trunk&lt;/a&gt;, along with some of the GTK+
frontends for Samba 4 I wrote earlier (gregedit, gwcrontab, gwsvcctl, gepdump
and gwsam).&lt;/p&gt;
</summary><category term="samba"></category><category term="ubuntu"></category></entry></feed>