Ganneff's Little Blog

Thoughts of a small and very unimportant Debian Developer

Seems my blog lately just consist of updates to my automated login script for the ICE wifi… But I do hate the entirely useless “Click a button” crap, every day, twice. I’ve seen it once, now leave me alone, please.

If you have the fortune to need to follow some silly “Login” button for some wifi, regularly, the following little script may help you avoid this idiotic (and useless) task.

This example uses the WIFIonICE, the free wifi on german ICE trains, simply as I have it twice a day, and got annoyed by the pointless Login button. A friend pointed me at just wget-ting the login page, so I made Network-Manager do this for me. Should work for anything similar that doesn’t need some elaborate webform filled out.

This script needs to be put into /etc/NetworkManager/dispatcher.d and made executable, owned by the root user. It will run on every connection change, thats why the ACTION is checked. The case may be a bit much here, but it could be easily extended to do a lot more.

And as just announced on d-d-a, I’m trying to break all the tools dealing with the (Debian) archive. Or something like it. But its about time to get rid of MD5Sum checksums, and SHA1 can go with it directly.

As it is only in experimental for now, we can test and see what still breaks. I hope it won’t be too much, so we can get it over all the archive (minus the stable stuff, of course).

For some reason, what I like most in this change is the following python code that ended up in our InRelease file generation tool:

importapt_pkg# Note: suite.checksums being an array with possible values of md5sum, sha1, sha256hashfuncs=dict(zip([x.upper().replace('UM','um')forxinsuite.checksums],[getattr(apt_pkg,"%s"%(x))forxin[x.replace("sum","")+"sum"forxinsuite.checksums]]))

Though I’m sure this can be done in much more readable ways, it’s doing what we need, but heck, took me a while to get it.

But probably the change to get rid of gzip will be much more challenging / hard to get through. Lets see, in the few minutes after my mail, I already got some notices about possible breakage here.

Fortunately those indices and the release file stuff are nicely seperated settings, so if it turns out we only take the checksums drop for now into the other suites, thats doable.

While writing this, the last bits of squeeze that haven’t been on archive.debian.org yet are moved over there, that is security and the lts suite. As soon as that script done, some tiny archive magic will happen and over the next few dinstall runs, the rest of squeeze that still was there will no longer be on our regular mirror network anymore.

If you still use it, now is the time to upgrade.

Update: Forgot to mention, but yes, squeeze-backports(-sloppy) is also archived on archive.debian.org.

It took nearly a year, but today a new ftpsync version got released. Most of the work for this release was done by weasel, with one new feature submitted by waldi, my work was mostly style fixes and a bit of documentation. And of course the release now.

If you run a mirror, you will find the new version at the usual place, that is the project/ftpsync/ subdirectory. You may also want to subscribe to the debian mirrors mailinglist, as the mirror team will post more information about changes in ftpsync there.

This time it gained getopts style options - while retaining the “old” non-getopts style. It now can open more than one multisession to the same set of hosts, so you can connect multiple times to “host1 host2” at the same time. No matter if you open them using the “ms” subcommand or the pre-defined sessions from the .tmux.d directory.

I also took a bit and wrote some zsh completion for it. I’m pretty sure this can be done better and am happy for patches, but it does work for me, so for now I’m happy.

Another major release of Debian where I had the pleasure to do the ftpmaster work for the release. Like the last times, Mark joined to help with the work. But 2 FTPMasters aren’t enough for one Wheezy, or so, so Ansgar had his first run aside from point releases.

With the whole load of work the release team did in the past to prepare this, combined with all the changes in dak we had since Squeeze, it turned out to be rather easy for us.

Again, a few moments and not a detailed log (times in CEST):

[10:45] Let’s prepare. Cronjobs go off on ftp-master and security, shared tmux session setup, including a live pipe into a file so other team members can follow using “less +F -R”, a titanpad page opened to share in writing the commands to process later.

[11:18] One last package update done manually. The latest and greatest of installation-guide, 20130503, really wants to join the rest in wheezy.

[12:00] While I did a database backup and started preparing the set of commands for later, Mark and Ansgar prepared our code to deal with the changes we are about to make.

[12:33] I start executing the commands (shell and sql), so somewhen after here we have Squeeze as oldstable (with all its extra suites also renamed), Wheezy as stable (taking its own suites with it, as well as gaining the -updates).

And Jessie starts its life.

[12:45] Heissa, wouldn’t be fun if we wouldn’t have some bugs, so we just created a load of directories not needed or wanted. Not getting Jessies either. Ohwell.

[13:00] Jessie gets a copy of Wheezy to start with. Made the mistake to try that with our usual tool, control-suite. Err. Wrong. This is doing a set of checks on each package inserted. Would take ages. While one SQL to bypass the checks was a minute or so.

[13:xx] Got annoyed by our concept of consistency. Its great. Every tool takes suite names/codenames in a different way. Seperated with spaces, with commas, with codenames, with suitenames, we mix it in all possible combinations.

[14:00] Ansgar finished updating our security master host to cope with the changes for the release.

[14:39] Squeeze Release files got regenerated and signed again.

[14:54] Wheezy Release files got generated and signed.

[15:05] The cd build machine has a synced mirror tree, so they can start building our CD/DVD images

[16:25] A manual dinstall finished. And while it had some small problems (including nearly overwriting something inside the wheezy dists/ tree), it went pretty smoothly.

[21:00] After having kept the archive turned off for the whole day, we have 90 uploads with ~3Gb of uploads waiting. As it is now unlikely that we need larger archive changes, we turn (most of) our cronjobs back on, to get them processed.

Right now (that is, 21:08 CEST) I am mostly waiting for the CD build to finish. Current schedule seems to have that in some two and a half hours, after which we can push the mirrors and our press people announce it. Except if Murphy wants to show up, but lets hope that not.

Thanks go out to everyone involved in preparing this release, be it in the past by fixing bugs, uploading packages, doing whatever was needed, as well as doing the work today.

There is now a new variable, TMSESSHOST. If that is set to false, the hostname of the current machine won’t be prepended to the generated session name. true is the default, as that was the behaviour in the past.

It now can attach to any session, not just the ones it created itself, thus nearly entirely removing my need of ever calling tmux directly.

And cosmetically - window names for sessions defined in the .tmux.d directory are no longer plain “Multisession”, but the session name as defined in the file.