summaryrefslogtreecommitdiffstats
path: root/setup_env.sh
blob: ace578da32d63a3dfed911f24eb88303dde4d0d9 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/bash
#  Script to setup the LinHES development enviroment
# ./setup_env.sh ( i586|i686|x86_64 )  devID 
# This script assumes that /tmp is usable.
MIRROR_DIR=../pkg_repo


function arg_check {
case $1 in
    i586) ARCH=$1 ;;
    i686) ARCH=$1 ;;
    x86_64) ARCH=$1 ;;
    *)
        echo "invalid arch specified"
        echo "valid options include i586, i686 and x86_64"
        echo "EX:  ./setup_env.sh i686 "
        exit 1
        ;;
    esac

if [ ! x$2 = x ]
then
	#check if developer template is present
	if [ -d templates/developers/$2 ]
	then
		echo "found the template for $2 "
		FOUNDTEMPLATE="TRUE"
	else
		echo "couldn't find templates/developers/$2"
		exit 2
	fi
fi

}


function pacman_check {
    which pacman
    status=$?
    if [ ! $status = 0 ]
    then
        echo "Can not find pacman in the path, please install pacman"
        exit 1
    fi
}



#-----------------------------------------------
arg_check $1 $2
pacman_check


cd build_tools/clarch
./setup_links.sh
cd -
#create the local pkg dir's for mirror and creating pkg's
[ -e $MIRROR_DIR     ] || mkdir -p $MIRROR_DIR
for i in i586 i686 x86_64
do
    [ -e $MIRROR_DIR/$i     ] || mkdir -p $MIRROR_DIR/$i
    for y in core extra core-testing extra-testing chroot-devel
    do
       [ -e $MIRROR_DIR/$i/$y     ] || mkdir -p $MIRROR_DIR/$i/$y
    done
done
[ -e $MIRROR_DIR/sources     ] || mkdir -p $MIRROR_DIR/sources
[ -e $MIRROR_DIR/packages    ] || mkdir -p $MIRROR_DIR/packages

#correct pacman.conf to use the correct ARCH to build the chroot
sed -e "s/REPLACEME/$ARCH/g" templates/pacman.conf.chroot > /tmp/pacman.conf.chroot

#create the chroot
./mkarchroot -f  -C /tmp/pacman.conf.chroot ../build_root.$ARCH base base-devel cdrkit unison openssh
status=$?
if [ !  $status  = 0 ]
then
    printf "\n"
    printf "%s\n" "********************************************************"
    printf "*** %-48s ***\n" "      An error occured creating the chroot"
    printf "%s\n" "********************************************************"
    exit 1
fi
#clear out the default resolve.con
mv -f ../build_root.$ARCH/etc/resolv.conf ../build_root.$ARCH/etc/resolv.conf.orig

if [ x$FOUNDTEMPLATE = xTRUE ]
then
	#check for login run
	if [ -f templates/developers/$2/loginrun.sh ]
	then
		cp -f templates/developers/$2/loginrun.sh ../build_root.$ARCH/root/loginrun.sh
	fi

	if [ -f templates/developers/$2/custom_chroot.sh ]
	then
		cd templates/developers/$2
		./custom_chroot.sh $ARCH
		cd -
	fi
fi

#create custom enter_dev_chroot.sh script
#sed -e "s/REPLACEME/$ARCH/g" templates/enter_dev_chroot.sh > ../enter_dev_chroot.$ARCH.sh
cp  templates/enter_dev_chroot.sh ../enter_dev_chroot.$ARCH
chmod 755 ../enter_dev_chroot.$ARCH

printf "%s\n" "********************************************************"
printf "** %-50s **\n" "    To enter the chroot (build_root.$ARCH) run:"
printf "** %-50s **\n" "            cd .."
printf "** %-50s **\n" "            ./enter_dev_chroot.$ARCH"
printf "%s\n" "********************************************************"

#copy makepkg.conf into the chroot
sed -e "s/i686/$ARCH/g" templates/makepkg.conf >  ../build_root.$ARCH/etc/makepkg.conf
#copy pacman.conf into the chroot
sed -e "s/REPLACEME/$ARCH/g" templates/pacman.conf.chroot > ../build_root.$ARCH/etc/pacman.conf

cd ..