#!/bin/sh # Tiny Core Browser # (c) Robert Shingledecker 2009-2012 . /etc/init.d/tc-functions trap 'echo; exit 1 1>&2' 1 2 15 searchInfoList() { clear if [ ! -n "$ITEM" ] || [ ${ITEM:0:1} == "-" ]; then echo -n "Enter starting chars of desired extension, e.g. abi: "; read ITEM [ ! -n "$ITEM" ] && quit fi search.sh "$ITEM" > info.lst } whatProvides() { clear if [ ! -n "$ITEM" ] || [ ${ITEM:0:1} == "-" ]; then echo -n "Enter search term, e.g. iwconfig: "; read ITEM [ ! -n "$ITEM" ] && quit fi provides.sh "$ITEM" > info.lst } keywordSearch() { clear if [ ! -n "$ITEM" ] || [ ${ITEM:0:1} == "-" ]; then echo -n "Enter search term(s), e.g. browser: "; read ITEM [ ! -n "$ITEM" ] && quit fi search.sh -t "$ITEM" > info.lst } selectItem(){ select "tce - Tiny Core Extension browser" info.lst EXTN="$(cat /tmp/select.ans)" [ "$EXTN" == "q" ] && unset EXTN } displayInfo(){ if [ -n "$EXTN" ]; then tce-fetch.sh "$EXTN".info less "$EXTN".info rm "$EXTN".info fi } displayDepends(){ tce-fetch.sh "$EXTN".dep 2>/dev/null if [ "$?" == 0 ]; then less "$EXTN".dep rm "$EXTN".dep fi } displayTree(){ tce-fetch.sh "$EXTN".tree 2>/dev/null if [ "$?" == 0 ]; then less "$EXTN".tree rm "$EXTN".tree fi } displaySize(){ clear tce-size "$EXTN" } displayFiles(){ tce-fetch.sh "$EXTN".list less "$EXTN".list rm "$EXTN".list } quit(){ rm -f info.lst* /tmp/tags.lst /tmp/select.ans > /dev/null cd - > /dev/null rm -rf $TMPDIR 2>/dev/null exit 0 } # Main checknotroot TMPDIR=`mktemp -d -t` cd $TMPDIR clear echo "tce-ab - Tiny Core Extension: Application Browser" echo while true; do [ -n "$EXTN" ] && echo -e "\033[40;37;7m $EXTN \033[0m" && echo -n "A)bout I)nstall O)nDemand D)epends T)ree F)iles siZ)e L)ist " echo -n "S)earch P)rovides K)eywords or Q)uit: "; read -s -n1 ANS; echo case ${ANS} in A|a) displayInfo ;; I|i) tce-load -w -i "$EXTN" ;; O|o) tce-load -w -o "$EXTN" ;; D|d) displayDepends ;; T|t) displayTree ;; Z|z) displaySize ;; F|f) displayFiles ;; L|l) selectItem ;; S|s) ITEM="" && searchInfoList "$ITEM" && selectItem; displayInfo ;; P|p) ITEM="" && whatProvides "$ITEM" && selectItem; displayInfo ;; K|k) ITEM="" && keywordSearch "$ITEM" && selectItem; displayInfo ;; Q|q) quit ;; *) ;; #displayInfo ;; esac done