Re: adduser kills sound pt. 3
* Bob Proulx (Thu, 26 Jul 2007 13:48:18 -0600)
> Oleg Verych wrote:
>> Funny, i've discovered, how bloated adduser is yesterday, while
>> developing my aggressive distro-cleaner. Now i'm thinking about
>> writing patches at least for exim4 and cron to have support for
>> ordinary useradd from passwd package.
> It is Policy for packages to use adduser and addgroup. Patches to
> avoid using it would be a policy bug by definition and should be
I didn't know that. Thanks for the pointer.
olecom@flower:$ id -u
Hm, it works for me, while it's more than (u16)(-1) stated in policy.
I'm just a user, but developers seem to have some problems in the
One thing i can't see so far, why exim4 allocates dynamic UID. E.g. in
situation, when i will have same "/etc/", "/var/spool/exim4" but
different (re)installation sequence, UID may change, adding unneeded
> Bloated? What do you mean? If I don't include documentation because
> most people consider documentation to always be a good thing then I
> only see these files. How is adduser bloated?
olecom@flower:$ du -hs adduser deluser ../share/perl5/Debian/AdduserCommon.pm
56K just for random UID/GID or similar functionality is too much (IMHO,
of course). Also it pulls "passwd" anyway.
> If there is a problem with adduser then it should be reported so that
> it can be addressed. The BTS does not show anything too scary. It is
> in heavy use by thousands of users. I think that specific examples of
> problems need to be shown before we can start thinking that there is a
> problem with adduser. (Although I am sure that the code could be
> improved. That is almost always true of any project.)
So, if exim4 expressly wants dynamic ID, i will be on my own.
As for sources in perl, i just can't understand why it get so big for
some little benefit.
our $configfile = undef;
our $found_group_opt = undef;
our $found_sys_opt = undef;
our $ingroup_name = undef;
our $new_firstuid = undef;
our $new_gecos = undef;
our $new_gid = undef;
our $new_lastuid = undef;
our $new_uid = undef;
our $no_create_home = undef;
our $special_home = undef;
our $special_shell = undef;
our $add_extra_groups = 0;
# Global variables we need later
my $existing_user = undef;
my $existing_group = undef;
my $new_name = undef;
my $make_group_also = 0;
my $home_dir = undef;
my $undohome = undef;
my $undouser = undef;
my $undogroup = undef;
my $shell = undef;
my $first_uid = undef;
my $last_uid = undef;
my $dir_mode = undef;
my $perm = undef;
As i said, i will try to do a simple solution. If i will fail, so be it.