Users of Debian sid will have noticed: the final (and
interesting) bits of GNOME 3.4 have landed and if all looks as good as it
does now, they should migrate to wheezy in about a week.

3.2 → 3.4 hasn't been as complicated as the previous
horrible transition,
but still had some complications due to Cogl/Clutter incompatibilities.
Other than that, our major problem has been manpower, but this isn't new
for many other Debian teams. We've also seen new incarnations of
“Linux-only technology is now mandatory” which makes our lives a bit more
miserable due to kfreebsd-* and hurd-i386, but
for now we've still been able to dodge it. It seems wheezy+1 will
be fun in that regard though, and we might need to take drastic
approaches.

If all goes well and the current lot (GNOME Shell, Control Center,
Settings daemon, Mutter...) transitions without additional problems, we
should be wrapping up our transitions for wheezy with Evolution and
friends (currently sitting in experimental), and hopefully GDM 3.4.

As we get many questions regarding the status of GDM in
Debian, let's add a short note on this. Packaging GDM, at least in its
current upstream form, is not a matter of unpacking a new tarball and
editing debian/changelog. When Joss works on a new major version, the
amount of tweaking to break away from stuff that works on other distros
but is not so simple in Debian is outstanding (see, for example, the current
unfinished work for GDM 3.2 in our SVN repo). In our case, to
handle our GDM defaults, we even need changes to the underlying configuration
system, dconf. This evidently takes some effort to do, and unfortunately our
GDM expert has had little time for Debian lately, but we're confident we'll
end up with a GDM in wheezy that is on par with Debian standards.

We are, as always, reachable at #debian-gnome in the OFTC
IRC network. Have fun!

I know there's lots of polish and improvements to some of the major rough
edges in GNOME 3.2, but I think that of all changes in this release, Epiphany
really stands out, as you can see in blog posts by
Xan
and Diego.

Work to bring
GNOME 3.4 to Debianwheezy users has been underway for a few weeks already, and some bits
and pieces have been hitting unstable since the tarballs were
released a pair of days ago. We still need more base work to be done before
some exciting components like GNOME Shell can hit our archive, and we want to
fix as many
FTBFS with GLib 2.32
bugs as possible before pushing it to unstable, but all in all, hopefully this
time, shepherding a major GNOME release to Debian testing won't be
as painful
as it was not so long ago. However, we have already identified some fun bits
involving clutter, cogl and mutter in our initial analysis, but nothing that
hopefully can't be dealt with in a civilised way.

As always, if you think you can help us, we're reachable at #debian-gnome
at OFTC!

Removing alsaconf
was one of the very few rewarding moments of these ten years of taking care
of ALSA in Debian.

Not everyone agreed back then, and we still get some retaliation. :)

Date: Thu, 23 Feb 2012 02:59:31 +0100
From: <CENSORED>
To: jordi@debian.org
Subject: sabotage!
the removing of alsaconf without working(!) alternatives was (AND IS!) an
act of sabotage against millions of debian/alsa - users who needs stable
productive systems
you and all those proponents of removing this still needed alsaconf - program
will have to take the responsibility in front of an (us-) court for damages in
millions of dollars - amounts (lost man hours) all over the world
only a short while and we will have enough sponsors and witnesses around the
globe (and a very specialised, international labouring bureau of advocates) to
go to the court for prosecution.
we will not tolerate such an betray ("stable"? - do you believe, we're
fools??!!) against broad sections of the population and against the spirit of
free software!
it will be intresting to investigate, in whoms interests you've done so and
who the beneficiaries are ...
L.B.
conductor, publicist, whistleblower

When you read this,
GNOME Shell 3.2 will
(hopefully!) have finally transitioned to Debian’s testing suite.

Planet GNOME readers might think
Debian now has outdated versions of software even in their development
versions, or the distribution’s development marches at glacial pace.
Wheezy GNOME users will finally have a Shell that matches the rest
of their GNOME components, something that works with the
Shell extensions website and much
less problems and limitations compared to 3.0.2.

The reality is that GNOME 3.2’s packaging was quite ready back when it
was released in late September, but a number of not-so-desirable situations
held GNOME Shell, from transitioning to testing until today, four months
later. So, what happened?

TL;DR: transitioning from GNOME 2 → GNOME 3 is not so easy if you
want to keep testing in a sane state, and when you need to deal with
dozens of indirectly related packages, for more than 10 architectures… but it
shouldn’t take nearly a full year, either…

Let’s go back to the last months of 2010. Debian squeeze is in
very deep freeze, and the release team and many Debian developers are
focusing on squashing as many release critical bugs as they can, in order to
make Debian 6.0 the great release it ended up being. The GNOME project has
recently delayed the big launch of
GNOME 3.0 again, until
March 2011; Debian has already settled on GNOME 2.28 for its release,
although it will end up cherry-picking many updates from the 2.30 release
modules.

With most of the stabilization work being done, many Debian GNOME team
members were at that time working on packaging very early versions of what
would end up being GNOME 3.0 technology: GTK+3.0, GNOME Shell, Mutter… and
some brave users even tried to use it via the experimental archive.

On February 6th, Debian 6.0 was released, and soon after, on April 6,
GNOME made a huge step forward with the much anticipated
release of GNOME 3.0.
At that time, Debian developers were busy breaking unstable as
much as they could, as it’s tradition on the weeks following a major
release, and the Debian GNOME team was able to start moving some GNOME 3.0
libraries (those which were parallel-installable with their GTK+2.0
versions) to unstable.

However, moving the bulk of GNOME 3.0 to unstable wasn’t so easy. When
you start doing that, you need to be sure you’re ready to have all affected
packages in a “transitionable” state as soon as possible, to minimise the
chances of blocking transitions of unrelated packages via the dependencies
they pick up with rebuilds. All the packages involved in a transition need
to be ready to go in the same “testing run”, for all supported
architectures. When you’re dealing with dozens of GNOME source packages at
the same time, many of which introduce new libraries, or worse, introduce
incompatible APIs that affect many more unrelated packages, things get
hairy, and
you need a plan.

So, Joss outlined what a sane
approach to this monster transition could look like. The amount of work to
do was what we call “fun” on #debian-gnome. In a nutshell, we
had to deal with quite a few transitions, starting with
having a newer version of libnotify in unstable, and a pre-requisite for
that was making sure all the packages using libnotify1 were ready to use the
source-incompatible libnotify4, and this meant preparing patches and NMUs
for many of our packages, as well as many others not under our control.

Before starting a controlled transition like this one, we had to get an
ACK from the release team, who was busy enough handling other huge
transitions like Perl 5.12, so by the time we got our own slot, we were well
into Summer.

With libnotify done in August, it was time to get our hands dirty with
more exciting stuff, like getting Nautilus in testing. This meant bumping a
soname and requiring all packages providing Nautilus extensions to migrate
to GTK+3.0, or drop the extension entirely, as you can’t mix GTK+2.0 and
GTK+3.0 symbols in the same process. However, in GNOME 3.0, automounting
code had moved from Nautilus to gnome-settings-daemon, so in order to not
break filesystem automounting in testing for an unreasonable amount of time,
both Nautilus and g-s-d needed to go in at the same time. The fun thing is
that g-s-d dragged glib2.0, gvfs, gnome-control-center, gdm3, gnome-media,
gnome-session and gnome-panel into the equation, so this transition needed
extra planning and a lot more work than initially expected: migrating all
nautilus extensions, plus ensuring all Panel applets had migrated to GTK+3.0
and the new libpanel-applet-4 interface. In short, this was the
monster transition
we were trying to avoid.

By the time all this mess was sorted out, GNOME 3.2 had been released,
and for what users said, it was a lot better than 3.0. We still had
no more than a few bits and pieces of 3.0 in testing, and we were working
hard to get 3.0 in wheezy. With all the excitement around 3.2, at times it
was difficult to explain outsiders why we were beating a dead 3.0 horse…
Going back to our huge transition, it was just a matter of time before all
the packages would be built and be ready to enter, on the same run, in
testing.

A few weeks later, in early November and after several rounds of
mass-bug-filings, fixing unrelated FTBFS, many NMUs, package removal
requests and dealing with any possible problem that could block our
transition, everything seemed to be set, and our release team magicians had
everything in place for the big magic to happen. However, our
first clash
with the rest of Debian happened a few hours before our victory, in the form
of an unannounced ruby-gnome2 upload which resetted the count for everyone.
It was fun to see the release team trying all sorts of black magic in an
attempt to mitigate the damage. Fortunately, after a few tries they managed
to fool britney (the script that handles package transitions from unstable
to testing) somehow, and the hardest part of the job was done with just one
day of delay.

At last, the core of GNOME 3 was in testing, and testing users found soon
after. The rest of the week saw a cascade of hate posts against GNOME 3 in
Planet Debian, and personally I
didn’t find that especially motivating to keep on working on the rest of
GNOME bits. With experimental clear of GNOME 3.0 stuff, we finally were able
to focus on packaging whatever GNOME 3.2 components were not already done,
and preparing for what should be a plain simple transition of GNOME 3.0 to
3.2.

After our share of wait for a transition slot, as Perl 5.14, ICU and
OpenSSL were in the line before us, and after dealing with a minor tracker
0.12 transition, we were ready for our next episode:
evolution-data-server.

At first sight, we thought this would be a lot easier, but it still
got a bit hairy
due to evo-data-server massive soname bumps. We were
given our slot
just before Christmas, after a few weeks of wait for others to finish their
migration rounds, and most of the pack entered wheezy a few days before the
new year.

No rejoicing, though, as GNOME Shell 3.2 didn’t make it. First, we
discovered it was FTBFS on kFreeBSD architectures, as NetworkManager had
been promoted from optional to required, for apparently no good reason,
leaving the BSD world in the cold, including our exotic GNU/kFreeBSD
architectures. Now, let’s clarify that I’m a supporter of the Debian
kFreeBSD architectures and was really happy to see it accepted as a
technology preview in squeeze. However, as you know, GNOME Shell currently
requires hardware acceleration to run, a requirement hardly met in kFreeBSD,
unless you’re using a DRI1 X driver. We seriously doubted anyone had
ever ran a GNOME 3 session on kfreebsd-*. However, if it didn’t
build, it was a blocker bug for GNOME Shell. We considered creating
different meta-packages for kFreeBSD architectures, to conclude it’d be a
mess, so our awesome Michael Biebl ended up cooking up a patch that restored
the ability to build the Shell without NetworkManager support.

With this out of our way, we just needed to upload Michael’s fix and
watch the buildds do their part of the job. Or maybe not?

Enter Iceweasel 9.

In parallel, and with incredible bad timing, Iceweasel 9.0 was uploaded
to Debian the very same day it was released by Mozilla. Again, it greeted us
with a nasty surprise: yet another mozjs API change, which made gjs FTBFS,
which meant our kFreeBSD fixes would be unusable until someone who knew Gjs’
internals well enough bit the bullet and worked around the new API changes.
Again, Michael Biebl tried to be our saviour, but unfortunately wasn’t able
to fix all the problems, so we tried to focus on plan B.

Mozilla had released a fork of the mozjs that is included in Firefox, so
that embedders would have a bit less of a hard time with these recurrent API
changes. This was based on Firefox 4, and was already being packaged by
Ubuntu. Gjs would build using this older version just fine, so we just
needed to get it in Debian as soon as possible. We just needed to find a
sucke^Wvolunteer that would be inclined to maintain the beast. Only after a
few weeks we managed to get Chris Coulson, the Ubuntu packager, to maintain
the package directly through the Debian archive via package syncs. However,
his package had only been auto-compiled in the three Ubuntu architectures,
that is amd64, armel and i386. It’s late January 2012, and we’ve been
fighting this war for 10 months.

After getting some help from Michael to get the new package in shape for
Debian standards, we were excited to sponsor it for Chris. Duh, after a few
days in the NEW fridge, it was rejected by the ftp-masters. The license
statement was missing quite a few details, so I went ahead and sacrificed a
few hours of my copious free time to get this sorted out. A few days later,
mozjs was accepted, but the result was horrible. It was
very red.
mozjs didn’t build on half of our targets.

Mike Hommey was quick to
file a bug
and point us to the most obvious fuckups. As he had dealt with this in the
past as the Iceweasel maintainer, all of these issues were fixed and patches
were ready to be applied verbatim or with minimal changes to our sources.
With mozjs finally built successfully (although with
severe problems on ia64),
we were finally able to rebuild Gjs against it, upload GNOME Shell with our
kFreeBSD fixes and wait until today for this mess to be over. Whew.

I can’t say I’ve enjoyed all the stages of this ride. Some bumps on the
road were clearly there to test our patience, but it has helped me get back
in touch with non-leaf GNOME packaging, which was all I was doing for a
while due to being super-busy lately with studies. It also reminds me of the
privilege of working side by side with some awesome people, not only Joss,
Michael, Sjoerd, Laurent or Gustavo, to name just a few Debian GNOME team
members, but also the receptive release team members like Julien or Cyril,
and NEW-processing record-breaking ftp-master Luca. Without them, we might
be trying to figure out the Nautilus transition since last Summer.

The following is a quick HOWTO for the brave Debian users who want to
upgrade to GNOME 3. Assuming you have an up to date system running sid, and
experimental listed in your APT sources, perform the following complicated
steps to end up having a functional GNOME 3 desktop:

apt-get install -t experimental gnome

Thanks go to Joss for putting together new GNOME 3 meta-packages, and
the rest of the Debian GNOME people for months of hard planning and packaging
work, and painful testing transition handling.

Before you ask, yeah, not all of GNOME 3.x is in unstable yet, but will
soon be, as precedent
transitions start clearing
the way. And yeah, GNOME 3.2 will come just after the two remaining package
sets enter testing. To compensate, you'll find that you have some GNOME leaf
packages pending an upgrade to 3.2.0-1 while you read this.

3 months ago, I was positive I would be attending
DebConf 11 in Banja Luka, but as
the time to buy tickets and plan the trip came closer, I began to realise I
don't have lots and lots of vacation, and I probably prefer spending them
doing something that absolutelyrocks my world. I've
always enjoyed the Debian conferences when I've been lucky to be there, but
last year's experience in the Pyrenees was nothing a DebConf can compare to,
and I've decided to spend time seeking similar experiences this summer.

With much regret, because I love meeting the wonderful people that make up
Debian and DebConfs, I have to say that after all and once again, I won't make
it.

Yeah! It's
this time of the year: Friday evenings after work with your friends having some cool beer
on the streets, Saturdays around the nearby mountains for a good hike and
swimming in a lake or river, and good beach Sunday in a Valencian beach. And
for a great ending of a Summer weekend, a good indie movie in your
neighbourhood, reclaiming the streets and going back to our roots, when people
perceived the public spaces as theirs, and would bring foldable chairs out,
would gather with their neighbours and had a good after-dinner chat
a la fresca.

Before every movie, we'll enjoy live music by local bands, and projections
of good short films. We'll be happy to see you there, and remember you only
need a chair and some dinner... but be sure to be there a bit before 22:00:
last year this got so popular some people started having issues to find good
spots for their chairs!

Two weeks ago, I was lucky to celebrate my 33th birthday with my closest
friends in l'Alqueria. When asked to wish something before blowing
the candles on Victor's delicious apple cake, I thought I have basically
everything I'd want, but it'd be cool if some real changes happened in this
world.

Not much longer, big demonstrations asking for “Real Democracy Now”
happened throughout the Spanish state, and today, that Sunday seems to be
an eternity away. Huge assemblies, thousands of strangers working together,
more demonstrations, an election campaign eclipsed by #15m, hundreds of
well thought, plausible claims published, the movement crossing the Spanish
borders and leaking into France and Greece, the feeling that this is
the good one, the basis for a fresh start that can make our lives
better, our society a fair one and the possibility to stand in front of the
fuckers who have made our lives a lot harder, to tell them it's not going
to work like that anymore. All of this in 15 days.

Unfortunately, revolution came when I'm in a crucial month to finish my
studies and swamped with other little things, so I've been unable to be in
the Valencian camp site for more than 3 days. Hopefully when I'm done on the
22nd people will still be
taking the square, because
Mako and
Mika will be visiting then.
Yay!

Yesterday one of my free software halves was very, very
happy, because after a lot of work,
GNOME 3 was released!

I've been following GNOME 3.0's development since Debian got the first
GNOME Shell snapshots uploaded to experimental. While my first experience,
on an old, 2 or 3 generations behind Athlon 800MHz with 512MB of RAM was
horrid due to the lack of features (it wasn't even an alpha!) and the
incredible slowness due to the crappy Radeon 9200, I've seen it evolve to
the gem that was released yesterday.

I haven't been so excited about GNOME since GTK+ and GNOME 2.0 were
released after their eternal development cycle, and was happy to see how
positive the atmosphere in #gnome-hackers was last night when
vuntz sent the email and
everyone was able to relax after a very long sprint of hard work.

Congratulations everyone, because not only this a great, solid release,
but it's also a brave one. Change does not come without resistance, but I
am very sure the path GNOME opened last night has a bright and innovative
future. I will be delighted to walk this path to enjoy it!