restore-passwd.sh works in rootfs 81/164881/1 accepted/tizen/4.0/unified/20171222.062723 submit/tizen_4.0/20171221.103518
authorSunmin Lee <sunm.lee@samsung.com>
Thu, 21 Dec 2017 09:56:54 +0000 (18:56 +0900)
committerSunmin Lee <sunm.lee@samsung.com>
Thu, 21 Dec 2017 10:07:25 +0000 (19:07 +0900)
For some reason, restore-passwd.sh is required to be executed
in rootfs by chroot. This patch moves restore-passwd to rootfs.

Change-Id: I1c46a75af1e64788446a71c044e50afe7fa2feaf
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
packaging/initrd-fota.spec
scripts/40-fota.list
scripts/fus_rw-init.sh

index 1976fe2..a3e18e7 100755 (executable)
@@ -29,14 +29,16 @@ package for building partition image for RAMDISK2 (ramdisk-recovery.img)
 %install
 
 %define init_script_dir %{_libdir}/initrd-recovery/fota
+%define upgrade_dir %{_datadir}/upgrade
 
 mkdir -p %{buildroot}/opt/data/update
 
 mkdir -p %{buildroot}%{init_script_dir}
 cp ./scripts/fota-init.sh %{buildroot}%{init_script_dir}/fota-init.sh
-cp ./scripts/fus_rw-init.sh %{buildroot}%{init_script_dir}/
+cp ./scripts/fus_rw-init.sh %{buildroot}%{init_script_dir}/fus_rw-init.sh
 # Pre-patch script
-cp ./scripts/restore-passwd.sh %{buildroot}%{init_script_dir}/
+mkdir -p %{buildroot}%{upgrade_dir}
+cp ./scripts/restore-passwd.sh %{buildroot}%{upgrade_dir}/restore-passwd.sh
 
 mkdir -p %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d
 cp ./scripts/40-fota.list %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d
@@ -44,6 +46,7 @@ cp ./scripts/40-fota.list %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d
 %files
 %manifest initrd-fota.manifest
 %license LICENSE
-%attr(700,root,root) %{_libdir}/initrd-recovery/fota/*.sh
+%attr(700,root,root) %{init_script_dir}/*.sh
+%attr(700,root,root) %{upgrade_dir}/restore-passwd.sh
 %attr(700,root,root) %{_datadir}/initrd-recovery/initrd.list.d/*.list
 %attr(777,system,system) /opt/data/update
index b5e9459..1e463ff 100755 (executable)
@@ -2,7 +2,6 @@
 MVWITHLIBS="
 /usr/lib/initrd-recovery/fota/fota-init.sh
 /usr/lib/initrd-recovery/fota/fus_rw-init.sh
-/usr/lib/initrd-recovery/fota/restore-passwd.sh
 /usr/lib/initrd-recovery/minireboot
 /usr/bin/delta.ua
 /usr/lib/libtota.so.1.0.0
index 344eba8..7aba163 100755 (executable)
@@ -58,6 +58,7 @@ mount_partitions() {
     "$MOUNT" -t sysfs none ${FAKE_ROOT}/sys
     "$MOUNT" -t devtmpfs devtmpfs ${FAKE_ROOT}/dev
     "$MOUNT" -t devpts devpts ${FAKE_ROOT}/dev/pts
+    "$MOUNT" -t tmpfs tmpfs ${FAKE_ROOT}/tmp
 }
 
 #------------------------------------------------
@@ -81,7 +82,7 @@ do_rw_update() {
        echo "Change into rw update mode" >> ${INT_LOG_FILE}
 
        # Pre-patches
-       /bin/chroot ${FAKE_ROOT} /bin/sh -c /usr/lib/initrd-recovery/fota/restore-passwd.sh
+       /bin/chroot ${FAKE_ROOT} /bin/sh -c /usr/share/upgrade/restore-passwd.sh
 
        # Go to system-update.target
        if [ $$ = 1 ]; then