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 } |