tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

qa_stage (9235B)


      1 #! /bin/sh 
      2 ########################################################################
      3 #
      4 # /u/sonmi/bin/qa_stage - /u/svbld/bin/init/nss/qa_stage
      5 #
      6 # this script is supposed to convert the tinderbox and daily QA files
      7 # for use on mozilla.org
      8 #
      9 # parameters
     10 # ----------
     11 #   nssversion  (supported: 30b, 31, tip)
     12 #   builddate   (default - today)
     13 #
     14 ########################################################################
     15 
     16 if [ -z "$BUILDNUMBER" ]
     17 then
     18     BUILDNUMBER=1
     19 fi
     20 if [ `uname` = "Linux" ] ; then
     21     PATH=".:/u/sonmi/bin:/u/sonmi/bin/linux:/usr/bsd:/usr/ucb/:/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/usr/bin/X11:/usr/etc:/etc:/usr/demos:/usr/demos/bin:/usr/local/bin:/usr/local/X11/bin:/tools/ns/bin"
     22     export PATH
     23 fi
     24 
     25 Echo()
     26 {
     27     if [ "$O_SILENT" = "OFF" ] ; then
     28         echo $*
     29     fi
     30 }
     31 
     32 ################################### qa_stage_init ##########################
     33 # 
     34 ########################################################################
     35 qa_stage_init()
     36 {
     37     umask 000
     38 
     39     eval_opts $*
     40 
     41     if [ -z "${QAYEAR}" ] ; then 
     42         QAYEAR=`date +%Y`
     43     elif [ "$QAYEAR" = ""  ] ; then
     44         QAYEAR=`date +%Y`
     45     fi
     46 
     47     Echo "Init..."
     48     DAYBUILD=${QAYEAR}${BUILDDATE}.${BUILDNUMBER}
     49     NSS_D0=/share/builds/mccrel3/nss
     50     NSS_VER_DIR=${NSS_D0}/nss${NSSVER}
     51     NTDIST=${NSS_VER_DIR}/builds/${DAYBUILD}/blowfish_NT4.0_Win95/mozilla/dist
     52     UXDIST=${NSS_VER_DIR}/builds/${DAYBUILD}/booboo_Solaris8/mozilla/dist
     53     TESTSCRIPTDIR=${NSS_VER_DIR}/builds/${DAYBUILD}/booboo_Solaris8/mozilla/security/nss/tests
     54     RESULTDIR=${NSS_VER_DIR}/builds/${DAYBUILD}/booboo_Solaris8/mozilla/tests_results/security
     55     TBX_RESULTDIR=${NSS_D0}/nsstip/tinderbox/tests_results/security
     56 
     57     MOZ_D0=/pub/security/nss
     58     MOZ_RESULTDIR=${MOZ_D0}/daily_qa/${DAYBUILD}
     59     MOZ_TBX_RESULTDIR=${MOZ_D0}/tinderbox
     60     
     61     export BUILDDATE NSSVER QAYEAR NTDIST UXDIST TESTSCRIPTDIR RESULTDIR 
     62 
     63 
     64     IPLANET_TBX_URL="http://cindercone.red.iplanet.com${TBX_RESULTDIR}"
     65     IPLANET_DQA_URL="http://cindercone.red.iplanet.com${RESULTDIR}"
     66 
     67     MOZ_TBX_URL="ftp://ftp.mozilla.org${MOZ_TBX_RESULTDIR}"
     68     MOZ_DQA_URL="ftp://ftp.mozilla.org${MOZ_RESULTDIR}"
     69 
     70     export IPLANET_TBX_URL IPLANET_DQA_URL MOZ_TBX_URL MOZ_DQA_URL
     71     STAGE_1=/u/sonmi/tmp/ftp_stage
     72     
     73     if [ ! -d  $STAGE_1 ] ; then
     74         Echo "Staging area daily QA (DQA): $DQA_STAGE does not exist, exit"
     75         exit 1
     76     fi
     77     cd $STAGE_1 || (Echo "Cant cd to $STAGE_1 , exit"; exit)
     78     rm all.tar* 2>/dev/null
     79     TBX_STAGE=$STAGE_1/tinderbox
     80     DQA_STAGE=$STAGE_1/daily_qa/${DAYBUILD}
     81     Echo "Staging area tbx: $TBX_STAGE"
     82     Echo "Staging area daily QA (DQA): $DQA_STAGE"
     83     Echo "Resultdir (sourcedir) for daily QA (RESULTDIR): $RESULTDIR"
     84 }
     85 
     86 ################################### qa_stage_dqa ##########################
     87 # 
     88 ########################################################################
     89 qa_stage_dqa()
     90 {
     91     Echo "DQA:..."
     92     Echo "Resultdir (sourcedir) for daily QA (RESULTDIR): $RESULTDIR"
     93 #set -x
     94     if [ ! -d  $RESULTDIR ] ; then
     95         Echo "Resultdir $RESULTDIR does not exist, can't push daily QA"
     96         return
     97     fi
     98     cd $RESULTDIR || return
     99     #for w in `find . -name "result*html"`
    100     for w in `find . -name "result.html"`
    101     do
    102         if [ ! -d $DQA_STAGE/`dirname $w` ] ; then
    103             mkdir -p $DQA_STAGE/`dirname $w`
    104         fi
    105         rm $DQA_STAGE/$w 2>/dev/null
    106         cat $w | reformat_qa >$DQA_STAGE/$w
    107     done
    108     for w in `find . -name "output.log" -o  -name "results.html"`
    109     do
    110 #echo $w
    111         if [ ! -d $DQA_STAGE/`dirname $w` ] ; then
    112             mkdir -p $DQA_STAGE/`dirname $w`
    113         fi
    114         cp $w $DQA_STAGE/$w
    115     done
    116 }
    117 
    118 
    119 ################################### qa_stage_tbx ##########################
    120 # 
    121 ########################################################################
    122 qa_stage_tbx()
    123 {
    124     Echo "tbx: "
    125     if [ ! -d  $TBX_RESULTDIR ] ; then
    126         Echo "TBX_RESULTDIR $TBX_RESULTDIR does not exist"
    127         return
    128     fi
    129     cd $TBX_RESULTDIR || return
    130     Echo "find from $TBX_FIND_FROM"
    131     for w in `find $TBX_FIND_FROM  -name "result.html"`
    132     do
    133         if [ ! -d "$TBX_STAGE/`dirname $w`" ] ; then
    134             mkdir -p $TBX_STAGE/`dirname $w`
    135         fi
    136         rm $TBX_STAGE/$w 2>/dev/null
    137         cat $w | reformat_qa >$TBX_STAGE/$w
    138     done
    139     for w in `find $TBX_FIND_FROM -name "output.log" -o  -name "results.html"`
    140     do
    141         if [ ! -d $TBX_STAGE/`dirname $w` ] ; then
    142             mkdir -p $TBX_STAGE/`dirname $w`
    143         fi
    144         cp $w $TBX_STAGE/$w
    145     done
    146 }
    147 
    148 match_tbxdirs()
    149 {
    150     YY=`date +%Y`
    151     DD=`date +%d`
    152     MM=`date +%m`
    153     HH=`date +%H`
    154 
    155     TBX_FIND_FROM="*-$YY$MM$DD-$HH.*"
    156     i=$1
    157     while [ $i -gt 0 ] ; do
    158         i=`expr $i - 1`
    159         HH=`expr $HH - 1`
    160         if [ $HH -lt 0 ] ; then
    161             HH=23
    162             DD=`expr $DD - 1`
    163             if [ $DD  -eq 0 ] ; then
    164                 MM=`expr $MM - 1`
    165                 case $MM in
    166                     0)
    167                         YY=`expr $YY - 1`
    168                         MM=12
    169                         DD=31
    170                         ;;
    171                     [13578]|10|12)
    172                         DD=31
    173                         ;;
    174                     2)
    175                         DD=28
    176                         ;;
    177                     [469]|11)
    178                         DD=30
    179                         ;;
    180                 esac
    181             fi
    182         fi
    183         case $MM in
    184             [123456789])
    185                MM=0$MM
    186                ;;
    187         esac
    188         case $DD in
    189             [123456789])
    190                DD=0$DD
    191                ;;
    192         esac
    193         case $HH in
    194             [0123456789])
    195                HH=0$HH
    196                ;;
    197         esac
    198         TBX_FIND_FROM="$TBX_FIND_FROM *-$YY$MM$DD-$HH.*"
    199     done
    200 }
    201 
    202 ################################### eval_opts ##########################
    203 # global shell function, evapuates options and parameters, sets flags
    204 # variables and defaults
    205 ########################################################################
    206 eval_opts()
    207 {
    208   DO_TBX=OFF
    209   DO_DQA=OFF
    210   DO_CLEAN=OFF
    211   O_SILENT=OFF
    212   O_INCREMENTAL=OFF
    213   O_MAIL=OFF
    214   BUILDDATE=`date +%m%d`
    215   NSSVER=tip
    216 
    217   TBX_FIND_FROM="."
    218 
    219   while [ -n "$1" ]
    220   do
    221     case $1 in
    222         -d)
    223             DO_DQA=ON
    224             ;;
    225         -m)
    226             O_MAIL=ON
    227             shift
    228             MAILINGLIST=$1
    229             if [ -z "$MAILINGLIST" ]
    230             then
    231                 echo "Error: -m requires a mailinglist to follow, for example sonmi@iplanet.com"
    232                 exit
    233             fi
    234             ;;
    235         -ti)
    236             DO_TBX=ON
    237             match_tbxdirs 2
    238             O_INCREMENTAL=ON
    239             ;;
    240         -t)
    241             DO_TBX=ON
    242             ;;
    243         -c)
    244             DO_CLEAN=ON
    245             ;;
    246         -s)
    247             O_SILENT=ON
    248             ;;
    249 
    250         tip|3[0-9]*)
    251             NSSVER=$1
    252             ;;
    253         [01][0-9][0-3][0-9])
    254             BUILDDATE=$1
    255             ;;
    256     esac
    257     shift
    258   done
    259 }
    260 
    261 qa_stage_init $*
    262 
    263 if [ "$DO_CLEAN" = "ON" ] ; then
    264     Echo "Cleaning old stuff"
    265     if [ ! -d  $STAGE_1 ] ; then
    266         Echo "Staging area daily QA (DQA): $DQA_STAGE does not exist, exit"
    267         exit 1
    268     fi
    269     cd $STAGE_1 || (Echo "Cant cd to $STAGE_1 , exit"; exit)
    270     if [ -n "$TBX_STAGE" -a -d "$TBX_STAGE" ] ; then
    271         rm -rf $TBX_STAGE/*
    272     else
    273         Echo "nothing here to clean..."
    274     fi
    275 fi
    276 if [ "$DO_DQA" = "ON" ] ; then
    277     qa_stage_dqa 
    278     if [ "$O_MAIL" = "ON" -a -f "$DQA_STAGE/result.html" ] ; then
    279          cat $DQA_STAGE/result.html | /usr/sbin/sendmail $MAILINGLIST 
    280     fi
    281 fi
    282 if [ "$DO_TBX" = "ON" ] ; then
    283     qa_stage_tbx
    284 fi
    285 if [ ! -d  $STAGE_1 ] ; then
    286     Echo "Staging area daily QA (DQA): $DQA_STAGE does not exist, exit"
    287     exit 1
    288 fi
    289 cd $STAGE_1 || (Echo "Cant cd to $STAGE_1 , exit"; exit)
    290 Echo "tar..."
    291 if [ "$O_SILENT" = "ON" ] ; then
    292     TARPARAM=cf
    293 else
    294     TARPARAM=cvf
    295 fi
    296 
    297 
    298 if [ "$DO_DQA" = "ON" -a "$DO_TBX" = "ON" ] ; then
    299         Echo "tar $TARPARAM all.tar daily_qa        tinderbox"
    300         tar $TARPARAM all.tar daily_qa        tinderbox
    301 elif [ "$DO_DQA" = "ON" ] ; then
    302         Echo "tar $TARPARAM all.tar daily_qa"
    303         tar $TARPARAM all.tar daily_qa
    304 else
    305         Echo "tar $TARPARAM all.tar tinderbox"
    306         tar $TARPARAM all.tar tinderbox
    307 fi
    308 gzip all.tar
    309 # ssh-agent > /u/sonmi/.ssh/ssh-agent.info
    310 # setenv like it says in that file
    311 # ssh-add
    312 
    313 SSH_AUTH_SOCK=`grep SSH_AUTH_SOCK /u/sonmi/.ssh/ssh-agent.info | sed -e 's/setenv SSH_AUTH_SOCK //' -e 's/;//'`
    314 SSH_AGENT_PID=`grep SSH_AGENT_PID /u/sonmi/.ssh/ssh-agent.info | sed -e 's/setenv SSH_AGENT_PID //' -e 's/;//'`
    315 export SSH_AUTH_SOCK SSH_AGENT_PID
    316 if [ "$O_SILENT" = "OFF" ] ; then
    317    set -x
    318    scp all.tar.gz sonmi@stage.mozilla.org:/home/ftp/pub/security/nss
    319    ssh -l sonmi stage.mozilla.org '/home/sonmi/bin/nssqa_stage '
    320 else
    321    scp all.tar.gz sonmi@stage.mozilla.org:/home/ftp/pub/security/nss >/dev/null 2>/dev/null 
    322    ssh -l sonmi stage.mozilla.org '/home/sonmi/bin/nssqa_stage ' >/dev/null 2>/dev/null 
    323 fi
    324 
    325 #" rlogin huey "
    326 #" sftp  sonmi@stage.mozilla.org"
    327 #" cd /home/ftp/pub/security/nss"
    328 #" lcd tmp/ftp_stage"
    329 #" put all.tar.gz"
    330 #" quit "
    331 #" ssh -l sonmi stage.mozilla.org"
    332 #" cd /home/ftp/pub/security/nss"
    333 #" gunzip all.tar.gz"
    334 #" tar xvf all.tar"
    335 #" rm all.tar"
    336