Posts for December 2015

2015-12-01: podlators 4.01

The previous release, switching to Module::Build, created a circular dependency with Module::Build itself with older versions of Perl. I pondered various ways to get around this, since I'm no longer a fan of ExtUtils::MakeMaker, but I finally decided that I was being silly. So podlators now just uses ExtUtils::MakeMaker — it does support the new metadata keys these days — rather than trying to support two separate build systems. (ExtUtils::MakeMaker is required for Perl core integration.)

This release also didn't fix the problems with Term::Cap 1.16 in particular (although it worked with 1.17). That's also now fixed in this release by ensuring that Pod::Text::Termcap doesn't override an existing TERMPATH environment variable setting, something it shouldn't have been doing in the first place.

You can get the latest release from the podlators distribution page.

2015-12-02: podlators 4.02

Another day, another podlators release. This time, a slightly misguided cleanup I did on the build system broke useful installation for versions of Perl prior to 5.11. (The module would be installed, but in a directory shadowed by the Perl core library, so to no real effect.)

Thanks very much to Peter Rabbitson for all the help in sorting out these build issues. Now I have better comments about all the interesting traps for dual-life modules.

You can get the latest version from the podlators distribution page.

2015-12-05: git-pbuilder 1.38

A minor update to the builder glue script for git-buildpackage. This release just has documentation fixes. I had missed that you no longer need explicit gbp.conf configuration because git-buildpackage now has a --git-pbuilder flag, and, when using that, there are a variety of other command-line flags to use instead of environment variables.

Thanks to Ken Dreyer for the fixes.

You can get the latest version from scripts distribution page.

2015-12-06: podlators 4.03

There was a bug in the test suite of the last few versions of podlators that caused the test for devising dates to fail if POD_MAN_DATE or SOURCE_DATE_EPOCH were already set. Since I needed to fix that anyway, I decided to poke at the test suite some more, and made some good progress towards refactoring it, breaking out common code, and making it easier to add new tests. It's still in the stage where I've added more code than I've removed, but a lot of that is comments and the new code is much better.

It was tempting to keep going until I'd refactored the whole test suite, but that's how I go too long between releases, so here, have another small release. The only changes are in the test suite, not in the code.

You can get the latest version from the podlators distribution page.

2015-12-06: Term::ANSIColor 4.04

The recent work I've been doing on podlators taught me that the build system of my other core module, Term::ANSIColor, was also doing the wrong thing when installed on Perl versions older than 5.11, even though no one had reported it. While I was there, I also switched back to ExtUtils::MakeMaker for the build system so that I'm testing the same build system that's also used for Perl core.

Since it had been more than a year since the last release, I also made some minor cleanup of new perlcritic warnings and fixed a place where coverage analysis was misanalyzing a bit of code. There are no significant code changes.

You can get the latest version from the Term::ANSIColor distribution page.

2015-12-06: git-pbuilder 1.39

This update isn't anything particularly exciting, just some more documentation improvements (gbp buildpackage is now the standard invocation instead of git-buildpackage), so instead you get some explanation of this flurry of little software releases.

Since the huge transition a year and a half ago, I've been doing lots of adjustment to a different employer, a different commute, a different schedule, different types of work (which has changed several times), different management chains (which have changed even more), and the political and social environment at a new place. Oh, and then moving for the first time in about fifteen years.

All of that has meant a lot of distraction and disruption, and that, in turn, really torpedoed my free software work for a while. The silver lining is that it also gave me some distance from all the things I was working on, and an opportunity to think harder about what I want to do and how I want to allocate time.

So, I did a bit of a prioritization exercise (although I should do a few more), thought about what I really wanted to focus on, and have been putting some more effort into making time for free software work, community things, and similar work that I'd been letting slip. I'm also doing less of a few things, particularly trying to stay up on random email (so expect me to not be as good of a correspondant), just because there aren't enough hours in the day.

Anyway, hence the flurry. Not making any committments, as committment stress is something else I'm getting away from, but it was a fun and productive weekend.

You can get the latest version of git-pbuilder from my script distribution page. (Still want to rewrite this in Python at some point.)

2015-12-25: kstart 4.2

kstart is a collection of two utilities for managing Kerberos tickets, particularly focused on the needs of long-running commands or daemons.

This release has taken embarassingly long to release, given that the last release was in January of 2012. Sorry about that, particularly those who were stuck on various bugs! This code base, particularly the test suite, is in dire need of significant refactoring, which reduces my desire to work on it, and then I ran very, very short on free software time.

This release is important because I think I've finally worked through all the various tricky complexity of startup when running a command under k5start.

The core problem: the original k5start exited when authentication failed. However, it's very nice to start daemons that need a Kerberos ticket by running them via k5start. But if this is done during system startup, the network may not be up yet, and one may not be able to contact the KDC. It's very difficult to get the timing right just by adjusting init scripts.

The core fix in this release is that k5start run as a daemon or with a command, and krenew run with the -i option, now keeps retrying the authentication or renewal until it succeeds. It's retried immediately and then with exponential backoff, starting with a delay of a second, until intervals of one minute, and then retried at a delay of one minute until it succeeds. Any command isn't run until the authentication works, so (unlike previous versions) k5start won't start the command without a Kerberos ticket. That should fix various problems people are having.

There are also some new options to tweak the renewal behavior. -H can now be used in combination with -K to specify how long of a minimum ticket lifetime k5start or krenew should try to maintain. Alternately, there's now a -a flag that tells both to attempt an authentication or renewal every time they wake up (at the interval specified with -K). This probably should have been the default for -K originally, but I didn't change the original behavior for backwards compatibility.

There are also a couple of bug fixes: the temporary ticket cache created by k5start is cleaned up properly, and the programs no longer incorrectly reject the combination of -b and -K or a command.

You can get the latest version from the kstart distribution page.

Last modified and spun 2017-03-25