From: Joey Hess Date: Sat, 31 May 2008 18:36:15 +0000 (-0400) Subject: ikiwiki-mass-rebuild: under $! before setting $) to avoid strange errno issue X-Git-Tag: 2.49~46 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/c00890a2f033aa36dd5d88f8d3bdd5b7a927a687 ikiwiki-mass-rebuild: under $! before setting $) to avoid strange errno issue This fixes a problem sgran saw on alioth. Apparently nss-db sets errno to ENOENT as a side effect trying to read an optional file, but succeeds anyway. Then, somehow, errno remains set across the library calls made by $). So unset it first as a workaround; there's probably a nss-db, libc, and/or perl bug underneath. --- diff --git a/debian/changelog b/debian/changelog index 86f1f036d..788d4b44a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ ikiwiki (2.49) UNRELEASED; urgency=low * haiku: Generate valid xhtml. + * ikiwiki-mass-rebuild: under $! before setting $) to avoid strange errno issue -- Joey Hess Fri, 30 May 2008 19:08:54 -0400 diff --git a/ikiwiki-mass-rebuild b/ikiwiki-mass-rebuild index 8cc6f45c1..0057beb4f 100755 --- a/ikiwiki-mass-rebuild +++ b/ikiwiki-mass-rebuild @@ -34,6 +34,7 @@ sub processline { if (! $pid) { my ($uuid, $ugid) = (getpwnam($user))[2, 3]; my $grouplist=join(" ", $ugid, $ugid, supplemental_groups($user)); + undef $!; $)=$grouplist; if ($!) { die "failed to set egid $grouplist: $!";