From: Andy P. <an...@us...> - 2000-07-18 21:49:27
|
Update of setup Modified Files: Changelog README.xml TODO Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image Modified Files: LinuxLogos.tar.gz Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data Modified Files: setup.xml Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/bin/x86 Modified Files: setup Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/bin/x86/glibc-2.1 Modified Files: setup.gtk Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/locale/de/LC_MESSAGES Added Files: setup.mo Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/locale/es/LC_MESSAGES Added Files: setup.mo Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/locale/fr/LC_MESSAGES Added Files: setup.mo Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/locale/it/LC_MESSAGES Added Files: setup.mo Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/locale/nl/LC_MESSAGES Added Files: setup.mo Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/image/setup.data/locale/sv/LC_MESSAGES Added Files: setup.mo Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- Update of setup/makeself Modified Files: makeself.sh Log Message: Updated to Loki setup 1.3 Modified setup.xml for 1.3 added desktop icon ------------------------------------------------- [ cvs rdiff -t -u setup/Changelog ] Index: setup/Changelog diff -u setup/Changelog:1.5 setup/Changelog:1.6 --- setup/Changelog:1.5 Sat Apr 22 13:17:39 2000 +++ setup/Changelog Tue Jul 18 14:49:08 2000 @@ -1,8 +1,13 @@ -current (to be 413A) +413A-new +- updated setup to loki 1.3 +- rewrote setup.xml for 1.3 - new directives and defaults +- added desktop icon + +413A - integrated utcp in setup - integrated 413A patch into the setup - updated setup binaries to loki setup 1.2.3 from cvs - updated setup.xml for 1.2.x setup (updated cdrom support, install size) 400A -- initial 400A setup import \ No newline at end of file +- initial 400A setup import [ cvs rdiff -t -u setup/README.xml ] Index: setup/README.xml diff -u setup/README.xml:1.2 setup/README.xml:1.3 --- setup/README.xml:1.2 Sat Apr 22 05:10:11 2000 +++ setup/README.xml Tue Jul 18 14:49:08 2000 @@ -50,11 +50,15 @@ eula This is a file which contains a text license agreement that must be agreed to by the user before the installation will proceed. + *OBSOLETE* DO NOT USE! Starting from version 1.3.0, use the + EULA element instead (see below). readme This is the README file for the product, the user will be prompted to see it before the installation begins. The default value is "README" if not specified and such a file is actually present. + *OBSOLETE* DO NOT USE! Starting from version 1.3.0, use the + README element instead (see below). url This is a web site which is launched after the install is completed. @@ -81,7 +85,34 @@ nouninstall This is an optional flag which, if specified, tells setup not to generate an uninstall script after it runs. + uninstall This attribute is used to change the name of the generated + 'uninstall' script. If not used, the script will always be + named 'uninstall', which can be a problem if you need to + install different products in the same directory. + +The README and EULA elements: + +Those elements are used to mark special files, that are unique for +each program and are always installed in the installation directory. +Those are of course optional. The README tag specifies the program's +README file. The EULA should specify the End-User License Agreement or +license associated with the program, and it will be the first thing +that the user will be prompted with. + +Both elements take an optional attribute : + + lang Specify a locale, so that you can have different EULAs and + READMEs translated in many languages in the same distribution. + See 'About localization' below for more details. + +The important thing to remember about those elements is that they are +siblings of the OPTION element described below, and thus direct children +of the INSTALL element. Those elements should NOT be inside an OPTION +element, alongside 'file' and 'binary' elements. +There is also no need to have the files designated by those tags explicitly +installed in a FILES section, setup will take care of that for you. + The OPTION element: The option element contains text describing the element, along with @@ -94,8 +125,10 @@ <option> Top-level option + <lang lang="locale">Translated 'Top-level option'</lang> <option> First dependent option + <lang lang="locale">Translated 'First dependent option'</lang> </option> <option> Second dependent option @@ -112,6 +145,8 @@ help This attribute is a help string which is displayed to the user if the user requests more information about the option. + This string can be translated to other languages using the 'help' + sub-element explained below. arch This option is only available on the specified architectures. The architecture can be any of: @@ -121,14 +156,42 @@ The version can be one of: libc5, glibc-2.0, glibc-2.1, etc. - size This is an optional size of the install option in megabytes. + size This is an optional size of the install option. The size can be + expressed in megabytes (with a M suffix), kilobytes (K), gigabytes + (G), or even bytes (B, or no suffix). Please note that versions of + setup earlier than 1.3.0 used to specify the size in MBs only. If this element isn't specified, setup will try to autodetect the size of the install option itself. +The option element support the LANG sub-element, which is used to specify +translated strings for the option name. The only attribute of this element +is 'lang', which should be the name of the locale to be matched against +the current locale (i.e. "fr", "de", "it", etc...). See 'About localization' +below for more details about locale matching. + +If you don't specify translations for alternate locales, then the same +string will be used for all languages encountered by setup. Of course, +you can have several 'lang' elements per 'option' element. + +The option element also supports the HELP sub-element, which can be used +to provide translated strings for the 'help' attribute. This element +only supports the 'lang' attribute to specify the locale this translation +applies to. Here is an example to clarify all this : + +<option install="true" help="You really need this"> + Basic install + <help lang="fr">Vous avez besoin de cela</help> + <help lang="es">Su necesito eso</help> + ... +</option> + +This provides French and Spanish translations of the "You really need this" +help message. Please forgive my very poor Spanish ;-) + The BINARY element: -The binary element contains a single binary file to be installed for +The binary element contains one or more binary files to be installed for this option. The binary is installed in the top level of the install directory, and if the symlink attribute is set, a symbolic link is placed in the system executable path. @@ -157,6 +220,11 @@ symlink This is a symbolic link that is installed in the system path and points to the installed binary. + play If this attribute has the 'yes' value, then this is the binary + that will be used to optionally launch the game after the + installation program terminates. There can be only one 'binary' + element with this attribute in the whole XML file. + icon This is an optional icon file that you should install into the top level of the install directory. If both a symlink and an icon are specified for a binary, it will also have a @@ -172,6 +240,16 @@ cdrom If this attribute has a "yes" value, then setup will look for the file on one of the mounted CDROMs on the system. + keepdirs If this attribute has a "yes" value, then the directory structure + specified in the file names for the binaries will be kept. For + example: bin/mybin will be extracted in the 'bin' subdirectory + under the installation directory, instead of being extracted in + the installation directory itself. + + lang The files are only installed if the current locale matches the + string of this attribute. See 'About localization' below for + more details. + The FILES element: The files element contains a list of files and directories, one per line, @@ -186,6 +264,9 @@ cdrom If this attribute has a "yes" value, then setup will look for the files on one of the mounted CDROMs on the system. + lang The files are only installed if the current locale matches the + string of this attribute. See 'About localization' below for + more details. The SCRIPT element: @@ -203,8 +284,12 @@ <script> sh setup.data/stage1.sh </script> + +There only supported attribute for the script element is the 'lang' element: -There are no attributes for the script element. + lang The script is only installed if the current locale matches the + string of this attribute. See 'About localization' below for + more details. The following environment variables are defined while in the shell script: SETUP_PRODUCTNAME : Product name from the XML file @@ -216,6 +301,18 @@ the XML file designates that some components are to be installed from CD-ROM. +About localization : + +The 'lang' values are matched against the value of the LANG environment +variable. The special value 'none' is matched only when there is no LANG +environment variable set (the default locale). + +A locale is matched if the specified value is found at the beginning of +LANG. For example, "fr" will match both the "fr" and "fr_CA" values. In +order for the more specialized locale values to be matched correctly, +the longer values should be be specified last (i.e. if you have different +translations, list "fr" before "fr_CA" in the XML file). + ------------------------------------------------------------------------- Example XML product specification: @@ -227,9 +324,11 @@ path="/opt" preinstall="sh setup.data/foo-preinst.sh $*" postinstall="sh setup.data/foo-postinst.sh $*" - eula="license.txt" url="http://www.products.kom/foo/index.html" > + <eula>license.txt</eula> + <eula lang="fr">license-fr.txt</eula> + <readme>README</readme> # This installs a product named "foo" in /opt/foo by default. # The user may specify a different installation directory. # The installer will prompt the user with the license contained in the @@ -238,26 +337,32 @@ # installing, a browser will be launched to the site: # http://www.products.kom/foo/index.html - <option install="true" help="Required for use"> + <option install="true"> Base Install # Option called "Base Install" contains a binary, # some data files, and two optional editors. + <help>Required for use</help> + <help lang="fr">Requis pour utilisation</help> <binary arch="any" libc="any" symlink="foo" icon="icon.xpm"> foo </binary> + <files lang="fr"> + README.fr + <files> <files> - README icon.xpm edit.xpm data/*.dat </files> - <option help="terminal editor for foo data files"> + <option> Curses Editor + <help>Terminal editor for foo data files</help> <binary arch="any" libc="any"> foo-edit.ncurses </binary> </option> - <option help="X windows editor for foo data files"> + <option> Motif Editor + <help>X windows editor for foo data files</help> <binary arch="any" libc="any"> foo-edit.motif </binary> @@ -269,7 +374,7 @@ sh setup.data/edit-postinst.sh $* </script> </option> - <option> + <option size="12M"> Extra Data # Option called "Extra Data" contains extra files <files> extra/*.dat [ cvs rdiff -t -u setup/TODO ] Index: setup/TODO diff -u setup/TODO:1.4 setup/TODO:1.5 --- setup/TODO:1.4 Sat Apr 22 13:17:39 2000 +++ setup/TODO Tue Jul 18 14:49:08 2000 @@ -1,6 +1,8 @@ (random order) todo-list -* test +* internationalization +* add enhanced server support (start/stop scripts etc) +* thoroughly test across multiple hardware configurations * possible integrate symlink files to cdrom instead of copy to disk * automaticly create setup package WITHOUT CVS/ directories * update all readme files in setup for 413 [ cvs rdiff -t -u setup/image/LinuxLogos.tar.gz ] Index: setup/image/LinuxLogos.tar.gz [ cvs rdiff -t -u setup/image/setup.data/setup.xml ] Index: setup/image/setup.data/setup.xml diff -u setup/image/setup.data/setup.xml:1.8 setup/image/setup.data/setup.xml:1.9 --- setup/image/setup.data/setup.xml:1.8 Sat Apr 29 11:33:03 2000 +++ setup/image/setup.data/setup.xml Tue Jul 18 14:49:09 2000 @@ -1,14 +1,16 @@ <?xml version="1.0" standalone="yes"?> -<install product="UnrealTournament" - desc="Unreal Tournament" - version="413A" - cdrom="required" - cdromfile="System/UNREALTOURNAMENT.EXE" - postinstall="sh setup.data/ut-postinstall.sh $*" - url="http://OpenUT.sourceforge.net/"> - <option install="true" help="The basic stuff you need to play." size="520"> +<install product="UnrealTournament" + desc="Unreal Tournament for Linux" + version="413A" + cdrom="required" + cdromfile="System/UNREALTOURNAMENT.EXE" + postinstall="sh setup.data/ut-postinstall.sh $*" + url="http://OpenUT.sourceforge.net/"> + <readme>README.txt</readme> + <option install="true" size="520M"> Unreal Tournament Base - <binary symlink="UnrealTournament"> + <help>The basic stuff you need to play</help> + <binary symlink="UnrealTournament" icon="ut48lit.png" name="Unreal Tournament"> UT </binary> <binary symlink="utcp"> @@ -34,8 +36,9 @@ md5sum </files> </option> - <option install="true" help="Tools to generate HTML statistics about your gameplay." size="1"> + <option install="true" size="1M"> NetGames USA Stat Utils + <help>Tools to generate HTML statistics about your gameplay</help> <files> NetGamesUSA.com.tar.gz </files> [ cvs rdiff -t -u setup/image/setup.data/bin/x86/setup ] Index: setup/image/setup.data/bin/x86/setup [ cvs rdiff -t -u setup/image/setup.data/bin/x86/glibc-2.1/setup.gtk ] Index: setup/image/setup.data/bin/x86/glibc-2.1/setup.gtk [ cvs rdiff -t -u setup/makeself/makeself.sh ] Index: setup/makeself/makeself.sh diff -u setup/makeself/makeself.sh:1.1 setup/makeself/makeself.sh:1.2 --- setup/makeself/makeself.sh:1.1 Tue Apr 18 11:57:05 2000 +++ setup/makeself/makeself.sh Tue Jul 18 14:49:10 2000 @@ -2,7 +2,7 @@ # # makeself 1.5.3 # -# $Id: makeself.sh,v 1.1 2000/04/18 18:57:05 jeroenj Exp $ +# $Id: makeself.sh,v 1.2 2000/07/18 21:49:10 andyp Exp $ # # Utility to create self-extracting tar.gz archives. # The resulting archive is a file holding the tar.gz archive with @@ -42,6 +42,7 @@ KEEP=n NOX11=n COMPRESS=gzip +TAR_ARGS=cvf if [ "$1" = --version ]; then echo Makeself version $VERSION exit 0 @@ -70,7 +71,11 @@ NOX11=y shift 1 fi -skip=143 +if [ "$1" = --follow ]; then + TAR_ARGS=cvfh + shift 1 +fi +skip=149 if [ x"$1" = x--lsm -o x"$1" = x-lsm ]; then shift 1 lsm_file=$1 @@ -99,6 +104,7 @@ echo " --nocomp : Do not compress the data" echo " --notemp : The archive will create archive_dir in the" echo " current directory and uncompress in ./archive_dir" + echo " --follow : Follow the symlinks in the archive" echo " --nox11 : Disable automatic spawn of a xterm" echo " --nowait : Do not wait for user input after executing embedded program from an xterm" echo " --lsm file : LSM file describing the package" @@ -223,7 +229,7 @@ if ! tty -s; then # Do we have a terminal? if [ x"\$DISPLAY" != x -a x"\$xterm_loop" = x ]; then # No, but do we have X? if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable - GUESS_XTERMS="dtterm eterm Eterm xterm rxvt kvt konsole" + GUESS_XTERMS="dtterm eterm Eterm xterm rxvt kvt" for a in \$GUESS_XTERMS; do if which \$a >/dev/null 2>&1; then XTERM=\$a @@ -244,9 +250,15 @@ cat << EOF >> $archname [ x"\$finish" = x ] && finish=true -if [ "\$1" = "-confirm" ]; then verbose=y; shift 1; fi -if [ "\$1" = "-keep" ]; then keep=y; shift 1; fi -if [ "\$1" = "-target" -a x"\$2" != x ]; then targetdir=\$2; keep=y; shift 2; fi +parsing=yes +while [ x"\$parsing" != x ]; do + case "\$1" in + -confirm) verbose=y; shift;; + -keep) keep=y; shift;; + -target) if [ x"\$2" != x ]; then targetdir="\$2"; keep=y; shift 2; fi;; + *) parsing="";; + esac +done if [ "\$keep" = y ]; then echo "Creating directory \$targetdir"; tmpdir=\$targetdir; else tmpdir="/tmp/selfgz\$\$"; fi location=\`pwd\` @@ -306,7 +318,7 @@ # Append the compressed tar data after the stub echo Adding files to archive named \"$archname\"... # (cd $archdir; tar cvf - *| $GZIP_CMD ) >> $archname && chmod +x $archname && .. -(cd $archdir; tar cvf - * | $GZIP_CMD ) >> $archname || { echo Aborting; exit 1; } +(cd $archdir; tar $TAR_ARGS - * | $GZIP_CMD ) >> $archname || { echo Aborting; exit 1; } echo echo >> $archname >&- ; # try to close the archive # echo Self-extractible archive \"$archname\" successfully created. |