summaryrefslogtreecommitdiff
path: root/recipes-core/multitech/config_2.3.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/multitech/config_2.3.bb')
-rw-r--r--recipes-core/multitech/config_2.3.bb68
1 files changed, 66 insertions, 2 deletions
diff --git a/recipes-core/multitech/config_2.3.bb b/recipes-core/multitech/config_2.3.bb
index 629cd72..a48941a 100644
--- a/recipes-core/multitech/config_2.3.bb
+++ b/recipes-core/multitech/config_2.3.bb
@@ -3,8 +3,9 @@ SECTION = "base"
LICENSE = "MIT"
RDEPENDS_${PN} += "bash"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r7"
-PACKAGES =+ "${PN}-mths"
+PACKAGE_ARCH = "all"
+PR = "r9"
+PACKAGES =+ "${PN}-mths ${PN}-wifi-bt-ap"
inherit update-rc.d
inherit allarch
@@ -19,12 +20,14 @@ SRC_URI = "\
file://ppp \
file://config.init \
file://config-mths \
+ file://config-wifi-bt-ap \
file://chat_wrapper \
file://chat_wrapper.default \
file://99_radio \
"
RDEPENDS_${PN}-mths += "${PN}"
+RDEPENDS_${PN}-wifi-bt-ap += " bluez5 bluez5-pand hostap-daemon dnsmasq rs9113-noarch "
CONFFILES_${PN} += "${sysconfdir}/defaults.tar.gz"
CONFIGFILES = "network/interfaces ppp"
@@ -59,6 +62,16 @@ fakeroot do_install () {
install -m 0755 ${WORKDIR}/chat_wrapper ${D}${libexecdir}/ppp/
install -m 0644 ${WORKDIR}/chat_wrapper.default ${D}${sysconfdir}/default/chat_wrapper
install -m 0644 ${WORKDIR}/99_radio ${D}${sysconfdir}/default/volatiles
+
+ install -d ${D}/usr/share
+ cp -a ${WORKDIR}/config-wifi-bt-ap/* ${D}/
+ # README does not usually go on an embedded device.
+ rm ${D}/README
+ echo 'List out files'
+ find ${D}/usr/share/config-wifi-bt-ap -type f
+ find ${D}/usr/share/config-wifi-bt-ap -type f | xargs chmod 0644
+ find ${D}/usr/share/config-wifi-bt-ap | xargs chown root:root
+ find ${D}/usr/share -type d | xargs chmod 0755
}
FILES_${PN} = "${sysconfdir}/defaults.tar.gz ${sysconfdir}/default_pass"
@@ -66,6 +79,7 @@ FILES_${PN} += "${sysconfdir}/init.d/config ${sysconfdir}/default ${libexecdir}/
FILES_${PN} += "${sysconfdir}/default/volatiles"
FILES_${PN}-mths = "${sysconfdir}/defaults-mths.tar.gz"
+FILES_${PN}-wifi-bt-ap = "/usr/share/config-wifi-bt-ap"
# Create the hotspot version of defaults.tar.gz
pkg_postinst_${PN}-mths() {
@@ -93,3 +107,53 @@ pkg_postinst_${PN}-mths() {
# Comment out the final line for a trace.
rm -rf $X
}
+
+
+pkg_postinst_${PN}-wifi-bt-ap() {
+ US="$D/usr/share/config-wifi-bt-ap"
+ ND="$D/etc/network"
+ mkdir ${US}/old
+ cd /var/config
+ # Make a backup
+ tar -T ${US}/backup.list.txt -cf $D/var/config/var-config-wifi-bt-ap-bkup.tar.gz
+ # Add new interfaces
+ if ! grep "^auto wifi1$" ${ND}/interfaces ; then
+ echo >>${ND}/interfaces
+ cat $US/wifi1.append >>${ND}/interfaces
+ fi
+ if ! grep "^auto pan0$" ${ND}/interfaces ; then
+ echo >>${ND}/interfaces
+ cat $US/pan0.append >>${ND}/interfaces
+ fi
+
+ # Copy other files into place
+ cp -a ${US}/var/config /var
+
+ # Record files we created
+ md5sum $(cat ${US}/backup.list.txt) >$D/var/config/bkup-wifi-bt-ap.md5
+
+ # Restart daemons
+ /etc/init.d/dnsmasq stop
+ /etc/init.d/bt-pan stop
+ /etc/init.d/bluetooth stop
+ /etc/init.d/hostapd stop
+ /etc/init.d/rs9113 stop
+ /etc/init.d/rs9113 start
+ /etc/init.d/bluetooth start
+ /etc/init.d/hostapd start
+ /etc/init.d/bt-pan start
+ /etc/init.d/dnsmasq start
+}
+
+pkg_prerm_${PN}-wifi-bt-ap() {
+ cd /var/config
+ if md5sum -c $D/var/config/bkup-wifi-bt-ap.md5 ; then
+ if [ -f $D/var/config/var-config-wifi-bt-ap-bkup.tar.gz ] ; then
+ tar -xf $D/var/config/var-config-wifi-bt-ap-bkup.tar.gz
+ else
+ echo Cannot restore anything because backup is missing
+ fi
+ else
+ echo 'Cannot restore old configuration, because it has changed since the backup'
+ fi
+}