We can just use "cp -a skeldir/. homedir" to copy the skeleton dot
files to the new user's homedir. There's no good reason to use pax
when cp will do and this will simplify a future commit of mine.
- todd
Index: usr.sbin/user/user.c
===================================================================
RCS file: /cvs/src/usr.sbin/user/user.c,v
retrieving revision 1.129
diff -u -p -u -r1.129 user.c
--- usr.sbin/user/user.c 15 May 2023 17:00:24 -0000 1.129
+++ usr.sbin/user/user.c 16 May 2023 17:30:18 -0000
@@ -171,7 +171,7 @@ enum {
#define MKDIR "/bin/mkdir"
#define MV "/bin/mv"
#define NOLOGIN "/sbin/nologin"
-#define PAX "/bin/pax"
+#define CP "/bin/cp"
#define RM "/bin/rm"
#define UNSET_INACTIVE "Null (unset)"
@@ -311,8 +311,8 @@ copydotfiles(char *skeldir, char *dir)
if (n == 0) {
warnx("No \"dot\" initialisation files found");
} else {
- (void) asystem("cd %s && %s -rw -pe %s . %s",
- skeldir, PAX, (verbose) ? "-v" : "", dir);
+ (void) asystem("%s -a %s %s/. %s",
+ CP, (verbose) ? "-v" : "", skeldir, dir);
}
return n;
}