cron-script.sh
author chrisk
Thu, 22 Apr 2010 11:27:41 +0000
changeset 17903 59c41f11ecf8
parent 17750 73ddfd53952a
child 17951 f079fefb78e2
permissions -rwxr-xr-x
2010-04-22 Christian Kelly <[email protected]> * cron-script.sh: Adjust to suit new scm repo layout.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
     1
#!/bin/bash
3f67e766856b move remaining files
laca
parents:
diff changeset
     2
3f67e766856b move remaining files
laca
parents:
diff changeset
     3
# Sample usage in crontab:
3f67e766856b move remaining files
laca
parents:
diff changeset
     4
# Run, Mon-Fri at 1:30am. Add to build user's crontab.
9401
72746c79ffd2 update path names to match new svn structure
laca
parents: 9398
diff changeset
     5
#   30 1 * * 1-5 . /jds/cbe/bin/env.sh; cd /jds/spec-files; I_KNOW_WHAT_IM_DOING=yes ./cron-script.sh
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
     6
#
3f67e766856b move remaining files
laca
parents:
diff changeset
     7
# The same with a jail. Add to root's crontab. Example assumes 'gbuild' is the
3f67e766856b move remaining files
laca
parents:
diff changeset
     8
# build user
9401
72746c79ffd2 update path names to match new svn structure
laca
parents: 9398
diff changeset
     9
#   30 1 * * 1-5 /usr/sbin/chroot /path/to/jail/root /usr/bin/su - gbuild -c ". /jds/cbe/bin/env.sh; cd /jds/spec-files; I_KNOW_WHAT_IM_DOING=yes ./cron-script.sh"
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
    10
#
3f67e766856b move remaining files
laca
parents:
diff changeset
    11
# $Id$
3f67e766856b move remaining files
laca
parents:
diff changeset
    12
3f67e766856b move remaining files
laca
parents:
diff changeset
    13
12735
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
    14
# Determine whether to do debug or non-debug build.
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
    15
# On 'even' days of the week (Sun, Tues, Thur, Sat) to a debug build.
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
    16
DEBUG_BUILD=
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
    17
DEBUG_DIR=
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
    18
DOW=$[ $(date +"%w") % 2 ]
13278
2d1dbf286979 2008-08-26 Dave Lin <[email protected]>
davelam
parents: 13055
diff changeset
    19
#if [ $DOW -eq "0" ]; then
2d1dbf286979 2008-08-26 Dave Lin <[email protected]>
davelam
parents: 13055
diff changeset
    20
#  DEBUG_BUILD="--with-debug"
2d1dbf286979 2008-08-26 Dave Lin <[email protected]>
davelam
parents: 13055
diff changeset
    21
#  DEBUG_DIR=.dbg
2d1dbf286979 2008-08-26 Dave Lin <[email protected]>
davelam
parents: 13055
diff changeset
    22
#fi
12735
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
    23
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
    24
OSrel=`uname -r | cut -f2 -d.`
3f67e766856b move remaining files
laca
parents:
diff changeset
    25
OSarch_full=`uname -p`
3f67e766856b move remaining files
laca
parents:
diff changeset
    26
if [ "x$OSarch_full" = "xsparc" ]; then
3f67e766856b move remaining files
laca
parents:
diff changeset
    27
    OSarch=s
3f67e766856b move remaining files
laca
parents:
diff changeset
    28
else
3f67e766856b move remaining files
laca
parents:
diff changeset
    29
    OSarch_full=x86
3f67e766856b move remaining files
laca
parents:
diff changeset
    30
    OSarch=x
3f67e766856b move remaining files
laca
parents:
diff changeset
    31
fi
3f67e766856b move remaining files
laca
parents:
diff changeset
    32
17026
fcb54223ddba 2009-11-25 Christian Kelly <[email protected]>
chrisk
parents: 16090
diff changeset
    33
GNOME_VER="2.30"
14453
fcdf5dd70dd6 switch from gnome2.24 to 2.26
davelam
parents: 13535
diff changeset
    34
PRODNAME="G${GNOME_VER}"
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
    35
3f67e766856b move remaining files
laca
parents:
diff changeset
    36
# directory to copy rpms/srpms to on the remote host
14453
fcdf5dd70dd6 switch from gnome2.24 to 2.26
davelam
parents: 13535
diff changeset
    37
RPMSDIR=/sgnome/pkgs/gnome${GNOME_VER}/S${OSrel}${OSarch}/nightly${DEBUG_DIR}
fcdf5dd70dd6 switch from gnome2.24 to 2.26
davelam
parents: 13535
diff changeset
    38
LOCKFILE=/sgnome/pkgs/gnome${GNOME_VER}/S${OSrel}${OSarch}/.build.lock
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
    39
3f67e766856b move remaining files
laca
parents:
diff changeset
    40
# reply-to/to address to send the build log as/to
3f67e766856b move remaining files
laca
parents:
diff changeset
    41
[email protected]
3f67e766856b move remaining files
laca
parents:
diff changeset
    42
[email protected]
3f67e766856b move remaining files
laca
parents:
diff changeset
    43
3f67e766856b move remaining files
laca
parents:
diff changeset
    44
# date format appended to the Release tag in the spec files
3f67e766856b move remaining files
laca
parents:
diff changeset
    45
# (passed to the date command on the cmd line)
3f67e766856b move remaining files
laca
parents:
diff changeset
    46
RELEASE_DATE_FMT="%y%m%d"
3f67e766856b move remaining files
laca
parents:
diff changeset
    47
3f67e766856b move remaining files
laca
parents:
diff changeset
    48
# date format used for naming the directories
3f67e766856b move remaining files
laca
parents:
diff changeset
    49
DIR_DATE_FMT="%Y-%m-%d"
3f67e766856b move remaining files
laca
parents:
diff changeset
    50
3f67e766856b move remaining files
laca
parents:
diff changeset
    51
RELEASE_DATE=`date +$RELEASE_DATE_FMT`
3f67e766856b move remaining files
laca
parents:
diff changeset
    52
DIR_DATE=`date +$DIR_DATE_FMT`
3f67e766856b move remaining files
laca
parents:
diff changeset
    53
3f67e766856b move remaining files
laca
parents:
diff changeset
    54
# document root of the web server
9652
15429a5ffbbd 2007-04-03 Damien Carbery <[email protected]>
dcarbery
parents: 9648
diff changeset
    55
WEBROOT=/net/jdsserv.ireland/webroots/jds.ireland/htdocs
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
    56
3f67e766856b move remaining files
laca
parents:
diff changeset
    57
# subdir to keep logs and reports on the webserver
14453
fcdf5dd70dd6 switch from gnome2.24 to 2.26
davelam
parents: 13535
diff changeset
    58
WEBDIR=build_reports/gnome${GNOME_VER}/nightly/S${OSrel}${OSarch}
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
    59
LOGDIR=$WEBDIR/$DIR_DATE
3f67e766856b move remaining files
laca
parents:
diff changeset
    60
3f67e766856b move remaining files
laca
parents:
diff changeset
    61
# ------------ nothing to configure below this line --------------
3f67e766856b move remaining files
laca
parents:
diff changeset
    62
3f67e766856b move remaining files
laca
parents:
diff changeset
    63
if [ "x$I_KNOW_WHAT_IM_DOING" != xyes ]; then
3f67e766856b move remaining files
laca
parents:
diff changeset
    64
    echo " ,---------------------------------------------------------------."
3f67e766856b move remaining files
laca
parents:
diff changeset
    65
    echo "| This script is intended to be run from cron for producing      |"
3f67e766856b move remaining files
laca
parents:
diff changeset
    66
    echo "| official nightly builds. It will mail responsible engineers    |"
3f67e766856b move remaining files
laca
parents:
diff changeset
    67
    echo "| if any build failure occurs, sends build reports to            v"
3f67e766856b move remaining files
laca
parents:
diff changeset
    68
    echo "| RE and update web pages."
3f67e766856b move remaining files
laca
parents:
diff changeset
    69
    echo "|"
3f67e766856b move remaining files
laca
parents:
diff changeset
    70
    echo "| Don't run it unless you know what you are doing. Thanks."
3f67e766856b move remaining files
laca
parents:
diff changeset
    71
    echo "|"
3f67e766856b move remaining files
laca
parents:
diff changeset
    72
    echo "| Mail [email protected] if you need more info."
3f67e766856b move remaining files
laca
parents:
diff changeset
    73
    echo "\`------>                                                         +"
3f67e766856b move remaining files
laca
parents:
diff changeset
    74
    exit 1
3f67e766856b move remaining files
laca
parents:
diff changeset
    75
fi
3f67e766856b move remaining files
laca
parents:
diff changeset
    76
3f67e766856b move remaining files
laca
parents:
diff changeset
    77
MYNAME="$0"
3f67e766856b move remaining files
laca
parents:
diff changeset
    78
MYDIR=$(cd `dirname $0`; pwd)
3f67e766856b move remaining files
laca
parents:
diff changeset
    79
3f67e766856b move remaining files
laca
parents:
diff changeset
    80
if [ "x$1" != x ]; then
3f67e766856b move remaining files
laca
parents:
diff changeset
    81
    SPECDIR="$1"
3f67e766856b move remaining files
laca
parents:
diff changeset
    82
else
3f67e766856b move remaining files
laca
parents:
diff changeset
    83
    SPECDIR="$MYDIR"
3f67e766856b move remaining files
laca
parents:
diff changeset
    84
fi
3f67e766856b move remaining files
laca
parents:
diff changeset
    85
3f67e766856b move remaining files
laca
parents:
diff changeset
    86
# remove temporary files on exit
3f67e766856b move remaining files
laca
parents:
diff changeset
    87
clean_up () {
3f67e766856b move remaining files
laca
parents:
diff changeset
    88
  case "$MYNAME" in
3f67e766856b move remaining files
laca
parents:
diff changeset
    89
  /tmp/cron-script.copy.* )
3f67e766856b move remaining files
laca
parents:
diff changeset
    90
        rm -f $MYNAME
3f67e766856b move remaining files
laca
parents:
diff changeset
    91
        ;;
3f67e766856b move remaining files
laca
parents:
diff changeset
    92
  esac
3f67e766856b move remaining files
laca
parents:
diff changeset
    93
  exit
3f67e766856b move remaining files
laca
parents:
diff changeset
    94
}
3f67e766856b move remaining files
laca
parents:
diff changeset
    95
3f67e766856b move remaining files
laca
parents:
diff changeset
    96
trap clean_up HUP INT TERM QUIT EXIT
3f67e766856b move remaining files
laca
parents:
diff changeset
    97
3f67e766856b move remaining files
laca
parents:
diff changeset
    98
# make a copy of the cron script in /tmp and execute that in order to
3f67e766856b move remaining files
laca
parents:
diff changeset
    99
# avoid disasters caused by cvs update.
3f67e766856b move remaining files
laca
parents:
diff changeset
   100
case "$MYNAME" in
3f67e766856b move remaining files
laca
parents:
diff changeset
   101
    /tmp/cron-script.copy.* )
3f67e766856b move remaining files
laca
parents:
diff changeset
   102
        ;;
3f67e766856b move remaining files
laca
parents:
diff changeset
   103
    *)
3f67e766856b move remaining files
laca
parents:
diff changeset
   104
        cp $MYNAME /tmp/cron-script.copy.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   105
        chmod 755 /tmp/cron-script.copy.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   106
        cd /tmp
3f67e766856b move remaining files
laca
parents:
diff changeset
   107
        exec /tmp/cron-script.copy.$$ "$MYDIR"
3f67e766856b move remaining files
laca
parents:
diff changeset
   108
        ;;
3f67e766856b move remaining files
laca
parents:
diff changeset
   109
esac
3f67e766856b move remaining files
laca
parents:
diff changeset
   110
3f67e766856b move remaining files
laca
parents:
diff changeset
   111
fatal_error () {
3f67e766856b move remaining files
laca
parents:
diff changeset
   112
  echo "ERROR: $*"
3f67e766856b move remaining files
laca
parents:
diff changeset
   113
  exit 1
3f67e766856b move remaining files
laca
parents:
diff changeset
   114
}
3f67e766856b move remaining files
laca
parents:
diff changeset
   115
12047
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   116
# Update spec-files-other files and uninstall packages.
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   117
cd $SPECDIR/../spec-files-other
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   118
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   119
# Revert any local changes
17749
d36307d8a2be cron-script: OK, change back to /usr/bin/svn for now.
chrisk
parents: 17748
diff changeset
   120
/usr/bin/svn revert -R .
12047
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   121
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   122
# checkout-out SVN copy *MUST* be read-only, or "update" needs passwd
17749
d36307d8a2be cron-script: OK, change back to /usr/bin/svn for now.
chrisk
parents: 17748
diff changeset
   123
/usr/bin/svn -q up > /dev/null 2>&1 || fatal_error "SVN update of spec-files-other failed"
12047
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   124
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   125
# Uninstall the spec-files-other packages.
17263
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   126
pkgtool uninstall-pkgs --with-l10n --with-indiana-branding core/*.spec experimental/*.spec l10n/*.spec
12047
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   127
f7a0db5c2090 2008-04-07 Damien Carbery <[email protected]>
dcarbery
parents: 12032
diff changeset
   128
# Uninstall and cleanup spec-files packages.
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   129
cd $SPECDIR || fatal_error "$SPECDIR not found"
3f67e766856b move remaining files
laca
parents:
diff changeset
   130
3f67e766856b move remaining files
laca
parents:
diff changeset
   131
#revert any local changes
17749
d36307d8a2be cron-script: OK, change back to /usr/bin/svn for now.
chrisk
parents: 17748
diff changeset
   132
/usr/bin/svn revert -R .
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   133
3f67e766856b move remaining files
laca
parents:
diff changeset
   134
# checkout-out SVN copy *MUST* be read-only, or "update" needs passwd
17749
d36307d8a2be cron-script: OK, change back to /usr/bin/svn for now.
chrisk
parents: 17748
diff changeset
   135
/usr/bin/svn -q up > /dev/null 2>&1 || fatal_error "SVN update failed"
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   136
3f67e766856b move remaining files
laca
parents:
diff changeset
   137
# if the script changed during cvs update, restart with the updated script
13535
eec7aab74608 2008-09-11 Dave Lin <[email protected]>
davelam
parents: 13356
diff changeset
   138
cd $SPECDIR
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   139
if ! /usr/bin/cmp -s ./cron-script.sh $MYNAME; then exec ./cron-script.sh; fi
3f67e766856b move remaining files
laca
parents:
diff changeset
   140
3f67e766856b move remaining files
laca
parents:
diff changeset
   141
# uninstall all pkgs left behind by a previous build
17903
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   142
pkgtool uninstall-pkgs --with-l10n --with-indiana-branding --define 'support_level supported' specs/*.spec >/dev/null
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   143
# remove-gnome will now remove anything left from uninstall-pkgs in case
3f67e766856b move remaining files
laca
parents:
diff changeset
   144
# or a packaging change for example
9401
72746c79ffd2 update path names to match new svn structure
laca
parents: 9398
diff changeset
   145
$SPECDIR/scripts/remove-gnome --version jds -q -f --no_extras > /dev/null 2>&1
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   146
11858
233901c4198f 2008-03-13 Damien Carbery <[email protected]>
dcarbery
parents: 11809
diff changeset
   147
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   148
rm -rf /jds/packages/PKGS/*
3f67e766856b move remaining files
laca
parents:
diff changeset
   149
rm -rf /jds/packages/SPKGS/*
3f67e766856b move remaining files
laca
parents:
diff changeset
   150
rm -rf /jds/packages/BUILD/*
9401
72746c79ffd2 update path names to match new svn structure
laca
parents: 9398
diff changeset
   151
rm -rf /var/tmp/pkgbuild-*/*
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   152
3f67e766856b move remaining files
laca
parents:
diff changeset
   153
# if the log directory exists, open a new one with numbered suffix
3f67e766856b move remaining files
laca
parents:
diff changeset
   154
NEW_LOGDIR=$LOGDIR
3f67e766856b move remaining files
laca
parents:
diff changeset
   155
N=1
3f67e766856b move remaining files
laca
parents:
diff changeset
   156
while [ -d $WEBROOT/$NEW_LOGDIR ]; do
3f67e766856b move remaining files
laca
parents:
diff changeset
   157
    NEW_LOGDIR=$LOGDIR.$N
3f67e766856b move remaining files
laca
parents:
diff changeset
   158
    N=`expr $N + 1`
3f67e766856b move remaining files
laca
parents:
diff changeset
   159
done
3f67e766856b move remaining files
laca
parents:
diff changeset
   160
3f67e766856b move remaining files
laca
parents:
diff changeset
   161
LOGDIR=$NEW_LOGDIR
3f67e766856b move remaining files
laca
parents:
diff changeset
   162
mkdir -p $WEBROOT/$LOGDIR || exit 5
3f67e766856b move remaining files
laca
parents:
diff changeset
   163
3f67e766856b move remaining files
laca
parents:
diff changeset
   164
mkdir -p $RPMSDIR
3f67e766856b move remaining files
laca
parents:
diff changeset
   165
touch $LOCKFILE
3f67e766856b move remaining files
laca
parents:
diff changeset
   166
3f67e766856b move remaining files
laca
parents:
diff changeset
   167
# Rebuild the manpage tarballs
10583
2b21c26d85d7 2007-10-01 Damien Carbery <[email protected]>
dcarbery
parents: 10582
diff changeset
   168
cd $SPECDIR
17558
c3cb1eb93805 run make to generate both manpage and po tarballs in the top dir of spec-files-other
davelam
parents: 17503
diff changeset
   169
rm -r po-sun/po-sun-tarballs manpages*/sun-manpage-tarballs
17748
018356abb525 cron-script.sh: explicitly call /usr/gnu/bin/make when building manpages
chrisk
parents: 17747
diff changeset
   170
/usr/gnu/bin/make 
17558
c3cb1eb93805 run make to generate both manpage and po tarballs in the top dir of spec-files-other
davelam
parents: 17503
diff changeset
   171
cd $SPECDIR/../spec-files-other
c3cb1eb93805 run make to generate both manpage and po tarballs in the top dir of spec-files-other
davelam
parents: 17503
diff changeset
   172
rm -r po-sun/po-sun-tarballs manpages/sun-manpage-tarballs
17748
018356abb525 cron-script.sh: explicitly call /usr/gnu/bin/make when building manpages
chrisk
parents: 17747
diff changeset
   173
/usr/gnu/bin/make
11406
f7cca2fe3b26 2008-01-07 Damien Carbery <[email protected]>
dcarbery
parents: 11361
diff changeset
   174
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   175
cd $SPECDIR
3f67e766856b move remaining files
laca
parents:
diff changeset
   176
15776
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   177
#FIXME: The smf service could not run correctly in jail, hack the script here.
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   178
if [ -f /THIS_IS_JAIL_* ]; then
17608
cae11c53264f SUNWsqlite3 is moved from sfw to desktop consolidation, so changed to build it at beginning, which is required by svbversion
davelam
parents: 17558
diff changeset
   179
    # make sure there is no libsqlite3.so because it will be built out later on
cae11c53264f SUNWsqlite3 is moved from sfw to desktop consolidation, so changed to build it at beginning, which is required by svbversion
davelam
parents: 17558
diff changeset
   180
    rm -f /usr/lib/libsqlite3.so*
cae11c53264f SUNWsqlite3 is moved from sfw to desktop consolidation, so changed to build it at beginning, which is required by svbversion
davelam
parents: 17558
diff changeset
   181
    
cae11c53264f SUNWsqlite3 is moved from sfw to desktop consolidation, so changed to build it at beginning, which is required by svbversion
davelam
parents: 17558
diff changeset
   182
    # build SUNWdesktop-cache.spec and SUNWsqlite3.spec at beginning
17903
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   183
    egrep -v '^(Requires|BuildRequires):' specs/SUNWdesktop-cache.spec > specs/SUNWdesktop-cache.spec.tmp.$$
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   184
    pkgtool build --nonotify --with-l10n ${DEBUG_BUILD} --define "nightly 1" --with-indiana-branding --define 'support_level supported' specs/SUNWdesktop-cache.spec.tmp.$$ specs/SUNWsqlite3.spec
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   185
    rm -f specs/SUNWdesktop-cache.spec.tmp.$$
17422
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   186
17608
cae11c53264f SUNWsqlite3 is moved from sfw to desktop consolidation, so changed to build it at beginning, which is required by svbversion
davelam
parents: 17558
diff changeset
   187
    #FIXME: The smf service could not run correctly in jail, hack desktop-cache smf script here.
17750
73ddfd53952a cron-script.sh: s/OpenSolaris/Solaris Next/
chrisk
parents: 17749
diff changeset
   188
    grep -i "Solaris Next" /etc/release >/dev/null 2>&1
17422
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   189
    if [ $? -eq 0 ]; then
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   190
        printf "1a\n\nexit 0\n.\nw"| pfexec ed -s /usr/share/desktop-cache/restart_fmri
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   191
    else
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   192
        su<<EO_SU
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   193
        cat<<EOF>/usr/share/desktop-cache/restart_fmri
15776
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   194
#!/bin/ksh
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   195
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   196
exit 0
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   197
EOF
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   198
EO_SU
17422
647db4147440 make it worked in OpenSolaris jail
davelam
parents: 17263
diff changeset
   199
    fi
15776
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   200
fi
24263f167302 2009-05-18 Dave Lin <[email protected]>
davelam
parents: 15542
diff changeset
   201
17503
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   202
# build gnome-xml separately. It creates an smf manifest which generates some
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   203
# docbook manifests. Generate them manually since this won't work in a jail.
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   204
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   205
if [ -f /THIS_IS_JAIL_* ]; then
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   206
  pkgtool build --no-notify --with-l10n ${DEBUG_BUILD} --define "nightly 1" \
17903
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   207
    --with-indiana-branding --define 'support_level supported' specs/SUNWgnome-xml.spec
17503
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   208
  pfexec /usr/share/sgml/docbook/docbook-catalog-uninstall.sh
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   209
  pfexec /usr/share/sgml/docbook/docbook-catalog-install.sh
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   210
fi
9250898104ca 2010-02-05 Christian Kelly <[email protected]>
chrisk
parents: 17422
diff changeset
   211
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   212
# start the build
17903
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   213
pkgtool -v --nightly --date "$RELEASE_DATE" build  specs/SUNWevolution-bdb-devel.spec specs/*.spec \
16090
c6e58447bdfe add --download build option to nightly build
davelam
parents: 15856
diff changeset
   214
        --download \
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   215
        --logdir=$WEBROOT/$LOGDIR \
9652
15429a5ffbbd 2007-04-03 Damien Carbery <[email protected]>
dcarbery
parents: 9648
diff changeset
   216
        --logdir-url=http://jds.ireland/$LOGDIR \
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   217
	[email protected] \
3f67e766856b move remaining files
laca
parents:
diff changeset
   218
        --prodname="${PRODNAME}/s${OSrel}${OSarch}" \
15542
7676c097e01f Removed unnecessary options
davelam
parents: 15199
diff changeset
   219
        --live --with-l10n ${DEBUG_BUILD} \
17263
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   220
        --define "nightly 1" --with-indiana-branding \
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   221
        --without-dt --without-blueprint \
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   222
        --define 'support_level supported' \
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   223
        --summary-log=$WEBROOT/$LOGDIR.html \
3f67e766856b move remaining files
laca
parents:
diff changeset
   224
        --summary-title="${PRODNAME} S${OSrel}/${OSarch_full} Nightly Build Report `date +'%d %B %Y'`" \
9648
6bed4d16d590 2007-04-02 Damien Carbery <[email protected]>
dcarbery
parents: 9493
diff changeset
   225
        --rpm-url=file:///net/jdsserv.ireland/$RPMSDIR/all_pkgs \
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   226
         > /tmp/build.log.$$ 2>&1
3f67e766856b move remaining files
laca
parents:
diff changeset
   227
3f67e766856b move remaining files
laca
parents:
diff changeset
   228
# the number of failed pkgs is returned
3f67e766856b move remaining files
laca
parents:
diff changeset
   229
FAILED=$?
3f67e766856b move remaining files
laca
parents:
diff changeset
   230
11798
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   231
# Build spec-files-other
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   232
cd $SPECDIR/../spec-files-other
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   233
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   234
pkgtool -v --nightly --date "$RELEASE_DATE" build core/*.spec experimental/*.spec l10n/*.spec \
16090
c6e58447bdfe add --download build option to nightly build
davelam
parents: 15856
diff changeset
   235
        --download \
11798
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   236
        --logdir=$WEBROOT/$LOGDIR \
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   237
        --logdir-url=http://jds.ireland/$LOGDIR \
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   238
	[email protected] \
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   239
        --prodname="${PRODNAME}/s${OSrel}${OSarch}" \
12649
39a7f1f635d6 2008-06-12 Dave Lin <[email protected]>
davelam
parents: 12509
diff changeset
   240
        --live --with-l10n ${DEBUG_BUILD} \
17263
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   241
        --define "nightly 1" --with-indiana-branding \
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   242
        --without-dt --without-blueprint \
769458b60c70 Updated the build options for OpenSolaris only.
davelam
parents: 17026
diff changeset
   243
        --define 'support_level supported' \
11798
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   244
        --summary-log=$WEBROOT/$LOGDIR-other.html \
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   245
        --summary-title="${PRODNAME} S${OSrel}/${OSarch_full} SFO Nightly Build Report `date +'%d %B %Y'`" \
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   246
        --rpm-url=file:///net/jdsserv.ireland/$RPMSDIR/all_pkgs \
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   247
         >> /tmp/build.log.$$ 2>&1
11809
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   248
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   249
# The number of failed pkgs is returned
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   250
FAILED_OTHER=$?
11798
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   251
# End spec-files-other build.
23e24cb087f3 2008-03-05 Damien Carbery <[email protected]>
dcarbery
parents: 11444
diff changeset
   252
15856
ee66ac49d3ed fixed nightly build with SUNWdesktop-cache issue in jail
davelam
parents: 15813
diff changeset
   253
#FIXME: Removed the hacked package SUNWdesktop-cache and build a regular one at the end
ee66ac49d3ed fixed nightly build with SUNWdesktop-cache issue in jail
davelam
parents: 15813
diff changeset
   254
if [ -f /THIS_IS_JAIL_* ]; then
17903
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   255
    pkgtool uninstall-pkgs --nonotify --with-l10n specs/SUNWdesktop-cache.spec
59c41f11ecf8 2010-04-22 Christian Kelly <[email protected]>
chrisk
parents: 17750
diff changeset
   256
    pkgtool build-only --nonotify --with-l10n ${DEBUG_BUILD} --define "nightly 1" --with-indiana-branding --define 'support_level supported' specs/SUNWdesktop-cache.spec
15856
ee66ac49d3ed fixed nightly build with SUNWdesktop-cache issue in jail
davelam
parents: 15813
diff changeset
   257
fi
ee66ac49d3ed fixed nightly build with SUNWdesktop-cache issue in jail
davelam
parents: 15813
diff changeset
   258
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   259
# rotate rpms dir
3f67e766856b move remaining files
laca
parents:
diff changeset
   260
rm -rf $RPMSDIR.prev
3f67e766856b move remaining files
laca
parents:
diff changeset
   261
mv $RPMSDIR $RPMSDIR.prev; mkdir -p $RPMSDIR
3f67e766856b move remaining files
laca
parents:
diff changeset
   262
3f67e766856b move remaining files
laca
parents:
diff changeset
   263
# make dist
12725
b3df9e8e0cb0 2008-06-23 Damien Carbery <[email protected]>
dcarbery
parents: 12704
diff changeset
   264
/sgnome/tools/re-scripts/jds-build/make-jds-dist.pl -l /sgnome/tools/re-scripts/jds-build/vermillion-devel.lst --nightly /jds/packages/PKGS /jds/dist nightly- > /dev/null 2>&1
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   265
cp -r /jds/dist/nightly-/${OSarch_full}/* /jds/dist/nightly-/${OSarch_full}/.??* $RPMSDIR
3f67e766856b move remaining files
laca
parents:
diff changeset
   266
chmod a+x $RPMSDIR/install-jds
3f67e766856b move remaining files
laca
parents:
diff changeset
   267
mkdir -p $RPMSDIR/all_pkgs
3f67e766856b move remaining files
laca
parents:
diff changeset
   268
cd $RPMSDIR/all_pkgs
3f67e766856b move remaining files
laca
parents:
diff changeset
   269
ln -s ../*/*.tar.gz .
12735
b039eaa303ba 2008-06-26 Damien Carbery <[email protected]>
dcarbery
parents: 12725
diff changeset
   270
rm -rf /jds/dist/nightly-
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   271
12293
16044eb055a6 2008-05-13 Damien Carbery <[email protected]>
dcarbery
parents: 12165
diff changeset
   272
# Send output of make-jds-dist.pl to GNOME RE for review.
12725
b3df9e8e0cb0 2008-06-23 Damien Carbery <[email protected]>
dcarbery
parents: 12704
diff changeset
   273
/sgnome/tools/re-scripts/jds-build/make-jds-dist.pl -l /sgnome/tools/re-scripts/jds-build/vermillion-devel.lst --nightly /jds/packages/PKGS /jds/dist nightly- -dryrun 2>&1 | \
12293
16044eb055a6 2008-05-13 Damien Carbery <[email protected]>
dcarbery
parents: 12165
diff changeset
   274
    mailx -s "${PRODNAME} S${OSrel} ${OSarch_full} nightly build: make-jds-dist.pl output" "[email protected]"
11995
518724e8bd0e 2008-04-01 Damien Carbery <[email protected]>
dcarbery
parents: 11858
diff changeset
   275
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   276
ALL_REPORTS=$WEBROOT/$WEBDIR/all_reports.html
3f67e766856b move remaining files
laca
parents:
diff changeset
   277
touch $ALL_REPORTS
3f67e766856b move remaining files
laca
parents:
diff changeset
   278
3f67e766856b move remaining files
laca
parents:
diff changeset
   279
cp $ALL_REPORTS $ALL_REPORTS.old
11809
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   280
export FAILED FAILED_OTHER ALL_REPORTS
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   281
3f67e766856b move remaining files
laca
parents:
diff changeset
   282
# update web page
11809
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   283
( echo "<tr><td><a href=/$LOGDIR.html>$DIR_DATE</a></td>"; \
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   284
  echo "    <td>$FAILED package(s) failed</td></tr>"; \
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   285
  echo "<tr><td><a href=/$LOGDIR-other.html>$DIR_DATE</a></td>"; \
5371dbd24158 2008-03-06 Damien Carbery <[email protected]>
dcarbery
parents: 11798
diff changeset
   286
  echo "    <td>$FAILED_OTHER SFO package(s) failed</td></tr>"; \
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   287
  cat $ALL_REPORTS.old ) > $ALL_REPORTS
3f67e766856b move remaining files
laca
parents:
diff changeset
   288
3f67e766856b move remaining files
laca
parents:
diff changeset
   289
# Report absolute symlinks. These are blockers for Solaris integration.
3f67e766856b move remaining files
laca
parents:
diff changeset
   290
grep 'is an absolute symlink' $WEBROOT/$LOGDIR/*.log >>/tmp/build.log.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   291
3f67e766856b move remaining files
laca
parents:
diff changeset
   292
# Count the number of local patches.
9401
72746c79ffd2 update path names to match new svn structure
laca
parents: 9398
diff changeset
   293
patch_count=`ls $SPECDIR/patches/*.diff | wc -l`
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   294
echo "PATCH COUNT: $patch_count local patches used in this build.">>/tmp/build.log.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   295
3f67e766856b move remaining files
laca
parents:
diff changeset
   296
# send warnings, errors and summary in email
3f67e766856b move remaining files
laca
parents:
diff changeset
   297
grep -v '^INFO:' /tmp/build.log.$$ | \
3f67e766856b move remaining files
laca
parents:
diff changeset
   298
    mailx -s "${PRODNAME} S${OSrel} ${OSarch_full} nightly build: $FAILED pkgs failed" $EMAIL_ADDR
3f67e766856b move remaining files
laca
parents:
diff changeset
   299
3f67e766856b move remaining files
laca
parents:
diff changeset
   300
rm -f /tmp/build.log.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   301
3f67e766856b move remaining files
laca
parents:
diff changeset
   302
# Email Beijing team to begin downloading packages.
9648
6bed4d16d590 2007-04-02 Damien Carbery <[email protected]>
dcarbery
parents: 9493
diff changeset
   303
/usr/bin/echo "*Date: `date '+%Y-%m-%d'`*\n${PRODNAME} S${OSrel} ${OSarch_full} Development nightly build finished: jdsserv.ireland:${RPMSDIR}/download" | 
11309
22f4fb76dac8 Add [email protected] in notification email list for new download server in BJ site
davelam
parents: 11097
diff changeset
   304
    mailx -s "${PRODNAME} S${OSrel} ${OSarch_full} Development nightly build: $FAILED pkgs failed" "[email protected],[email protected]"
9398
3f67e766856b move remaining files
laca
parents:
diff changeset
   305
3f67e766856b move remaining files
laca
parents:
diff changeset
   306
3f67e766856b move remaining files
laca
parents:
diff changeset
   307
rm $LOCKFILE
3f67e766856b move remaining files
laca
parents:
diff changeset
   308
3f67e766856b move remaining files
laca
parents:
diff changeset
   309
# find any differences from the prototype files saved after the
3f67e766856b move remaining files
laca
parents:
diff changeset
   310
# last milestone build
3f67e766856b move remaining files
laca
parents:
diff changeset
   311
cd /jds/spec-files/prototypes/${OSarch_full}
3f67e766856b move remaining files
laca
parents:
diff changeset
   312
for f in *.proto; do
3f67e766856b move remaining files
laca
parents:
diff changeset
   313
    test -f /jds/packages/PKGMAPS/proto/$f || continue
3f67e766856b move remaining files
laca
parents:
diff changeset
   314
    cmp -s $f /jds/packages/PKGMAPS/proto/$f && continue
3f67e766856b move remaining files
laca
parents:
diff changeset
   315
    echo $f:
3f67e766856b move remaining files
laca
parents:
diff changeset
   316
    diff $f /jds/packages/PKGMAPS/proto/$f
3f67e766856b move remaining files
laca
parents:
diff changeset
   317
    echo
3f67e766856b move remaining files
laca
parents:
diff changeset
   318
done > /tmp/proto-changes.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   319
3f67e766856b move remaining files
laca
parents:
diff changeset
   320
# if any diffs found mail the result to RE
3f67e766856b move remaining files
laca
parents:
diff changeset
   321
test -s /tmp/proto-changes.$$ && {
3f67e766856b move remaining files
laca
parents:
diff changeset
   322
    ( echo "Prototype changes found since the last milestone build:"
3f67e766856b move remaining files
laca
parents:
diff changeset
   323
      echo
3f67e766856b move remaining files
laca
parents:
diff changeset
   324
      cat /tmp/proto-changes.$$ ) | \
3f67e766856b move remaining files
laca
parents:
diff changeset
   325
	  mailx -s "${PRODNAME} S${OSrel} ${OSarch_full} prototype changes" \
3f67e766856b move remaining files
laca
parents:
diff changeset
   326
	  $EMAIL_ADDR
3f67e766856b move remaining files
laca
parents:
diff changeset
   327
}
3f67e766856b move remaining files
laca
parents:
diff changeset
   328
3f67e766856b move remaining files
laca
parents:
diff changeset
   329
rm -f /tmp/proto-changes.$$
3f67e766856b move remaining files
laca
parents:
diff changeset
   330
3f67e766856b move remaining files
laca
parents:
diff changeset
   331
exit 0