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'