From 978eec32d3736f7054a92c01c850fcd9ad6bdf3e Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 15 Dec 2016 12:22:18 -0600 Subject: Files to create a gps package update using a bash archive --- recipes-navigation/gpsd/gpsdupdater/bin/bldgpsd.sh | 61 ++++++++++++++++++++++ .../gpsd/gpsdupdater/lib/bashinstaller.sh | 22 ++++++++ .../gpsd/gpsdupdater/lib/opkginstall.sh | 16 ++++++ 3 files changed, 99 insertions(+) create mode 100755 recipes-navigation/gpsd/gpsdupdater/bin/bldgpsd.sh create mode 100755 recipes-navigation/gpsd/gpsdupdater/lib/bashinstaller.sh create mode 100755 recipes-navigation/gpsd/gpsdupdater/lib/opkginstall.sh (limited to 'recipes-navigation') diff --git a/recipes-navigation/gpsd/gpsdupdater/bin/bldgpsd.sh b/recipes-navigation/gpsd/gpsdupdater/bin/bldgpsd.sh new file mode 100755 index 0000000..aeedf67 --- /dev/null +++ b/recipes-navigation/gpsd/gpsdupdater/bin/bldgpsd.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# This program creates an installer bash script. +# To install you execute: +# bash gpsdipk.sh +# Files needed +# ~/lib/opkginstall.sh +# ~/lib/bashinstaller.sh +# +function usage +{ + echo 'bldgpsd [mlinuxdir]' 2>&1 + exit +} +function cleanup +{ + if [[ $tmpdir =~ ^/var/tmp/gpsdbld ]] ; then + rm -rf $tmpdir + fi +} +if (($# != 1)) ; then + usage +fi +trap cleanup exit +mlpath="$1" + + +fullpath=$(readlink ${mlpath}) +tmpdirtemplate=/var/tmp/gpsdbld.XXXXX +tmpdir=$(mktemp -d $tmpdirtemplate) +FLIST=\ +" +libpanelw5_*_arm926ejste.ipk +python-curses_*_arm926ejste.ipk +python-json_*_arm926ejste.ipk +libgps22_0*_arm926ejste.ipk +gpsd_*_arm926ejste.ipk +gpsd-conf_*_arm926ejste.ipk +gpsd-gpsctl_*_arm926ejste.ipk +gpsd-udev_*_arm926ejste.ipk +gps-utils_*_arm926ejste.ipk +python-pygps_*_arm926ejste.ipk +ntp_*_arm926ejste.ipk +ntp-utils_*_arm926ejste.ipk +ntp-tickadj_*_arm926ejste.ipk +busybox_*_arm926ejste.ipk +" +armpath=${mlpath}/build/tmp/deploy/ipk/arm926ejste +if ! [[ -d $armpath ]] ; then + echo $armpath does not exist. No files to save + exit 1 +fi +mkdir ${tmpdir}/packages +cp ~/lib/bashinstaller.sh $tmpdir/packages/gpsdipk.sh + +echo directory is $armpath +echo list is $FLIST +chmod +x ~/lib/bashinstaller.sh +(cd $armpath; cp ~/lib/opkginstall.sh . ; echo opkginstall.sh $FLIST | tr ' ' '\n' | cpio -ov -Hcrc >>${tmpdir}/packages/gpsdipk.sh ; rm opkginstall.sh) +mv ${tmpdir}/packages/gpsdipk.sh /var/tmp +echo installer is /var/tmp/gpsdipk.sh + diff --git a/recipes-navigation/gpsd/gpsdupdater/lib/bashinstaller.sh b/recipes-navigation/gpsd/gpsdupdater/lib/bashinstaller.sh new file mode 100755 index 0000000..8b04288 --- /dev/null +++ b/recipes-navigation/gpsd/gpsdupdater/lib/bashinstaller.sh @@ -0,0 +1,22 @@ +#!/bin/bash +echo "" +echo "Self Extracting Installer" +echo "" + +export TMPDIR=`mktemp -d /tmp/selfextract.XXXXXX` + +ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0` + +tail -n+$ARCHIVE $0 | (cd $TMPDIR; pwd; ls; cpio -ivdum) + +CDIR=`pwd` +cd $TMPDIR +./opkginstall.sh + +cd $CDIR + +#rm -rf $TMPDIR + +exit 0 + +__ARCHIVE_BELOW__ diff --git a/recipes-navigation/gpsd/gpsdupdater/lib/opkginstall.sh b/recipes-navigation/gpsd/gpsdupdater/lib/opkginstall.sh new file mode 100755 index 0000000..57f7604 --- /dev/null +++ b/recipes-navigation/gpsd/gpsdupdater/lib/opkginstall.sh @@ -0,0 +1,16 @@ +#!/bin/bash +list="" +for f in *.ipk ; do + if [[ $f =~ ^busybox ]] ; then + continue + fi + [[ $f =~ ([^_]*) ]] && true + list+="${BASH_REMATCH[1]} " +done +list=$(echo $list | xargs) +echo $list +set -x +opkg --force-depends --force-remove --force-removal-of-dependent-packages remove $list +opkg install *.ipk +opkg upgrade busybox*.ipk +set +x -- cgit v1.2.3