summaryrefslogtreecommitdiff
path: root/unofficial/modules/dieter/procedures
diff options
context:
space:
mode:
authorDieter Plaetinck <dieter@plaetinck.be>2008-12-18 19:43:12 +0100
committerDieter Plaetinck <dieter@plaetinck.be>2008-12-18 19:43:12 +0100
commit442e804b78716c9f9bd5a50076b76af608cf74f2 (patch)
tree34073d294bad70de556350a0fa9b5d792bff6c0e /unofficial/modules/dieter/procedures
parentfc9c98d9c348daa0f082fa59f47516993a70d794 (diff)
'dieter' is now project 'ddeploy' that aims to be usable to many people
Diffstat (limited to 'unofficial/modules/dieter/procedures')
-rw-r--r--unofficial/modules/dieter/procedures/automatic152
1 files changed, 0 insertions, 152 deletions
diff --git a/unofficial/modules/dieter/procedures/automatic b/unofficial/modules/dieter/procedures/automatic
deleted file mode 100644
index 2887e1d..0000000
--- a/unofficial/modules/dieter/procedures/automatic
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/bin/bash
-depend_module yaourt
-depend_procedure core base
-
-var_RUNTIME_PACKAGES="svn"
-
-phase_preparation=(\
- configure \
- intro \
- sysprep \
- msg_manual \
- runtime_network \
- runtime_svn \
- msg_automatic \
- select_source \
- runtime_packages \
- runtime_yaourt)
-
-phase_finish=(configure_home msg_report)
-
-
-worker_intro ()
-{
- notify "Dieter::automatic procedure running..."
-}
-
-
-worker_configure ()
-{
- var_UI_TYPE=${arg_ui_type:-cli}
-}
-
-
-worker_msg_manual ()
-{
- # All things that need to be done manually first
- notify "A few manual things need to happen first..."
-}
-
-
-worker_msg_automatic ()
-{
- notify "**** From now on. everything will be automatic. Enjoy the show!" # not true: you need pass for dm_crypt
-}
-
-
-worker_runtime_network ()
-{
- if ask_yesno "Do you want to (re)-configure your networking?"
- then
- interactive_runtime_network
- else
- infofy "Ok. skipping network config"
- fi
-}
-
-
-worker_runtime_svn ()
-{
- SVN_USERNAME=dieter
- ask_password svn #TODO: if user entered incorrect password, the install process will just fail..
- SVN="svn --username $SVN_USERNAME --password $SVN_PASSWORD"
- SVN_BASE=https://192.168.1.2/svn/repos
- ask_string "Which host are you installing?" desktop-a7nx8
- TARGET_HOST=$ANSWER_STRING #TODO: allow passing cmdline argument (and check with svn info). handle -z $ANSWER_STRING
- _accept_ssl_cert
-}
-
-
-worker_prepare_disks ()
-{
- modprobe dm-crypt || die_error "Cannot modprobe dm-crypt"
- modprobe -q aes-x86-64 || modprobe aes-i586 || die_error "Cannot modprobe aes-x86-64 or aes-i586"
-
- # Cleanup whatever state the disk is in (that includes previous, failed runs of this script)
- umount /dev/mapper/cryptpool-* 2>/dev/null
- vgremove -f cryptpool 2>/dev/null
- pvremove /dev/mapper/sda2_crypt 2>/dev/null
- cryptsetup luksClose sda2_crypt 2>/dev/null
- dd if=/dev/urandom of=/dev/sda bs=512 count=1
-
- #TODO: integrate this stuff into the functions in the libs (process_partitions and filesystems, rollback and bailout if needed) + do error checking and handling
- #NOTE: i don't think i should quote to prevent globbing, but it does seem to help i think (hard to check as resource is busy and you can't reload kernel partition tables)
- sfdisk /dev/sda 2>&1 | grep -v 'not have an msdos signature' << EOF
-,10,L,'*'
-,,L
-EOF
- [ $? -gt 0 ] && die_error "Could not sfdisk /dev/sda. Return code is $?"
- #TODO: when sfdisk is done, i still have an invalid partition table?
- cryptsetup --batch-mode -c aes-xts-plain -y -s 512 luksFormat /dev/sda2 || die_error "Cannot cryptsetup luksFormat /dev/sda2"
- cryptsetup luksOpen /dev/sda2 sda2_crypt || die_error "Cannot cryptsetup luksOpen /dev/sda2"
- pvcreate /dev/mapper/sda2_crypt || die_error "Cannot pvcreate the PV on the encrypted blockdevice"
- vgcreate cryptpool /dev/mapper/sda2_crypt || die_error "Cannot create the VG an the PV on the encrypted blockdevice"
- lvcreate -L 2G -n swap cryptpool && \
- lvcreate -L 500M -n tmp cryptpool && \
- lvcreate -L 10G -n home cryptpool && \
- lvcreate -L 10G -n root cryptpool && \
- lvcreate -L 3G -n var cryptpool || die_error "Could not create at least one of the LV's"
- for i in home root tmp var
- do
- mkdir -p $var_TARGET_DIR/$i
- mke2fs -j /dev/cryptpool/$i && mount /dev/cryptpool/$i $var_TARGET_DIR/$i || die_error "Could not format or mount $var_TARGET_DIR/$i"
- done
-
- # TODO: swapon the thing and don't forget to swapoff it in the cleanup part above
- # TODO: fstab? auto-add to fstab with libs? auto mkdir's on target_dir?
- true
-}
-
-worker_package_list ()
-{
- $SVN export $SVN_BASE/ddm-configs/$TARGET_HOST/trunk/package-list $var_PKG_FILE || die_error "Could not export package list!"
- # cat -> there are newlines in it -> var=`echo $var` -> not anymore :)
- TARGET_PACKAGES=`cat $var_PKG_FILE` && TARGET_PACKAGES=`echo $TARGET_PACKAGES` || die_error "Could not cat package list. THIS SHOULD NEVER HAPPEN."
- true
-}
-
-
-worker_install_packages ()
-{
- target_prepare_pacman core extra community #TODO: it would be better if this was a separate worker, i think
- [ -z "$TARGET_PACKAGES" ] && die_error "No packages listed to be installed!"
- installpkg
-}
-
-
-worker_configure_home ()
-{
- #checkout from svn
- true
-}
-
-
-worker_set_clock ()
-{
- #timezone="Europe/Brussels"
- #Not doing anything. hwclock is set already and configs are coming from svn anyway..
- true
-}
-
-
-worker_install_bootloader ()
-{
- install-grub /dev/sda
-}
-
-
-worker_runtime_yaourt ()
-{
- _yaourt_replace_pacman
-}
-