Search Results: "tar"

23 March 2008

Christian Perrier: [rant] Uncoordinated debconf templates introduction

That time of the release process now came where I will rant about uncoordinated introduction of debconf templates. Given the release timeframe, I started the very same work I did for etch: try to get as many debconf translations as possible in place. Of course, in the same time, these efforts are balanced by maintainers of packages who introduced new debconf templates without coordinating with debian-i18n for their localization and without sending calls for translations first. The answer is easy: use podebconf-report-po! This nice utility comes along with po-debconf and should indeed be marked Essential..:-) The bad guys of the day: citadel and ttf-mathematica4.1. Both combined add 18 strings without any effort to get translatons in. The bad guys of last days: bgoffice-dict-download, movabletype-opensource. As expected, most languages statistics will go down by tomorrow despite the simultaneous efforts of maintainers and /me to complete most other packages. Please, fellow Debian developers: it is now time to stop changing the bloody debconf templates.

22 March 2008

Lior Kaplan: Status of the binNMU unsafe packages


Back in July, I started reporting bugs against binNMU unsafe packages. All reports include a patch, to ease the work of the maintainer. During the last 8 months 58 bugs were closed and 19 more and still open. Resulting in an almost empty page for Lintian’s not-binnmuable-any-depends-any tag. The not-binnmuable-any-depends-all and not-binnmuable-all-depends-any aren’t that fare behind. We still have 572 packages which use the old style substvar (”$ Source-Version ”). As this is used with arch-dep only packages, they are still binNMU safe, as all the packages get the version number increased, so nothing breaks. See Lintain’s substvar-source-version-is-deprecated tag for more info. The numbers above might change a bit due to extending the binNMU checks, but I don’t expect them to change too much.

MJ Ray: Looking for Local Tradespeople / Where can I buy these odd-sized washers?

Long-time readers may remember that I struggle to find good plumbers so when our tap started dripping, it was decided to try DIY.  It seems like we have a ceramic disc cartidge tap (Angel Black Base I think) and it was the disc retaining washer which was leaking.  Where the devil can you buy new washers like that?

Levers didn't have anything the right size, not even in the mixed boxes.  All the centre holes are too small, really. According to 0800handyman, CDCs aren't standard sizes. As a temporary fix, we flipped the washer and it's worked for now, but I expect it will fail again soon.  I don't want to junk the whole cartridge as it's likely to get replaced with a single lever mixer tap (a tilt-and-turn or 3D tap, if you prefer) before long, so where can I buy these odd-sized washers?

"quick and cheap way of saving water" indeed!

Thomas Girard: Seaside on Debian

GNU Smalltalk 3.1 rc1 includes Seaside, a web application framework based on continuations. To use, you'll need to install package gnu-smalltalk 3.1~rc1-2 from experimental. Then, from a terminal, launch gst and type[1]:
st> PackageLoader fileInPackage: 'Seaside'
st> PackageLoader fileInPackage: 'Seaside-Development'
st> PackageLoader fileInPackage: 'Seaside-Examples'
st> ObjectMemory snapshot: 'seaside.im'
Now start you can start Seaside with gst-remote -I seaside.im --daemon --start=Seaside, and launch your browser on http://localhost:8080/seaside:
Seaside Seaside counter sample application

[1] taken from GNU Smalltalk info page

21 March 2008

Vincent Fourmond: Emacs mode for machine-readable copyrights

I've been thinking that something that might help a wider adoption of the machine-readable copyright format is a proper emacs major mode for it. Well, at least, it does for me... So I started to write one. It is loosely based on debian-control-mode, although there is hardly any code left from it now. It only features syntax highlighting for now (including warning for licenses which were not on the wiki page at the time of the writing, or were marked as needing more discussions) but, after all, this is only my first emacs major mode... The code can either be downloaded there, or from my bzr repository, in the debian-mr-copyright-mode directory
bzr branch http://people.debian.org/~fourmond/bzr/scripts
No debian package for that for now, as anyways it really should integrate dpkg-dev when it has matured somehow. Hope this helps !

Gintautas Miliauskas: Launchpad translations revisited

I am trying to add some order to the mess that is the Launchpad translation repository. Problem is, strings translated just once through Launchpad stick around forever, even if you change them in upstream later. In effect, a lot of translation bugfixes were not reaching Ubuntu users. I thought I had that covered. Unfortunately it's not the case. I just noticed that in the Launchpad package list sorting by changed strings only sorts the first page! Initially I had noticed random package names and mistakenly thought that the whole package list was sorted. The whole list (~1500 packages, shown in 75 package chunks) is sorted by "importance", so it's basically random. Good luck finding modified packages in that haystack. Seeking computer-literate monkeys.
Earn up to five bananas per hour!
Must be able to use mouse. Unless... how about increasing the batch size? Turns out that in Launchpad the batch size is not capped, so by changing a URL parameter you can just set it to a high number, wait a few short moments, and get the complete list of packages. Sort that by changed strings and we're done, right? We're done finding the local translations, but not fixing (reverting) them. The new, larger list reveals that there are more than a few of those with quite more than a few strings that should in 99% of the cases be reverted to packaged versions. Here's how that works: Monkey operator instruction manual
  1. Click on 'Packaged' radio button for all 10 entries on page (no batch size modifications allowed here...)
  2. Click 'save'
  3. Repeat until the page says 'No more translations'
  4. Done. Not! When you click the 'Save button', the starting offset is changed for the next page. However, the translations you just marked are removed from the list at the same time. So, if you were looking at translations 1-10, after pressing 'Save & Continue' you will actually be looking at translations 21-30, not 11-20! To get to the 'lost' translations, you have to retrieve the list from the start again. So, load the initial page and go to step #1 to fix the remaining half of translations. Next time you reach this step, half of those will be left. Next time, half of half of those. Isn't that fun!
Where's that monkey ad again? A brute force solution could be to write a script. That could save some bananas. Not that we could run out of them as this whole thing is pretty much bananas. That does not look like a clean solution though. Does anyone know if there there is a better way?

Vincent Fourmond: Improvements for the machine-readable debian/copyright emacs mode

Since the last post, I have significantly improved debian-mr-copyright-mode, that now provides an interactive function, debian-mr-copyright-scan-files that shows which files are covered by which clause of the debian/copyright file. I've also significantly improved my understanding of font lock and emacs lisp in general... As a demonstration, the attached picture represents the results of debian-mr-copyright-scan-files on the monsterz source package (Sam's original example). The output clearly shows that some files are not covered yet... You can get the emacs mode there. Its is starting to be good, but of course, many more improvements are still planned - in particular, quotes for files probably don't work yet. By the way, imenu now works. A debian package should probably come soon.

Christoph Berg: Tenace

In contrast to chess, there is very little free software for bridge players. Some deal generators have been around for years, but basically, that was all. Nowadays major online bridge site is bridgebase.com. Their windows client actually runs quite well in cedega (and wine), with the notable exception that the built-in double dummy solver doesn't work there. (A double dummy solver is a program that computes the optimal line of play with all four hands open (both sides dummy), and hence can compute the theoretically optimal score for a given board.) Furthermore, viewing records of played boards is a bit tedious as launching the viewer of course requires wine as well. Editing boards is not possible. This is where I started writing some perl scripts that would at least dump the board records as text files. At the same time I thought about doing something interesting with Gnome's glade UI builder. Over the past two years, I have been working on a GTK+ version of a bridge hand viewer and editor I called tenace. When Bo Haglund released his double dummy solver library as GPL software, I packaged it for Debian and worked on integration into tenace. It will compute "best" cards to play, determine par scores. Now tenace should be stable enough so I can risk announcing it to the world. Coincidentally, the screenshot shows a board from last week's club championships. East can beat 3NT by returning a Spade, but at my table they didn't and so the board became my first squeeze hand :)

Joerg Jaspert: Release transitions

We are currently developing a new feature for the dak instance running on ftp-master.debian.org: Release transitions. It basically means that the Release team has the possibility to block uploads of packages to unstable. I will describe the exact way how this will work in a mail to the release list, after aj merged my branch into mainline. But that should be pretty soon now, aj and myself did some code changes today and it looks ready now. Basically we will have a Yaml formatted file where the transitions are defined, together with a target package/version. As soon as that package with that version reaches testing the block is no longer in affect, but until that is the case every upload of a listed package will get rejected. We do check the testing version for every upload here to ensure that such a block, which is a pretty hard action, will be turned off as soon as the package transitioned, even if no Release team member is active at that time to remove it by hand. The release team will have a wrapper, dak transitions, which spawns an editor so they can define what they want as transitions. When they save and exit we check if the Yaml parses and then copy it over. The same wrapper is also used to clean the file from old transitions and to let the release team see what is defined in some nice, human-readable, way. (For the rest of the world I hope that the QA page will include information found in the file, which should be available later from http://ftp-master.debian.org/testing/hints/transitions.yaml. Or a little perl/ruby/python script for developers to run at home, so they can check if their package is affected). Its Yaml and easy to parse, even human-readable. :) I think it will be a nice feature helping the release, as huge transitions now can be done without the fear that one single upload will break them.

Pierre Habouzit: [RC-Bug-A-Day] Day 6

I stupidly fell asleep last night, so there was no Day 6 yesterday. Today, I sponsored 2 NMUs prepared by Sylvestre Ledru for two g++-4.3 FTBFS. If you're not a DD and that you have NMU ready for bugs like the g++-4.3 FTBFSes, I'll gladly sponsor them. I'll just need that you put the dsc files (with the corresponding diff.gz and also orig.tar.gz) available e.g. on Debian mentors. #462702 and #471057 are gone.

Julian Andres Klode: debimg news: disk splitting, new data lists, PowerPC


The next release of debimg (0.0.3) will be the first release supporting splitting packages over multiple disks. I worked a lot on the base technology today, and the basics are working. In order to get support for disk splitting, I introduce three new classes: Media, MediaSet and MediaSetCollection (all in libdebimg.media). The Media class is responsible for adding files to an image (incl. copying/linking), generating extra files (like MD5SUMS or documentation) and for building the image. It knows the space which is free, the size of each file and the md5sum of each file. It also writes all data inside dists/ The MediaSet class contains one or more Media instances. It has the functionality to split the packages into the disks. MediaSet knows the dependencies of all packages and tries to add it to the disk with smallest number (e.g. 1) if there is enough space left for the package and all dependencies. If a dependency is on disk2, the package will be added to disk 2 or later. (If one dependency is on the last disk, we don’t check where the others are, instead, we put it on the same disk [faster]) The MediaSetCollection class contains multiple MediaSet instances (e.g. for DVDs and CDs), and calls their functions. This makes it possible to build multiple MediaTypes at the same time in an efficient way, because we don’t need to call debimg multiple times or run in multiple loops. This means that many methods of libdebimg.packages.MirrorBuilder move into the new module. For example, the writePackagesFiles() and writeReleaseFiles() will be part of media.Media. (and can be called from MediaSet [for every Media] and MediaSetCollection [for every MediaSet], too) From boot, run_genisoimage() will be removed. It is replaced by the createImage() method of media.Media. In future, debimg will be able to run in three modes: simple, set and sets. The simple mode only creates one disk and is used for netinst and businesscard images. The set is used when only one MediaType has to be generated. The recommended mode for building e.g. weekly-builds is sets, as it has support for multiple MediaTypes. Another change is the change to the format of data/*.list. I remove the keys called Priority and Tasks. Instead of these, I will add support for these directly into Depends. This means that you will be able to use “Priority:standard” just like “pkgname”. This makes sorted lists possible, which are needed for disk splitting. I will also rename the package list to match the names used in debian-cd (mostly) and add a new field called Single-Disk: yes, which disables sorting of the list, and is a bit faster than the other one. This feature code is unreleased at the moment, but will hopefully be ready next week. Please note that I will never build complete sets with debimg. Therefore, I added a mode to create a list of all packages and build the image without them. (I have no local mirror) Next week will also be the start of the first daily-builds of PowerPC images and businesscard images available from jak-linux.org/cdimage. If you want to use the current release (0.0.2), a good point to start is a mail I wrote: http://lists.debian.org/debian-cd/2008/03/msg00116.html

Marc 'HE' Brockschmidt: Releasing works!

Some people expressed some concerns about the fact that we currently have about ~440 bugs in testing, but still hold to our plan of releasing in september 2008. The development of the RC bug graph as seen on bugs.debian.org is in fact not very promising - but using the information the BTS now keeps through version tracking, a more detailed graph can be created. This one in fact shows how nicely we are progressing: The number of long-standing RC bugs is steadily shrinking, while the number of fixed bugs just waiting for transition is increasing. The latter is due to several complex transitions that are stuck (such as the ghc upgrade to 6.8, the suitesparse upgrade or X.org). Anyway, lenny's overall situation is a lot better than the simple RC bug count shows, so try to be positive and start bug-fixing now, for the first Debian release on time!

In other positive news, the first bits of Gnome 2.22 have reached testing, we will switch the default gcc version to 4.3 on this weekend and will start using python2.5 as default python version in the next week. Interesting times!

Erich Schubert: Google Summer of Code 2008

Debian is part of the Google Summer Of Code again this year (2008).Last year was quite successful, so we hopefully will get at least as many slots as last year.Applications will be possible March 24th to March 31st. This means, you should already starting writing your project proposals and get feedback by possible mentors. Ideas can be found in the Debian Wiki, but notice these are just ideas. You are by no means limited to what we're proposing there.As for writing an application, here are some general notes: In turn, we (= the mentors and admins) will try to (again - we did that last year) have at least three mentors read through your application, provide feedback on it and judge it. We don't draw lots for the slots, but we'll rank the applications based on the scoring by the mentors. We'll also try to assign you a fallback mentor in case your mentor has to step back for whatever reason and to give you additional people to talk to.

Anthony Towns: Dak Extensions

One of the challenges maintaining the Debian archive kit (dak) is dealing with Debian-specific requirements: fundamentally because there are a lot of them, and they can get quite hairy – yet at the same time, you want to keep them as separate as possible both so dak can be used elsewhere, and just so you can keep your head around what’s going on. You can always add in hooks, but that tends to make the code even harder to understand, and it doesn’t really achieve much if you hadn’t already added the hook. However, dak’s coded in python, and being an interpreted language with lots of support for introspection, that more or less means there’s already hooks in place just about everywhere. For example, if you don’t like the way some function in some other module/class works, you can always change it (other_module.function = my_better_function). Thus, with some care and a bit of behind the scenes kludging, you can have python load a module from a file specified in dak.conf that can both override functions/variables in existing modules, and be called directly from other modules where you’ve already decided a configurable hook would be a good idea. So, at the moment, as a pretty simple example there’s an init() hook invoked from the main dak.py script, which simply says if userext.init is not None: userext.init(cmdname). But more nifty is the ability to replace functions, simply by writing something like:
# Replace process_unchecked.py's check_signed_by_key
@replace_dak_function("process-unchecked", "check_signed_by_key")
def check_signed_by_key(old_chk_key):
    changes = dak_module.changes
    reject = dak_module.reject
    ...
    old_chk_key()
That’s made possible mostly by the magic of python decorators – the little @-sign basically passes the new check_signed_by_key function to replace_dak_function (or, more accurately, the function replace_dak_function(...) returns), which does the dirty work replacing the function in the real module. To be just a little bit cleverer, it doesn’t replace it with the function we define, but its own function with simply invokes our function with an additional argument to whatever the caller supplied, so we can invoke the original function if we choose (the old_chk_key parameter – the original function takes no arguments, so our function only takes one). Right now, we don’t do much interesting with it; but that should change once Ganneff’s little patch is finished, which should be RSN… Hopefully, this might start making it easier to keep dak maintained in a way that’s useful for non-Debian installs – particularly if we can get to the point where hacking it for Debian generally just implies changing configuration and extension stuff – then we can treat updating all the real scripts as a regular software upgrade, just like it is outside Debian.

Adeodato Sim : A couple graphical applications for this text-mode guy

I tend to favour text-mode applications (I’m sure vim, irssi, zsh and mutt account for most of my keystrokes, in that order), but there are times when a graphical application is called for, for example the browser. Or when I just find it more convenient, for example the music player. Lately, though, I’ve been pleasantly surprised by a couple graphical applications, for which I had text-mode versions which worked more or less acceptably: a random-note taker (I was using vim), and a dictionary (/usr/bin/dict). I’ve replaced these two with Lars’ Notetak, and StarDict. I’ve found that having them constantly running in desktop #2 (which is one keystroke away) beats having to start up vim or dict each time. Curiously enough, in both cases the main interface of the application is a text input line which offers some kind of “incremental search” functionality. StarDict is packaged in Debian (package name stardict-gtk or stardict-gnome), and Notetak, being Python, is easy enough to run from source (the page claims there is a Debian repository there, though I can’t access it).

Adam Rosi-Kessel: The Onion Video is the New SNL

Growing up for the most part in the 1980’s, Saturday Night Live was the funniest regularly scheduled part of my week. It’s either gotten less funny over the years, or I’ve changed. Probably both. One of the biggest problems SNL faces is that it must fill ninety minutes every week, although these days if you subtract out ads, music, and other filler/transitional material, I expect it’s only thirty to forty minutes of actual comedy. Either way, a lot of SNL skits go on longer than necessary to deliver their comic payload. I expect this was actually true in the 1980’s as well, but I didn’t notice it so much. Enter The Onion and its video content. Freed from the confines of the television programming schedule, the Onion can make its online video clips just exactly as long as the writers want, and release them on their own schedule. In recent months, they’ve been batting in the high 800s. E.g., Diebold Accidentally Leaks Results of 2008 Election Early (on a serious note, see Ed Felten’s recent Sequoia discovery and followup); Army Holds Annual ‘Bring Your Daughter to War’ Day. Or any of them, really.
White House Press Secretary Spins Wife’s Tragic Death As A Positive
Army Holds Annual ‘Bring Your Daughter To War’ Day My only complaint about The Onion video content is that they have only one sponsor at any given time, and they make you watch the same exact ad (both as a short pre-mercial and a longer post-mercial) every time you watch a video. The repetition isn’t effective and I can’t imagine it’s the best use of the Onion’s advertising revenue. I suggest at least rotation ads — or better yet, only forcing an ad on the viewer after every nth video. Thanks to Steve and Flour for the key insight about clip-length. Technorati Tags: ,

Remi Vanicat: Trying to launch emacs only when needed

I post it here, because other might find it useful, even if probably somebody else will already have done it. So here is the problem I tried to solve: when using Emacs as an editor, there are several way So I needed something to launch Emacs if needed, then to launch emacsclient, so here is my script (its named myemacs):
#!/bin/bash
if [ -z "$*" ]; then
    emacsclient -e "(raise-frame)"   (emacs &)
else
    emacsclient "$@"   (
	(emacs &)
	sleep 3
	emacsclient "$@")
fi
There is still problems with it: if emacsclient failed for any other reason than the nonexistence of the Emacs session, Emacs will be launch again. Also, one might want to launch it in “waiting” mode even if there is no argument. If you don’t want it to wait for the end of the edition of the file, you can use the -n option. Edit(Thanks to tom s zerolo): of course you need the proper incantation in the .emacs to start the emacs-server.
Reedit(thanks to MJR): and you need a recent (emacs22) as older emacsclient cannot evaluate lisp code.

Runa Sandvik: What makes you smile?

Don’t forget the words that made you smile a long time ago. Don’t forget the words that made your heart skip a beat, the words that gave you goose bumps in a good way. The words that made you smile a bit more, feel a bit better. And tell everyone about those words on World Poetry Day. In december 1999, at The Party, Replay released the demo Fall Equals Winter. The tune on this demo, I realize, is something that always makes me smile more and feel a bit better. With lyrics that, for some reason, gives me goose bumps in a good way. If I could gather all the stars and hold them in my hand,
the colors I would then possess would not be half as grand
as those which I have seen when I look deep into your eyes,
or come across when I have kissed your lips, I realize.
If I could ponder all the truths men sought since time began,
they would not teach me more than if I were to touch your hand
For truth to no one you have touched appear as simple lies
And nothing could be truer than your touch, I realize.
If I were given lasting life as only God could do,
I’d shun it all and turn away, if I could live with you.
For even God has never known the immesurable size
Of the love that’s within your heart, I realize.

20 March 2008

Andreas Barth: Mass-transition

aba@ries:~$ grep final update_out/update.OUTPUT_py   cut -f 2 -d ' '  tr , '\n' wc -l
901
This means 901 packages went from unstable to testing with the most recent britney run (though counting each binNMUed source package as ~12 packages here). Only about 200 packages which are otherwise ready for migration tried to go to testing, the vast majority reached testing. Major reason for this move is that now libselinux was ready, and we were able to migrate libselinux, pango, glib2.0 and ocaml which dependend on all of them (the last transition being responsible for about 700 packages). Good news for armel as well:
start: 61+442: i-2:a-0:a-0:a-21:h-11:i-0:m-4:m-11:p-0:s-0:s-12:a-442
  end: 60+367: i-2:a-0:a-0:a-21:h-11:i-0:m-4:m-10:p-0:s-0:s-12:a-367
So some progress as well - it's a steady move towards a reasonable uninstallability count (the last number being armel).

Julian Andres Klode: debimg 0.0.2 builds netinst in less than 4 seconds


debimg 0.0.2 has a new high speed dependency resolver and support for local repositories. With these new features, debimg is now able to produce netinst images in less than 4 seconds. BTW, you can easily build your own disk. Simply unpack the tarball, change the mirror to your one, and run ./debimg debimg.cfg. This should give you an i386 netinst disk. Get debimg 0.0.2 from http://users.alioth.debian.org/~jak-guest/debimg_0.0.2.tar.gz Fetch daily-built images at http://jak-linux.org/cdimage/daily-builds/testing/. For more information, see http://lists.debian.org/debian-cd/2008/03/msg00114.html

Next.

Previous.