summarylogtreecommitdiffstats
path: root/qpi.install
blob: fb4ad8a6eff3378649772deb8e317ffda24a2681 (plain)
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
_piver=2
_qmakepath=/opt/qt/qt-sdk-raspberry-pi2/bin/qmake
_sysroot=/mnt/pi2
_toolchain=/opt/x-tools/arm-cortexa9_neon-linux-gnueabihf/bin/arm-cortexa9_neon-linux-gnueabihf-
_sdktool="/usr/lib/qtcreator/sdktool"
_altsdktool="/usr/libexec/qtcreator/sdktool"
_devicefamily="spuddrpi"
_devicename="${_devicefamily}${_piver}"
_familytext="Raspberry Pi"
_devicetext="${_familytext} ${_piver}"

if [[ -x ${_altsdktool} ]]; then
    _sdktool=${_altsdktool}
fi

# ACHTUNG: this used to work without sudo when the Qt Creator dudes let you write to a user directory
_sdktool="sudo ${_sdktool}"

setup_toolchain() {
    echo "Registering toolchain with Qt Creator"
${_sdktool} addTC \
    --id "${_devicename}-gcc" \
    --language 1 \
    --name "${_devicetext} toolchain" \
    --path ${_toolchain}gcc \
    --abi arm-linux-generic-elf-64bit \
    --supportedAbis arm-linux-generic-elf-64bit

${_sdktool} addTC \
    --id "${_devicename}-g++" \
    --language 2 \
    --name "${_devicetext} toolchain" \
    --path ${_toolchain}g++ \
    --abi arm-linux-generic-elf-64bit \
    --supportedAbis arm-linux-generic-elf-64bit

    echo "Registering debugger with Qt Creator"
${_sdktool} addDebugger \
    --id "${_devicename}-gdb" \
    --name "${_devicetext} gdb" \
    --binary ${_toolchain}gdb \
    --abis arm-linux-generic-elf-64bit \
    --engine 1
}

remove_toolchain() {
${_sdktool} rmTC \
    --id "${_devicename}-gcc"

${_sdktool} rmTC \
    --id "${_devicename}-g++"

${_sdktool} rmDebugger \
    --id "${_devicename}-gdb"
}

remove_kit() {
${_sdktool} rmQt \
    --id "${_devicename}_qt"

${_sdktool} rmKit \
    --id "${_devicename}_kit"

${_sdktool} rmDev \
    --id "${_devicename}_device"
}

setup_kit() {
  remove_toolchain
  remove_kit
  setup_toolchain
 
    echo "Registering device with Qt Creator"
${_sdktool} addDev \
    --id "${_devicename}_device" \
    --name "${_devicetext}" \
    --host "qpi${_piver}.local" \
    --uname "root" \
    --password "root" \
    --osType "GenericLinuxOsType" \
    --type 0 \
    --sshPort 22 \
    --freePorts "10000-10100"

    echo "Registering Qt install with Qt Creator"
${_sdktool} addQt \
    --id "${_devicename}_qt" \
    --name "${_devicetext} Qt" \
    --qmake ${_qmakepath} \
    --type RemoteLinux.EmbeddedLinuxQt

    echo "Creating Qt Creator Kit"
${_sdktool} addKit \
    --id "${_devicename}_kit" \
    --name "${_devicetext} Kit" \
    --debugger "${_devicename}_gdb" \
    --devicetype GenericLinuxOsType \
    --device "${_devicename}_device" \
    --sysroot ${_sysroot} \
    --toolchain "${_devicename}-g++" \
    --qt "${_devicename}_qt" \
    --mkspec "devices/linux-rpi${_piver}-g++" 
}

## arg 1:  the new package version
pre_install() {
    echo ""
}

## arg 1:  the new package version
post_install() {
  setup_kit
}
#post_install

## arg 1:  the new package version
## arg 2:  the old package version
pre_upgrade() {
    echo ""
}

## arg 1:  the new package version
## arg 2:  the old package version
post_upgrade() {
  setup_kit
}
#post_upgrade

## arg 1:  the old package version
pre_remove() {
    echo ""
}
#pre_remove

## arg 1:  the old package version
post_remove() {
  remove_kit
}
#post_remove