Patch attached. As we discussed on IRC, having this option be settable in the config file might be a nice addition. This should do it.
diff -Nru adduser-3.82.old/adduser adduser-3.82/adduser --- adduser-3.82.old/adduser 2006-02-05 20:14:32.000000000 +0000 +++ adduser-3.82/adduser 2006-02-07 22:46:59.000000000 +0000 @@ -569,11 +569,12 @@ if ($config{"skel"} && $copy_skeleton) { printf gtx("Copying files from `%s'\n"),$config{skel} if $verbose; - open(FIND, "cd $config{skel}; find . ! -name '*.dpkg-*' -print |") + open(FIND, "cd $config{skel}; find . -print |") || &cleanup("fork for find: $!\n"); while (<FIND>) { chop; next if ($_ eq "."); + next if ($_ =~ qr/$config{skel_ignore_regex}/); ©_to_dir($config{"skel"}, $_, $home_dir, $new_uid, $new_gid, ($config{"setgid_home"} =~ /yes/i)); } diff -Nru adduser-3.82.old/AdduserCommon.pm adduser-3.82/AdduserCommon.pm --- adduser-3.82.old/AdduserCommon.pm 2005-11-18 17:25:36.000000000 +0000 +++ adduser-3.82/AdduserCommon.pm 2006-02-07 22:42:34.000000000 +0000 @@ -197,6 +197,7 @@ $configref->{"setgid_home"} = "no"; $configref->{"no_del_paths"} = "^/$ ^/lost+found/.* ^/media/.* ^/mnt/.* ^/etc/.* ^/bin/.* ^/boot/.* ^/dev/.* ^/lib/.* ^/proc/.* ^/root/.* ^/sbin/.* ^/tmp/.* ^/sys/.* ^/srv /.* ^/opt/.* ^/initrd/.* ^/usr/.* ^/var/.*"; $configref->{"name_regex"} = "^[a-z][-a-z0-9]*\$"; + $configref->{"skel_ignore_regex"} = "dpkg-(old|new|dist)"; foreach( @$conflistref ) { read_config($_,$configref); diff -Nru adduser-3.82.old/adduser.conf adduser-3.82/adduser.conf --- adduser-3.82.old/adduser.conf 2005-11-18 17:21:05.000000000 +0000 +++ adduser-3.82/adduser.conf 2006-02-07 22:41:41.000000000 +0000 @@ -58,3 +58,8 @@ # `edquota -p QUOTAUSER newuser' QUOTAUSER="" +# If SKEL_IGNORE_REGEX is set, adduser will ignore files matching this +# regular expression when creating a new home directory + +SKEL_IGNORE_REGEX="dpkg-(old|new|dist)" + diff -Nru adduser-3.82.old/doc/adduser.conf.5 adduser-3.82/doc/adduser.conf.5 --- adduser-3.82.old/doc/adduser.conf.5 2005-08-16 14:25:59.000000000 +0100 +++ adduser-3.82/doc/adduser.conf.5 2006-02-07 22:53:09.000000000 +0000 @@ -110,6 +110,12 @@ doesn't match this regexp, user creation is refused unless --force-badname is set. With --force-badname set, only weak checks are performed. The default is the most conservative ^[a-z][-a-z0-9]*$. +.TP +\fBSKEL_IGNORE_REGEX\fB +Files in /etc/skel/ are checked against this regex, and not copied to +the newly created home directory if they match. This is by default set +to the regular expression matching files left over from unmerged config +files (dpkg-(old|new|dist)). .SH FILES .I /etc/adduser.conf .SH SEE ALSO -- -------------------------------------------------------------------------- | Stephen Gran | Show your affection, which will | | [EMAIL PROTECTED] | probably meet with pleasant response. | | http://www.lobefin.net/~steve | | --------------------------------------------------------------------------
signature.asc
Description: Digital signature