Magellan Linux

Contents of /trunk/mage-buildserver/buildserver-prepare.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2588 - (show annotations) (download) (as text)
Thu Feb 6 13:07:22 2014 UTC (10 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 3488 byte(s)
-initial version
1 #!/bin/bash
2
3 # get configuration
4 BUILDSERVER_CONFIG_DIR="/etc/mage-buildserver"
5 source ${BUILDSERVER_CONFIG_DIR}/buildserver.conf
6
7 source ${BUILDSERVER_LIB_DIR}/buildserver-functions.sh
8
9 # override
10 #BUILDROOT="/mnt/test-buildroot"
11 #BUILD_ARCH=( x86_64 i686 )
12 #BUILDROOT_PROFILE="R11"
13 #SMAGE_SVN_REPO="svn://cvs.magellan-linux.de/smage/trunk"
14 #MAGE_SVN_REPO="svn://cvs.magellan-linux.de/mage/trunk"
15
16 if [ ! -f ${BUILDROOT}/.stamps/mage_svn-checkout-ok ]
17 then
18 die "svn checkout of mage required. run buildserver-svn first."
19 fi
20
21 # create buildroot layout
22 install -d ${BUILDROOT}/.stamps
23 install -d ${BUILDROOT}/tmp/mage-tree
24 for arch in ${BUILD_ARCH[*]} src
25 do
26 install -d ${BUILDROOT}/${arch}
27 install -d ${BUILDROOT}/packages/${arch}
28 install -d ${BUILDROOT}/meta/${arch}
29 done
30
31 #
32 # arch specific
33 #
34 for arch in src ${BUILD_ARCH[*]}
35 do
36 if [ ! -f ${BUILDROOT}/.stamps/${arch}_bootstrap-ok ]
37 then
38 mage-bootstrap \
39 --root ${BUILDROOT}/${arch} \
40 --magerc ${BUILDSERVER_CONFIG_DIR}/profiles/${BUILDROOT_PROFILE}/${arch}/mage.rc \
41 --profile "${BUILDROOT_PROFILE}" \
42 --basesystem "${BOOTSTRAP_BASESYSTEM}" \
43 || die "'${arch}' bootstrap"
44 touch ${BUILDROOT}/.stamps/${arch}_bootstrap-ok
45 else
46 echo "Warning: bootstrap already done for arch '${arch}'"
47 fi
48 done
49
50 # create initial mage-tree for all arches
51 ${BUILDSERVER_LIB_DIR}/buildserver-setup-mage-tree.sh
52
53 for arch in src ${BUILD_ARCH[*]}
54 do
55
56 echo "DEBUG: arch='${arch}' BUILD_ARCH[*]='${BUILD_ARCH[*]}'"
57
58 # honor any proxy settings
59 :> ${BUILDROOT}/${arch}/etc/env.d/01proxy
60 [[ -n ${http_proxy} ]] && echo "http_proxy=\"${http_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy
61 [[ -n ${https_proxy} ]] && echo "https_proxy=\"${https_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy
62 [[ -n ${ftp_proxy} ]] && echo "ftp_proxy=\"${ftp_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy
63 [[ -n ${ftps_proxy} ]] && echo "ftps_proxy=\"${ftps_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy
64 [[ -n ${no_proxy} ]] && echo "no_proxy=\"${no_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy
65 runarch ${arch} env-rebuild || die "${arch} environment rebuild for proxy setup"
66
67 # install subversion
68 if [ ! -f ${BUILDROOT}/.stamps/${arch}_subversion-ok ]
69 then
70 runarch "${arch}" mage install subversion || die "${arch} install subversion"
71 touch ${BUILDROOT}/.stamps/${arch}_subversion-ok
72 else
73 echo "Warning: subversion already installed for arch '${arch}'"
74 fi
75
76 if [[ ${arch} != src ]]
77 then
78 if [ ! -f ${BUILDROOT}/.stamps/${arch}_common-devutils-ok ]
79 then
80 runarch "${arch}" mage install "${BOOTSTRAP_DEVUTILS}" || die "${arch} install '${BOOTSTRAP_DEVUTILS}'"
81 touch ${BUILDROOT}/.stamps/${arch}_common-devutils-ok
82 else
83 echo "Warning: '${BOOTSTRAP_DEVUTILS}' already installed for arch '${arch}'"
84 fi
85
86 # install ccache
87 if [ ! -f ${BUILDROOT}/.stamps/${arch}_ccache-ok ]
88 then
89 runarch "${arch}" mage install ccache || die "${arch} install ccache"
90 touch ${BUILDROOT}/.stamps/${arch}_ccache-ok
91 else
92 echo "Warning: ccache already installed for arch '${arch}'"
93 fi
94 # setup ccache
95 if [ ! -f ${BUILDROOT}/.stamps/${arch}_setup-ccache-ok ]
96 then
97 runarch "${arch}" ccache -M 4G || die "${arch} setup ccache"
98 touch ${BUILDROOT}/.stamps/${arch}_setup-ccache-ok
99 else
100 echo "Warning: ccache already configured for arch '${arch}'"
101 fi
102 fi
103 # cleanup
104 runarch "${arch}" mage clean || die "${arch} mage clean"
105
106 echo "Buildroot for arch '${arch}' sucessfully created."; echo
107 done

Properties

Name Value
svn:executable *