tazwok annotate libtazwok/libtazwok @ rev 556

Tiny edits
author Aleksej Bobylev <al.bobylev@gmail.com>
date Wed Mar 30 01:54:35 2016 +0300 (2016-03-30)
parents d2993eed3ea5
children
rev   line source
pankso@555 1 ########################################################################
pankso@555 2 # This is the SliTaz main library (/usr/lib/slitaz/libtaz).
pankso@555 3 # libtazwok is modular : see explanation of the function source_lib below.
pankso@555 4 #
pankso@555 5 # Author : Antoine Bodin <gokhlayeh@mailoo.org>
pankso@555 6 #
pankso@555 7 # Version : 0.0.1 (alpha1)
pankso@555 8 #
pankso@555 9 # Documentation : none (will be available with beta version)
pankso@555 10 # The documentation will include an explanation of all functions, how to
pankso@555 11 # use them and how to improve this library.
pankso@555 12 #
pankso@555 13 # Devnotes (suppress while beta is released) :
pankso@555 14 # Add a generic download script ? -> download from tazlito & tazwok
pankso@555 15 # Add a generic create/cleanup script for tmp files ?
pankso@555 16 # check_for (pkg on cmd line, pkg, receipt, etc.) -> tazwok,tazpkg,list
pankso@555 17 #
pankso@555 18 # Note: as the work is in progress some parts are dirty code or others
pankso@555 19 # are not finished. I will update this because we need the libdep.
pankso@555 20 #
pankso@555 21 ########################################################################
pankso@555 22 # INITIALIZATION
pankso@555 23 ########################
al@556 24 # Load the SliTaz main configuration file : /etc/slitaz/slitaz.conf.
pankso@555 25 # Don't load it if an application is called by one already,
pankso@555 26 # to avoid options overwrite.
pankso@555 27
pankso@555 28 . /etc/slitaz/libtazwok.conf
pankso@555 29
pankso@555 30 # Load the command as some modules use it.
pankso@555 31 log_command="$0 $@"
pankso@555 32
pankso@555 33 # Define & create a temporary directory as it's used by report.
pankso@555 34 tmp=/tmp/$(basename $0)-$$
pankso@555 35 mkdir -p $tmp
pankso@555 36
pankso@555 37 ########################################################################
pankso@555 38 # EXIT FUNCTIONS
pankso@555 39 ########################
pankso@555 40 # run_on_exit commands are executed when apps exit (whatever the reason)
pankso@555 41 # run_on_kill commands are executed only when apps are killed (or Ctrl+C)
pankso@555 42 # Note : one command per line in the variable.
pankso@555 43 run_on_exit="rm -rf $tmp"
pankso@555 44 run_on_kill=""
pankso@555 45 trap run_on_exit EXIT
pankso@555 46 trap run_on_kill INT KILL
pankso@555 47
pankso@555 48 run_on_exit()
pankso@555 49 {
pankso@555 50 echo "$run_on_exit" | while read c; do
pankso@555 51 run_on_exit=$(echo "$run_on_exit" | sed 1d)
pankso@555 52 $c
pankso@555 53 done
pankso@555 54 trap - EXIT
pankso@555 55 exit
pankso@555 56 }
pankso@555 57
pankso@555 58 run_on_kill()
pankso@555 59 {
pankso@555 60 echo "$run_on_kill" | while read c; do
pankso@555 61 run_on_kill=$(echo "$run_on_kill" | sed 1d)
pankso@555 62 $c
pankso@555 63 done
pankso@555 64 trap - INT KILL
pankso@555 65 run_on_exit
pankso@555 66 }
pankso@555 67
pankso@555 68 ########################################################################
pankso@555 69 # This function should be used after sourcing libtaz to source modular
pankso@555 70 # libraries. Libtaz only sources main configuration files and contains only
pankso@555 71 # this function. The modular libraries should be put in the slitaz lib
pankso@555 72 # directory (/usr/lib/slitaz/libtazwok-modules).
pankso@555 73 #
pankso@555 74 # Usage : source_lib lib [lib2] [lib3] ...
pankso@555 75 #
pankso@555 76 # Description of libraries included with libtaz :
pankso@555 77 # commons : functions used by most SliTaz scripts
pankso@555 78 # get_option* : function to check & parse arguments of a command line
pankso@555 79 # report : display and log scripts in a configurable way
pankso@555 80 #
pankso@555 81 # * needs a code review, please don't use them for production : code can
pankso@555 82 # be hardly modified.
pankso@555 83 #
pankso@555 84 # All these libraries contains additional functions. Check them to
pankso@555 85 # know which ones and how to use them.
pankso@555 86 # More information will be available at beta release.
pankso@555 87
pankso@555 88 sourced_lib=""
pankso@555 89 source_lib()
pankso@555 90 {
pankso@555 91 for i in $@; do
pankso@555 92 [ "$(echo $sourced_lib | grep $i)" ] && continue
pankso@555 93 [ ! -f "/usr/lib/slitaz/libtazwok-modules/$i" ] && \
pankso@555 94 echo "WARNING: libtazwok source_lib: can't find /usr/lib/slitaz/libtazwok-modules/$i" >&2 && \
pankso@555 95 continue
pankso@555 96 . /usr/lib/slitaz/libtazwok-modules/$i && sourced_lib="$sourced_lib $i"
pankso@555 97 done
pankso@555 98 }