summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2020-04-25 22:22:37 +0000
committerLaurent Bonnans <laurent.bonnans@here.com>2020-06-02 12:05:40 +0200
commit142f898125804679baf07e3d19ddebd8cc3250b0 (patch)
treec87ff2c56b8fa389bdce6d981308b78aaf747575
parent07a849345ddf3546ce93220d64833bf0e011a1f1 (diff)
downloadmeta-updater-142f898125804679baf07e3d19ddebd8cc3250b0.tar.gz
image_types_ostree/ota: do not commit homes to the OSTree
The home directory currently are commited to the OSTree, presumably to then use it for the deployment. However, we do have access to the original rootfs in the OSTree deployment tasks (do_image_ota) hence transferring the files "via OSTree" is not necessary. We do already carry over some files from the original OE rootfs to /var/sota. Follow this approach for /var/local and /home as well. The home will still be stored in the sysroot as documented in https://ostree.readthedocs.io/en/latest/manual/adapting-existing/. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
-rw-r--r--classes/image_types_ostree.bbclass12
-rw-r--r--classes/image_types_ota.bbclass4
2 files changed, 7 insertions, 9 deletions
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass
index 758ce00..28d9802 100644
--- a/classes/image_types_ostree.bbclass
+++ b/classes/image_types_ostree.bbclass
@@ -71,13 +71,11 @@ IMAGE_CMD_ostree () {
71 mkdir -p usr/share/sota/ 71 mkdir -p usr/share/sota/
72 echo -n "${OSTREE_BRANCHNAME}" > usr/share/sota/branchname 72 echo -n "${OSTREE_BRANCHNAME}" > usr/share/sota/branchname
73 73
74 # Preserve data in /home to be later copied to /sysroot/home by sysroot 74 # home directories get copied from the OE root later to the final sysroot
75 # generating procedure 75 # Create a symlink to var/rootdirs/home to make sure the OSTree deployment
76 mkdir -p usr/homedirs 76 # redirects /home to /var/rootdirs/home.
77 if [ -d "home" ] && [ ! -L "home" ]; then 77 rm -rf home/
78 mv home usr/homedirs/home 78 ln -sf var/rootdirs/home home
79 ln -sf var/rootdirs/home home
80 fi
81 79
82 # Move persistent directories to /var 80 # Move persistent directories to /var
83 dirs="opt mnt media srv" 81 dirs="opt mnt media srv"
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass
index e9f9467..8f5a01a 100644
--- a/classes/image_types_ota.bbclass
+++ b/classes/image_types_ota.bbclass
@@ -80,8 +80,8 @@ IMAGE_CMD_ota () {
80 # Ensure the permissions are correctly set 80 # Ensure the permissions are correctly set
81 chmod 700 ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota 81 chmod 700 ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota
82 82
83 cp -a ${OSTREE_ROOTFS}/var/local ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true 83 cp -a ${IMAGE_ROOTFS}/var/local ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true
84 cp -a ${OSTREE_ROOTFS}/usr/homedirs/home ${OTA_SYSROOT}/ || true 84 cp -a ${IMAGE_ROOTFS}/home ${OTA_SYSROOT}/ || true
85 # Ensure that /var/local exists (AGL symlinks /usr/local to /var/local) 85 # Ensure that /var/local exists (AGL symlinks /usr/local to /var/local)
86 install -d ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/local 86 install -d ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/local
87 # Set package version for the first deployment 87 # Set package version for the first deployment