[Midnightbsd-cvs] src: tinderbox/www: Sync with freebsd

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Mar 6 23:40:14 EST 2008


Log Message:
-----------
Sync with freebsd

Modified Files:
--------------
    src/tools/tools/tinderbox/www:
        Makefile (r1.2 -> r1.3)
        index.cgi (r1.2 -> r1.3)
        tb.css (r1.1.1.1 -> r1.2)

Removed Files:
-------------
    src/tools/tools/tinderbox/www:
        daemon.png.uu
        valid-css.png.uu
        valid-xhtml10.png.uu

-------------- next part --------------
--- tools/tools/tinderbox/www/daemon.png.uu
+++ /dev/null
@@ -1,144 +0,0 @@
-begin 644 daemon.png
-MB5!.1PT*&@H````-24A$4@```%````!,"`8```#Z!3!-````!F)+1T0`_P#_
-M`/^@O:>3````"7!(67,```L2```+$@'2W7[\````!W1)344'TP8#"@(%BD"-
-MM```&#Q)1$%4>)SMG'E\'-65[[]5W:WNJNINJ;NU6K(LRPM&PF#`+`X$;-X`
-M!L*$$&P@@01",B2&,$`RGB3O at 0,9>"],6$+&3#(A3!@@R8!9!H8EP,2.V10+
-M at HTMC['19EE;2]TM]5)5K:ZN^_ZH5MO"SL002=9\,K_/1Q]]JKKJUKV_.N>>
-M<\\YM^!_\.>-^^Z]3ZR^8)5XY+$GQ)'NRW];?/V&;XH5S<O$Z at M6B=:6UC\/
-M(M]]Y65QS^W_=](&>\655XD5S<O$Q4VGB'5K;YDV$N7I>M"!N/WV.\03W_M[
-M1H<')ZW-1Q_YN12N#).09`:>?XDUJ[XD^O?VK)FT!_P!3#N!Z];>(LQ7-Q$U
-MQOC6S7_[P&2V_86;KF4$BR$A4[:KC=O7?&/]5),XK02N_]FC8O/SKT(BR=QC
-MFE`::JZ;S/9/7G+\=:6*GX0D$[-M%N[MX4<W_.WZR7S&A^&>RL8/1$=WU\9+
-M+KZ2!F%3(<F$/G$B_//AW[OYY5>7=^[I9C`6)9@'I;*24$V$,X]IXOBSSY$`
-MMN]H6S\X`J7Y$?9@$_&7L6CW+NZX^FOB?__S/TI3,:XI:?106+WJ,C&TLYMR
-M/<D"(?C,KQ[FI%-/^B^??]^]]XG7GGV%6$IGU$CCU=.(C$FE7,FLB%V\[GW%
-MSYF?.(X=V_?0$8WBU=.HV)SJ+V-1/L=`F9\5]]S]1Y_W<3`M*KQI\^MB^[N#
-M&/H(I;)$U"63&<O^P>M__M,'Q8KF9>)7]_^$WJX.C+X>2H:&40T#2?.144;H
-MU77RI@%`12S*KY_[-;U='83T)``Z,E&?#SMK43DXPI9'GYB2L4V+"C^YX1EJ
-M\GWTNV8QF-99[$OQ^TVO'?+:KUYSK?CQG7<CLCD2EDD(#YHL0(:,[$8"(K at I
-ME?<+TP(A*'6Y:-8"`.S*6VS3T[AT'0!/)D/O>^].R=BF10*WO_D..C)!O0<`
-M%8GAAQ[AZV>>)Y[ZY8:BN[%N[2UBZV\V.S=9>4)XBFUD9#<I#\Q&Y at +9Q>G(
-MG.$MX6@]Q\*:<EP^A39O"4-E?A:YW)PE)/*JBNQU9"1JC$W)V*9E#ES1O$SH
-MB2&P\N!V46E'6&GT`I!PR_145Y%75>(9DQ%CA$PVCV9;^(4;(4601(Q!D4?2
-M?%P:*`, at OV@A64TET_X!"W-9HA*LONMNO/75_.9G3]#[RC.TCQI$9)F%NL'N
-MVBKNW/S*I(]W6E38"L^'H8'"09XH4=Y65>:-F80LF]"^?G+A<G;(%B[<:'89
-MDHB1EBRT0AN:+#A5..,/??T:KOS2U<ARFIT[]_'B;7=1V=-)PDBPI+21SWWW
-M&EZ<704/_83=.8E%^1Q68R-LGORQ38L*G[6L at 4JY<L*Y81&BO<1';RA(PBV3
-M%CDJ\S:ELH0D8@!H5`%@JUXBBD9%L!2S?BY?_/(J9#D-0%-3'>>M6\OP[+EL
-M>^758OOG7?,IW"O/HU(I8;,6H.FTDZ9D;--"X(I/G<L'?K5XG`PV$+6C#(L0
-M_5F+WWEJ:,_FZ,]:`'A5+U[5BT])XU/2'"L$GP@$"64RU)^X]*#VFYKJ:#KG
-M'/IW[L-,C$'2:>?RJZX@$*P at X??3O/BX*1G;M!"X_(S3I<5'E1>/@\DN`#[P
-MJPR+$`!IGX=NG\2`/3$.X#=S1%TR4LIQ6>;-#0/!@YYQ[M67$6RH8]NF7Q?/
-M5<\.<MQ%%Q!*ITG$8Y,\*@?3MI1;=]=W208;2`8;BN>"R2ZB<HPA)4D/-CHR
-MP]C$L, at K?L`AMB$O$`$%`&_M+"!Y4/NRG*;FM)/9M7,G!)VIO7-O at F6?78FG
-MJHJ^WGU3,JYI(["YN5FZXWO7454&DN;;_X.51S4,5)R51=+.D<F,,6:DR>I9
-M_&8.'4'$RB)[W5B!T"';[]R;(#VKCBV=PP#<__0;?//QW_-Z3S^G-#70N:=[
-M2L8U;6MA@(LOOT1Z^867Q)VW?A\CTS7Q1R.+L"6"F at _A!MW($%$UTH`JP"[,
-MCQ-5,0 at D>>"EK6Q\<3.1QGFT#_;PV]>V\]JF=]CV7C_W]`SRR89:=CSVS)2,
-M:=K#6>><OU):__`_,.>DI>!V'?2[R)BD/(>X$6=%X:CB^!SHJ/*&%W?2N\?Q
-M*V.Q$5YXZ!'D_C;&HAWL?.XI_OVQ#21,DW][]ME)#[0>D8!J<W.S]/CS3T at G
-M7W(1FE8R\4>WBX"1!\6+`93*$CJ"D?0H`/'^(0Z<`VW;C]&WFY[H",\_\BQ]
-M>AEO_W83>W:V(])[`#!&W2S$XE_N_<FDC^6($#B.']W_`^D+W_D;=,4Q$)I<
-M$!"W"XPL.A:CXU99#9'3-#[8O@?;]N-(8;#H#TK&")(Q0MAE4::4$=*3!"6)
-MB-W),?DH1^LYCN_L8NU5UTZJ%!Y1`@%FU=8ALCDR=F&59>7WJ[#A1&R2AD%4
-M.&O9LEUM/-?R.HX4)H$@"YH7()0RQHP\`!623:/L89$685XVP at +A<#;7-`D^
-M]R+WW7O?I)%XQ`DTK#$DK\-8QI:*\Z*N*/B%8^-,OT;4)3-BRU2FL[SYTU]@
-M=NN%%I)\:_695-)+B>*BVFL6V_Y?O;V<DNLG:1BD18X1(TO(LMGQBZ<GK?]'
-MG,!9E343CC7;(I!SC,G@`38FKX\1%6-$_5X^V+*5FZ__:W[W\--$-VTEU=K*
-M_.IJ:HUN0L(F;QH<DTXA&2E"EHU?Y(OM5`J+T>'A"<_LZ.[:^,.G7OA82:AI
-M=6,.A4A-Q29 at .6X7FFTY,3^O!V'EP<J3S6<95;UD;1NR%C6DF&489!()'OS/
-MG1".`!#2=;JS.7JS,2B+$,W;5`)I2S#H\N$O/*]7\4YX_M=O^*98<^NC7';Y
-M)ZBIG_V1DUQ'G,#&.0TKEB]=(8R]7620T+`8L`'%1776(JVX0,]23YZC=9/*
-MC%6XTV!,:.1(,&++SAQI.9+6.QPE)U>"%,`73#O!U[P@$2I%1R`U-4%G&[??
-M?H?8LN5=RF<U<]7*LSY6J.N(JS#`19__-)I64ERA!`K&("-/?+^2D0(@9^KD
-M3)T2/8,GDZ&B<%Z3!9HLJ-"<P(50'/)&;<$V"08,G3V2Q&577$I;6YMX\:T>
-MOO_]V_CV7Z_^V'V?MJ32'\-?G'&VL'OVDLD4(L?C3K:51Y-%T:#4DZ?:RA.R
-M;'(^%Q[3(7M<NCZ,[6:`J!RCWNLEK_ at YXRN7<^---TJWWWZ'&!I.\*/[?U#D
-MX)''GA`O[QZB?DZ$.[YTZ6%Q,R,D$.#__-TZ[,BL_2>L/`G+!+>+C.PFK;JP
-M52]=JDI+,,"[Y67L\`?H\<HD0J6`DRI0"S+1G[5X3Y+(*"/4ED6P&QKXZ@]N
-MX\:;;I0`8JDQ9*]6?%QK2ZOXEZ=_QP=;WN/D<N6P^SUC"%Q^QNG2#=^X;D*@
-M(82GZ!,.V'F&L1G&IL/.LL/.,YC1&`X$T1%TN9P5BXX at IFG$;.?:4,-\KKCE
-M;WARX_/2.>>O+$K5PD4+V+)CD+:V-G'%7ZT3UZ[],1><5L=C/_[6ID__Y5\>
-MMF;.&!4>QU._W"!^]'=W(^EQ)S?B=:$7WK/(Y@#'U=$5!9'-(7D]S%*<M?&8
-MD48!AM4 at AC["N:LNX;:[OG?(,?;O[5ES_GD7KY=\/M`6<M.U*[GR\ZLF7-O1
-MW;712&>6OS.<XO2&ZDV-<QI6?+B=&2.!X[CX\DND?WC\0>39]4A>#YELOACJ
-M&H>J:)0C4VE'4`V#/B/)B#&"CD4/-B&?C]O7WULD;_WU:\6US2>)KWUJ=='7
-M^]<GGUPO^7P,&1I>S<.B>0T3GK%I\^MBW4,O+/]A2R>AD)]#D0<S4`+'L6GS
-MZ^);7_Q*\5AD<\6LGN3U%(^K)%<Q<V>K7DY<=?$$J5NSZDNBK+6%VD02R4BQ
-ML;8.H_EHVG?%**^IXZQE#;R\?0BA*<P/!SEIY2FX$W%V[]I#;];-7=^X\I"2
-M-XX92R`XZ5!#'T$U#%"\J`6W5<<BD\T7$^^X7:BA"HYN.IH'GGAHPIA../&3
-MPM.SCPOS><*I45X*5;`G,)L3SSJ#1__I- at F<E_7DAF?8U0?I3)K2RCH^?\Y1
-M!ZGTH7#$'>D_A$V;7Q??O?D65-TFHFC,RSB^7EIR8?HU1KUN%BL^\OH8+J6$
-M4?W@,#^`IC8PQCZVN$NH#X5)2Q;57K-('C@&[,/WO?3PX?5SQA+XY(9G,&,#
-M@,RI0E`I.6,<$'F">9N&5)J0Y<R-B3$3/>!G5UL;K2VM0 at VHZ"F=7>U=/'3G
-M/0R2`P%"KJ1)1,EA\>E[[Q/C+LV?@AFKPLN7KA!F;,"ILA(NU%2:M`N&`T$J
-M\S:VGJ9:DDA;@G!JE)VA,(.J6K3`!T)D<U3EH4F,,3OK..";ZQIYZIV-?_+X
-M9YP5!L>I'36<0*F*FZA+IKW$1[L68-06[)$DA at -!MLE>!MPN6B-5F'['*=83
-M0R3M7.'>@H1:)D**%-OWF'G&XM%)Z>N,5.$WWGKC@#(U&_`PY/,XQB,SAB8+
-M8H!?N#DI$:<, at 1`5#`F++!Z',#?@=2$RCJ&)VE$RLLR at ZB/M\^!M:(#.MC^Y
-MKS-2`ML[]Y')YIV(M)%EP!8,9;..0UU8VD44C9.M,<H*Z]\AX41ITE(A>V>9
-MSKKZ@,15QI;X3Y^+I at O/YLF-ST_*]#4C);"SHVO"L6YDH!"9T;PN(KA9(`1^
-MM\0($F4(2A+.O.</51`:G]H/(*]>4PFK*J4GG<!M]]\W:7/_C"0PT]F+9EO%
-M8UU1D`!%+0,]CH$3+%`M01 at 8.<`6KDP,L2$<*@9FDW:.Y:>MX-PK+V)69<VD
-ME_G.2"N\HGF9D/1X,:DT3L8XQE<A32X/57F3V=F"L7#+A%.CQ`.E_,8CDY'=
-M?.?']_!1@@,?%3-2`D>P"!G[:Z at UVT+'0SR3(N3>'ZW9F<\1DTH8+O=1J6K8
-M at _VT1ZJ(V389.X]2-WM*R8,9:D06-#20D=UD;*D8E58-PR%O/$Y8P*`+.C)I
-M6M(C;-$4NL484=6#I/E8^]4O3WE?9R2!%WYN=3&86LP1CR>##C`,"1Q5SLAN
-M=&3G3]D?#-V=&IKROLY(%5XTKP&WXB-AF&`!LIM,9LPAK("4XB)D./\#^T^3
-MM'-49RW.RMGL?O.]*>_KC)3`1#Q&4'9$+^3VL<^V)I`'8!F.A`9ESP0#<\J8
-MS%DYFW!JE+&N]BGOZXR4P#<VO0$XY*4\.%)X""0L$[>'H at 0V"9FEND[(2$YP
-M;:82,Y/`EA8`4IZ"I!40PC$.(F,6<R>JX93^-FI^&D:2Y'PN$CB%Z^'F1=#Z
-MVRGMZXQ3X9=?>$FD>_81SZ0FD`>`VU7,BXALCG)DYD at ES)%*:!A)XG=+>,P\
-M.9^+;<$`?['Z,U/>WQDG at 7?]O[N+T90#$2H$"4)N'[A=:%X7LIX%6:8J;Y)V
-M`9:`4"E=+HFYGSR-`[-P4X6#2T2/('[^TP?%OS^^@5+<F(6E7,CM0Y'=8`O*
-M99F<Y"A-+B\`BYSB0_;Y2.4E>C2%/M6/63N+!Y_YY;1, at C-&`CNZNS9^]OQ5
-MQ96&6_$1,/;G/5**"W*`Y6SY2MHYR+G1L1E*.199P at 8CB3\?I+6E54S%]M8/
-M8\;, at 7]UY5>6ER022%XGF1Z4'8/A5GQ%YSGE8:(OZ(%X)E7,U)4CHZAEY&/I
-M\:JO*<<1)_#E%UX2RY>N$';/WN(YRS#)JDY!6G76*OIY0=E#6`N at 8M,H>R<X
-MT+.1J2XO)^3SH<VM_8-YW,G&$8O&O/S"2^+^!QXDT]G+>.1EH+`UM7'Q$LSD
-M*.F>?23M'`'#*3#*V!(5FLK<^GK2+A=)(=CW_OLLKJW%4^7LJXMF,G1$H_S3
-MSQZ8DAWJ'\:T$_C4+S>(7SWZK^S=N:-8FJ$6=BEE53]77GHQ-]_Z;6E%\S)A
-MA>=3$S39L>-=JK,6*%[*E#)&C!'*E#+G$R=9'_/3. at U'A:EN;&!4V'0-Q;$&
-MAG$W5G',XL7,G;>0JE"`4#A"I*;BOTR4?U1,.8']>WO6O/7&[]:__.HK[-JV
-M&S,V@&H8^XO*@;&*<JZ\]&(NO^J*ZVKJ9S\P7I7 at J5N*UG at 4V;>?1Q\:0-)\
-MU#8T%N^+1^,(Q4=26)2:%B%A4UL11IE;3VHXP3Q5H5UW'.W!_B$2IHD5GL\)
-MIS8B^<L0Z1$D?QD-08DE)RX]9'[XCV'2"6QK:Q.M;[[%.]MWL?W-=XH?BX#]
-M@="4XAB%HQN/XL+/?8:KOO+E"?WXZC77BMV_V810PXQ&FBCI>1.1S:%Y74ZN
-MI%#BH88J``CY?"0U-UE1C3O^`0`5#77HDL";,1!)'0R=KO)C*%VRE+J08';#
-M`GR:H*$JB&WHC.HFL:X]+*B:Q0E+FFAN;CXL;OYD`L<_2=+2TLK[+>\=E),%
-M)CC&E16S.?.LTUGQJ7.IB#C[WH9B"49'XG2V=]#>N8_M;[Z#O*\3<*+1!X;W
-M#RSQ`"A1_(P9:4H4/T.1A9Q]]B+FSEO([-DUC+CRJ*,&@XD4;V_=P?M1#V;]
-M7,)!A?)P">6RE]KJ$@*J%]MPJO[W]`V1Z>GCAJL^<UBJ_K$)_/E/'Q3/_>)I
-MXM$XACY2G,?&R?+Z0Y0J?MRJF^HYM<P+E1''32Z3PJ,%R!5*-0#V#<8PDZ/L
-MZNJ@(A"F#'?1L/B%NYAI`Z<R2\?"K^>Q52\*8`"C=2?0<-:RHF1%`EYJ"SO"
-M7($(B40:V]#YC[=VD:`4?W4UI=E!RH,NA!2FJC3'J.6FU&TANG<S=U[C846S
-M/[(CW=;6)FZ]?BT/W_<S0L)&,])(V`@US))3CV71,4?3=-0BYC<OVK2W>]_R
-MK>^\3:(_1MPTR&52Q`?BQ%,=6+I%4EB$-1]]W9T,ZBE,/87D7X!47DM0Z6#4
-M2),9&D:3*);XHF=!LDA+@&&A`_W^N=155;&[WR)!E!*_0GEXC%BJA$C`"\G"
-M#G@)3JT/TK)WE$Q:8=1?1:T_3R100D`-4&KH9(2702%QZ9+C#^NK2A^)P-:6
-M5G'K]6N)1^.4ZTD,H'[I*5QT]6K..7^EM+'M+<`Q'(;(K])*O)3Y_21P!N#1
-M`J".0 at K<JAL*%??CY`&,&7F2P6J2P6H`@I$!;+V#)"`9)I(>1Z at 5CH0"FE%&
-MM=<DG4D3UP3TQU!]'N+)(,-!A0J/LR>D/.C,NY6A,/NVI2`QB!8RV)IVKBD/
-MNO#Z0]0'X6N77'S=X6YY."P5[NCNVOC&ZZW+G_O%XU@#PV#HQ%65FVZ]Z9!B
-MWM;6)L*!X'4`\51R_>^W[J2S?3>QU!BQ at 6Y&$FG,Y"CQC(DP3?9&'2=ZG$0`
-M?^5I^.<L8*RR'@!?(51O&@;>`ZX#$.D$DC]$5 at W@4Q3"7 at G5YT$+!3FVH9*J
-M4F=:&;7<9-,)NC>^R!<NOXSYS8LV*9+KB8^S/V0<AR2PK:U-]';WL//]773V
-M)<C&!]BU;3<`<JP/'9G55W^!FV_]]D'WK[]^K?AM9R<__,=[KJNIG_U`1W?7
-MQEC_T/*V[=O8VS_([CU[&#--/NAPMJ<*TV0HY4A3(M;OD*4&,/44/M7YD(Y:
-M<3PEE8U%D at Z%<8)]94[!>23HP2]#;4 at J2E^FIX]@0.:JSWYZTGS!"03T[^U9
-M\^IK+>L[VW<S-)P at D1B>("U!R5TH.7.2W%^\\9J#7)#O+#Y%`/175+#FSG7%
-MU4!K2ZO8TO8^L=YN=N_9,Z'=<42'^B9TSC#212(5Q8]AI''[CP6 at 1'$AE++B
-MM=Y`&(!*Q49H"F5:A)%,C+I989H:@IR^Z*@I"6]-:'#<A^O<TUV<],<M9#QC
-M$AWJ(RA)>/VAHF\W*US-_,4+G57`\"`#__$&D4P&6T_3K at 5HNO!LOOB-&XMO
-MO*VM3?Q^ZT[>WKH#.YLAD1AFS#2)#\:*9`IS/ZEFUD]J;"\5 at 3#9=()D8>>E
-M8:11"M]5J`B$J9T[AWE'-U-:$^;$^7-9?-RQD[KB."P"^_?VK!F?LV+17MH[
-M]S'8OP_=L%`5-[IAT=<_B#G<SZ">0E'\!"6)0`XJ[0B^PLX@<#8'5N5-TI*+
-M056EZ<*S67'))0=Y^QW=71L!8OU#R_NB_21366+17N)B_V5E:1TYH)!,90@&
-M-"*5M00#7A1W":%PA+I9U8<]Z4\V#A+I_KT]:][OZE[?T]-/9_MN^KKW$D\Z
-MN\5UP\),CM+7W4GW<!^UFJ,V82W at I!-E9ZY1<:/@?+($0"OXAD%%@25+J+WP
-M?*Z[YHH965;R47&0&U-XDP^TMK2*8*"0S"Z0:"9'B<5&Z![NPZ<&<"L^!O44
-M9%+$1`Y+\CCQ._+,FC,7VU5"16,=$6U_LKO2+B'6.S5?T#@2."PI^+=GGQ7;
-MMFX'*!J7,=,$/0^JBZJ:.BK*0]375-&\^#C4@'K8:\D_6TS'%W+_!W\&^/]]
-3V`AEKF[CM`````!)14Y$KD)@@@``
-`
-end
Index: index.cgi
===================================================================
RCS file: /home/cvs/src/tools/tools/tinderbox/www/index.cgi,v
retrieving revision 1.2
retrieving revision 1.3
diff -L tools/tools/tinderbox/www/index.cgi -L tools/tools/tinderbox/www/index.cgi -u -r1.2 -r1.3
--- tools/tools/tinderbox/www/index.cgi
+++ tools/tools/tinderbox/www/index.cgi
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -Tw
 #-
-# Copyright (c) 2003 Dag-Erling Coïdan Smørgrav
+# Copyright (c) 2003-2008 Dag-Erling Coïdan Smørgrav
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -12,8 +12,6 @@
 # 2. Redistributions in binary form must reproduce the above copyright
 #    notice, this list of conditions and the following disclaimer in the
 #    documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-#    derived from this software without specific prior written permission.
 #
 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
@@ -26,13 +24,14 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
-# $FreeBSD: src/tools/tools/tinderbox/www/index.cgi,v 1.25 2005/02/07 07:55:00 des Exp $
 # $MidnightBSD$
+# $FreeBSD: projects/tinderbox/www/index.cgi,v 1.32 2008/02/10 17:04:26 des Exp $
 #
 
 use 5.006_001;
 use strict;
 use POSIX qw(strftime);
+use Sys::Hostname;
 
 my %CONFIGS;
 my %ARCHES;
@@ -40,52 +39,53 @@
 my $DIR = ".";
 
 sub success($) {
-    my $log = shift;
+    my ($log) = @_;
 
     local *FILE;
+    my $result;
+
     if (open(FILE, "<", $log)) {
-	while (<FILE>) {
-	    if (m/tinderbox run completed/) {
-		close(FILE);
-		return 1;
-	    }
-	}
+	$result = grep { m/tinderbox run completed/ } <FILE>;
 	close(FILE);
     }
-    return undef;
+    return $result;
+}
+
+sub branch_rank($) {
+    my ($branch) = @_;
+
+    my $rank;
+
+    if ($branch =~ m/\b(HEAD|CURRENT)$/i) {
+	$rank = "9999";
+    } elsif ($branch =~ m/\bRELENG_(\d{1,2})$/i) {
+	$rank = sprintf("%02d99", $1);
+    } elsif ($branch =~ m/\bRELENG_(\d{1,2})_(\d{1,2})$/i) {
+	$rank = sprintf("%02d%02d", $1, $2);
+    } else {
+	$rank = $branch;
+    }
+    return $rank;
 }
 
 sub branch_sort($$) {
     my ($a, $b) = @_;
 
-    my @a = split('_', $a);
-    my @b = split('_', $b);
-    while (@a || @b) {
-	($a, $b) = (shift(@a), shift(@b));
-	return 1 unless defined($a);
-	return -1 unless defined($b);
-	next if $a eq $b;
-	if ($a =~ m/^\d+$/ && $b =~ m/^\d+$/) {
-	    return $a <=> $b;
-	} else {
-	    return $a cmp $b;
-	}
-    }
-    return 0;
+    return branch_rank($a) cmp branch_rank($b);
 }
 
 sub inverse_branch_sort($$) {
     my ($a, $b) = @_;
 
-    return branch_sort($b, $a);
+    return branch_rank($b) cmp branch_rank($a);
 }
 
 sub do_config($) {
-    my $config = shift;
+    my ($config) = @_;
 
     my %branches = %{$CONFIGS{$config}};
 
-    print "      <tr>
+    print "      <tr class='header'>
         <th>$config</th>
 ";
     foreach my $arch (sort(keys(%ARCHES))) {
@@ -102,57 +102,62 @@
     my $now = time();
 
     foreach my $branch (sort(inverse_branch_sort keys(%branches))) {
-	my $html =  "      <tr>
+	print "      <tr>
 	<th>$branch</th>
 ";
 	foreach my $arch (sort(keys(%ARCHES))) {
 	    foreach my $machine (sort(keys(%{$ARCHES{$arch}}))) {
 		my $log = "tinderbox-$config-$branch-$arch-$machine";
-		my $links = "";
+		print "        <td align='center' class='result'>";
 		if (-f "$DIR/$log.brief") {
-		    my @stat = stat("$DIR/$log.brief");
+		    my @stat = stat(_);
 		    my $class = success("$DIR/$log.brief") ? "ok" : "fail";
 		    my $age = int(($now - $stat[9]) / 1800);
 		    $age = 9
 			if ($age > 9);
 		    $class .= "-$age";
-		    $links .= "<span class='$class'>" .
-			strftime("%Y-%m-%d %H:%M UTC", gmtime($stat[9])) .
+		    print "<span class='$class'>" .
+			strftime("%Y-%m-%d<br />%H:%M UTC", gmtime($stat[9])) .
 			"</span><br />";
 		    my $size = sprintf("[%.1f kB]", $stat[7] / 1024);
-		    $links .= " <span class='tiny'>" .
-			"<a target='_top' href='$log.brief'>summary $size</a>" .
-			"</span><br />";
-		}
-		if (-f "$DIR/$log.full") {
-		    my @stat = stat("$DIR/$log.full");
-		    my $size = sprintf("[%.1f MB]", $stat[7] / 1048576);
-		    $links .= " <span class='tiny'>" .
-			"<a target='_top' href='$log.full'>full log $size</a>" .
+		    print " <span class='tiny'>" .
+			"<a href='$log.brief'>summary $size</a>" .
 			"</span><br />";
-		}
-		if ($links eq "") {
-		    $html .= "        <td>n/a</td>\n";
+		    if (-f "$DIR/$log.full") {
+			@stat = stat(_);
+			$size = sprintf("[%.1f MB]", $stat[7] / 1048576);
+			print " <span class='tiny'>" .
+			    "<a href='$log.full'>full log $size</a>" .
+			    "</span><br />";
+		    }
+		    print "</td>\n";
 		} else {
-		    $html .= "        <td>$links</td>\n";
+		    print "        <td align='center' class='noresult'>n/a</td>\n";
 		}
 	    }
 	}
-	$html .= "      </tr>\n";
-	print $html;
+	print "      </tr>\n";
     }
 }
 
 MAIN:{
+    my $date = strftime("%Y-%m-%d %H:%M:%S UTC", gmtime());
+    my $realthing; # is this the authentic tinderbox site
+    my $greeting;
+
+    $| = 1;
     if ($ENV{'GATEWAY_INTERFACE'}) {
-	$| = 1;
-	print "Content-Type: text/html\n\n";
+	print "Content-Type: text/html; charset=utf-8\n\n";
+	$realthing = ($ENV{'SERVER_NAME'} eq 'tinderbox.freebsd.org');
     } else {
-	if ($0 =~ m|^(/[\w/._-]+)/[^/]+$|) {
-	    $DIR = $1;
-	}
-	open(STDOUT, ">", "$DIR/index.html")
-	    or die("index.html: $!\n");
+	my $host = hostname();
+	$realthing = ($host eq 'dma.des.no');
+    }
+
+    if ($realthing) {
+	$greeting = "<a href='http://tinderbox.freebsd.org/'>tinderbox.freebsd.org</a>";
+    } else {
+	$greeting = "For official Tinderbox logs, see <a href='http://tinderbox.freebsd.org/'>here</a>";
     }
 
     local *DIR;
@@ -164,36 +169,53 @@
     }
     closedir(DIR);
 
-    print "<?xml version='1.0' encoding='iso-8859-1'?>
+    print "<?xml version='1.0' encoding='utf-8'?>
 <!DOCTYPE html
      PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
      'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
   <head>
-    <title>BSD tinderbox logs</title>
+    <title>MidnightBSD tinderbox logs</title>
     <meta name='robots' content='nofollow' />
     <meta http-equiv='refresh' content='600' />
     <link rel='stylesheet' type='text/css' media='screen' href='tb.css' />
-    <link rel='shortcut icon' type='image/png' href='daemon.png' />
+    <link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
   </head>
   <body>
-    <!-- h1>BSD tinderbox logs</h1 -->
+    <!-- h1>MidnightBSD tinderbox logs</h1 -->
 
-    <table border='1' cellpadding='3'>
+    <table border='1'>
 ";
-    foreach my $config (sort(keys(%CONFIGS))) {
+
+    # Count columns
+    my $columns = 1;
+    print "      <col id='col-config' />\n";
+    foreach my $arch (sort(keys(%ARCHES))) {
+	foreach my $machine (sort(keys(%{$ARCHES{$arch}}))) {
+	    print "      <col id='col-$arch-$machine' />\n";
+	    $columns++;
+	}
+    }
+
+    # Generate rows
+    foreach my $config (sort(inverse_branch_sort keys(%CONFIGS))) {
 	next if $config =~ m/^update_/;
 	do_config($config);
     }
-    my $date = strftime("%Y-%m-%d %H:%M UTC", gmtime());
+
     print "
+      <tr class='footer'>
+        <td colspan='$columns'>
+        <div class='footer-left'>$date</div>
+        <div class='footer-right'>$greeting</div>
+        </td>
+      </tr>
     </table>
-    <!-- p class='update'>Last updated: $date</p -->
     <!-- p>
-      <a target='_top' href='http://validator.w3.org/check/referer'><img
+      <a href='http://validator.w3.org/check/referer'><img
           src='valid-xhtml10.png'
           alt='Valid XHTML 1.0!' height='31' width='88' /></a>
-      <a target='_top' href='http://jigsaw.w3.org/css-validator/check/referer'><img
+      <a href='http://jigsaw.w3.org/css-validator/check/referer'><img
           src='valid-css.png'
           alt='Valid CSS!' height='31' width='88' /></a>
     </p -->
--- tools/tools/tinderbox/www/valid-css.png.uu
+++ /dev/null
@@ -1,25 +0,0 @@
-begin 644 valid-css.png
-MB5!.1PT*&@H````-24A$4@```%@````?"`,```!4%OK2````]E!,5$5CI<9S
-ME,<,1YTV9*Y4?+K?YO+N[NY,3$RNKJZ=G9V^OKZQP^"AM]F2J],L+"P```!]
-M?7T<'!SN\O at A5:;!S^:-C8T,#`P73:)DB,$+1)V.I]+.SLY=75W0V^PF6:B#
-MG\U%<+0\/#QL>I%M;6W,S,S_S&;___\`9ID8>ZU*E+WG[_=*2DJ]O<:9F9FU
-MUN>$M=8S,S.$A(0C'`X/#`9:G+UF9F;OOU^);38\,!AM5RO?LEFOC$9,/![`
-MF4S/I5);2"0L(Q$,"02<?#XQC+4Y.3D<%@O#G$[KO%Z9``!F,P#TPV&5``#,
-MF3.YE$KAM%K>L5A[<V8H(!`(-YOM`````7123E,`0.;89@````%B2T=$`(@%
-M'4@```)@241!5'B<[95M<Y-`$,>;32!)\[`-DA)MGJJ]?5/?^"9W!`*!T8JQ
-M6OW^7\:]`QR(G4G&1%\X[@1F`W,_[O[WW[V+N_/'A8D[.B+$\?'QX?X_^%\`
-M-Z#)@UO0T at P+BB"RV^T.=2]_']P#L(CZFD4T*+A-LH>(>#6Z.D$*@#Z1`]`S
-M$W_AN at T`E\9XW1XA=D\`YRIX,-$?>?F*'$\_&%[?$$U'IVQ>'SRB&<#<R.+0
-MPFB#8WYE7Q;@E51*^6O. at E"I<,-)%',2/`/.2K"E56`:S&C"XO+?!3]%N^**
-MU1:1?\E:;/BN$#=BG9 at DW0=_RK*LM%L3&GQY,*`Y7RV>N\M25.TF,8G$2F&L
-MLT!(E7*"4 at 1J'RRSS)`->`%SWCNVW4S/>JE=X=)M%1RB7XP,V"N8Q"L1Z03#
-MJ`[.N4PV8.8MH*DET#H3N1XL:5P%QP:\D:F(I*\^,%"L9:RT0#5N6G*+RO-8
-MAP6K`<89Q%*#<U,%IY at P<\MXI3\1HF(I0B%\3)[G%N")V3FVK_&RJ1:W7M*Q
-M6?AVE4N!&(@H,8E>B4Q_X19@=EGN.*`2_#K/[+*D`U_%9GS$QI/:;FL9*C_(
-M>>ENCUN`G5P#71B-N656T.V:-],W!PLDY^U*[N=:=VL9#29<VTMHNNSI)8W&
-MN at _AP5[Q6,RSG&^];0ZXX+0"%EF>:4(SZN#H%G%XN*1+8AY?ZF#+]$Q']\^>
-M+A`]_PZWH*E]1*^HDK_N-WJK<G=F5(\#X)]JL-)G/D%*\N[L1]-CP3W_F?>4
-M<__`8?HD-?>OG-)O#\?#\?'N6PF^/W.\_VZX/P">K(-C3;4/#@````!)14Y$
-$KD)@@@``
-`
-end
Index: tb.css
===================================================================
RCS file: /home/cvs/src/tools/tools/tinderbox/www/tb.css,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -L tools/tools/tinderbox/www/tb.css -L tools/tools/tinderbox/www/tb.css -u -r1.1.1.1 -r1.2
--- tools/tools/tinderbox/www/tb.css
+++ tools/tools/tinderbox/www/tb.css
@@ -1,35 +1,76 @@
 /*
- * $FreeBSD: src/tools/tools/tinderbox/www/tb.css,v 1.5 2003/11/12 08:30:51 des Exp $
+ * $MidnightBSD$
+ * $FreeBSD: projects/tinderbox/www/tb.css,v 1.7 2007/05/01 10:13:11 des Exp $
  */
 
-BODY, H1, H2, H3, H4, H5, H6, LI {
-    font-family: Helvetica, sans-serif;
+body {
+    font-family: sans-serif;
     font-style: normal;
     background-color: white;
     color: navy;
 }
 
-A:link {
-    background-color: white;
+a:link {
     color: blue;
 }
 
-A:visited {
-    background-color: white;
+a:visited {
     color: gray;
 }
 
-A:active {
-    background-color: white;
+a:active {
     color: red;
 }
 
+a:hover {
+    color: blue;
+}
+
 .tiny {
     font-size: x-small;
 }
 
-.update {
+table {
+    border-collapse: collapse;
+    border: none;
+}
+
+tr {
+    border: none;
+}
+
+td, th {
+    width: 14ex;
+    text-align: center;
+    vertical-align: middle;
+    padding: 3pt;
+    margin: 0;
+    border: none;
+}
+
+th {
+    background-color: #eeeeff;
+    margin: 0;
+}
+
+td.result {
+}
+
+td.noresult {
+}
+
+.footer {
+    background-color: #eeeeff;
     font-style: italic;
+    font-size: small;
+}
+
+.footer-left {
+    float: left;
+}
+
+.footer-right {
+    float: right;
 }
 
 .ok-0	{ background-color: white; color: #007700; }
@@ -53,13 +94,3 @@
 .fail-7	{ background-color: white; color: #ff7777; }
 .fail-8	{ background-color: white; color: #ff8888; }
 .fail-9	{ background-color: white; color: #ff9999; }
-
-TD, TH {
-    width: 16ex;
-    text-align: center;
-    vertical-align: middle;
-}
-
-IMG {
-    border: none;
-}
Index: Makefile
===================================================================
RCS file: /home/cvs/src/tools/tools/tinderbox/www/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -L tools/tools/tinderbox/www/Makefile -L tools/tools/tinderbox/www/Makefile -u -r1.2 -r1.3
--- tools/tools/tinderbox/www/Makefile
+++ tools/tools/tinderbox/www/Makefile
@@ -3,24 +3,16 @@
 
 CGI		 = index.cgi
 DATA		 = tb.css
-IMAGES		 = daemon.png valid-css.png valid-xhtml10.png
-CLEANFILES	+= ${IMAGES}
 WWWDIR		?= ${HOME}/public_html
 WWWOWN		?= ${USER}
 WWWGRP		?= ${USER}
 
-all: ${IMAGES}
+all:
 
 realinstall:
 	${INSTALL} -m0755 -o${WWWOWN} -g${WWWGRP} ${.CURDIR}/${CGI} ${WWWDIR}
 .for _data in ${DATA}
 	${INSTALL} -m0644 -o${WWWOWN} -g${WWWGRP} ${.CURDIR}/${_data} ${WWWDIR}
 .endfor
-.for _image in ${IMAGES}
-	${INSTALL} -m0644 -o${WWWOWN} -g${WWWGRP} ${_image} ${WWWDIR}
-.endfor
-
-${IMAGES}: ${.TARGET}.uu
-	uudecode ${.ALLSRC}
 
 .include <bsd.prog.mk>
--- tools/tools/tinderbox/www/valid-xhtml10.png.uu
+++ /dev/null
@@ -1,57 +0,0 @@
-begin 644 valid-xhtml10.png
-MB5!.1PT*&@H````-24A$4@```%@````?"`,```$C$<I$```"B%!,5$4```#>
-MY^?.>SFMK:W>C$*EA$+OO6.]6EK>A$+.>WO>I:6<E'O>M5+&<W/>K5*<"`CW
-MO5J4C'.4>U)CE+TQ.4ICC+V4``"]UN>,K<[OK5*EO=;6WN^$I<;.WN?.UN<8
-M6I2,*0B]2B%[>WM:6DH0$`B,<SD02HQ:4DIS<W.UE$H("`"$:S$A&`@(``"$
-M8S%K:VNMC$+6<SG&G$K_[^]C8V/.:S'.8S&M:V-2A+5KE+TY.4J<M=:<"`#&
-M:VN<``#&I5J4M<ZU.1 at Y.3FE4BD8&`B4>SE[8S$8$`B4<SDQ,3&]G$JM(1#>
-MWMX`,7N]E$H0"`",:S$`*7LI*2FEC%K6UM:UC$+.SL[G[_?&QL:]I5J$.2DI
-M8YQSG+V]M9Q:A+7.I5K_]]9K8U+_[]9C4BEC2BD`.83OQF,`,82<>SF<A%J4
-M<S&ME%I[<VNMC%J4E)2MQM[W___W]_]">ZU"2DJ]QL9SG,;6Y^]"<ZV,C(Q"
-M0DKO]_?O[_?.SL;GE$K6C(S_WFM".1AS:U(I(1!S6C'_UFM",1AS8U+_SFOG
-MO5I20B'.I5)K4BGGM5KWSF.$<U+WQF-:6EJUG%HY0DK&6BFUE%H(2I124E*U
-MSMXA6IP`2HS_______\Q:Z64:RD`0HQ*>ZU*2DI[G,;6M6/>Y^]C6E+W]_?W
-M]_?6K6-"0D+>K:WGO6/O[^\Y,1CGM6/>M5I[<U(Q*1"4E'M*.1A[:U(Q(1"4
-MC'M:2B'6K5(I(0AS6BGOO5I:0B'_UF/6I5*,>U+_SF/_QF-K4B&$K<X8&!C_
-M[W/&UN<06I3_YW.]G%H04I2U2B$0$!"]SMZ]O;TY<Z4(2HQ24DHY:Z4("`A2
-M2DHA4I2UM;7>M6,`0H24@#^D````V'123E/_________B/]L2?__=/______
-M__________________________________________\,____________>?__
-M____________________________________________________________
-M______________________]=____________________________________
-M`/______________"/__1/______________________________________
-M______________________]Q/IU@```%O4E$051XVI56BU\411P?R[OL84;:
-MBJ!1!%F("40&5*<9<D0>:1)04"+>R<,2?*&'TNHY-$+I(O&0&SHDO33`\Y5'
-M*3I;1H>)G/GH_IU^,[MWMQCVT>_-SN[.?O>[O_D]9 at X5<^P10,6T>R+QU92`
-M->!#Q5FQ992P$48D&`>PFU>(!.,1OAOU4`^J\*7(5NQ&=">E%8PQ`GQ.KQ@;
-M8\3BUMX5`T0'8SXQW%G5"\.5+7O]?D*&26#H6_XE&Z5;=M!;E>L.L^,CF$FS
-M)*-()6%$?$03"6-/%*O<*$RFC+.U;\;P80=UA"BB#"EY*LK#"(EACX?2NO<I
-M?2I@)FROZ=S>9O^G,/QW=A;M]X((T[_)9EB$MFU-V1(8/D38LAP8FVXY:_SD
-M6C)P<R%AZ9(<8QQFJB:#28QA.A%4LJG at BW%S<CWEC=8#-$]NS`U8#_Y,AGS6
-MU*1J%[F8&\C%87+<?+IC.>V+`T?N&J0K0'EUTL=*TL%<%2.2ES%T!@70']AW
-M09#!(T<<-$A?MC7NBII!##V_>,1B$3FPP-$8'RJA=#RHVVP^W0'N-;=O>Y:[
-M>.D'F#5)TBQ-F?;SUATJH_0Z&N2!VP0)0;I.C.0`E[PH621)TFV>PAO`.4B8
-M8M9M:9+T"99FMF5.0MM+?K_=;O>+9H=K?K+[6[YP&_)CJD0QH-3M-L3*$+0I
-M0+Z_#YEH:2FR33\34ALFB\B%`TA9BREM?[.B-*=:K1FYPV2HVE3-=/+N(S1^
-M`B+C\531):CT+F7X5A)V[?_5)5_RR<BE6/.KD\-D7B[0JFCY;'J59E)*9(1D
-MUP%S*KMT64;G7,/)U?DX3)YH6!`ZUIU5[Z#>(LT,7^LW&Q1E`UOMP\W*A at -I
-MA<UGR$K+.YS<O;.LKJ^L<;9GIS<Z05%/>G+P&QF"^!.?8(^#-YY08==AX0_-
-M$_R&88CX3.&-G at 0:O`9GSS3HO$`^D<,)^VX[N8>Q-`^X%LOCFNOZZVCL6Q/9
-MQVQ@\]T;8,8G3 at R:[;CF"B$8TJ@)TO,%W<^-H%=/RSQSZ5W4QLW`.6"#<A1O
-M.L0M!K;%LK3V?A'$<[!R&SN_=`X(.T`W'=?>/]R,J`P/Z-/$;Z<;PGT/654U
-M[_%#!0A_"/(K;?<@TV[(9KL`3_!?W%-6RG]121X<OOPGW>X'%F8/#E_MA8<1
-M5B\J/$H7546!EZ%3!%3MGJF**@YPGE%XP9UR>+O[3BP7*>DM$^B#!-B<6$R+
-MIG%A?#DI)<WJVDA2/R0!;$T=,)G.H#S3P&L([<=R,D+Y at 6J4C"%Z3QLM_MPQ
-M"OU6SS'HRVU9#0UQGN#S=/#61XDGKUXOTM8GW(Q:,%%=B,.E$.)'PUC.0XL6
-MMYK0HI1D79A,$B[IF>#"56!E?4*PA,9[KL%Z>E*LO;PB*Q at Q(=>P:W$KL:8H
-MF"59%8);T&4NW)J&4-HIE!Q8B8;R\O+!%6>?^"KBX_(UL;0_U.M83K-M=72^
-MK2>[D0YV>2.;+]]_B$K"64C"RY6X)+R at F"HN&?&]Q]?FQU[7A!N#":.>K;MY
-MW\>KM:[3%DM+O='@A9<";</0.WWS()&]DQ%YAH57GS3S1STKYCL\H3CZNR/D
-M&1?WXZ'.+<:L@%>QN>-46%/MN%*SCH2%88>=AP5EAL15866)IEMOU7/03U1E
-MT;C9(!E;U7NC5#S8_*CXDZ*NW^9TCHUHPC5S#I%37>UCNO!26-%F-6&9R\+O
-MS4EY/-X)"PR-#S;0T:`CX9KCST%:M&))8AOJXC[F&2IORM&%E9M'?V"XH_V\
-M9N\S[PH[>8/?7RLG%TB]-G/AUMUS1[5!;]&J:.7AM3F'0=@,%7$^9ZT\<GI.
-M#=9=C+^3N#8XX0W\D)7'A<<6+H.=]NOU`PPO.^X\NN^?:"2)/)U;FRZ3AROI
-MBO!F86 at CQ/#/`I[)3>F8_R&*%$B1M_C&_V/[]L\*"PH+"@H+"_DA4!`Y%T2?
-=09^18?I-$_X7HLFJ[CL9`)L`````245.1*Y"8((`
-`
-end


More information about the Midnightbsd-cvs mailing list