Annotation of /trunk/mage-buildserver/buildserver-compile-smage.sh
Parent Directory | Revision Log
Revision 2747 -
(hide annotations)
(download)
(as text)
Wed Aug 13 14:02:51 2014 UTC (9 years, 9 months ago) by niro
File MIME type: application/x-sh
File size: 2471 byte(s)
Wed Aug 13 14:02:51 2014 UTC (9 years, 9 months ago) by niro
File MIME type: application/x-sh
File size: 2471 byte(s)
-split off helper functions
1 | niro | 2588 | #!/bin/bash |
2 | |||
3 | # get configuration | ||
4 | BUILDSERVER_CONFIG_DIR="/etc/mage-buildserver" | ||
5 | niro | 2747 | BUILDSERVER_CACHE_DIR="/var/cache/mage-buildserver" |
6 | niro | 2588 | source ${BUILDSERVER_CONFIG_DIR}/buildserver.conf |
7 | |||
8 | source ${BUILDSERVER_LIB_DIR}/buildserver-functions.sh | ||
9 | |||
10 | # override | ||
11 | #BUILDROOT="/mnt/test-buildroot" | ||
12 | #BUILD_ARCH=( x86_64 i686 ) | ||
13 | #BUILDROOT_PROFILE="R11" | ||
14 | #SMAGE_SVN_REPO="svn://cvs.magellan-linux.de/smage/trunk" | ||
15 | #MAGE_SVN_REPO="svn://cvs.magellan-linux.de/mage/trunk" | ||
16 | |||
17 | SMAGEFILE="$1" | ||
18 | |||
19 | if [[ -z ${SMAGEFILE} ]] | ||
20 | then | ||
21 | die "no smage file given. call '$(basename $0) with/relative/path/from/buildroot/svn/smage/to/smagefile'" | ||
22 | fi | ||
23 | |||
24 | if [[ ! -f ${BUILDROOT}/svn/smage/${SMAGEFILE} ]] | ||
25 | then | ||
26 | die "given smage file does not exist" | ||
27 | fi | ||
28 | |||
29 | if [ ! -f ${BUILDROOT}/.stamps/mage_svn-checkout-ok ] | ||
30 | then | ||
31 | die "svn checkout of mage required. run buildserver-svn first." | ||
32 | fi | ||
33 | if [ ! -f ${BUILDROOT}/.stamps/smage_svn-checkout-ok ] | ||
34 | then | ||
35 | die "svn checkout of smage required. run buildserver-svn first." | ||
36 | fi | ||
37 | for arch in ${BUILD_ARCH[*]} src | ||
38 | do | ||
39 | if [ ! -f ${BUILDROOT}/.stamps/${arch}_bootstrap-ok ] | ||
40 | then | ||
41 | die "bootstrap of buildsystem required for arch '${arch}'. run buildserver-prepare first." | ||
42 | fi | ||
43 | if [ ! -f ${BUILDROOT}/.stamps/${arch}_initial-mage-tree-ok ] | ||
44 | then | ||
45 | die "initial regen of mage-tree required for '${arch}'. run buildserver-setup-mage-tree first." | ||
46 | fi | ||
47 | done | ||
48 | for arch in ${BUILD_ARCH[*]} | ||
49 | do | ||
50 | if [ ! -f ${BUILDROOT}/.stamps/${arch}_common-devutils-ok ] | ||
51 | then | ||
52 | die "common-devutils package for '${arch}' not installed. run buildserver-prepare first." | ||
53 | fi | ||
54 | done | ||
55 | |||
56 | # create src package tarball | ||
57 | runarch src smage2 --create-src-tarball /var/cache/mage/smage/${SMAGEFILE} || die "src creating src-tarball" | ||
58 | |||
59 | for arch in ${BUILD_ARCH[*]} | ||
60 | do | ||
61 | echo "SMAGEFILE=\"${SMAGEFILE}\"" > ${BUILDROOT}/${arch}/.runrc | ||
62 | niro | 2747 | echo "BUILDSERVER_LIB_DIR=\"${BUILDSERVER_LIB_DIR}\"" >> ${BUILDROOT}/${arch}/.runrc |
63 | cat >> ${BUILDROOT}/${arch}/.runrc << 'EOF' | ||
64 | niro | 2588 | build_retval=0 |
65 | niro | 2747 | ${BUILDSERVER_LIB_DIR}/buildserver-build-depends.sh ${SMAGEFILE} |
66 | ${BUILDSERVER_LIB_DIR}/buildserver-build-install-prerequisites.sh ${SMAGEFILE} | ||
67 | ${BUILDSERVER_LIB_DIR}/buildserver-build.sh ${SMAGEFILE} || build_retval=1 | ||
68 | ${BUILDSERVER_LIB_DIR}/buildserver-build-uninstall-prerequisites.sh ${SMAGEFILE} | ||
69 | niro | 2588 | |
70 | niro | 2747 | exit ${build_retval} |
71 | niro | 2588 | EOF |
72 | runarch-script ${arch} .runrc || die "${arch} package build failed" | ||
73 | if [ -f ${BUILDROOT}/${arch}/.runrc ] | ||
74 | then | ||
75 | rm ${BUILDROOT}/${arch}/.runrc | ||
76 | fi | ||
77 | done | ||
78 | |||
79 | echo | ||
80 | echo "smage '${SMAGEFILE}' sucessfully build on all arches." |