summaryrefslogtreecommitdiff
path: root/src/lib/lib-software.sh
blob: 4537276cb75c0b7548e17120a8b68cf9839c2533 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/sh


# run_mkinitcpio() taken from setup. adapted a lot
# runs mkinitcpio on the target system, displays output
run_mkinitcpio()  
{
	target_special_fs on

	run_background mkinitcpio "chroot $TARGET_DIR /sbin/mkinitcpio -p kernel26" /tmp/mkinitcpio.log
	follow_progress "Rebuilding initcpio images ..." /tmp/mkinitcpio.log
	wait_for mkinitcpio

	target_special_fs off

	# alert the user to fatal errors
	[ $(cat /tmp/.mkinitcpio-retcode) -ne 0 ] && show_warning "MKINITCPIO FAILED - SYSTEM MAY NOT BOOT" "/tmp/mkinitcpio.log" text
}


# installpkg(). taken from setup. modified bigtime
# performs package installation to the target system
installpkg() {
	notify "Package installation will begin now.  You can watch the output in the progress window. Please be patient." 0 0
	target_specialfs on
	run_background pacman-installpkg "$PACMAN_TARGET -S $PACKAGES" /tmp/pacman.log
	follow_progress " Installing... Please Wait " /tmp/pacman.log

        if [ $(cat /tmp/.pacman-retcode) -ne 0 ]; then
            echo -e "\nPackage Installation FAILED." >>/tmp/pacman.log
        else
            echo -e "\nPackage Installation Complete." >>/tmp/pacman.log
        fi
        rm /tmp/setup-pacman-running

	wait_for pacman-installpkg
	
    local _result=''
    if [ $(cat /tmp/.pacman-retcode) -ne 0 ]; then
        _result="Installation Failed (see errors below)"
    else
        _result="Installation Complete"
    fi
    rm /tmp/.pacman-retcode

    DIALOG --title "$_result" --exit-label "Continue" \
        --textbox "/tmp/pacman.log" 18 70 || return 1     

    target_specialfs off

    sync
}

# auto_locale(). taken from setup
# enable glibc locales from rc.conf and build initial locale DB
auto_locale() 
{
    for i in $(grep "^LOCALE" ${TARGET_DIR}/etc/rc.conf | sed -e 's/.*="//g' -e's/\..*//g'); do
        sed -i -e "s/^#$i/$i/g" ${TARGET_DIR}/etc/locale.gen
    done
    DIALOG --infobox "Generating glibc base locales..." 4 40
    chroot ${TARGET_DIR} locale-gen >/dev/null
}