2 START_TIME
=$
(date -u +"%H:%M")
4 UPLOAD_START_TIME
="N/A"
7 if [ "$2" != "" ]; then
10 export LANG
=en_US.ISO8859-1
13 export SP
=$
(dirname $0)
15 source $SP/setup initial
18 #-- Update sources -----------------------------------------------------------
19 printi
"Starting $LANG nightly build on $CFG_NAME..."
22 printe
"Updating sources FAILED! ABORTING SCRIPT!"
24 STOP_TIME
=$
(date -u +"%H:%M")
26 mail_start
"FAILED COMPLETELY"
28 mail_write
"Updating sources FAILED! Please see attached log."
30 mail_send
"-a$LOG_BASE/update.log"
37 #-- Pre-build crosstools -----------------------------------------------------
38 if [ "$CFG_PREBUILD_TOOLCHAIN_PACKAGE" != "none" ]; then
39 # Place the package indicated as crosstools as first package
40 CFG_PACKAGES
=($CFG_PREBUILD_TOOLCHAIN_PACKAGE ${CFG_PACKAGES[@]})
43 #-- Build packages -----------------------------------------------------------
46 for package
in $CFG_PACKAGES; do
47 printe
"package $package[(ws:.:)1]-$package[(ws:.:)3]"
48 zsh
$SP/pkg
/$package[(ws
:.
:)1]-$package[(ws
:.
:)3]
50 printe
"Build of package '"$package[(ws
:.
:)1]-$package[(ws
:.
:)3]"' FAILED."
51 failed
=( $failed $package[(ws
:.
:)1]-$package[(ws
:.
:)3] )
53 printi
"Build of package '"$package[(ws
:.
:)1]-$package[(ws
:.
:)3]"' completed successfully."
54 succeeded
=( $succeeded $package[(ws
:.
:)1]-$package[(ws
:.
:)3] )
58 #-- Cleanup ------------------------------------------------------------------
63 #-- Compress log files -------------------------------------------------------
64 printi
"Compressing log files..."
69 md5sum $file.bz2
>$file.bz2.md5
73 STOP_TIME
=$
(date -u +"%H:%M")
75 #-- Fix permissions ----------------------------------------------------------
76 chmod -R o-wx
,g
+wr Archive
/
77 find Archive
/ -type d |
xargs chmod a
+s
,g
+rwx
,o
+x
79 #-- Upload (backup and distribution) -----------------------------------------
80 printi
"Uploading archives..."
81 if [ "$CFG_UPLOAD_ENABLE" = "yes" ]; then
82 UPLOAD_START_TIME
=$
(date -u +"%H:%M")
83 if [ "$CFG_BACKUP_ENABLE" = "yes" ]; then
84 rsync
-avz -e "ssh -i $CFG_BS_KEY" Archive
/ $CFG_BS_USER@
$CFG_BS:$CFG_BS_DIRECTORY
86 rsync
-avz -e "ssh -i $CFG_DS_KEY" Archive
/ $CFG_DS_USER@
$CFG_DS:$CFG_DS_DIRECTORY
87 UPLOAD_STOP_TIME
=$
(date -u +"%H:%M")
90 #-- Generate report ----------------------------------------------------------
91 if [ "$CFG_MAIL_ENABLE" = "yes" ]; then
92 if [ -z "$failed" ]; then
93 RESULT
="completed successfully"
94 elif [ -z "$succeeded" ]; then
95 RESULT
="FAILED COMPLETELY"
97 RESULT
="FAILED PARTLY"
103 if [ ! -z "$failed" ]; then
105 mail_write
"The following packages FAILED to build completely:"
106 for package
in $failed; do
108 bzcat
$LOG_BASE/$package.log.bz2 |
tail -100 >/tmp
/_aros_build_log_
$package
109 ATTACH
=( $ATTACH -a/tmp
/_aros_build_log_
$package )
112 mail_write
"Please see the attached shortened logs or the full logs at"
113 NIGHTLY
=$
(basename $CFG_DS_DIRECTORY)
114 mail_write
"http://www.aros.org/downloads/$NIGHTLY/$VERSION/logs/ for details."
116 if [ ! -z "$succeeded" ]; then
118 mail_write
"The following packages were built successfully:"
119 for package
in $succeeded; do
120 mail_write
"$package"
123 mail_write
"The following archives were created:"
124 mail_write
"$( find $ARCHIVE_BASE -type f -not -path '*/logs/*' -not -name '*.md5' | xargs -n 1 basename )"
126 mail_write
"The archives will be available for download from http://www.aros.org/download.php."
131 if [ ! -z "$failed" ]; then
132 rm -rf /tmp
/_aros_build_log_
*
137 #-- Remove uploaded files ----------------------------------------------------
138 if [[ "$CFG_UPLOAD_ENABLE" = "yes" && "$CFG_UPLOAD_PRUNE" = "yes" ]]; then
139 # This is the old way.
141 # The rm below is UNSAFE. If ARCHIVE_ROOT is undefined somehow, bye-bye
142 # to everything the build user can delete, from / on down.
143 #rm -rf $(ARCHIVE_ROOT)/*