Magellan Linux

Annotation of /trunk/mage-buildserver/buildserver-upload-smage.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2802 - (hide annotations) (download) (as text)
Thu Aug 28 11:25:03 2014 UTC (9 years, 8 months ago) by niro
File MIME type: application/x-sh
File size: 2661 byte(s)
-removed commented cruft
1 niro 2588 #!/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     SMAGEFILE="$1"
10    
11     if [[ -z ${SMAGEFILE} ]]
12     then
13     die "no smage file given. call '$(basename $0) with/relative/path/from/buildroot/svn/smage/to/smagefile'"
14     fi
15    
16 niro 2801 for arch in src $(enum-build-arch-types)
17 niro 2733 do
18    
19     echo "SMAGEFILE=\"${SMAGEFILE}\"" > ${BUILDROOT}/${arch}/.runrc
20     echo "PKG_SCP_REPO=\"${PKG_SCP_REPO}\"" >> ${BUILDROOT}/${arch}/.runrc
21     echo "BUILD_ARCH=\"${arch}\"" >> ${BUILDROOT}/${arch}/.runrc
22     cat >> ${BUILDROOT}/${arch}/.runrc << "EOF"
23     if [ -f /etc/rc.d/init.d/functions ]
24     then
25     source /etc/rc.d/init.d/functions
26     else
27     die "/etc/rc.d/init.d/functions not found"
28     fi
29     if [ -f /etc/mage.rc.global ]
30     then
31     source /etc/mage.rc.global
32     else
33     die "/etc/mage.rc.global not found"
34     fi
35     if [ -f /etc/mage.rc ]
36     then
37     source /etc/mage.rc
38     else
39     die "/etc/mage.rc not found"
40     fi
41     if [ -f ${MLIBDIR}/mage4.functions.sh ]
42     then
43     source ${MLIBDIR}/mage4.functions.sh
44     else
45     die "${MLIBDIR}/mage4.functions.sh not found"
46     fi
47     if [ -f ${MLIBDIR}/smage2.functions.sh ]
48     then
49     source ${MLIBDIR}/smage2.functions.sh
50     else
51     die "${MLIBDIR}/smage2.functions.sh not found"
52     fi
53    
54 niro 2770 env-rebuild
55     source /etc/profile
56    
57 niro 2733 # override die function
58     die()
59     {
60     echo "ERROR: $@"
61     return 1
62     }
63    
64     load_mage_features
65     mage_setup
66    
67 niro 2771 if [ -f ${SMAGESCRIPTSDIR}/${SMAGEFILE} ]
68 niro 2733 then
69 niro 2773 # be silent
70     FVERBOSE=off \
71     SILENT=1 \
72 niro 2771 smagesource ${SMAGESCRIPTSDIR}/${SMAGEFILE}
73 niro 2733 else
74 niro 2771 die "smagefile '${SMAGESCRIPTSDIR}/${SMAGEFILE}' not found."
75 niro 2733 fi
76    
77     if [[ ${BUILD_ARCH} = src ]]
78     then
79     TARGET_SRC_PKGFILE=( "/var/cache/mage/src-packages/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX}" )
80     for i in ${TARGET_SRC_PKGFILE}
81     do
82     if [ ! -f ${i} ]
83     then
84     die "${i} is missing"
85     else
86     scp "${i}" ${PKG_SCP_REPO}/${BUILD_ARCH}/
87     fi
88     done
89     else
90     # honor split packages
91     if [[ -n ${SPLIT_PACKAGES} ]]
92     then
93     split_save_variables
94     for subpackage in ${SPLIT_PACKAGES}
95     do
96     # get the right variables for the split
97     export PNAME="${subpackage}"
98     split_info_${PNAME}
99    
100 niro 2771 TARGET_PKGFILE+=( "${PKGDIR}/${PNAME}-${PVER}-${BUILD_ARCH}$(print_distrotag)-${PBUILD}.${PKGSUFFIX}" )
101 niro 2733
102     # restore smage environment
103     split_restore_variables
104     done
105     # unset all saved smage variables
106     split_unset_variables
107     else
108 niro 2771 TARGET_PKGFILE=( "${PKGDIR}/${PNAME}-${PVER}-${BUILD_ARCH}$(print_distrotag)-${PBUILD}.${PKGSUFFIX}" )
109 niro 2733 fi
110    
111 niro 2772 for i in ${TARGET_PKGFILE[*]}
112 niro 2733 do
113     if [ ! -f ${i} ]
114     then
115     die "${i} is missing"
116     else
117     scp "${i}" ${PKG_SCP_REPO}/${BUILD_ARCH}/
118     fi
119     done
120     fi
121    
122     EOF
123     runarch-script ${arch} .runrc || die "${arch} package build failed"
124     done