From 486b1910dd88315dc16d848cfab372eaf07d1641 Mon Sep 17 00:00:00 2001
From: nl6720 <nl6720@gmail.com>
Date: Sun, 30 Aug 2020 18:12:08 +0300
Subject: [PATCH] Do not overwrite existing files when copying from /etc/skel/
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Copy /etc/skel/ only for users with UID in range 1000–60000.
Correct user home directory permission after copying files.
Fixes all /etc/skel issues from https://bugs.archlinux.org/task/67729 .
---
 archiso/mkarchiso | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 6c583a53..c5169f74 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -378,9 +378,11 @@ _make_customize_airootfs() {
     if [[ -e "${profile}/airootfs/etc/passwd" ]]; then
         _msg_info "Copying /etc/skel/* to user homes..."
         while IFS=':' read -a passwd -r; do
+            (( passwd[2] >= 1000 && passwd[2] < 60000 )) || continue
             [[ "${passwd[5]}" == '/' ]] && continue
             [[ -z "${passwd[5]}" ]] && continue
-            cp -RdT --preserve=mode,timestamps,links -- "${airootfs_dir}/etc/skel" "${airootfs_dir}${passwd[5]}"
+            cp -dnRT --preserve=mode,timestamps,links -- "${airootfs_dir}/etc/skel" "${airootfs_dir}${passwd[5]}"
+            chmod -f 0750 -- "${airootfs_dir}${passwd[5]}"
             chown -hR -- "${passwd[2]}:${passwd[3]}" "${airootfs_dir}${passwd[5]}"
 
         done < "${profile}/airootfs/etc/passwd"
-- 
GitLab