summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HOWTO25
-rw-r--r--README11
-rw-r--r--TODO3
-rwxr-xr-xsrc/aif.sh18
-rw-r--r--src/core/libs/lib-misc.sh3
-rw-r--r--src/runtime/whatsthis.txt1
6 files changed, 35 insertions, 26 deletions
diff --git a/HOWTO b/HOWTO
index ed46272..e2c714a 100644
--- a/HOWTO
+++ b/HOWTO
@@ -1,16 +1,20 @@
-### This howto explains how to install aif on an installcd that does not have the aif package installed yet ###
-### You can also use this if you want to use another version than what's available on the installcd) ###
+### This howto explains how to install/upgrade aif on an arch system / arch installation cd ###
-1) Boot from the installcd
-
-2) Open 2 shells, one as user root, one as regular user (arch)
+* an installation cd is in essence just an arch system, it just has the aif package installed. you can install aif on any system without problems.
+* install cd's from 2009.02 and up have aif on board, so probably you don't need to do anything at all.
-3) Decide on a package. See http://aur.archlinux.org/packages.php?K=aif for available packages
+* there is a "binary" package in extra, containing a recent release
+* there are 2 source packages in AUR, one for each branch in git. ( see http://aur.archlinux.org/packages.php?K=aif )
- aif-git: latest code from the git master (stable) branch: recommended!
- aif-experimental-git: latest development code. Code is tested here and if ok, merged into master. Use at own risk!!
-I assume you'll pick aif-git.
-4) Copy paste the code below.
+So, assuming you want to upgrade the aif package on an installation cd, to say aif-experimental-git from AUR, you would:
+
+1) Boot from the installcd
+
+2) Open 2 shells, one as user root, one as regular user (arch)
+
+3) Copy paste the code below.
# root shell:
/arch/setup. # fake ftp install so it lets you run the network configure script
@@ -29,12 +33,11 @@ makepkg
# root shell:
pacman -U /home/arch/aif-git/aif*.pkg.tar.gz
-
4) Fire it up! (as root)
-/arch/aif -p <procedurename> #you can skip networking.
+aif -p <procedurename> #you can skip networking.
-For more info see README or /arch/aif -h.
+For more info see README or aif -h.
diff --git a/README b/README
index caaadd7..71d4064 100644
--- a/README
+++ b/README
@@ -10,7 +10,7 @@ Homepage: http://github.com/Dieterbe/aif
** --> Intro / Current state of things <-- **
-AIF is included on the 2009-01 Arch install CD's as an experimental alternative for the old installer (/arch/setup).
+AIF is included on the 2009.02 Arch install CD's as an experimental alternative for the old installer (/arch/setup).
AIF is based on the old installer, but the code has been madly refactored, reorganized, cleaned up and in some places replaced.
AIF comes by default with these procedures:
@@ -67,10 +67,11 @@ The goal of AIF is not (yet):
Basically aif.sh is put in /arch (together with the default installer scripts), while all other aif-related files belong in /home/arch/aif
* aif.sh -> /arch/aif
-* docs -> /home/arch/aif/docs/
-* core module -> /home/arch/aif/core
-* user modules -> /home/arch/aif/user/<module name> (put your own modules here)
-* runtime files -> /home/arch/aif/runtime (package list etc go here)
+* docs -> /usr/share/aif/docs
+* core module -> /usr/lib/aif/core
+* user modules -> /usr/lib/aif/user/<module name> (put your own modules here)
+* runtime files -> /tmp/aif (package list etc go here)
+* logs -> /var/log/aif
A module can have 2 directories: libs, and procedures.
diff --git a/TODO b/TODO
index a0526bd..c747210 100644
--- a/TODO
+++ b/TODO
@@ -43,8 +43,8 @@ ALPHA PHASE:
BETA PHASE:
+* ext4 default options? -O dir_index,extent,uninit_bg ?
* find a way to not have to preload libs and stuff, only load them when needed. -> faster start of install program
-* fix everything
* if dhcpd already runs for $reason, the installer will try again @ configure network and fail.
i tried killall dhcpd, killall -9 dhcpd first but that didn't help: it can't kill the process or something...
I can also add something like for iface in `moo` (or only the one selected iface); do ifconfig $iface down;
@@ -55,7 +55,6 @@ skip that check or something. Alternatively, maybe just show which steps are do
* auto-configure mkinitcpio.conf for dm_crypt and lvm
PRODUCTION PHASE: be the primary installer. deprecate /arch/setup and /arch/quickinst
-* fix everything even more
* bribe devs
* core/interactive: do pacman -Sy in the background during early phases, to lessen the wait period before selecting packages
* write bash completion thing for aif modules/procedures
diff --git a/src/aif.sh b/src/aif.sh
index fad2e40..783e7c9 100755
--- a/src/aif.sh
+++ b/src/aif.sh
@@ -1,10 +1,14 @@
#!/bin/bash
+
###### Set some default variables ######
TITLE="Arch Linux Installation Framework"
LOG="/dev/tty7"
-RUNTIME_DIR=/home/arch/aif/runtime
-LOGFILE=$RUNTIME_DIR/aif.log
+LIB_CORE=/usr/lib/aif/core
+LIB_USER=/usr/lib/aif/user
+RUNTIME_DIR=/tmp/aif
+LOG_DIR=/var/log/aif
+LOGFILE=$LOG_DIR/aif.log
###### Miscalleaneous functions ######
@@ -19,10 +23,10 @@ usage ()
-h Help: show usage (optional)\n
If the procedurename starts with 'http://' it will be wget'ed. Otherwise it's assumed to be a procedure in the VFS tree
If the procedurename is prefixed with '<modulename>/' it will be loaded from user module <modulename>.\n
-For more info, see the README which you can find in /home/arch/aif/docs\n
-Available procedures on the filesystem:
-`find /home/arch/aif/core/procedures -type f`\n
-`find /home/arch/aif/user/*/procedures -type f 2>/dev/null`"
+For more info, see the README which you can find in /usr/share/aif/docs\n
+Available procedures:
+`find $LIB_CORE/procedures -type f | sed 's#$LIB_CORE##'`\n
+`find $LIB_USER/*/procedures -type f 2>/dev/null | sed 's#$LIB_USER##'`"
[ -n "$procedure" ] && msg="$msg\nProcedure ($procedure) specific options:\n$var_ARGS_USAGE"
echo -e "$msg"
@@ -40,6 +44,7 @@ notify ()
log ()
{
+ mkdir -p $LOG_DIR || die_error "Cannot create log directory"
str="[LOG] `date +"%Y-%m-%d %H:%M:%S"` $@"
echo -e "$str" > $LOG
[ "$LOG_TO_FILE" = 1 ] && echo -e "$str" >> $LOGFILE
@@ -48,6 +53,7 @@ log ()
debug ()
{
+ mkdir -p $LOG_DIR || die_error "Cannot create log directory"
str="[DEBUG] $@"
if [ "$DEBUG" = "1" ]
then
diff --git a/src/core/libs/lib-misc.sh b/src/core/libs/lib-misc.sh
index bd59ce0..01c291f 100644
--- a/src/core/libs/lib-misc.sh
+++ b/src/core/libs/lib-misc.sh
@@ -62,8 +62,9 @@ check_is_in ()
}
-# cleans up file in the runtime directory who can be deleted
+# cleans up file in the runtime directory who can be deleted, make dir first if needed
cleanup_runtime ()
{
+ mkdir -p $RUNTIME_DIR || die_error "Cannot create $RUNTIME_DIR"
rm -rf $RUNTIME_DIR/.dia* &>/dev/null
}
diff --git a/src/runtime/whatsthis.txt b/src/runtime/whatsthis.txt
deleted file mode 100644
index 5a22a0e..0000000
--- a/src/runtime/whatsthis.txt
+++ /dev/null
@@ -1 +0,0 @@
-aif will put files it uses during runtime here. (no source code goes here) \ No newline at end of file