File: core-config.sh

package info (click to toggle)
snapd 2.71-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 79,536 kB
  • sloc: ansic: 16,114; sh: 16,105; python: 9,941; makefile: 1,890; exp: 190; awk: 40; xml: 22
file content (110 lines) | stat: -rw-r--r-- 2,990 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/bash

clean_snapd_lib() {
    rm -rf /var/lib/snapd/assertions/*
    rm -rf /var/lib/snapd/device
    rm -rf /var/lib/snapd/state.json
}

prepare_core_model(){
    mv /var/lib/snapd/seed/assertions/model model.bak
}

restore_core_model(){
    mv model.bak /var/lib/snapd/seed/assertions/model
}

prepare_and_manip_seed(){
    cp /var/lib/snapd/seed/seed.yaml seed.yaml.bak
    python3 "$TESTSLIB"/manip_seed.py /var/lib/snapd/seed/seed.yaml "$@"
}

restore_updated_seed(){
    mv seed.yaml.bak /var/lib/snapd/seed/seed.yaml
}

prepare_testrootorg_store(){
    cp -f "$TESTSLIB"/assertions/testrootorg-store.account-key /var/lib/snapd/seed/assertions
}

restore_testrootorg_store(){
    rm -f /var/lib/snapd/seed/assertions/testrootorg-store.account-key
}

prepare_test_account(){
    local ACCOUNT_NAME=$1
    cp -f "$TESTSLIB/assertions/${ACCOUNT_NAME}.account" /var/lib/snapd/seed/assertions
    cp -f "$TESTSLIB/assertions/${ACCOUNT_NAME}.account-key" /var/lib/snapd/seed/assertions
}

restore_test_account(){
    local ACCOUNT_NAME=$1
    rm -f "/var/lib/snapd/seed/assertions/${ACCOUNT_NAME}.account"
    rm -f "/var/lib/snapd/seed/assertions/${ACCOUNT_NAME}.account-key"
}

prepare_test_model(){
    local MODEL_NAME=$1
    local MODEL_FINAL
    MODEL_FINAL=$(get_test_model "$MODEL_NAME")
    cp -f "${TESTSLIB}/assertions/${MODEL_FINAL}" "/var/lib/snapd/seed/assertions/${MODEL_NAME}.model"
}

restore_test_model(){
    local MODEL_NAME=$1
    rm -f "/var/lib/snapd/seed/assertions/${MODEL_NAME}.model"
}

unpack_pc_snap(){
    unsquashfs -no-progress /var/lib/snapd/snaps/pc_*.snap
}

pack_pc_snap(){
    mksquashfs squashfs-root pc_x1.snap -comp xz -no-fragments -no-progress
    rm -rf squashfs-root
    cp pc_x1.snap /var/lib/snapd/seed/snaps/
}

restore_pc_snap(){
    if systemctl status snap-pc-x1.mount ; then
       systemctl stop snap-pc-x1.mount
       rm -f /etc/systemd/system/snap-pc-x1.mount
       rm -f /etc/systemd/system/snapd.mounts.target.wants/snap-pc-x1.mount
       rm -f /etc/systemd/system/multi-user.target.wants/snap-pc-x1.mount
       rm -f /var/lib/snapd/snaps/pc_x1.snap
       rm -rf /root/snap/pc/x1
       systemctl daemon-reload
    fi
    rm -f /var/lib/snapd/seed/snaps/pc_x1.snap
}

get_test_model(){
    local MODEL_NAME=$1
    if os.query is-core18; then
        echo "${MODEL_NAME}-18.model"
    elif os.query is-core20; then
        echo "${MODEL_NAME}-20.model"
    elif os.query is-core22; then
        echo "${MODEL_NAME}-22.model"
    else
        echo "${MODEL_NAME}.model"
    fi
}

get_test_snap_suffix(){
    if os.query is-core18; then
        echo "-core18"
    elif os.query is-core20; then
        echo "-core20"
    elif os.query is-core22; then
        echo "-core22"
    fi
}

wait_for_first_boot_change(){
    retry -n 200 --wait 1 sh -c 'snap changes | MATCH "Done.*Initialize system state"'
}

wait_for_device_initialized_change(){
    retry -n 200 --wait 1 sh -c 'snap changes | MATCH "Done.*Initialize device"'
}