#! /bin/sh # The Helix GNOME Pre-Installer # # Guilty party: # Nat Friedman (nat@helixcode.com) # # Party of less guilt: # Jacob Berkman (jacob@helixcode.com) # # Comments to: # distribution@helixcode.com # # Copyright 2000, Helix Code, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. # # # This script and its embedded programs are distributed with # absolutely, positively NO WARRANTY WHATSOEVER, without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR # PURPOSE. The author and Helix Code, Inc. take no responsibility for # the consequences of running this script. # # Four steps: # # 1. Figure out what kind of system we're running on. # # 2. Extract the proper snarf binary. # # 3. Grab the appropriate Helix Installer from # spidermonkey.helixcode.com # # 4. Uncompress it, chmod it, and run it. # # TODO: # # - handle X authorization # - automatically su # - accept -d (temp dir) and --display ($DISPLAY) arguments # - color # globals _awk=awk cachedir=/var/cache/helix-install # prints out version info # update this before uploading VERSION=1.5.5 DATESTAMP="Thu Nov 9 13:56:50 EST 2000" print_version () { echo "go-gnome: $VERSION ($DATESTAMP)" } # Exits with an error message when the user is not root. bail_root () { echo Error! echo echo "Only root (the superuser) can run the Helix GNOME installer." echo Please use the \"su\" command to get root privileges, or echo contact your system administrator for assistance. echo exit 1 } # exits with a custom error message bail_error () { echo Error! echo echo $1 echo exit 1 } # Exits with an error message when the operating system is not supported. # # $1: Operating system name bail_os () { echo Error! echo echo We are sorry, but the operating system \`$1\' is not echo supported by the Helix GNOME installer. We apologize for the echo inconvenience. Please see http://www.helixcode.com/desktop/ echo for support. echo exit 1 } # Exits with an error message when the machine architecture is not supported. # # $1: Architecture name. bail_cpu () { echo Error! echo echo We are sorry, but the Helix GNOME installer is not available echo for computers of type \`$1\'. Please see http://www.helixcode.com/desktop/ echo for more information. echo exit 1 } # Exits with an error message when a temporary file name cannot be created. bail_temp () { echo Error! echo echo Could not create a temporary file name! Please mail echo submit@bugs.helixcode.com to report this bug. echo exit 1 } # Exits with an error message when the installer binary cannot be downloaded. # # $1: URL of the file that was to be downloaded. # $2: Destination filename. bail_dlfailed () { echo Error! echo echo The download of the installer was unsuccessful. Please echo mail submit@bugs.helixcode.com with a description of the problem, echo including any error messages that were displayed. echo echo The installer was being downloaded from \`$1\' into \`$2\'. echo exit 1 } # Exits with an error message when a file cannot be gunzipped bail_gzip () { echo Error! echo echo A downloaded file could not be unzipped. Please mail echo submit@bugs.helixcode.com to report this bug. echo exit 1 } # Exits with an error message when a file cannot be gunzipped bail_display () { echo Error! echo echo The Helix GNOME Installer is a graphical application, and echo either you have no DISPLAY variable set or the root user does echo have permission to access your X server. Run 'xhost +localhost' echo before becoming root, and make sure that the DISPLAY variable is echo set correctly before running the go-gnome script. echo exit 1 } my_uudecode () { _awkprog="$cachedir/uudecode.awk" _uudecode_out=$1 rm -f ${_uudecode_out} cat > ${_awkprog} <?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_"; return index(n,substr(l,p+1,1)); } /^begin/ {} /^[^be]/ { len = x(\$0, 0); for (i=1;len>0;i+=4) { a=x(\$0,i);b=x(\$0,i+1);c=x(\$0,i+2);d=x(\$0,i+3); printf("%c",a*4+b/16); if (len>1) { printf("%c",b*16+c/4); if (len>2) { printf("%c",c*64+d); } } len-=3; } } EOF ${_awk} -f ${_awkprog} > ${_uudecode_out} rm -f ${_awkprog} } # Extracts the snarf binary for Linux i386 machines. extract_snarf_linux_intel () { sed 's/^X//' << 'SHAR_EOF' | my_uudecode $SNARF.gz begin 600 snarf.gz M'XL(")C:L#@"`W-N87)F`.U[?W@3UY7HE3RVQT9&`@QQ@FDG#4Y,P+\@_#(_ M8G!D0XB)L+"=-"&.L,<>&5M2I1$8B$&I\!?&JE*_?6W*US8MW9>TWC:AO+> M>\^]Y]QSSSWGS'AFK_6A"H/!0.*7D:00BGU+$.^#XI$EK/T^(I$TDD_N(+=# MB3A``&@`>J&.D`H@`*0`#"-`'\(,J,_@?08.]((^A&\6$X*`XXF%]>\#?%^O M("*T0\.Q.PGEB_U&*!XO`3@IB`@'`4=(XSP01!@C/BV("!+@4E)?4:MS:U%K M8T&KT^5O+_2Y"Q>R=@N7K7)C#==%XLK#<0"S`;X&D,';Y_,RC9+Y+$.?Q<:@3X90@"E1'LRB?_2%!+.7[4HPZ3*)?CGI-HB^'4M<$\3+O?Q#@ M`-!7"PQ_'/L!7\W[&P#>!'HWQUL`ED&_:F"X%]>*XPV,_TX`!>0IY/($<'R2 M?,\`C,)\!SC^+$![B,V/^/G/H'X`/\;[_S>N+Y28[R+J"_`-O/_W:'^`K^#]0\@/\!_R_ANX M7L`#J0Q/A77WA!+R9`$^"OS^Q/%L/(=)^I^-]-#_7'P_`3\:2LB;#_@CT%_* M]5L,90[@\7.W!O!E0/\F'U\!>#OTYW&\"O`#T+^3XW;D!_I:S/&O`[[O;^+R MF(D3^8OWD_KZYC:WJ]ZG.KQJ?3T!5]2`+F@)\7B=+K6)^-1&MU\E#6Z72VY0 M`?7*7J_;"^,:U)T>N7XK:995V;4=&J!/=;?6PS#9ZW*TDC:YK<&SDWC8`"#S M.'P^TN9H;74W$*?/H:H[B<_=L$U625-3J]^GX.RN!H=/;FCSD`9&M\/K5&72 M-"Z-M\&A`J]&V2LW.WW`J;[)ZVB3@6N3&[OA/_'*CD8F3Z/?@XQ59YOL;FIT M["3*N#"*VZ=NW>F"L<3'9V]J:'7[9%PR4`%/O]I`FI@`]?7MH"+D#%TN=SV( MYE"=;A>1VYV@%5G=ZH?Q;H_L(DW.5MGE)O7K'P8)&IVN>K]/1G%0M5S/;0ZG MBZY%22@25.?>(2-^JY4QR;;']=#DE652^=#ZM>7U"PM+QFO%/$[\9_ZEW`(W M3&HCM,7"8P9>TYS.+/2RQPRLS4)Q(^GGCO,1B(=IW&93[V6^,C6%G<'4KS!? MF`K!ZBC$U71PDL>PA"#6BR48[!M80A!Y$TL(5O^()026LUA"X/D-EA``SF,) MP>2W6((ON(PE&/A5+"&0Z5A"4!C$$H+4$);@O(>QA*`WBB4XC3$L,1B!W.D0 M_`0L(%/_9TWS8X_,'77D),3=5_OOW3&]J(?A MS[%*KCVA_2YX==2VN5IY_&^0`H+9IEJE]SE!U+\'@@]W3[C`[H.KOH5&[%\6 M-6LC89N@S=P/>(C$SOX$*\%EQ!\YBCE(9Z^:J1R`)OT]X#B0BL/0-9WNTT9@ MGM-]X>UXCHYB/`5:LV(YA5N,`ZZ-Q6+Q_M-]$_G7U=I#-6)HBZGSG.KI?%=M M;2'5RD&079\-#D`;"+YAJK/KOP"6P3=$K;]S1'VPI'?L5VB$'QV:=Z8DUC5K MWSGU]L#-+#5;^RA0FJEFK:WLRMQW6DT-?)+EOQZN--AT$PS7^H"5?@IJ_0^L M,!#M?#2ENZ0W+`\_]D0]7\/3@R(<.2`;Z!Q[AVFUQ=!BT*]Q[GW]G<;ST-[? M:6`%P2(RY*Q3&2GCSE,_, MKQJ#O2/^+/.K:PU8$:!B!.65,]J4/7,XK3IE[/6?@E*.XEV(=G*LAWS\4W5. MBX%S"56)F_0/J)2FSEYSYP[0CG8^_.(@=-+E,=T_/4C8^D(=8BB]A2B_@"EC M'HMR"&WE%8KDQCPYRDG4_P_`,6K]P3>D4!UN3D&HT@*BW=U";$H_]%?KNV[# M#)I.8E/>A-]:O9F/F3M2F6U0E\=V"'HOQ*'@&P(,O=>F7`6J\/.H+[M^8PSU M1(?;E0@=GA]G">TW:,LLVJ((/P>!TC[%!:(0MT$_;?KX)C8)MNB"[K!Z-^FJ MS.XI4S.@5X+>Z&W[>CM,@)0AD@DZ@'K@YSCMZ[,8(Q,7H%9_F;8H/3CK\S?C MC/)X/VOOY-R4U^@DN_@DV>.3*+0E_.+P9+WG,KT'5W7#>Y##.T&/5G MP#@&4KMY&"GIC73`!H>L4UL1G%4)4F&![#O'/!RF.3QAC5%;0,?V("=U!;+M8I_]+%IJ4&-Q+1U724<&]%N`"2XMY1&45T]8\,)[(S\#MA>I$ M$'5:M?[[N.1T729FV=#^]B?)NK$`?>AA"W0]$-QK(O[5L,$/P92;E(=QIQ!P<`*RK5I\&)PM& MOI-PE#?^9?VFZM`K2%RKNVY0\T8SLPF!T@*UL&M=]LA)@VH9.6GQ3U%D6%XT M`_DIS71G5W$)J6N+FD*+,0_57D&,.2KBS]-&6LD('$^!BDU=!7Q'RL#YS$"[4[.4``@0^358$(RO M!B9CE,FN$:[?:KV>5DV1UX&F7R@E=?KQ&VSKJ')M^A44J*^%V.OT9Z:S3;?8 MZ7IQALY!2E2"YDGK.-(OCE1D&]4[8XLQ5=?>G[@3+0:[GC'*-N$5'%*KG$"3 MN@9MVD"7/0.4';BYR._IC*FM^FL9R)-M?L#2PG_N%^X0YB5P;8?IZ!NX<2JK;_"8/CJ[B"J[AGE.T?2@J. MNB43(KI^\T^LT4(/6$Y\P(CSMOFI^TF/0S0#1`\ZN!,H$5U%V?[H-^3%ZJ3,%=X'!3 MM0>%:&IHK:B)VH-BS*B=Y7E%BZAWX1Q\-&&#$_E/AZEKBU@R$K@??-W[Z`&% MU<*OS2=Z@Z-5YF?PF5!L;FB6Q`7H[4,%Z-5B`O1 M"H8+T56(2]$E#)>B!=I(<-5W,'29O],+*KYBT&8B<VGQ!6VY0'V`:],`V= MM:DBL'(U,7?>"8?`_&I?/.WJ_GP^.IB#"9@5'SD3?3GXQG0#U-T M--@A&LS/GH.-#-680E[A]>,O"^*O\($I38S\.G3!^?R`O_&0+N!J.N"<*#N#=6, M:E\7JD,U8]4ZW@?H[_^9+DA_)HWY%1$EF*[5Z*$:O=K\:GFV33\/)/O+LW%: MO/^!><#9_BP5A0'BV,):_50:%\:_E;8H=U-IHBW=-OVB(9Y]/9C,O!R9;^7, M,RESW9X\IXO."2F0?^J$.6=IBZ(+@KL%HLYB[8L.T5T^8::['+705GWW1\S_ ME`M!ZZ`0LPZARCN?A^U#/Q0 M%V$Z6@)'5ZO,93JY$])4\"@VZ%">/#3.-SP4BP4>SC:@NZH0:3Z^!]*`59`& M_'>DVFY1GCN$2>\!^-5]IO%$X,@03P1V<\X5D`B\SNK!/8+!/[5.'T0W8QV" MENBTV!+EI\QR]DRE^@MV#!%_2LPZ7*C.X1+!($8[SYD[L^#PA*S#8?FW M"?^D_"^4R"_J^X$W;)=0TAM-/W#O%T`>)C7_I` MA8"4D4/Y&'GWL";9&R'>=WZFU%%&\@>%P7^D"+L+R/E]320QZN@S[ MX%9F9:GZM95E:K'V%C__@=(BU0*WCT;H%:%76%GFCR*Y8`8ZVJ*]&;V[3G\- MYH5$O]Y@1S:U^K9_@]M*82DQ@*ZM)LT#OV+\&[B_3)V"^U$>6+FBS/^)7=]`^=GK:G4#Y;2(A)_ZJH&R,D', MBGM3ZC\%9.472][M2H-ES%E9I-ZN?<3.3Z"T5#6M+:?K$U86^?\MO,&@58UM MTJ/7,!>PU];I/[F.\Z\@@96+2OVI*?ZQJ-'P'C)JMVA#87F(,DKPZ8"X93Z1 M'IJ)CR)''EAK$%53!?I_6O8)?4BH5_D:L8UEFN4BPQ^-XR:&KX_C%H8OC^,Y#)\7Q]%7 MIMGTVW$!^'"3R7LQ^I?(VP_R3A8V(6M>7-95,:I?>R0K,0;0K\)6E/'>"MUS=CRO7@+U#^.UT,5N/[4 MP#)"/>-LZ+N?/@R"RD_CE0Q,*X;B#N7SSZ90>WX/LP^?P=?3CQ3"PX*-I;2'C+J%W?!>274B^#`[NX6[AH'0UM&4[L MJW:A\UTF'MHHC$;9(`48WPT&;5JNG M1)G>^J-IZ#]*1FKU`S%,;M^*Q)4XHF;4ZO,9'0Q--=L91B;OD>; M`,\`R=)IO!WWNO'G&@)_GK0%0I!%S\,1]"81)AHIA]"ZFMG;TN7EN4\MC/D$ MA?R2I@O?AOPI.J5;N0=0?2H,@TRL6O^33N-]D,3CO?XZH3?]OARX]\+;18@6 M=-[I,5]NG:Y!9``#AMMM6%CX%;PWC,X!RF]`N[TV]%V4I%K?JZ,\V<'1F/IM M!1^`U5)F1__(5FR"%;Y-6[8#(<1GB&4T?H9?'(K?"="]?`12?;B)R`BLHN=" M_1K>.L\)6WMLU2TI^@7D`BS@!N8W2IGAZBG&/2U?Z;W8#>_LF=* M>-?IZ!0VW^LHAP;;5G9J/#FRZ-33A4BL6"GXY7CSHQ]0+<,=:Q&8V'P8I.VV M:!]UGNM(>_I4#'1Z\F9FM;(P,2"?#C!%9RA+$HTS:*.HE">:"#1Q9>%YMIIB M'D&?K<[T+\VAU0K%8DICO\K9473UMR8S](B\8[<,2;#;7R_ M6'/+?/TQ)D?,)RI5B7G\,`^O=D&568FL)\7>W#H>.2[1^]@>JVI!=@"1P']ZL5[\KS(7E7]PM7MQ@N=`Q M%K*.'3%IUN$+;L0U'ATOD+UR^D=D/;^0M\F,%/6\%77LJ= MJVQ+<$JGG"S1]5WEN7-3\O#XFT\$-@.![;/R7&5'@O+2U5L)O3M!<.PJ3I7# ML3.`80Y=GSA3%AZR,MC6X>%;>9,N4/G.^#3O=@SK7CJ3^&[;\(25KX`X/+_< M9&/[Y]<2K4ZXSY_[5:)U[.CYZOR:GI-7C&NK]>__'M.]@R7O#ECQ9142KNK5JHYH;YV00"O: M.V._0D?W\8MTCL\TZ]'E?>;P\^C!_$=`KN!)HU9U&-96J76\A$^$JHYU91OV MU_3T=O08S2KJ$I:&J@_N%*>7!*RDGKP@AZTM=9+_UP'XKD@CF$U4]&6]U M92\,=1SC2QNG0Z+@Y?N[3,7[35"S'DX)6E\" M.)82ZCBZO..8^5O;8S1(S:\Y%KQI4&>9GT4'&;QI5#=$7B()__MY44/6(UU" M.I=6>R?X0;",RRYY2WF5](7C93,<_S<=#9K^J/&0]V`]W M;%"$7WPJ%G_817,1*Z9?P5&#.M.;'APUJC.C=RL.V+'H-!K_%2?64Q7?X7%C M=?PN?@,CA:T6FYTW7X3FI*.CE_Z.9WK,3UJ8Z=;IWBN)O`/0&6`VT?H6_+.; M41_!/OPC3>=(1[JR&UG?WS1@'3*"Z9J:3IX6F[2JC\"?A6N&8SY3K+A:OPI< M6BQAZY"M5F^_0L]\9^]3&=I0-(O*7Z?_]65,,<+RU7AB= M$CL;[!L+KHCYA\?EC3^K&W]'H/(VS$VN\"4EWG%+X>]X?-&5"?\S259F%OZ0 M=6Z?6BH1:=WFS;:BDL)B:*JT;I9(*;%YW>T["];X5<7M=>ZBK\J42FL=/F># M1/):&PM(MJLF\5J?')WH(US;(+I[-O7%-=48]SUM?8K=7U:RJM M&S=S_E7N7<[65D?1?87%4OXC)24KI!J7LWV%M,Y9T.9NFS>QO]S=Y@'66UOE M%5*5?;U5@M9Y7_Y^H<_E\#85+2PL+EPNY2NJZBDM*MJQ8T=ANZ-!*6QPMQ51 M@GG),E9;*ZS5UFI2+3?)7ME;*GW9_%ZYT>F5&U`?4INC76IP^UVJ)+]4J-;]DDN-S#U>SQNKPKR^/QM\@))]>Z4',T.ITO:X505J<`EY8-\ MK'<>&7\K"B64Z*M64I/7W2:Q:2FG!K=+A7TN:)5=S:HRCGK1'@CQNQRP79+J MEAIE5?:V.5TRS-[F5F4)WZN2?,Y=_ZX4?M$X0G_F_"-;_(/UB`,+K,D`-OMOPW8DTEDEC\KYDOK*DNNWL'D703.6G,P2'=)V1ZNS M4:JI?H@:NM_;RLP\OK,4HV;N]JMH++<\W_@R(#U?:"L2F(?<[O31)FI?=`Z' M*H&/8KXI\Q;'*,Z?VC.L)KXJTL2*9K='`6N'&JP3&R?*$-A7N(;Y#W:&V2^[ M=KK]DJ,57V#<*2F.[3(@K9*[BPA3#B"9?M M_J&[U/69R>^=Q_4"9]#A\H''`T\EP4',@YG@F#=(^5C;5@35>9F?U_\7CF^5 M?="F.%RPT3#6[6K,3)8C7ENSMOP!:T7ENO4/;GBH:N/#MDW5]LTUM76///IU MQ]:&1KFI67&V;&MM<[D]W_#Z5/_V'>T[=Q67+%QTW^(E2YP!>!;@1P"'`$X`G`%X#^`ZP&<`4T,P M'M_E!E@-L!'@"0`7P!Z`9P%^!'`(X`3`&8#W`*Z'F)P&_MXFWJ_C:U7X#O_C M_-WC_*<%$=_,\70*(GX[$/BF(.(&X'N=4_BXF4DYPDN@'\P2R@SLO?]I_+N! MT6<$$>MGH9S.W[N?P;\C^"P65')?T4/XE8243SM+"DL*%\)9;I4=/G#\_S7X MOP;_OQTL)GT64@P);PDW[?\?VDBA;V>;ZM@*I>IEI1*OT7?Z/:00`K%%I5 M9.&$7UI5Y7;X;8(6Z'_1NZK/4!PUO!Y^2I9G')3 M'PT^M@R$?2))+B.'S=PO8QU]\\%T]LU2,E_"OSO*X&/0MY]-9T8D\.^^!&Y4 MK4ETYX'N?'KB6[=9273^)#J,&:/I+)8(/#[%Z?9P.=)XS%J6P;Y[FZSG?4ET M"M`I0-=MG$B'H"71X3>%R.SQ.0FZ^'<-WTZBPQCY^#SV[==DOM]-LI<`T`6` MSI@^\9LQO)[G=+AW]#O"8J:WR?/]CR0Z?//X0'&B+YGNY20ZO/'_87'B4"?3 M'4FB>P'H7O@"NM>2Z#"VOP1TA\GG]=?+=9+"\Q_\[O$@MQ>2M&^G>4F_OSL% M>EX(^RM]7B]G)GUCAW0_-G[>GM_AYPTO[/_Q?83\]A;G-""(QV,!S;`<9;-D0,/(/ M0,(XR,$!A]@=:)+BA_1L*4YH9VI"6G"8SR9Z--SG3 MSDD["27;)`?.9/:0T^0L;)N6-,D.F38[9":90F/0?K[WWB<].X8DL_UGSUG: MFW>_]W[O_7[O]WY_W?O\--S>>:>2I[#LOSQFPW\5*RLZA.=JQN[`)^09;:D@:(T6&4!K,I2D"5Y@W_UP<#N^J#/ M$0L[5L[0;38('&^AE**LA2E$F6^;+]-TJ]"N1VE4,JZ[$NLN^`Z[;/E MLU@^9\GG3=/PYLTPUH*R`*5\FIQN->'<@K)PVKA%\EF$LD36'2@K9F91&;S@/\2<(36-(_/K_PUX+.`G[E-#'@2\#F2B<37`%]`99.`V37`%_&\ M)/M?!GPIA\^\@"_C^92$,3\WDW$)MP'&VI5."?\'P"3_MR3<`)CVSR7G7P^8 M]K]!]DE/UW`?9#%7XO^VL`D[S?D/`^ MP*"O/"+Q_RO@-)X[)+P(\&'3?/<#'L?SHAQ?!AAVKWAD__\$3/;ME_![@)\Q M[=\LP,]#5/@$93[Z+^?T1:FW M*NW<5.5\:<`6$S]_`$SZDC_'5CMW0`16S7KOZ!<&A7+*Y%X[MV M,;@S+SFS1A:)!D+Q/A:+^\*#<>8-AT*Z-PXPJD>CX2C&>>-#$7W7;M:OQ_70 M7C2@+QX.[L(P/1K2@FQ`'_!&AEA$#`!:1(O%V(`6#(:]+!#3XO$A%@M[]^AQ MUM<7'(SY:?:05XOIWH$(\PJ\?=%`7&=]66ZB7BT.6CX]JO<'8J"TJR^J#>B@ MVA>F;OR?177-)_CQ#4:(<#PPH(?[?-H0\10#/;_@B:8;X!C^<"R^>RB$F5A, MTNKS!L,QG00`9'`P&/>R/L'.KET)"(SX0%"EE(?T`(A8@6(G"-_3KJ09WB?3O!, MRQ4,[C6$TQ?5=;:YLV-CVZY5B$9&K4%ZTW_O__*OVZZ8(!&I\\RA>FX@,$_& M]S>I#;!5^'7EESRF20-U_6$9?F&77(Y&:C M#G^ZC->3-<6)[@K62`'M.Q692TE+_E^-0_?60>4>?J;Q>8_2])9HS_NKH^^R M$O39UJE6)5VX\3@E1JZ#+$CP2&#CL72Q2);&K1I MCE'PX:Q@5LRE&KP17T;_3'V"1MM92:.4:+2F!1WGH?8W/(JS_4;C9^B[P&7R M)+,=?8650C;EP*M*[BE+J)!#2MUI2WZ_,E'Q3G_[BZ>O1[&4M*284KJP.6)0(#-3=6PL\EB=K:;W72MI^:F:\DB M3Q/&E]06LR+(^9QS&$%=6?OC9`IT7@6=#SY+<-J*LS"UX9]LI`/'"IDR_,/? M)3"WA?A-TYI(YECG*-8)V9=#!JJ0P?\0,M#L)4='[-:C3]HA"SMD88QSE&LS$I(!M*^.M,O,VOM++$^Z#%S M'FJ\G,S/3SA/&>,JKB3UL@3U<;D>:IQT_JKQ$^>%;/]YFN_P8F:+8,\Q3W9R20&O_C3I@WZ2SN-,<#@%_GJ9"_TVTWP[ MT&='>WI:.XVQFN#C.;KJAU-Y`L^YOG\P\?0J>'A(\M0@86VJ+->>FRI+]5%N MN]1W?,J\@UG=N;[>G.5Z4P&=<4-G-'LY=$B%#E5!A^S0H5KHT&KA<]M\T$O2 M@2+R!=!I.]^?7I8'GMZ7-C-"N$<_;/.1_7K8K$]&O\_82"NS'L[Z7*;FQCE+ MY;@.B?]J>@FS2#P;Z:S3ZZSUL%O.C!]@%O05R#Y7.LG*I9Q*/,H=;].>8(YB MU.^1.E0J],?IA$R*A?[<\03F*4B7LU(Y3RWQ@?;%T\9LPI@\.28PGH3-E(.> MY"OG5^Y(H:\+GS^"'@>ZV@+'UZ"?OCE)+LW<0QU]T$%:[KY M`=JW]/>9QJU[#. M$K25F-I>0)LU_0/@%?"V+LQ?(N??E/X-CWVL]83P"\Y_=$:<3SN#38S\OG.' MH+>D@OR)1UGY*>;3QC$_]]?*JA3FM8&>%3R]EMQ?QN.-^V#^)R0GDA=P[N%R M1/1'O9KD1O%F2^:S=CGGFZ3GPT_]+C'<]@N"F["GK<"WIH\S&^8=,,U[7(XM ME&,?FSJVX>K(>E9`.I>JW$(Z6X?U.FD?I+\IC10QJ^N@L%?(,T[Q3-9IOK>3 M0V5DSR6TCZ,U;?':A5Q.3LS]8=K+V.A)^"NEX>UDG_138E^2PT__+F'8G]B; MO$LM[\(_(1.$3LTB.Q5ZM7(G\4KQ%NT6P&-8RQ#IEUS#/7+\\X<5;A,>]-E1 M+T2]&_5RU(MDW8IZ,>I=Y)--ZRR'S91+OVVL]1',63Y<^?>@4?\.\4NQ!_4S M:"^E.)Q<^N&$B/L-*>)E2^;R8SQN0[[D7[)K8.7SA/P;>J#/[Q!=TFG0S@.] M*J$;]5=(AK0_Z3-M"6H3MM,P(NW[#9+!ELP?ZI+?*DN,I5AA0UDFDU+/6P.] M[(X*%^4PBDWF$]BGFZJYW23-^E[_MI$S0"8?>/(98V\7UA M)4U[D/^LVS$14%D1U/HLY4"4^U`.E%K.FA##+Y`\2>[)Q3LG(/MS7-Z]TK>P M)?>0+\5<+TI9?")D\6\5AC^2>E-$L=6C.'X,&RX5N$T%`O?33^5:;=CK4NA] M>9+=91M'G6##7YIT8K74_5J3;@B??*B)^S;!V^(?2]ZXG0YO@JY60V?8S4I# M?B8S?&&A5>AIW;-"EQP=,E]9S6,.8LHH8@KREG+$'Q7QIPKQQX[X4XOXTS`] MQP5=[%7=8\D`XB!=D!0R"PH]"Z;GO^G\;!PH&1^EO(&5C%0"?PRQIA)C1IF% M[R?J,]"!KM?5F>C,2..Z.?83E0G*)5/K+DWPG(CG>3A4%F9^`1VYVSVB6*%7 MK&E/4[J;69M36YB#?I,?06RKPM]*IX>4Y\J^XP*B9QFH$WFBE0,(C63QO2X/ST(9'9'M`SG,$M'F>]&V<';Z-\]]1A5F/ M5D`OW-`+C2%G8LB9&'(FAIR)(6=BJTE/$*]@GU<7-\..1#PI=E,.A;:':A?A M7`%_!Y\R;1T;Q@7]Y1KYK"V93"'EQK(/9^+E*XWUY_C>\!*M48Y[@<<-9?EY MT[C3'J7FBAQ70NO:DKGVPMIO9#(MY-<.*H?7(P=M2;."9/*B0X[!.:7F-3G& MZ6&%SQDY+/K.82T+1)\B9>RRY/S:PB'XSJI4ZT6'S/OJ,$<7ZHKT-YO@>XSS M>A7YY*._9`7D1[9D)JM1[B'9>%C1/)+7X0.PS>,7'6@?.':`<@%VVAA/^21X MFT>\$0[&I*0_["(]IO4@KHW(MONGTOKL)R@?"%J%3Q,M#[.\9IK+D'5Y\J6+ M#A[C_\*EBC66/H;Y710[\'0:N:GA2SG^(5=#3N=+=3H?<'Z4FFK*0[G\C[." MEE*FP`8.FV1BXSQ2K!)\SDLOE'W7U1?[2J$OD^='A\B&%<[3Z+6LG*J0GYER M9ON3/!?.\=V5/D#CYO903E,[&W[QUZS:;K.\ZG7>,BSW2EA:SF_T3D%1;F2RS/M"S`7\:OP/(G'ZG]=ETSP M7(W[FO3/&.GBL9PNWO+1<.&U2$K];XDD\W0EV;5(TUKXGAJ6.'"!.9.W;N'W M'AXVY^/1;T%693*6E@FY))?D)[`W+QYX[^_(/_'8=A!^X"#\P"C\P"C\P"C\ MP"C\P"C\`'P7XAQ#G,/9HH)]+LY)6WG*H]Q^?F5E)I,L7&BEL_-UX\\(?,WT M&`0]3?Z@,K$!,G0^X7H&5) MO-D42R1?+W)9*+>O,^'E2[Q"X!V3>*_R.4^P?.!^5]H(Y8X*]IUQ_!3X0FXJ M\4^;\`-R;COA$E[NS#KO%>PU,]:`\57$9W;.I.MY$^YCA$OS9N,&9'6=V"%D MZ686^.N2&65*-O^]2LI-71ZEZCF>[]*9.LWJ`3]1NUC8=JKRHK5)1?ROZ;"M M1!Z4M&#_BL5=E[PW.$;Y`>67#V^D`':^9W9$6F.S(+'V>K+>)W M#"5XUB-G?*.G=_9Z?R%K]D.L1EZ9'5/F:2(ZD'>#V*LJK>7[B"7$+_+!X8?? MD^>+JA>&4Q]/'/TILR2'?VO+R@@R@*Z6?*&LKJ=WQPT958X9=X9"1I5#M4L- M&5W.R<@+&16;9,1MC77#5S#*+V%C_'Z%[A*32RY/$`P9?"+.'Y4/?_Z^L/(\ MW252[G;T)5:2/+#(EEQ\9>)+Z\`-]I_N!5/#%R>2CU?RLU_+R[1_%^E^L_X& M]YO-=+_9\@13Z![/H]SV)LF)[X5Q%E0JJ_FY:LF'$ZD-%RGG::8X/)SY+<4R MRW#FG\C?6Z?D0%]FCVZT%LI1-UR:X&>;H#-Y&+NFY0?2 M5DBGLFNI>!CKJ"<],M]%'_T[5IH\(/?([&>^S#IFV)/#L`^ZEZ>X(NXQ6*O0 M<_5MIY=R3?4QP^^@_HKSA^(^G.0N^%3?.7H2Y[&OD"N#CHIQZTSGG7+CS"// M6"4H5A3D[#@S7N<]A/'^A60/OGW()9CTXSA/J2G3_1/!`Z:[)X(?H+LA$WPW MX%(3O,Z4FQ!<]T7O6\2ZENI?M*YC7VU=M>9U(?>>!;@@Q]?2Q\3>+'WT1OQA MWRW9>1&GN3\0X^J0<_'[$]*_+9G+B[/R--U[YOJO\/5H,W)WAK!6\NXHGV M/_E@6<*0([4=SA>RO1OQ;AVS*F/+&1OQMT5Z:JS-R<(=CF-%C#VZG+\7HO>, M[U]7/^C,H92GN$\[R`Y+WVL3L;W\JCB3()=-]CSCCNBZ@K4+.72O;?H^VN5QW+ER+)//_F$AZ65?2>RTR_%ZID_LZX5^N MHP-=$.12=>W^X`KR4C<#?V>@]G#P[=(]L@,T+W?0@CR]'/L[<:1P??V:< M4UV?Y,Y+Q6OX^Q3.L[L<\W6(,T!9D]3E1W#&*23Y8'PI?V_)E`#1E/1D^0?<_)\N^AO,)X_^91%N&\2SJ<>83K&G\G9X>^E7TD9)@Y M+7A8]&,Q[ZPKQ.\7OV?)C$N_%:=[/7Y?FY][7RWK=$==1>^?,&<^O=,"G2<$ M/ZPDK;'5IO>B<>G+(C>R3>`V8`XWV2?E8SRN(8\]LH[94`I0+"@E**4H5OB" MA\^M8RJM\0OBRY?)IX7)'(^1_EQ:,_8/;#Y7R/5+2WBO(64)WSOY3/$Z0S`M7AQ\[@'*10'*@?8TN;:C)GTJDVG/78[=WL MGZ_)_#D18?SLI23+MB2/<&%_*C5L@48]+/,GF7X:X2\;;T M'>,N>N4!RF,_MJ96,,K[5@^_=BW2_73/R?1^T#JYG)_KCB+&86QM\NFO1VA^ M.<=WL6_\O1+AHK]!MH],/<>[7;(]0+:.\72/#1Y+KXBS<.D+]GQ6BAS'\O@[ MB&?[L^,VY?+,TCIY/N;O-`D'MF&%SU01+]QD3^GOM9%^K0#N0R0W]%MH[7(N M>9:_]0-JP_,CH=]_FK,#Y?SD?XF_EC%WM_M@WC&*>XA;]B2[C>ZL+>D`K?G6 MU^1:;=1'^SZ"]F/%K)3SG./W?LGO&OXW'\"5^RC]B;M7]B\8^2;D4L3O:NGN MR(@=)>MZVQH0*RQG8&\#+M'&8=QEU]9(?=P#N- M.'3UA+^4<*^F>TN!?VR2[;"?Z6#LH^=ZJR:Q]Q\]QU9-SNUBG;N+#[I'F6V2 M^9><4X1?)=U`G_WJ";;D_).B+9Q),WF6*C5T!'M82;X*.<,0E\%)["7I^<_L M76)_+VLFN?C%NF]93.\-.=X)Z"OK.9E\.D_>0;B#I*<";\&G&#]V>@EBF5CS M"<1%.\7+2<7/[W`@VQ*26[*0=9$,UJEM#5P&%28Y`9_D(>%GL$[[F3',P2R0 M0_ZJ2965D@[*_N=/U0A].%7H?F12X>^4I_.^C\.+:> ME:>'T5[([YO*>VKFG$R^Y)F0:TO+=2TVWIN:U\_''7(?RJW?]JDA9]2O?(FS M)+\/_N6[_+ZWBM_WBCS.2CF^M+]?;*L>I4N8&;#=DSN7V(%_G MBZ2#DRXV/KGQ!S@-VSD$G,/C M(\B#GL3YXQ7DZ>\B#HGUJ4?R.="W6-Q]94Z)O.#FM_EY&/Z:XJSX6ZKY"SE?K7S=D3$WBZ3+68&]B,TY MLAYM2Q#;1M@FHM7T(%-Z.JS-E*/POT,1R[*\WKSZ0P[[TVZUZ%])I\O['%C`\^G3C`9XVY>T.)BZYR/ M9ZXEEZJ,^NCN!>XWP=_C__E[B;';&1OK@SS42R=3L]C$V)TLKZ?WW?4]-;?_ M;6H)SNDU^8GD!YZ)'M>;)^GNJ&?/+3]-7D/['K3/VC$A[I.N3/3<-?MDJKIK MHN5EEL_;%JLLM?X*[W>^SO+=Z#PB> M4_G@^2[PFM\EYEAR)Q-].[&,7]K$;^[@#^W@_ M]K%WBOU]SO;R9K:]_PN[@WXI=+8E.2%6*\CCZ7Q/E]KDF>!U=*V;_CN8>K?S[9M:OFP;5,M$^=UQ!J6LHN_CSVT-#-) M[?*\_I7_YG4F/)Q9/]R2>>MC.KO>Z.]<@;-@>K_QI8]5^;G/RA;66EDC)-EX MF/Y*OO-ZNZAN!Y;![@GID?KW/UZ MB,_$V+U;W=OOW$5$=O7VJ#VA M0*)%]03J!L(#-5/[V\(#$9#?'=1;U+OO[6A7T8J\)Q;2HGWUJQP-CB;5[H_' M(\WU]?OV[7,D-*_?X0T/U'.$&C,/V]OO;-_>OAU\ZWUZ5(]R)J.Z+Q#5O;0^ M=4!+J-[P8"BNZ@FOKOMTGVH/AL.10*A?-?`V@'8HK-+G$VHLHGL#?0'=AWDX MA:[MVW;L9"P0\ND)AS\^$!0?L.W6?&J$Y*GV5L>60;9:++8O'/6I?>&H[&`N MX!%#&I[[4.A;"J);'6M&P7KUZ%X]JOK">DP-A4%[,!()1^/@*S8XH->J\>B0 MJO5K@9"Z+Q#WJW4AU0XV12]]))?]8D/RJO(/0M2^:'A`%7,+.MYP*(X-K`OJ MH?ZX/P='::\Q=C"D82O4>%CUZ7$].A`(Z:`R$([K*GWYH<8"^[\$-^+?8&A/ M*+POI(8C7/R]U=YEM6J@/P2-"_6C/Y/Y#CWHI3+^H]0CJ%,EXE]&KS)D"_L4>WE=J#6U?GU8&09 MUSBJ<3_0[0_$5/R?H]2JT($8[4-U#+W='9WM#Z@.AX,FW,;W,=9\,1[VZJL'`]NKJG=`[NT_O MTP:#<2),WT>AO48,V,L'?%V/[@['8.S\(Q]5"PW%_60(<;\N%16/D"\FQCS$ MQVP*AY;%Y0#84S\4+:;NUJ(QU0Y7$(%>^E03V>J8I!@QL74/R9%1/G([5V@8Y;Y0,*SY:+2&147C`2T8'((5:*$87`U\!S<.,33$ MAW:0FNOJLKKH,JS1E\455@3#"<1C*@P/3B<^)`8.\('W1L+@D'O"0?*W&OE; M-18GFQ%X^TUX6[6]@7XMCEW_/')1)WUJ19^?&188U..PZ9@:#H%[K:\/_H[+ M';L=0T6#]`8&X`BUN`Z$OG`P&-Y'"`..HHX^=2@\J/;3-FM9D\8ZO%HD!JN. MPQ,$@^ING4]H;(9$(ZV$Q#B=(DY'SAV(.XJ,J86W'>+CPX-Q+B#&V+,8".S$[%XP[=?V\BD'H'1BS;0S MDE:,>HB/?5HHGAMC<*5Q`=/W='Q0Q.SB^^(1E>P.44K5$%%I6X4W=JC=?KT( M.`,D6U@.W\$^'LV,^9J-N5P4=.JS\O!QI<_1-]!J!9=90<``2!+$2#BD8[G" MEKU^W;LGQB4G8B0/7K5DHT9U\[8N#\*VA'(1KI8OD5>+]-#>0#0<&B"]VJM% M`Q0=8EDB,#;Z2$^-A?OB^[2HD(T?@MRZ3?TS]_;M[JW=.QWJO;J>V\&V;5T[ M.[9NYOPBQ&B!8(R<"T4N/FU:/\@D8YQ?U97)UT8D[C"E3'A M_!CK='>WWXL$Y+KI@OAO71#Z'8L[XEK4T;\?XREJTU*(L(95!@,^4@\>UP>C M01G5$?=EZ.(-0N!"=X@?^BB3YQ'<94#I]40@QIOXLOD0*`%R*Y%0%4W+$^@= MEL+$.8SU,Z`UC_>&('_&#]R.0VG^`78#X`>P9$0?[5J;$\@$N'!67P7RE@U_"/_L-^W)1O/*0>@MAJL MH;INU9K8?8P]H%:O!0JKNS]9S^3'_[Q/O0]]J/->Y*1)(#I6]6VIC[%J[P-, M#F,=\>E0YC]?##U(, M@#\*8=N!&P[YBLQT#7X,^NZ-;9O:[]SLZ;AK2^?=6[=UW;/]WNZ>K__9CIW? MT'9[X?+Z_8$']P0'0N'(0]%8?'#OOL30_H:5J^Y8O:9QK;-I!9>+3]\]V(]- MAK50_L=S5)ZJH2:_':;O`[O,'_C+[T]+*.\GT?+!N=8=[8T==7.MG#D0-/W/XAD(8*)[Q*'/TAP8=AM,W`[O0!YJ:(Q*, MRUIL=RS&''$]$2<2`?RW#P]TAGU:7`,#]%B%J3FD^\6'YYR4-A#P,H<7:11F M\(E'?S@NQS`Y-2?%:P@H%)785_M7)FTY3_PN3/:W8/2[%PVF MWT=AIM\R62E_CR1/^`%>?*;?,I&_!B*SG"?]#)<_@ M_5;YI-^(&)W?*BL^-4,O_5R((='?I7[5OL, M>(=,>/"[W/>J,^#]Q]S^-C[/>"F^.,.^?3N'E_WMGYE^B^9[$B]?_`X0Q[/, M@'?"A(]HS*E-_C,?;Z=1,>](G*C//]@VPGO"#P@C*63X>5U MSH!W+C=?^QL"3RV=`>^=[&\W*?K[`D_YYQGL8Y[I]X[PKQW9$?M?T_'^#U-+ &:"A\2@`` ` end SHAR_EOF } # # The action starts here. # # # Step 1 # # Figure out what kind of system we're running on. # # Don't use "echo -n" here, because if we're on something SysV-ish, # that will print -n instead of not printing a newline. print_version echo "==> Autodetecting system type..." os=`uname -s` if [ $os != Linux ] then bail_os $os fi PROC=`uname -m` if [ $PROC != i686 -a $PROC != i586 -a $PROC != i486 -a $PROC != i386 -a $PROC != ppc ] then bail_cpu $PROC fi gzip -h >/dev/null 2>&1 if [ $? -eq 0 ] ; then _gunzip="gzip -d" else gunzip -h >/dev/null 2>&1 if [ $? -eq 0 ] ; then _gunzip="gunzip" else bail_error "Required command, gzip or gunzip not found in path." fi fi if [ `id -u` != 0 ] then bail_root fi echo "==> Checking \$DISPLAY and X permissions" if [ -z $DISPLAY ] then bail_display fi xhost &> /dev/null if [ $? -ne 0 ] then bail_display fi if [ $TERM != emacs ] then reset clear fi print_version echo echo Welcome to the Helix GNOME pre-installer. echo echo This script is meant to make installing GNOME as easy as echo "possible. Just read the text below, hit ENTER, and you're" echo on your way. echo echo Helix GNOME ships with no warranty whatsoever, without echo even the implied warranty of merchantability or fitness for a echo particular purpose. The author and Helix Code, Inc take no echo responsibility for the consequences of running this script. echo echo Please send any questions to distribution@helixcode.com. echo echo To install Helix GNOME now, hit ENTER. echo echo To cancel, hit Control-C. echo read foo < /dev/tty # # Step 1.5 # # If this is a Deban system, we do something different... # if [ -e /etc/debian_version ] then echo It appears you are on a Debian system... echo echo This script will add the Helix distribution site to your sources.list echo file, if it is not already there, and perform apt-get update. echo echo Hit ENTER to continue, or hit Control-C to cancel. echo read foo < /dev/tty grep helixcode.com /etc/apt/sources.list > /dev/null if [ $? -ne 0 ] then echo "" >> /etc/apt/sources.list echo "deb http://spidermonkey.helixcode.com/distributions/debian unstable main" >> /etc/apt/sources.list echo "sources.list updated." echo else echo "It appears that you already have the necessary entries in sources.list." echo fi echo "Running apt-get update..." apt-get update if [ $? -ne 0 ] then echo "An error occured while running apt-get update." echo exit 1 fi echo echo '1. Run apt-get upgrade only (if upgrading from previous Helix version)' echo '2. Install Helix GNOME (core files only)' echo '3. Install Helix GNOME (full installation)' echo echo -n 'Enter your choice here: ' choose_debian_option() { read mnum < /dev/tty if [ x$mnum = x1 ] ; then apt-get upgrade echo "Upgrade finished!" echo exit 0 elif [ x$mnum = x2 ] ; then apt-get install task-helix-core echo "Install finished!" echo exit 0 elif [ x$mnum = x3 ] ; then apt-get install task-helix-gnome echo "Install finished!" echo exit 0 else echo "Invalid option." echo choose_debian_option fi } choose_debian_option # Debian stuff ends here exit 0 fi # # Step 1.75 # # set up /var/cache/helix-install # mkdir -p -m 644 $cachedir if test $? != 0; then bail_temp fi cd $cachedir if test $? != 0; then bail_temp fi # # Step 2 # # Extract the proper snarf binary. # echo -n "==> Extracting snarf..." SNARF="$cachedir/snarf" if [ $? -ne 0 ] then bail_temp fi if [ $PROC = i686 -o $PROC = i586 -o $PROC = i486 -o $PROC = i386 ] then extract_snarf_linux_intel elif [ $PROC = ppc ] then extract_snarf_linux_ppc fi rm -f $SNARF ${_gunzip} $SNARF.gz if [ $? -ne 0 ] then bail_gzip fi chmod +x $SNARF echo done. # # Step 3 # # Grab the Helix installer. # echo echo echo "Ok, first I'm going to grab the Helix GNOME installation program." echo "I just need you to select a mirror site from the following list." echo "Try to select a site which is near to you geographically. " echo echo -e "1. Helix Code, Inc.\t\t Ubiquitous (Akamaized)" echo -e "2. Eazel, Inc.\t\t\t Palo Alto, CA, USA" echo -e "3. RPM Find\t\t\t Cambridge, MA, USA" #echo -e "4. Duke LUG\t\t Durham, NC, USA" #echo -e "5. Linux.org.UK\t\t Leeds, UK" echo select_mirror () { echo -n "Type the number of your preferred mirror here: " read mnum < /dev/tty if [ x$mnum != x1 -a x$mnum != x2 -a x$mnum != x3 -a x$mnum != x4 -a x$mnum != x5 ] then echo echo "I'm sorry, you must select a mirror which is on the list." echo select_mirror fi if [ x$mnum = x1 ] then mirror="http://a1220.g.akamai.net/7/1220/1405/20001109120000/spidermonkey.helixcode.com/" elif [ x$mnum = x2 ] then mirror="http://207.88.54.108/helix/" elif [ x$mnum = x3 ] then mirror="http://18.29.1.67/linux/helix/" elif [ x$mnum = x4 ] then mirror="http://152.16.249.23/helix/" elif [ x$mnum = x5 ] then mirror="http://195.92.249.252/" fi } select_mirror echo "==> Fetching the main installation program; please be patient..." INSTALLER="$cachedir/installer" if [ $PROC = i686 -o $PROC = i586 -o $PROC = i486 -o $PROC = i386 ] then dl_file="installer-rpm3-intel.gz" if [ -f /etc/redhat-release ]; then if grep "Red Hat Linux release 7.0" /etc/redhat-release 2>/dev/null; then dl_file="installer-rpm4-intel.gz" fi fi $SNARF -n $mirror$dl_file $INSTALLER.gz elif [ $PROC == ppc ] then dl_file="installer-rpm3-ppc.gz" $SNARF -n $mirror$dl_file $INSTALLER.gz fi if [ ! -s $INSTALLER.gz ] then bail_dlfailed $dl_file $INSTALLER fi echo done. # # Step 4 # # Go, go, go! # rm -f $INSTALLER ${_gunzip} $INSTALLER.gz if [ $? -ne 0 ] then bail_gzip fi chmod +x $INSTALLER echo "Installer extracted into $INSTALLER." echo "Running with arguments: $@" $INSTALLER $@ echo -n "==> Cleaning up temporary files..." rm -f $INSTALLER rm -f $SNARF echo "done."