Suppose you have this:

# List supported domains here.

# Username prefixes used to ensure unique usernames are used for
# sites under different top level domains. Keep the prefixes short!

In username() we do this:

# add unique prefix to avoid collisions with system users and 
# other top domains
my $prefix;
foreach my $key (keys %config) {
    next unless defined $config{$key};
    next unless $config{$key} eq $topdomain;

The value of domains is defined and equals, so if it happens to come first in the hash (randomized order), ikisite will set $prefix=domains, leading to usernames like domains-foo instead of the intended ih-foo. At least in unstable, this happens inconsistently (again, randomized hash order) so I ended up with creating both ih-foo and domains-foo, and distributing its files arbitrarily between the two.

The solution is simple: next unless $key =~ m/^prefix_/;

Fixed in my ready/prefix branch:


fixed --Joey