blob: 2899d4f08a2419bc14ac0cb9226412a75aac667e [file] [log] [blame]
Jan Kundrát1cfb1982017-10-30 18:05:47 +01001#!/bin/sh
2
3case "$1" in
4 slot-post-install)
5 case "$RAUC_SLOT_CLASS" in
6 cfg)
Jan Kundrát68f98ad2019-11-01 20:18:04 +01007 # whitelist so that we don't copy cruft or lost+found
8 for ITEM in \
Jan Kundrát54ed52b2020-01-29 21:08:37 +01009 calibration \
Jan Kundrát68f98ad2019-11-01 20:18:04 +010010 etc \
Jan Kundrát1c6643e2019-11-01 19:39:34 +010011 journald-remote \
Jan Kundrát68f98ad2019-11-01 20:18:04 +010012 random-seed \
Jan Kundrát34d2f482021-01-11 19:24:09 +010013 sysrepo \
Jan Kundrát68f98ad2019-11-01 20:18:04 +010014 ssh-user-auth \
15 ; do
Jan Kundrát1c6643e2019-11-01 19:39:34 +010016 if [[ -d /cfg/${ITEM} || -f /cfg/${ITEM} ]]; then
Jan Kundrát68f98ad2019-11-01 20:18:04 +010017 cp -a /cfg/${ITEM} ${RAUC_SLOT_MOUNT_POINT}/
Jan Kundrát2af054a2018-06-06 13:45:04 +020018 fi
19 done
Jan Kundrát1cfb1982017-10-30 18:05:47 +010020 ;;
21 *)
22 echo "Internal error: hook mismatched"
23 exit 11
24 esac
25 ;;
26 *)
27 echo "Internal error: unrecognized hook"
28 exit 11
29 ;;
30esac
31
Jan Kundrát2f100fc2020-11-02 22:10:16 +010032if [[ -f /lib/libsysrepo.so.0.7 ]]; then
33 # Updating from old sysrepo with incompatible repository layout
34 rm -rf ${RAUC_SLOT_MOUNT_POINT}/etc/sysrepo
35 # No more netopeer2-keystored, different config
36 rm -rf ${RAUC_SLOT_MOUNT_POINT}/etc/keystored
37 echo "sysrepo configuration not preserved"
Jan Kundrát34d2f482021-01-11 19:24:09 +010038elif [[ -d /cfg/etc/sysrepo ]]; then
39 # switch from "persisting whole /etc/sysrepo" to "exporting config via JSON"
40 rm -rf ${RAUC_SLOT_MOUNT_POINT}/etc/sysrepo
41 umask 0077
42 mkdir ${RAUC_SLOT_MOUNT_POINT}/sysrepo
43 sysrepocfg -d startup -f json -X > ${RAUC_SLOT_MOUNT_POINT}/sysrepo/startup.json
Jan Kundrát2f100fc2020-11-02 22:10:16 +010044fi
45
Jan Kundrát1cfb1982017-10-30 18:05:47 +010046exit 0