aboutsummaryrefslogtreecommitdiff
path: root/ikiwiki-mass-rebuild
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-06-13 13:05:44 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-06-13 13:05:44 -0400
commit5807f1de04aa7d3910e7f694e0d1e5613d8f5b41 (patch)
tree5d5c8a7b5aa4e572bd5b73d512aa95463e13ca80 /ikiwiki-mass-rebuild
parent340f2198183cf20cc08e9ad33f377d6a8fcec35b (diff)
downloadikiwiki-5807f1de04aa7d3910e7f694e0d1e5613d8f5b41.tar
ikiwiki-5807f1de04aa7d3910e7f694e0d1e5613d8f5b41.tar.gz
fix two build bugs
* ikiwiki-mass-rebuild: Make group list comparison more robust. * search: Work around xapian bug #486138 by only stemming locales in a whitelist.
Diffstat (limited to 'ikiwiki-mass-rebuild')
-rwxr-xr-xikiwiki-mass-rebuild19
1 files changed, 18 insertions, 1 deletions
diff --git a/ikiwiki-mass-rebuild b/ikiwiki-mass-rebuild
index 3d0ca734c..f13033e7f 100755
--- a/ikiwiki-mass-rebuild
+++ b/ikiwiki-mass-rebuild
@@ -15,6 +15,23 @@ sub supplemental_groups {
return @list;
}
+sub samelists {
+ my %a=map { $_ => 1 } split(' ', shift());
+ my %b=map { $_ => 1 } split(' ', shift());
+
+ foreach my $i (keys %b) {
+ if (! exists $a{$i}) {
+ return 0;
+ }
+ }
+ foreach my $i (keys %a) {
+ if (! exists $b{$i}) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
sub processline {
my $user=shift;
my $setup=shift;
@@ -34,7 +51,7 @@ sub processline {
if (! $pid) {
my ($uuid, $ugid) = (getpwnam($user))[2, 3];
my $grouplist=join(" ", $ugid, sort {$a <=> $b} $ugid, supplemental_groups($user));
- if (($)=$grouplist) ne $grouplist) {
+ if (! samelists(($)=$grouplist), $grouplist)) {
die "failed to set egid $grouplist (got back $))";
}
$(=$ugid;