build_dlc.py: Non sudo copying from build directory

This change copies over the DLC images generated during build_image
stage from the build directory to various install locations as non
root/sudo user so the file owner is the user copying.

(cr) ((7e8ecf737...)) kimjae@kimjae ~/trunk/src/scripts $ ls -l
../build/images/eve/latest/
total 2917276
-rw-r--r-- 1 kimjae primarygroup        441 Apr  2 16:09 boot.config
-rw-r--r-- 1 kimjae primarygroup        234 Apr  2 16:06 boot.desc
drwxr-xr-x 2 kimjae primarygroup       4096 Apr  2 16:06 boot_images
-rw-r--r-- 1 kimjae primarygroup         67 Apr  2 16:06
cheets-fingerprint.txt
-rw-r--r-- 1 kimjae primarygroup      22098 Apr  2 16:06
chromiumos_base_image.bin-package-sizes.json
-rw-r--r-- 1 kimjae primarygroup 6975207936 Apr  2 16:10
chromiumos_image.bin
-rw-r--r-- 1 kimjae primarygroup        586 Apr  2 16:10 config.txt
drwxrwxr-x 4 kimjae primarygroup       4096 Apr  2 16:10 dlc
drwxr-xr-x 2 kimjae primarygroup       4096 Apr  2 16:09 esp
-rw-r--r-- 1 kimjae primarygroup    3659914 Apr  2 16:05
license_credits.html
-rwxr-xr-x 1 kimjae primarygroup       6172 Apr  2 16:01 mount_image.sh
-rwxr-xr-x 1 kimjae primarygroup       6587 Apr  2 16:01
pack_partitions.sh
-rw-r--r-- 1 kimjae primarygroup      18706 Apr  2 16:01
partition_script.sh
-rwxr-xr-x 1 kimjae primarygroup       5241 Apr  2 16:01 umount_image.sh
-rwxr-xr-x 1 kimjae primarygroup       6811 Apr  2 16:01
unpack_partitions.sh
-rw-r--r-- 1 kimjae primarygroup    7207792 Apr  2 16:09 vmlinuz.bin

(cr) ((7e8ecf737...)) kimjae@kimjae ~/trunk/src/scripts $ ls -l
../build/images/eve/latest/dlc/dummy-dlc/dummy-package/dlc.img
-rw-r--r-- 1 kimjae primarygroup 20480 Apr  2 16:10
../build/images/eve/latest/dlc/dummy-dlc/dummy-package/dlc.img

BUG=b:152895746
TEST=./build_dlc_unittest
TEST=build_packages --board $B && build_image --board $B

Change-Id: I0c8ba7e4b84e56bd82f02a699e5da7eb29ec4fd0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2134798
Tested-by: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Andrew Lassalle <andrewlassalle@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
diff --git a/scripts/build_dlc.py b/scripts/build_dlc.py
index 5c17cf6..58c0fdb 100644
--- a/scripts/build_dlc.py
+++ b/scripts/build_dlc.py
@@ -62,16 +62,6 @@
   return sha256.hexdigest()
 
 
-def CopyFileSudo(src_path, dst_path):
-  """Copy a file with sudo permissions to a destination.
-
-  Args:
-    src_path: File to copy.
-    dst_path: Destination path of the file.
-  """
-  cros_build_lib.sudo_run(['cp', src_path, dst_path])
-
-
 def GetValueInJsonFile(json_path, key, default_value=None):
   """Reads file containing JSON and returns value or default_value for key.
 
@@ -569,16 +559,16 @@
                        'flag is set and the DLC does not support preloading.',
                        d_id)
         else:
-          osutils.SafeMakedirs(install_root_dir, sudo=True)
-          source_dlc_dir = os.path.join(dlc_build_dir, d_id, d_package)
+          osutils.SafeMakedirsNonRoot(install_root_dir)
           install_dlc_dir = os.path.join(install_root_dir, d_id, d_package)
-          osutils.SafeMakedirs(install_dlc_dir, sudo=True)
+          osutils.SafeMakedirsNonRoot(install_dlc_dir)
+          source_dlc_dir = os.path.join(dlc_build_dir, d_id, d_package)
           for filepath in (os.path.join(source_dlc_dir, fname) for fname in
                            os.listdir(source_dlc_dir) if
                            fname.endswith('.img')):
             logging.info('Copying DLC(%s) image from %s to %s: ', d_id,
                          filepath, install_dlc_dir)
-            CopyFileSudo(filepath, install_dlc_dir)
+            shutil.copy(filepath, install_dlc_dir)
             logging.info('Done copying DLC to %s.', install_dlc_dir)
       else:
         logging.info('install_root_dir value was not provided. Copying dlc'