Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2858 - (hide annotations) (download) (as text)
Wed Feb 11 12:31:34 2015 UTC (9 years, 3 months ago) by niro
File MIME type: application/x-sh
File size: 2847 byte(s)
-make SCP_COMMAND variable
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     echo "SMAGEFILE=\"${SMAGEFILE}\"" > ${BUILDROOT}/${arch}/.runrc
19     echo "PKG_SCP_REPO=\"${PKG_SCP_REPO}\"" >> ${BUILDROOT}/${arch}/.runrc
20     echo "BUILD_ARCH=\"${arch}\"" >> ${BUILDROOT}/${arch}/.runrc
21 niro 2858 echo "SCP_COMMAND=\"${SCP_COMMAND}\"" >> ${BUILDROOT}/${arch}/.runrc
22 niro 2733 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 niro 2858 ${SCP_COMMAND} "${i}" ${PKG_SCP_REPO}/${BUILD_ARCH}/
87 niro 2733 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 2837 if [[ ${PKGTYPE} != virtual ]]
101     then
102     TARGET_PKGFILE+=( "${PKGDIR}/${PNAME}-${PVER}-${BUILD_ARCH}$(print_distrotag)-${PBUILD}.${PKGSUFFIX}" )
103     fi
104 niro 2733
105     # restore smage environment
106     split_restore_variables
107     done
108     # unset all saved smage variables
109     split_unset_variables
110     else
111 niro 2837 if [[ ${PKGTYPE} != virtual ]]
112     then
113     TARGET_PKGFILE=( "${PKGDIR}/${PNAME}-${PVER}-${BUILD_ARCH}$(print_distrotag)-${PBUILD}.${PKGSUFFIX}" )
114     fi
115 niro 2733 fi
116    
117 niro 2772 for i in ${TARGET_PKGFILE[*]}
118 niro 2733 do
119     if [ ! -f ${i} ]
120     then
121     die "${i} is missing"
122     else
123 niro 2858 ${SCP_COMMAND} "${i}" ${PKG_SCP_REPO}/${BUILD_ARCH}/
124 niro 2733 fi
125     done
126     fi
127    
128     EOF
129     runarch-script ${arch} .runrc || die "${arch} package build failed"
130     done