Archive for December, 2004

Game tecnoballz available for sparc and i386

The unofficial package I maintain for the game TecnoballZ - an Arkanoid like game, originally written for Amiga - is now available for both i386 and sparc architectures.

Any reports for the sparc arch is strongly welcome, as this package is the first one to be available for this architecture.

People who wants to test this nice game can use my repository :

For i386:

deb http://www.sukria.net/debian ./i386/

For sparc:

deb http://www.sukria.net/debian ./sparc/

Comments

apache-lingerd 1.3.33-2 sparc binary

The first package I’m able to provide for sparc is apache-lingerd.

Don’t know if someone would find this .deb useful, but at least, it’s a proof that the lingerd stuff builds correctly under sparc.

Any feedback is welcome here.

Comments

Playing with SPARC

Eh well, the old Sun Ultra 5 station that was dying slowly here at the office is now on my desk.

It’s useless to say that I’ve jumped to the last debian-installer iso for sparc architecture and booted the box on it.

Now I can play with a Sarge sparc box and that’s great, meaning that I’ll be able to build all the packages I’m working on for that architecture.

Comments

Dealing with gettext.sh

Writing a Shell software that uses gettext is not really common, and writing it for a Debian environment requires the sofwtare to be able to run without gettext, as woody’s gettext-base package does not provide /usr/bin/gettext.sh.

Here is a hint about that, coming from the backup-manager’s code.

The tricky thing to do is to wrap the gettext API in order to first find if the library is there. We would then have a custom gettext.sh library that would just do the switch between two libs: a real one and a fake one. Both libraries provide the same function called translate(). The real function would use gettext as expected, whereas the fake one would just echo the string.

Things become less obvious when you want to use eval_gettext() which provides translation for strings with variables. Strings should then be pure static, without $foo inside but \$foo instead.
The real translate() function would look like that:

. /usr/bin/gettext.sh
export TEXTDOMAIN="myprogram"

translate()
{
        eval_gettext "$1"; echo
}

Our dummy translate() function should then be able to render a static string with $foo occurences by their real values, in order to behave the same as the real one:

translate()
{
        out=$(echo "$1" | sed -e 's/\$/$/g')
        out=$(eval "echo "$out"")
        echo "$out"
}

When this is done, it just remains to use translate() everywhere we want to echo a string in the software. This works pretty well and allows the software to run properly - but untranslated - on woody.

Moreover, as there is a bug report (#284637) on the fact that /usr/bin/gettext.sh is located under /usr/bin and is not executable, the gettext.sh library might move in the future.
This way of programming gettext in a Shell script could avoid the software to crash when gettext-base gets updated.

Comments

The road to backup-manager 0.5.5

Releasing soon a nice package of the backup-manager tool, fully translated in four languages (English, French, Spanish and German) is something possible.

Indeed, the package is now lintian and linda valid, uses gettext and po-debconf for the i18n stuff and seems to work pretty well, according to some user reports.

Hope we’ll be soon able to announce its arrival in the Debian archive … :)

Comments

BloggerTool, blogging for lazy people

I’ve just realized that the tiny plugin I wrote for Mozilla is still used. And by the way, I also realized that I didn’t post anything about it in english, so here it is.

The last release available for BloggerTool is 0.3. As it works pretty well and is really basic, I don’t plan to update the extension unless I receive request for adding url templates.

BloggerTool will provide a smart way of adding entries to your blog: by just right-clicking on a selection you made when browsing, a popup window get opened and try to reach the website you set up in the BloggerTool preferences window.

There are some predefined websites :

  • Blogger.com
  • Advogato
  • Poseidon

The BloggerTool extension was written from the source of the BlogThis extension.

Comments (1)

backup-manager 0.5.5 released

Hey ! here is the 0.5.5 release :D

The 0.5.5 release is focused on cleaning the output and on enhancing the user interaction. A lot of minor bugfixes have also been done.

Moreover, this release is the first to use gettext for internationalization. English and French languages are now supported (German and Spanish will be in 0.5.6).

Some minor new features have also been added:

  • A blacklist of directories that won’t be archived.
  • An option to say if symlinks will be dereferenced.
  • A cleaning system for purging recursively each old archive in the archives repositry.

For the Debian systems, all the debconf part has aslo been cleaned, most of questions are not set to low priority in order to avoid confusing the user. The full configuration of backup-manager is still handled by dpkg-reconfigure though (including new features).

The online help message and the manpage has been written from scratch again. It’s now compliant with the new backup-manager’s command line.

Comments

backup-manager 0.5.4 released

Here it is, after some work, 0.5.4 is out there, let’s see what’s inside.

A better burning engine
First of all, the way backup-manager burns CDR is improved in this release, indeed we used to first create on the disk an ISO image and then burn it to the media.
Now, the ISO image, made by mkisofs is directly piped to cdrecord.
That’s the tricky thing : the ISO image won’t take precious disk space anymore !

The power of MD5 sums
Whenever an archive is made, its MD5 sum is generated and stored in a file. This will allow backup-manager to check that every file burnt on a removable media is not corrupted (by doing MD5 checksums).
As this is working very well for the removable media, I’m seriously thinking of generalizing this process whenever an archive is moved by backup-manager (say, when a network transfert occurs for instance ;) )

Behind the scene, the code
The last major change for this release is not something obvious if you don’t look at the code… (Read the source Luke !) Until this release, backup-manager was one big shell script and everything was mixed inside. From this release, there are some shell libraries installed in /usr/lib/backup-manager/ that will provide functions. This will be better for the future of backup-manager, we would be able to add more and more features to the code without messing it up.

As before, fell free to grab this release, test it and report your comments to the list ! :)

Comments

Some news about backup-manager

The Backup Manager Users mailing list

For all the backup-manager users out there, here is a good piece of news : a mailing list has been setup for handling every discussion about backup-manager’s related issue.

We speak about current development ideas and answer question about using backup-manager.
Every comment or idea is welcome on this list.

If you want to subscribe, send a mail to backup-manager@sukria.net with the word « subscribe » in the subject.

Once subscribed to the list, you can mail backup-manager-users@sukria.net.

Ideas for the upcoming 0.5.4 release

I am working on the 0.5.4 release in my free time, one of the major goal for this release is to improve the way backup-manager burns data on CDR devices (this feature is supported as experimental since 0.5.3).

In 0.5.3, an iso image is first built and then, given to cdrecord for burning it to the media.

Thanks to Diego Brouard, backup-manager now burns directly the image using a pipe for giving it to cdrecord. It’s really great in the way that it doesn’t need physical space to store the iso.

Second, as Michael Prokop adviced me, 0.5.4 will add md5 hashes control on each file burnt on the removable media. In this way, user will be notified if an archive is corrupted and wil have the opportunity to redo the burning phase (the --burn option is here for that).

Stay tuned, backup-manager is growing ;)

Comments