From 451e9389c1fcc2093c6c9d60cc4c7b1e93673bb0 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sat, 1 Nov 2008 11:45:00 +0100 Subject: improved documentation, cleaned up usage(), implemented some dialog stuf --- README | 33 ++++++++++++++++++++++++++++++--- src/fifa.sh | 23 ++++++----------------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/README b/README index 1dd4b7a..fbc3d25 100644 --- a/README +++ b/README @@ -23,7 +23,34 @@ together to come up with the installation procedure of your liking. ** File locations (on the install CD): ** -* fifa.sh -> /arch/fifa.sh (together with the default installer scripts) +Basically fifa.sh is put in /arch (together with the default installer scripts), while all other fifa-related files belong in /home/arch/fifa + +* fifa.sh -> /arch/fifa.sh * libraries -> /home/arch/fifa/lib -* docs -> /home/arch/fifa/docs -* all other files (profiles, package lists, ...) used by/for this script -> /home/arch/fifa +* docs -> /home/arch/fifa/docs +* profiles -> /home/arch/fifa/profiles +* pkg list -> /home/arch/fifa/packages-list (can be overridden) + + +** Workflow ** +Profiles are stored like /home/arch/fifa/profiles/profile-* +You can put your custom profiles there too. Give them a recognizable name +that doesn't exist yet. + +There is a very basic but powerful workflow defined by variables, phases and workers. +Depending on the profile you choose (or write yourself), these will differ +In the code, they are very recognizable and are named like this: + - variable -> var_ + - phase -> phase_ (a function that calls workers and maybe does some stuff by itself.) + There are 4 phases: preparation, basics, system, finish. (executed in that order) + - worker -> worker_ ( a worker function, called by a phase. implements some specific logic. + eg runtime_packages, prepare_disks, package_list etc) + +If you specify a profile name other then base, the base profile will be sourced first, then the specific +profile. This way you only need to override specific things. + +Notes: + - you _can_ override _all_ variables and functions in profiles, but you should be able to achieve your goals by + overriding things of these 3 classes + - you _must_ specify a profile, to avoid errors. take 'base' if unsure + - don't edit the base profile (or any other that comes by default), rather make your own. It's easy! diff --git a/src/fifa.sh b/src/fifa.sh index f0439de..818a1db 100755 --- a/src/fifa.sh +++ b/src/fifa.sh @@ -16,25 +16,15 @@ usage () { if [ "$var_UI_TYPE" = dia ] then - #TODO: do this - true + DIALOG --msgbox "$0 \n + If the profilename starts with 'http://' it will be wget'ed. Otherwise it's assumed to be a profile saved on disk. See README\n + Available profiles:\n + `ls -l /home/arch/fifa/profile-*`" 14 65 else echo "$0 " - echo "If the profilename starts with 'http://' it will be wget'ed. Otherwise it's assumed to be a profile file like /home/arch/fifa/profile-" - echo "If you wrote your own profile, you can also save it yourself as /home/arch/fifa/profile-custom or something like that" + echo "If the profilename starts with 'http://' it will be wget'ed. Otherwise it's assumed to be a profile saved on disk. See README" echo "Available profiles:" ls -l /home/arch/fifa/profile-* - echo "Extra info:" - echo "There is a very basic but powerfull workflow defined by variables, phases and workers. Depending on the profile you choose (or write yourself), these will differ." - echo "they are very recognizable and are named like this:" - echo " - variable -> var_" - echo " - phase -> phase_ (a function that calls workers and maybe does some stuff by itself. There are 4 phases: preparation, basics, system, finish. (executed in that order)" - echo " - worker -> worker_ ( a worker function, called by a phase. implements some specific logic. eg runtime_packages, prepare_disks, package_list etc)" - echo "If you specify a profile name other then base, the base profile will be sourced first, then the specific profile. This way you only need to override specific things." - echo "Notes:" - echo " - you _can_ override _all_ variables and functions in this script, but you should be able to achieve your goals by overriding things of these 3 classes)" - echo " - you _must_ specify a profile, to avoid errors. take 'base' if unsure" - echo " - don't edit the base profile (or any other that comes by default), rather make your own" fi } @@ -57,8 +47,7 @@ notify () { if [ "$var_UI_TYPE" = dia ] then - #TODO: implement this - true + DIALOG --msgbox "$@" 20 50 else echo "$@" fi -- cgit v1.2.3-54-g00ecf