Blog of Julian Andres Klode

February 25, 2008

pristine-deb - git-buildpackage’s pristine-tar support

Filed under: Debian, Ubuntu — Julian Andres Klode @ 21:48

Reading about the idea of pristine-deb, I actually noticed that using ar -rc file.deb debian-binary control.tar.gz data.tar.gz does not work, due to timestamps and other differences.

I am currently working on a pristine-deb program which will workaround all these issues. It will be able to work with git repositories like pristine-tar and uses pristine-tar for control.tar.gz and data.tar.gz. I may also add a function to decompress all compressed files (like changelog.gz) and uses pristine-gz to compress this file again before adding it to the tarball. This may save some additional space.

BTW, git-buildpackage now supports pristine-tar. Simply enable it with “pristine-tar = True” in gbp.conf. Thank you Guido Guenther, for adding these patches.

debimg - debian-cd in Python

Filed under: Debian — Julian Andres Klode @ 21:41

I’m currently working on a rewrite of debian-cd in Python. Although there is already deb-imgs-gen, I decided to start from scratch, because deb-imgs-gen is more than 1 year old.

debimg’s main features are

Speed

debimg should be able to build netinst disks in less than 20 seconds

Free Software

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Easy Configuration

  • Packages can be included based on their priority, tasks or name (no manually created task files)
  • All packages are defined in one file,which is based on the format on debian/control. You can even use the “package [architectures]” syntax from Build-Depends

Based on python-apt

  • Highspeed dependency solver written in C (or C++ ?)
  • Used for downloading all kind of data in debimg
  • Packages{,.gz} files are created from the apt cache instead of scanning the disk

many features are missing at the moment, and no code has been released. I will send an email containing more details, like configuration file examples, to the MLs in a few days.

debimg homepage at jak-linux.org

February 14, 2008

Ubuntu: aufs with casper 1.118 / ndisgtk 0.8.1 / ndisgtk in main?

Filed under: Ubuntu — Julian Andres Klode @ 23:12

Colin Watson today uploaded casper 1.118, now supporting aufs. To use aufs in future Ubuntu disks built with casper 1.118 or newer, use union=aufs. Please test it.

Another upload today was ndisgtk 0.8.1-1ubuntu1, bringing Ubuntu up-to-date with Debian and closing 3 bugs.

BTW, I requested to include ndisgtk in main, see https://wiki.ubuntu.com/MainInclusionReportNdisgtk. Having ndisgtk on the Ubuntu disks would be very useful for users without linux network drivers available and without enough experiences to use ndiswrapper from the commandline.

February 11, 2008

JAK LINUX website now powered by ikiwiki

Filed under: General — Julian Andres Klode @ 17:39

I’m glad to announce that finally, after being powered by ftpsync for more than six months, the JAK LINUX website now uses ikiwiki.

I currently have some small issues with the website: After using –rebuild, tarballs have a different modification time and are therefore reuploaded everytime, though the content is actually the same. I would also need a plugin to create directory indexes with sha1sums, but I haven’t found one yet. (If you know one, please let me know).

If you have never heard of ikiwiki: ikiwiki is a wiki system used and developed by Debian Developer Joey Hess and many contributors. In contrast to ftpsync, a python script I wrote in 2007, it has an active upstream with multiple contributors, and supports multiple markup languages (e.g. Markdown).

This switch to ikiwiki is also a switch back to the design used at mentors.debian.net, which had been replaced in December 2007 with a (CC-licensed) design created by styleshout.com. This template just looks better and has the better license (GPL-2).

In the next days, I will cleanup and extend the website and the template and release both under the terms of the GNU GPL version 2. I will alsoI will also try to write a plugin for directory indexes, write a plugin to create directory indexes (although I have almost no experience with perl), and will release it under the GPL 2.

Thank you, Joey and all contributors for creating this software.

February 4, 2008

Experiences with git and pristine-tar

Filed under: Debian, General, Ubuntu — Julian Andres Klode @ 23:49

In the last days, I used git very often. It was almost the first time I really used it, but I quickly understand the basic commands.

As some of you may know, the readahead-list package is now maintained in a git repo in the collab-maint project. I decided to use git instead of bzr (which I used for everything before), because of its speed and because I wanted to learn more about git, how it works.

I used git-import-dsc to import the first revision, and used debdiffs from 1 to 2 and from 2 to 3 to import the next revisions. Afterwards, I run git-import-orig on the new upstream tarball, which I downloaded and recompressed. Then, I did the packaging changes, added them using ‘git add changed-file‘ and committed them using git commit.

After I had done this, I read Planet Debian and saw Joey Hess’s post about the new features of pristine-tar 0.5, i.e. the integration with git. Running Ubuntu at the moment, I fetched the source package, built it and installed it.

I then opened a shell in my git repo and ran pristine-tar commit path-to-orig upstream/0.20050517.0220 to import the delta for the first tarball. Afterwards I did it for the second tarball.

Because I use git-buildpackage to build the package and Joey said he would like to see support for pristine-tar in git-buildpackage, I then wrote a patch for the programs in git-buildpackage to import and export the orig.tar.gz when needed. The patch can be seen in gitweb, and the maintainer responded in Bug#463580 will integrate the patch with some minor modifications.

Both git and pristine-tar are great works, and it makes it so easy to maintain the readahead-list package. The combination of git, git-buildpackage and pristine-tar is the most powerful I ever used to maintain a Debian package, especially when you are not upstream.

uploads and machine-readable copyright

Filed under: Debian, Ubuntu — Julian Andres Klode @ 23:33

Two days ago, zobel uploaded some of my package updates for me.

One of them was ndisgtk 0.8.1, which adds more translations and fixes some problems. I intent to create a 0.9 release soon, with support for PolicyKit. I will upload the release candidate of this version to Debian experimental and Ubuntu Hardy.

The other upload was readahead-list 1:1.20060421.1016-1, which I found on the Gentoo mirrors, but not where previous releases were located. This is OK, because the upstream author is a Gentoo developer and uploaded this tarball himself. I already requested to sync this release into Ubuntu Hardy, to reduce the diff between both distributions.

In both uploads, I changed the format of debian/copyright to match http://wiki.debian.org/Proposals/CopyrightFormat. I will also change my other packages in their next uploads, and hope that other maintainers also use the new format, especially for NEW packages. I some cases (especially when you are upstream + packager), this format is also shorter.

Debian Maintainer

Filed under: Debian — Julian Andres Klode @ 23:31

Since yesterday, I am a Debian maintainer. This will help me and my sponsors, which have to do less now. I can now upload new versions of my packages if the version in unstable contains the “Dm-Upload-Allowed” field in the dsc (and only if the package is not NEW).

For more information about the Concept of Debian Maintainers, see http://wiki.debian.org/Maintainers

I’m very happy about this, as it makes my life easier. But this does not mean that I don’t want to be a DD anymore. A DD is able to vote, to sponsor packages, to upload NEW packages, and many more things. (BTW: I’m currently at T&S step)

Blog at WordPress.com.