| 1 | #!/bin/sh |
|---|
| 2 | |
|---|
| 3 | ## ================================================================ |
|---|
| 4 | ## Logtalk - Open source object-oriented logic programming language |
|---|
| 5 | ## Release 2.31.1 |
|---|
| 6 | ## |
|---|
| 7 | ## Copyright (c) 1998-2008 Paulo Moura. All Rights Reserved. |
|---|
| 8 | ## ================================================================ |
|---|
| 9 | |
|---|
| 10 | echo |
|---|
| 11 | echo "This script copies the Logtalk user-modifiable files and directories" |
|---|
| 12 | echo "to the user home directory. The location can be set by the environment" |
|---|
| 13 | echo "variable \$LOGTALKUSER (defaults to \"~/logtalk\" when the variable is not" |
|---|
| 14 | echo "defined)" |
|---|
| 15 | echo |
|---|
| 16 | |
|---|
| 17 | if ! [ "$LOGTALKHOME" ]; then |
|---|
| 18 | echo "The environment variable LOGTALKHOME should be defined first!" |
|---|
| 19 | echo "Trying default Logtalk installation directories..." |
|---|
| 20 | if [ -d "/usr/local/share/logtalk" ]; then |
|---|
| 21 | LOGTALKHOME=/usr/local/share/logtalk |
|---|
| 22 | echo "Using Logtalk installation at \"/usr/local/share/logtalk\"" |
|---|
| 23 | elif [ -d "/usr/share/logtalk" ]; then |
|---|
| 24 | LOGTALKHOME=/usr/share/logtalk |
|---|
| 25 | echo "Using Logtalk installation at \"/usr/share/logtalk\"" |
|---|
| 26 | elif [ -d "/opt/local/share/logtalk" ]; then |
|---|
| 27 | LOGTALKHOME=/opt/local/share/logtalk |
|---|
| 28 | echo "Using Logtalk installation at \"/opt/local/share/logtalk\"" |
|---|
| 29 | elif [ -d "/opt/share/logtalk" ]; then |
|---|
| 30 | LOGTALKHOME=/opt/share/logtalk |
|---|
| 31 | echo "Using Logtalk installation at \"/opt/share/logtalk\"" |
|---|
| 32 | else |
|---|
| 33 | echo "Unable to locate Logtalk installation directory!" |
|---|
| 34 | echo |
|---|
| 35 | exit 1 |
|---|
| 36 | fi |
|---|
| 37 | echo "After the script completion, you must set the environment variable" |
|---|
| 38 | echo "LOGTALKHOME pointing to \"$LOGTALKHOME\"." |
|---|
| 39 | echo |
|---|
| 40 | elif ! [ -d "$LOGTALKHOME" ]; then |
|---|
| 41 | echo "The environment variable LOGTALKHOME points to a non-existing directory!" |
|---|
| 42 | echo "Its current value is: $LOGTALKHOME" |
|---|
| 43 | echo "The variable must be set to your Logtalk installation directory!" |
|---|
| 44 | echo |
|---|
| 45 | exit 1 |
|---|
| 46 | fi |
|---|
| 47 | |
|---|
| 48 | if ! [ "$LOGTALKUSER" ] |
|---|
| 49 | then |
|---|
| 50 | LOGTALKUSER=$HOME/logtalk |
|---|
| 51 | echo "After the script completion, you must set the environment variable" |
|---|
| 52 | echo "LOGTALKUSER pointing to \"$LOGTALKUSER\"." |
|---|
| 53 | echo |
|---|
| 54 | fi |
|---|
| 55 | |
|---|
| 56 | if [ -d "$LOGTALKUSER" ] |
|---|
| 57 | then |
|---|
| 58 | date=`eval date \"+%Y-%m-%d-%H%M%S\"` |
|---|
| 59 | mv $LOGTALKUSER "$LOGTALKUSER backup $date" |
|---|
| 60 | echo "Created a backup of the existing \"$LOGTALKUSER\" directory." |
|---|
| 61 | echo |
|---|
| 62 | fi |
|---|
| 63 | |
|---|
| 64 | echo "Copying Logtalk files and directories..." |
|---|
| 65 | mkdir -p "$LOGTALKUSER"/configs |
|---|
| 66 | mkdir -p "$LOGTALKUSER"/contributions |
|---|
| 67 | mkdir -p "$LOGTALKUSER"/examples |
|---|
| 68 | mkdir -p "$LOGTALKUSER"/libpaths |
|---|
| 69 | mkdir -p "$LOGTALKUSER"/library |
|---|
| 70 | mkdir -p "$LOGTALKUSER"/xml |
|---|
| 71 | cp -RL "$LOGTALKHOME"/configs "$LOGTALKUSER"/ |
|---|
| 72 | cp -RL "$LOGTALKHOME"/contributions "$LOGTALKUSER"/ |
|---|
| 73 | cp -RL "$LOGTALKHOME"/examples "$LOGTALKUSER"/ |
|---|
| 74 | cp -RL "$LOGTALKHOME"/libpaths "$LOGTALKUSER"/ |
|---|
| 75 | sed 's_\$LOGTALKUSER_'$LOGTALKUSER'_' "$LOGTALKUSER"/libpaths/libpaths.pl > "$LOGTALKUSER"/libpaths/libpaths_no_env_var.pl |
|---|
| 76 | cp -RL "$LOGTALKHOME"/library "$LOGTALKUSER"/ |
|---|
| 77 | cp -RL "$LOGTALKHOME"/xml "$LOGTALKUSER"/ |
|---|
| 78 | chmod -R u+w "$LOGTALKUSER" |
|---|
| 79 | rm -f "$LOGTALKUSER"/xml/lgt2* |
|---|
| 80 | rm -f "$LOGTALKUSER"/xml/logtalk.dtd |
|---|
| 81 | rm -f "$LOGTALKUSER"/xml/logtalk.xsd |
|---|
| 82 | ln -sf "$LOGTALKHOME"/BIBLIOGRAPHY.bib "$LOGTALKUSER"/BIBLIOGRAPHY.bib |
|---|
| 83 | ln -sf "$LOGTALKHOME"/CUSTOMIZE.txt "$LOGTALKUSER"/CUSTOMIZE.txt |
|---|
| 84 | ln -sf "$LOGTALKHOME"/INSTALL.txt "$LOGTALKUSER"/INSTALL.txt |
|---|
| 85 | ln -sf "$LOGTALKHOME"/LICENSE.txt "$LOGTALKUSER"/LICENSE.txt |
|---|
| 86 | ln -sf "$LOGTALKHOME"/QUICK_START.txt "$LOGTALKUSER"/QUICK_START.txt |
|---|
| 87 | ln -sf "$LOGTALKHOME"/README.txt "$LOGTALKUSER"/README.txt |
|---|
| 88 | ln -sf "$LOGTALKHOME"/RELEASE_NOTES.txt "$LOGTALKUSER"/RELEASE_NOTES.txt |
|---|
| 89 | ln -sf "$LOGTALKHOME"/UPGRADING.txt "$LOGTALKUSER"/UPGRADING.txt |
|---|
| 90 | ln -sf "$LOGTALKHOME"/manuals "$LOGTALKUSER"/manuals |
|---|
| 91 | ln -sf "$LOGTALKHOME"/wenv "$LOGTALKUSER"/wenv |
|---|
| 92 | ln -sf "$LOGTALKHOME"/xml/lgt2html.sh "$LOGTALKUSER"/xml/lgt2html |
|---|
| 93 | ln -sf "$LOGTALKHOME"/xml/lgt2pdf.sh "$LOGTALKUSER"/xml/lgt2pdf |
|---|
| 94 | ln -sf "$LOGTALKHOME"/xml/lgt2xml.sh "$LOGTALKUSER"/xml/lgt2xml |
|---|
| 95 | ln -sf "$LOGTALKHOME"/xml/logtalk.dtd "$LOGTALKUSER"/xml/logtalk.dtd |
|---|
| 96 | ln -sf "$LOGTALKHOME"/xml/logtalk.rng "$LOGTALKUSER"/xml/logtalk.rng |
|---|
| 97 | ln -sf "$LOGTALKHOME"/xml/logtalk.xsd "$LOGTALKUSER"/xml/logtalk.xsd |
|---|
| 98 | echo "Finished copying Logtalk files and directories." |
|---|
| 99 | echo |
|---|
| 100 | echo "You may need to edit the \"$LOGTALKUSER/libpaths/libpaths.pl\"" |
|---|
| 101 | echo "file to match your Prolog compiler and operating-system requirements or" |
|---|
| 102 | echo "to add your own library paths." |
|---|
| 103 | echo |
|---|
| 104 | echo "You may want to customize the default Logtalk compiler flags by editing" |
|---|
| 105 | echo "the configuration file for your Prolog compiler found in the directory" |
|---|
| 106 | echo "\"$LOGTALKUSER/configs\"." |
|---|
| 107 | echo "For more information on customizing Logtalk and your working environment," |
|---|
| 108 | echo "consult the \"$LOGTALKUSER/CUSTOMIZE.txt\" file." |
|---|
| 109 | echo |
|---|