root/trunk/scripts/dmd_update

Revision 228, 2.3 kB (checked in by BCS, 10 months ago)

added some more stuff to the man path fix to make it more robust

  • Property svn:executable set to *
Line 
1 ### written by Benjamin Shropshire (a.k.a. BCS)
2 ### shro8822drop_this at vandals dot uidaho edu
3 ###
4 ### This script has no warranty of any kind. If it breaks yours system, tell
5 ### me about it and I'll try to fix this script. Besides that you assume all
6 ### responsibility for all effects of using it.
7 ###
8
9
10 SAVE_OLD=true
11 WEB_DOCS=false
12 CLEAN_OLD=false
13 CLEAN_AFTER=false
14
15 if [ -z "$1" ]
16 then
17     DMD_ZIP_FILE=dmd.zip
18 else
19     DMD_ZIP_FILE=dmd.$1.zip
20 fi
21
22 echo === Getting $DMD_ZIP_FILE
23 echo     On some systems this errors, don't worry, it's still works
24 ftp << E
25 open ftp.digitalmars.com
26
27 user anonymous foo@bar.com
28 binary
29 get $DMD_ZIP_FILE
30 bye
31 E
32
33 echo === got $DMD_ZIP_FILE
34
35 if $CLEAN_OLD ; then (
36     ehco === clear space for dmd
37     rm -rf dmd/ dm/
38 ) ; fi
39
40 echo === extract files
41 unzip -o -q $DMD_ZIP_FILE
42
43 echo === find where to put man files
44 MAND=`man -w gcc ln cpp as ar tar ls bash 2>/dev/null | head -n 1 | sed "s/\/[^\/]*$//"`
45
46
47 if $SAVE_OLD ; then (
48     echo === geting old version num.
49     DMDVER=`dmd | grep Comp | sed "s/.*v//"`
50
51     if [ -e /usr/bin/dmd.$DMDVER ]
52     then
53         echo === found saved copy of V $DMDVER : not saving again
54         SAVE_OLD=false
55     else
56         echo === saveing old stuff from V $DMDVER
57         mv /usr/bin/dmd /usr/bin/dmd.$DMDVER
58         mv /usr/lib/libphobos.a /usr/lib/libphobos.a.$DMDVER
59         mv /usr/include/phobos /usr/include/phobos.$DMDVER
60         mv $MAND/man1/dmd.1 $MAND/man1/dmd.$DMDVER.1
61     fi
62 ) ; fi
63
64 if $SAVE_OLD && $WEB_DOCS ; then (
65     echo === save old dmd docs
66     mv /var/www/html/dmd /var/www/html/dmd.$DMDVER
67 ) ; fi
68
69 echo === copy dmd to the correct place
70 cp dmd/bin/dmd /usr/bin/dmd
71 chmod 755 /usr/bin/dmd
72
73 echo === copy libphobos.a
74 cp dmd/lib/libphobos.a /usr/lib/libphobos.a
75 chmod 644 /usr/lib/libphobos.a
76
77 echo === copy phobos source
78 cp -r dmd/src/phobos /usr/include/phobos
79 chmod 755 /usr/include/phobos
80 find /usr/include/phobos -type d -exec chmod 755 "{}" ";"
81 find /usr/include/phobos -type f -exec chmod 644 "{}" ";"
82
83 echo === copy man page
84 cp dmd/man/man1/dmd.1 $MAND/dmd.1
85 chmod 644 $MAND/dmd.1
86
87 if $WEB_DOCS ; then (
88     echo === install dmd docs for httpd
89     cp -r dmd/html/ /var/www/html/dmd
90     chown apache:apache -R /var/www/html/dmd/
91     find /var/www/html/dmd -type d -exec chmod 755 "{}" ";"
92     find /var/www/html/dmd -type f -exec chmod 444 "{}" ";"
93 ) ; fi
94
95 if $CLEAN_AFTER ; then (
96     echo === clearup after dmd install
97     rm -rf dmd/ dm/
98 ) ; fi
Note: See TracBrowser for help on using the browser.