Colors of Noise

agx@sigxcpu.org

Entries tagged "debian".

Git-buildpackage in experimental
14th July 2010

Git-buildpackage 0.5.0 in experimental fixes quiet some bugs related to the import of upstream sources and Debian source packages. By getting rid of a complete source tree copy it also got about 50% faster when doing so. Since the code changed quiet a bit in that area it'd be great if some of you could give it some testing before I'll push it to unstable.

Tags: debian, git.
krb5-auth-dialog: Simple AFS plugin
9th July 2010

I've just added a simple afs plugin to krb5-auth-dialog. It just calls either aklog or afslog after acquiring or renewing your Kerberos ticket to get you into your AFS cell. To activate it use

gconftool-2 --set --list-type=string --type=list /apps/krb5-auth-dialog/plugins/enabled [afs]

and restart krb5-auth-dialog. A package with the above enabled has been uploaded to Debian. Thanks to the test account in the global2000.at cell provided by Jörg Herzinger I could test this easily and I have to say that AFS looks like a cool thing.

Tags: debian, gnome, single-sign-on.
Slides of git-buildpackage talk at Mini Debconf 2010 in Berlin
13th June 2010

The slides of my talk about git-buildpackage at the Mini Debconf 2010 in Berlin are now available.

It was a great conference that I really enjoyed being at. Thanks a lot to all who made that event possible and happen!

Tags: debian.
krb5-auth-dialog: DBUS signals and plugins
3rd May 2010

Krb5-auth-dialog now sends DBus signals when you acquire or renew your Kerberos ticket granting ticket and when the ticket expires. When using OpenAFS This can e.g. be used to trigger a call to aklog on ticket renewal. It's simple to catch the DBus signals from a Python script:

import dbus
bus = dbus.SessionBus()
bus.add_signal_receiver(tgt_renewed_handler, dbus_interface = "org.gnome.KrbAuthDialog", signal_name = "krb_tgt_renewed")
bus.add_signal_receiver(tgt_acquired_handler, dbus_interface = "org.gnome.KrbAuthDialog", signal_name = "krb_tgt_acquired")
bus.add_signal_receiver(tgt_expired_handler, dbus_interface = "org.gnome.KrbAuthDialog", signal_name = "krb_tgt_expired")

The tgt_*_handler will then be called when the signal is received. The shipped Python example allows to execute a script already:

tgt-signals.py -q --acquired-action=aklog --renewed-action=aklog

Krb5-auth-dialog also got a plugin system so you could use a loadable module for these kind of things instead. It already ships a PAM plugin that can be used to run some typical actions like calling pam-afs-session or getting kx509 set up.

You need to tell krb5-auth-dialog which plugins to load via gconf. To load the dummy and PAM plugins use:

gconftool-2 --set --list-type=string --type=list /apps/krb5-auth-dialog/plugins/enabled [pam,dummy]

Since I'm not using AFS or kx509 myself I'd be interested to know if this works out as expected.

If you want to write your one plugins you can use the dummy plugin as a basis.

A package with the above enabled has been uploaded to Debian experimental.

Tags: debian, gnome, single-sign-on.
Simple git data provider for Zeitgeist
13th April 2010

gnome-activity-journal recently entered Debian and it could become a great tool to keep track of hacking activities. The underlying zeitgeist can log these and other events and make the information available via DBus. I couldn't find a data provider that feeds the information about Git commits to it so I wrote a simple post commit hook. This way one can easily see when one worked on a source repository:

gnome-activity-journal

Now is there a nice way to store additional information like current branch or commit message along with that?

Tags: debian, gnome.
Boot splashing with plymouth
25th March 2010

Fedora uses Plymouth to provide a flicker free boot for quiet some time now. Debian has packages in experimental but it took some patches to get these working. After adding a Debian logo the boot splash actually looks quiet nice. The initramfs and init scripts do need some more work but it's basically working. Thanks a lot Daniel for merging these so quickly!

To enable Plymouth you first need to set up KMS in the initramfs. For an intel based card you can do this by either adding

i915 modeset=1

to /etc/initramfs-tools/modules or by setting

i915.modeset=1

on the kernel command line. Then install plymouth, set a default theme and update the initramfs:

aptitude install plymouth plymouth-plugins-all
plymouth-set-default-theme solar
update-initramfs -u

Finally add splash to the kernel's command line (e.g. by adding it to /etc/default/grub).

Afterwards reboot and you should see the solar flares:

Plymouth Solar Theme

We're still not fully there yet since we need a newer gdm for a flicker free handover. Fortunately the Debian GNOME maintainers have already prepared a new package in svn. We also need proper support for encrypted disks, asking for the passphrase works with this fix but cryptsetup needs support for it.

Tags: debian.
Letting GTK+ applications blend nicely into KDE4
12th March 2010

In case somebody wants to run KDE together with some GTK+ based applications (like Iceweasel or Icedove) having a consistent style as well as look and feel between KDE and GTK+ applications is a nice thing to have. QtCurve together with xsettings-kde and gtk-qt-engine makes this easily possible:

aptitude install gtk-qt-engine kde-config-gtk-style qtcurve xsettings-kde

Then adjust the following settings:

Log off and right back in. Now your GTK+ applications should blend nicely into the QtCurve KDE look. xsettings-kde additionally bridges KDE settings like double click speed and icon theme via xsettings to GTK+ applications.

Iceweasel without QtCurve Iceweasel with QtCure

Now back to using gnome-shell...

Tags: debian.
Libguestfs: Detecting Debian kernels and packages
2nd March 2010

Here are some more examples of libguestfs usage:

What kernels, modules and packages are in a (currently powered off) libvirt based virtual machine vmfoo:

virt-inspector -c qemu:///system vmfoo

Show free space in virtual machine vmfoo:

virt-df -c qemu:///system vmfoo

List file systems:

virt-list-filesystems -c qemu:///system -l vmfoo

Edit /etc/passwd in vmfoo:

virt-edit -c qemu:///system lenny-base-clone /etc/passwd

Tell guestfish to mount all filesystems of virtual machine vmfoo for more complex inspection and manipulation tasks like LVM operations, partitioning, resizing or filesystem check or creation:

guestfish $(virt-inspector -c qemu:///system --ro-fish vmfoo)

Debian packages are still on alioth.

Tags: debian, libvirt.
Libguestfs: Virtual Machine Image Swiss Army Knife
21st February 2010

I've finally updated the libguestfs Debian packages to 1.0.84 getting them back in sync with upstream. Download instructions are on the pkg-libvirt's wiki page.

Fetching files from a vm image with guestfish is as simple as:

guestfish --ro -a lenny-base-clone.img -m /dev/debian/root download /etc/passwd /tmp/passwd

After hacking around #561991 by running debirf as root we now do pass the testsuite again. The new version includes fuse support as well as the hivex tools to manipulate windows registries.

The source for the Debian package is available at git.debian.org. The next step will be to split out the appliance so we can fetch that one via http and upload libguestfs to contrib.

Tags: debian, libvirt.
Git-buildpackage and 3.0 source format
26th January 2010

Here's a short overview of 3.0 source format support in git-buildpackage 0.4.64:

One loose end is the handling of multiple upstream tarballs (#561071, #561072). I'd be great to hear from people already using this feature how this can best be added into the gbp workflow.

The newer kids in town gbp-clone, gbp-pull (for keeping the repo up to date when using team maintenance) and gbp-pq (for managing the quilt patch-queue) don't care about the underlying source package format. These three are a bit underdocumented in the manual but information about the workflow is in the wiki.

Tags: debian, git.
Iceowl extensions 1.0b1 in experimental
23rd January 2010

Release 1.0beta1 of Iceowl-extension (also known as Lightning), the calendaring extensions for Icedove, is now available in experimental. This version works with Icedove 3.0.1 which also lives in experimental at the moment.

Open TODOs for Iceowl:

Iceowl's current packaging git is here:

http://git.debian.org/?p=users/agx/iceowl.git

Any help on the above issues is greatly appreciated. Other open tasks that need fixing in order to get things in shape for Squeeze:

Tags: debian.
Icedove 3.0 - an early Christmas present?
18th December 2009

I've just uploaded Icedove 3.0 to Debian experimental. The package is heavily based on Alexanders work in Ubuntu and Chris did most of the hard work.

It's currently named icedove-3.0 so you can (for now) install this version in parallel to Icedove 2. This version copies over your Icedove 2 profile so it doesn't get messed up.

As long as the package is sitting in new you can grab it from the pkg-mozext repository:

deb http://pkg-mozext.alioth.debian.org/packages sid/i386/
deb http://pkg-mozext.alioth.debian.org/packages sid/all/

We now need help with going through the Debian bugreports against Icedove.

If you want to help out: grab a bug, check if it's fixed in Icedove 3 and if it is, simply mark it as fixed in 3.0~rc2-2 in the bts:

bts fixed <bugnumber> 3.0~rc2-2

Once we're confident the package doesn't break everything we'll rename the binary package to icedove so it replaces the default Icedove on upgrades.

If you want to help out with patches: Git is here

git clone git://git.debian.org/pkg-mozilla/icedove.git
Tags: debian.
KVM/Libvirt changes in Debian
12th December 2009

As already mentioned on <pkg-libvirt-discuss@lists.alioth.debian.org> libvirt 0.7.4-2 (currently in experimental) runs qemu and kvm processes as libvirt-qemu:kvm instead of root allowing you to use features like bridged networking without having to run the emulator itself with full privileges.

Kvm 88+dfsg-3 supports ksm to safe memory when running several similar virtual machines. On a recent linux kernel just do a

echo 1 > /sys/kernel/mm/ksm/run

to activate it. Then run two similar virtual machines and see how /sys/kernel/mm/ksm/pages_shared increases.

Thanks to work of Jan and Micheal Debian now also ships kvm's stable branch qemu-kvm.

Tags: debian, libvirt.
git-buildpackage 0.4.60
7th November 2009

As of git-buildpackage 0.4.60 gbp-pull supports --redo-pq which additionally recreates the patch-queue branch after a pull. Now you can keep your clone fresh with one command.

Tags: debian, git.
gbp-pull
28th October 2009

Inspired by tools developed by Debian's OCaml maintainers git-buildpackage now ships gbp-pull that can be used to keep your debian-, upstream- and pistine-tar branch up to date when doing team maintenance.

Tags: debian, git.
Backporting with git-buildpackage
4th October 2009

I added a short explanation on howto handle backports with git-buildpackage to the GBP workflow page.

Tags: debian, git.
git-buildpackage 0.4.57
5th September 2009

git-buildpackage 0.4.57 adds gbp-clone to /usr/share/doc/examples/. If you use it instead of git pull it will automatically set up your upstream and pristine-tar branches. This was inspired by the helper scripts the ocaml team uses.

git-import-orig now calls a postimport hook which can be used to call git-dch after import so I could remove the hardcoded dch call.

Tags: debian, git.
Slides of libvirt talk at dc9
5th August 2009

The slides of my talk about libvirt at dc9 are now available.

Tags: debian, libvirt.
gbp-pq
3rd August 2009

git-buildpackage 0.4.55 now ships gbp-pq for easier serializing of git patch queue branches into quilt patch series and vice versa. It's currently in /usr/share/doc/git-buildpackage/examples/. I'll move it to /usr/bin/ once I feel a bit more confident that this is the right interface.

Tags: debian, git.
libguestfs Debian packages
3rd July 2009

I've worked a bit on Richard's libguestfs Debian packages They now also provide perl and python bindings as well as a debug package and the appliance is built using debootstrap/debirf. The wiki has the necessary apt/sources.list (packages are currently available for i386 only).

The source for the Debian package is available at git.debian.org so please send patches to wrap more of the available language bindings into Debian packages.

If you're interested in updates on this as well as other virtualization related stuff in Debian what about joining the pkg-libvirt-discuss list.

Tags: debian, libvirt.
git-import-orig --fast-import
8th May 2009

As of version 0.4.53 git-buildpackage's git-import-orig supports --fast-import. This uses git fast-import to import the new upstream version and speeds up imports by about a factor of two.

It's not as well tested as importing without --fast-import so please be careful and file bugreports if it fails.

Tags: debian, git.
icedove-3.0 packages
20th April 2009

As a result of the 2nd Debian Groupware Meeting snapshot builds of the Thunderbird 3.0 release branch could be rebraned and build for Debian as Icedove. We'll continue to upload snapshots. See the pkg-mozext maintainers page for download instructions.

Tags: debian.
git-buildpackage's posttag hook
20th February 2009

As of version 0.4.47 git-buildpackage exports these environment variables to a called posttag hook:

This allows you to write posttag hooks that push out only the changes that correspond to the created tag. For a simple example see the GBP Manual. Using such a hook makes team maintenance a lot easier since you can't forget to push out the commits and tags for a newly uploaded package while making sure you don't push out any other changes.

Tags: debian, git.
virt-manager 0.6.1 available in Debian
30th January 2009

New upstream versions of virtinst and virt-manager are available via Debian's experimental distribution. All the bugfixes we carried as patches have been applied upstream by Cole Robinson, which is great. New features include disk- and newtork-I/O graphs and direct support for installing paravirtualized Debian Lenny Xen Guests via:

   virt-install -n xenfoo1 -r 96 --disk path=/path/to/file,device=disk,size=1 --location=http://ftp.nl.debian.org/debian/dists/testing
Tags: debian, libvirt.
Debian Installer Multipath Support
30th January 2009

The current state of multipath support in Debian Installer's RC2 for Lenny is documented here. The netinst works fine if you use the patched grub (#442382). Unfortunately the CD images are currently broken due to missing libaio udeb.

The easiest way to get the patched grub into your system is via http://tinyurl.com/mpgrub/inst_i386.sh as described in the README.

The recently updated multipath-tools 0.4.8-14 support disks >2TB and also work with kernels more recent then Debian's 2.6.26.

Tags: debian.
Firefox/Iceweasel Debian BTS Search Engine
10th January 2009

While Debian's Iceweasel ships a nice search engine for Debian packages it doesn't have one for the bug tracking system (which I tend to use more frequently). So I stitched together a simple search engine following the Opensearch specificaton. To install it in Firefox/Iceweasel go here.

Tags: debian.
SAP Java GUI Debian packages
9th January 2009

sapgui-package allows you to build a Debian package out of the SAP GUI for Java by simply running:

make-sgpkg PlatinGUI-Linux-710r7.jar

You can then install the resulting Debian package via:

dpkg -i sapgui_7.10rev7_i386.deb

The 'guistart' and 'guilogon' binaries are available as 'sapguistart' and 'sapguilogon' in your path.

Once a new release comes out simply repeat the above steps and all users on your system(s) will enjoy the new version. This has been tested with 7.10r6 and 7.10r7.

The source code is available via:

git clone http://honk.sigxcpu.org/git/sapgui-package.git/

An ITP has already been filed.

Tags: debian.
Linking Debian Changelogs back to the Vcs
8th November 2008

When following Debian changelogs (e.g. via apt-listchanges or update-manager) one often wonders what an actual commit messages actually means or how a bug got actually fixed. Currently finding this information is cumbersome:

However this process can be automated if a package uses the following format for changelog entries:

* [commitd] changelog message

e.g.:

* [fed3f3d] fixed segfault during daemon startup (Closes: #7005180)

then you can use Cl2vcs to locate the exact commit that corressponds to that changelog entry. Cl2vcs uses the PTS to parse the packages Vcs-Browser URL to create a link back to the commit.

If you maintian your package in Git, creating this type of changelog entry is simple: You can tell git-dch to include N digits of the commit's SHA1 (the commit id) using the --id-length option, e.g.:

git-dch --release --auto --id-length=7

This way git-dch will include the first 7 digits of the commit's SHA1 (this options can of course also be specified in gbp.conf). Packages already using this are e.g. libvirt and calendarserver.

Note: a possibly useful extension of the above format would be:

 * [commitid1,commitid2,commitid3] changelog message 

so several commits can make up a changelog entry. For Subversion this would then look like:

 * [r123,r125.r127] cleanup whitespace errors
Tags: debian, git.
mount by label with Debian Installer
28th June 2008

The nice thing about d-i is that it's even more flexible then one thinks. Usually an autopartitioning recipe looks like:

500 10000 1000000 ext3
method{ format }
format{ }
use_filesystem{ }
filesystem{ ext3 }
mountpoint{ / } .

But what if you want a to set a filesystem label. That's easy:

500 10000 1000000 ext3
method{ format }
format{ }
use_filesystem{ }
label{ root }
filesystem{ ext3 }
mountpoint{ / } .

This sets the label root on the ext3 filesystem that will be mounted as /. You can set any variable here and the text between the curly braces ends up in $<partition>/<var> ready for partman to pick it up. See partman-auto-recipe for the full details.

The label allows to mount the filesystem by it's label instead of it's device name, so /etc/fstab looks like:

 LABEL=root /     ext3  defaults,errors=remount-ro,relatime 0 1
 LABEL=home /home ext3  defaults,relatime,user_xattr        0 2

Very handy if you insert partitions later which would change the numbering or work with partimage snapshots that should work on PATA and SATA. However this currently isn't supported by d-i since it can only create filesystem labels but can't write them to /etc/fstab. With the patches from #488321 and #488322 this can be done with:

500 10000 1000000 ext3
method{ format }
format{ }
use_filesystem{ }
label{ root }
labeled_mount{ }
filesystem{ ext3 }
mountpoint{ / } .

You also need to fixup mount since it will otherwise segfault during d-i's initial deboostrap run (#488312). Now support for labels on swap devides needs to be added to d-i.

Tags: debian.
git-buildpackage 0.4.31
12th June 2008

Nothing earth shaking in this release:

''--git-tag-only'' allows you to create a tag without having to build the whole project again - useful for large packages. You can either clone from:

git clone http://honk.sigxcpu.org/git/git-buildpackage.git/

or fetch the package from the Debian Archive once it went through the new queue. The updated documentation is available here

Tags: debian, git.

RSS Feed