diff options
| -rw-r--r-- | classes/image_types_ostree.bbclass | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass index d644f53..3300a3d 100644 --- a/classes/image_types_ostree.bbclass +++ b/classes/image_types_ostree.bbclass | |||
| @@ -119,6 +119,31 @@ IMAGE_CMD_ostree () { | |||
| 119 | ln -sf var/roothome root | 119 | ln -sf var/roothome root |
| 120 | fi | 120 | fi |
| 121 | 121 | ||
| 122 | if [ -d usr/local ] && [ ! -L usr/local ]; then | ||
| 123 | if [ "$(ls -A usr/local)" ]; then | ||
| 124 | bbfatal "Data in /usr/local directory is not preserved by OSTree." | ||
| 125 | fi | ||
| 126 | rm -rf usr/local | ||
| 127 | fi | ||
| 128 | |||
| 129 | if [ -n "${SYSTEMD_USED}" ]; then | ||
| 130 | echo "d /var/usrlocal 0755 root root -" >>${tmpfiles_conf} | ||
| 131 | else | ||
| 132 | echo "mkdir -p /var/usrlocal; chown 755 /var/usrlocal" >>${tmpfiles_conf} | ||
| 133 | fi | ||
| 134 | |||
| 135 | dirs="bin etc games include lib man sbin share src" | ||
| 136 | |||
| 137 | for dir in ${dirs}; do | ||
| 138 | if [ -n "${SYSTEMD_USED}" ]; then | ||
| 139 | echo "d /var/usrlocal/${dir} 0755 root root -" >>${tmpfiles_conf} | ||
| 140 | else | ||
| 141 | echo "mkdir -p /var/usrlocal/${dir}; chown 755 /var/usrlocal/${dir}" >>${tmpfiles_conf} | ||
| 142 | fi | ||
| 143 | done | ||
| 144 | |||
| 145 | ln -sf ../var/usrlocal usr/local | ||
| 146 | |||
| 122 | checksum=`sha256sum ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} | cut -f 1 -d " "` | 147 | checksum=`sha256sum ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} | cut -f 1 -d " "` |
| 123 | 148 | ||
| 124 | cp ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} boot/vmlinuz-${checksum} | 149 | cp ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} boot/vmlinuz-${checksum} |
