Permalink
Browse files

First post-Loki release, sync with the Codehost tree.

MANY bugfixes, but most notable feature enhancements :


1.6.0:
Stephane Peter (Codehost) - Tue Aug 21 20:22:10 PDT 2001
 * Added distribution detection: "distro" attribute, SETUP_DISTRO environment
   variable in scripts.
 * Automatic selection of options using the "command" attribute.
Stephane Peter (Codehost) - Fri Aug 31 00:07:40 PDT 2001
 * Included the "dialog" source code and added a dialog-based UI.
 * Added the "superuser" attribute for root-only installations.
Stephane Peter (Codehost) - Fri Sep 14 00:41:04 PDT 2001
 * Added two optional installation classes, through the "express" install XML keyword.
   'Recommended' is an express, non-interactive, installation based on defaults.
Stephane Peter (Codehost) - Fri Sep 14 18:25:24 PDT 2001
 * Added the "require" element that allows to set prerequisites for the installation
   through the use of arbitrary commands.
Stephane Peter (Codehost) - Tue Oct  9 19:48:29 PDT 2001
 * Allow the 'arch', 'glibc' and 'distro' attributes in conjunction with 'files' elements.
Stéphane Peter (Codehost) - Thu Oct 18 00:29:40 PDT 2001
 * Added the 'gui' value to the 'play' attribute to binaries to specify binaries that require
   an X11 environment to be able to be started.
Stephane Peter (Codehost) - Fri Oct 19 18:39:12 PDT 2001
 * Added the 'once' attribute to the global 'install' element, to explicitly prevent multiple
   installations of the same product.
Stephane Peter (Codehost) - Tue Oct 23 11:48:32 PDT 2001
 * Support transparent pixmaps correctly for splash images.
Stephane Peter (Codehost) - Mon Nov 26 16:48:01 PST 2001
 * Allow the 'arch', 'glibc' and 'distro' attributes on all elements : files, binaries,
   scripts and 'require' (to allow for very specific requirement checks).
 * Extended the 'distro' matching with 'up', 'exact' and 'major' matching policies.
Stephane Peter (Codehost) - Tue Dec  4 22:49:21 PST 2001
 * Added the 'binarypath' attribute to the root 'install' element to specify a default
   binary path from the configuration file.
Stéphane Peter (Codehost) - Thu Dec  6 02:30:28 PST 2001
 * Added support for the Debian menus systems (update-menus command) that is also
   used in Mandrake to install desktop menu entries.
  • Loading branch information...
megastep committed Jan 28, 2002
1 parent 9a4b653 commit a78439ab432747668ec1a6cb77e89db49b78d17b
Showing with 18,050 additions and 4,788 deletions.
  1. +35 −0 CHANGES
  2. +48 −11 Makefile.in
  3. +113 −0 README.xml
  4. +1 −0 autogen.sh
  5. +462 −0 check.c
  6. +374 −0 check.glade
  7. +224 −233 config.guess
  8. +53 −37 config.sub
  9. +44 −7 configure.in
  10. +51 −28 console_ui.c
  11. +139 −47 copy.c
  12. +5 −0 copy.h
  13. +356 −73 detect.c
  14. +48 −5 detect.h
  15. +418 −0 dialog/CHANGES
  16. +339 −0 dialog/COPYING
  17. +75 −0 dialog/Makefile.in
  18. +61 −0 dialog/README
  19. +1 −0 dialog/VERSION
  20. +53 −0 dialog/arrows.c
  21. +296 −0 dialog/buttons.c
  22. +550 −0 dialog/calendar.c
  23. +412 −0 dialog/checklist.c
  24. +163 −0 dialog/colors.h
  25. +899 −0 dialog/dialog.c
  26. +457 −0 dialog/dialog.h
  27. +23 −0 dialog/dialog.lsm
  28. +538 −0 dialog/fselect.c
  29. +160 −0 dialog/gauge.c
  30. +156 −0 dialog/inputbox.c
  31. +114 −0 dialog/inputstr.c
  32. +359 −0 dialog/menubox.c
  33. +308 −0 dialog/mouse.c
  34. +115 −0 dialog/mousewget.c
  35. +107 −0 dialog/msgbox.c
  36. +604 −0 dialog/rc.c
  37. +295 −0 dialog/tailbox.c
  38. +743 −0 dialog/textbox.c
  39. +318 −0 dialog/timebox.c
  40. +273 −0 dialog/ui_getc.c
  41. +1,117 −0 dialog/util.c
  42. +110 −0 dialog/yesno.c
  43. +489 −0 dialog_ui.c
  44. +77 −42 file.c
  45. +4 −2 file.h
  46. +155 −118 gtk_ui.c
  47. BIN image/setup.data/locale/de/LC_MESSAGES/loki-uninstall.mo
  48. BIN image/setup.data/locale/de/LC_MESSAGES/setup.mo
  49. BIN image/setup.data/locale/es/LC_MESSAGES/loki-uninstall.mo
  50. BIN image/setup.data/locale/es/LC_MESSAGES/setup.mo
  51. BIN image/setup.data/locale/fr/LC_MESSAGES/loki-uninstall.mo
  52. BIN image/setup.data/locale/fr/LC_MESSAGES/setup.mo
  53. BIN image/setup.data/locale/it/LC_MESSAGES/loki-uninstall.mo
  54. BIN image/setup.data/locale/it/LC_MESSAGES/setup.mo
  55. BIN image/setup.data/locale/nl/LC_MESSAGES/loki-uninstall.mo
  56. BIN image/setup.data/locale/nl/LC_MESSAGES/setup.mo
  57. BIN image/setup.data/locale/sv/LC_MESSAGES/loki-uninstall.mo
  58. BIN image/setup.data/locale/sv/LC_MESSAGES/setup.mo
  59. +157 −3 image/setup.data/setup.glade
  60. +2 −2 image/setup.data/setup.xml
  61. +4 −2 image/setup.sh
  62. +468 −244 install.c
  63. +40 −24 install.h
  64. +48 −10 install_log.c
  65. +7 −7 install_log.h
  66. +13 −0 install_ui.h
  67. +9 −3 loki_launchurl.c
  68. +47 −95 main.c
  69. +1 −1 makeself/README
  70. +1 −1 makeself/TODO
  71. +3 −3 makeself/makeself.lsm
  72. +8 −7 makeself/makeself.sh
  73. +3 −3 network.c
  74. +1 −1 plugins/Makefile.in
  75. +37 −31 plugins/cpio.c
  76. +42 −15 plugins/rpm.c
  77. +1 −1 plugins/sample.c
  78. +42 −32 plugins/tar.c
  79. +34 −28 po/de/loki-uninstall.po
  80. +533 −346 po/de/setup.po
  81. +34 −28 po/es/loki-uninstall.po
  82. +529 −347 po/es/setup.po
  83. +34 −28 po/fr/loki-uninstall.po
  84. +537 −354 po/fr/setup.po
  85. +32 −28 po/it/loki-uninstall.po
  86. +509 −335 po/it/setup.po
  87. +32 −29 po/loki-uninstall.po
  88. +32 −28 po/nl/loki-uninstall.po
  89. +485 −332 po/nl/setup.po
  90. +229 −188 po/ru/loki-uninstall.po
  91. +1,364 −961 po/ru/setup.po
  92. +421 −291 po/setup.po
  93. +34 −28 po/sv/loki-uninstall.po
  94. +526 −344 po/sv/setup.po
  95. +3 −3 uninstall.c
  96. +5 −1 uninstall.glade
  97. +1 −1 uninstall.h
View
35 CHANGES
@@ -1,3 +1,38 @@
1.6.0:
Stephane Peter (Codehost) - Tue Aug 21 20:22:10 PDT 2001
* Added distribution detection: "distro" attribute, SETUP_DISTRO environment
variable in scripts.
* Automatic selection of options using the "command" attribute.
Stephane Peter (Codehost) - Fri Aug 31 00:07:40 PDT 2001
* Included the "dialog" source code and added a dialog-based UI.
* Added the "superuser" attribute for root-only installations.
Stephane Peter (Codehost) - Fri Sep 14 00:41:04 PDT 2001
* Added two optional installation classes, through the "express" install XML keyword.
'Recommended' is an express, non-interactive, installation based on defaults.
Stephane Peter (Codehost) - Fri Sep 14 18:25:24 PDT 2001
* Added the "require" element that allows to set prerequisites for the installation
through the use of arbitrary commands.
Stephane Peter (Codehost) - Tue Oct 9 19:48:29 PDT 2001
* Allow the 'arch', 'glibc' and 'distro' attributes in conjunction with 'files' elements.
St�phane Peter (Codehost) - Thu Oct 18 00:29:40 PDT 2001
* Added the 'gui' value to the 'play' attribute to binaries to specify binaries that require
an X11 environment to be able to be started.
Stephane Peter (Codehost) - Fri Oct 19 18:39:12 PDT 2001
* Added the 'once' attribute to the global 'install' element, to explicitly prevent multiple
installations of the same product.
Stephane Peter (Codehost) - Tue Oct 23 11:48:32 PDT 2001
* Support transparent pixmaps correctly for splash images.
Stephane Peter (Codehost) - Mon Nov 26 16:48:01 PST 2001
* Allow the 'arch', 'glibc' and 'distro' attributes on all elements : files, binaries,
scripts and 'require' (to allow for very specific requirement checks).
* Extended the 'distro' matching with 'up', 'exact' and 'major' matching policies.
Stephane Peter (Codehost) - Tue Dec 4 22:49:21 PST 2001
* Added the 'binarypath' attribute to the root 'install' element to specify a default
binary path from the configuration file.
St�phane Peter (Codehost) - Thu Dec 6 02:30:28 PST 2001
* Added support for the Debian menus systems (update-menus command) that is also
used in Mandrake to install desktop menu entries.
1.5.9:
Sam Lantinga - Thu Mar 8 18:09:29 PST 2001
* Don't prompt for menu items if the "nobinaries" option is set
View
@@ -16,7 +16,7 @@ CC = @CC@
# This indicates where the 'setupdb' CVS module is checked out
SETUPDB = @SETUPDB@
IMAGE = /loki/patch-tools/setup-image
IMAGE = ../../spp/image
UPDATES = /loki/updates/loki_uninstall
CONVERT_IMAGE = /loki/patch-tools/convert-image
@@ -33,19 +33,23 @@ OPTIONS = -DSTUB_UI -DSETUP_VERSION_MAJOR=@SETUP_VERSION_MAJOR@ \
CFLAGS += $(OPTIMIZE) $(HEADERS) $(OPTIONS)
COMMON_OBJS = log.o install_log.o
OBJS = $(COMMON_OBJS) main.o detect.o plugins.o network.o install.o copy.o file.o loki_launchurl.o
CORE_OBJS = detect.o plugins.o network.o install.o copy.o file.o loki_launchurl.o
OBJS = $(COMMON_OBJS) $(CORE_OBJS) main.o
LOKI_UNINSTALL_OBJS = loki_uninstall.o uninstall_ui.o
UNINSTALL_OBJS = uninstall.o
CONSOLE_OBJS = $(OBJS) console_ui.o
CHECK_OBJS = $(COMMON_OBJS) $(CORE_OBJS) check.o
CONSOLE_OBJS = $(OBJS) console_ui.o dialog_ui.o
GUI_OBJS = $(OBJS) gtk_ui.o
SRCS = $(OBJS:.o=.c) $(CONSOLE_OBJS:.o=.c) $(GUI_OBJS:.o=.c)
LIBS = plugins/libplugins.a $(SETUPDB)/$(arch)/libsetupdb.a @LIBS@ -lz
GUI_LIBS = plugins/libplugins.a $(SETUPDB)/$(arch)/libsetupdb.a @GUI_LIBS@ -lz
CONSOLE_LIBS = $(LIBS)
COMMON_LIBS = plugins/libplugins.a dialog/libdialog.a \
$(SETUPDB)/$(arch)/libsetupdb.a
LIBS = $(COMMON_LIBS) @LIBS@ -lz -lm
GUI_LIBS = $(COMMON_LIBS) @GUI_LIBS@ -lz
CONSOLE_LIBS = $(LIBS) -lncurses -lgpm
all: do-plugins setup setup.gtk uninstall
all: do-plugins do-dialog setup setup.gtk uninstall
testxml: testxml.o
$(CC) -o $@ $^ $(LIBS)
@@ -56,18 +60,24 @@ loki_uninstall.o: uninstall.c
loki_uninstall: $(LOKI_UNINSTALL_OBJS) $(SETUPDB)/$(arch)/libsetupdb.a
$(CC) -o $@ $^ $(GUI_LIBS)
uninstall: $(UNINSTALL_OBJS) $(SETUPDB)/$(arch)/libsetupdb.a
uninstall: $(UNINSTALL_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(CONSOLE_LIBS) -static
setup: $(CONSOLE_OBJS) $(SETUPDB)/$(arch)/libsetupdb.a
check: $(CHECK_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(GUI_LIBS)
setup: $(CONSOLE_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(CONSOLE_LIBS) -static
setup.gtk: $(GUI_OBJS) $(SETUPDB)/$(arch)/libsetupdb.a
setup.gtk: $(GUI_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(GUI_LIBS)
do-plugins:
$(MAKE) -C plugins all
do-dialog:
$(MAKE) -C dialog all
install.dbg: all
ifeq ($(DYN_PLUGINS),true)
$(MAKE) -C plugins install.dbg
@@ -106,7 +116,7 @@ endif
cp -v uninstall $(IMAGE)/setup.data/bin/$(os)/$(arch); \
strip $(IMAGE)/setup.data/bin/$(os)/$(arch)/uninstall; \
brandelf -t $(os) $(IMAGE)/setup.data/bin/$(os)/$(arch)/uninstall; \
if [ $(os) = Linux ]; then \
if [ $(os) = Linux -a -d $(CONVERT_IMAGE) ]; then \
cp -v uninstall $(CONVERT_IMAGE)/bin/$(os)/$(arch); \
strip $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
brandelf -t $(os) $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
@@ -117,6 +127,31 @@ endif
echo No directory to copy the binary files to.; \
fi
# Pretty LPP-specific
install-check: check
@if [ -d $(IMAGE)/bin/$(arch)/ ]; then \
cp -v check $(IMAGE)/bin/$(arch)/; \
strip $(IMAGE)/bin/$(arch)/check; \
cp -v check.glade $(IMAGE)/misc/; \
else \
echo No directory to copy the binary files to.; \
fi
# Copy loki_uninstall and the required files
spp: all loki_uninstall install-image install-check
@if [ -d $(IMAGE)/bin/$(arch)/ ]; then \
cp -v loki_uninstall $(IMAGE)/bin/$(arch)/bin/codehost-uninstall; \
strip $(IMAGE)/bin/$(arch)/bin/codehost-uninstall; \
for file in `find image/setup.data -name loki-uninstall.mo -print`; \
do path="$(IMAGE)/`dirname $$file | sed 's,image/setup.data/,,'`"; \
mkdirhier $$path; \
cp -v $$file $$path; \
done; \
else \
echo No directory to copy the binary files to.; \
fi
install-loki_uninstall: loki_uninstall
@if [ -d $(IMAGE)/loki_uninstall/bin/$(arch)/$(libc)/ ]; then \
cp -v loki_uninstall $(IMAGE)/loki_uninstall/bin/$(arch)/$(libc)/; \
@@ -156,6 +191,7 @@ po-image:
clean:
$(MAKE) -C plugins clean
$(MAKE) -C dialog clean
rm -f foo.xml core tags *.o
distclean: clean
@@ -196,6 +232,7 @@ dep: depend
depend:
$(MAKE) -C plugins depend
$(MAKE) -C dialog depend
$(CC) -MM $(CFLAGS) $(SRCS) > .depend
ifeq ($(wildcard .depend),.depend)
View
@@ -34,6 +34,11 @@ There are several optional attributes of the install element:
may be changed by the user at installation time.
The default is: /usr/local/games
binarypath This can be used to specify the default binary directory (where
symbolic links to the binaries will be installed), instead of the
first writable entry in the user's $PATH. The action is very similar
to the -b command line argument to setup, and is secondary to it.
preinstall This is a shell script which is executed before any options
are installed. It is run with the installation destination
as a command line argument.
@@ -143,6 +148,17 @@ There are several optional attributes of the install element:
is detected as already installed the installation will fail.
Important: This attribute can't be mixed with <component> elements.
superuser If set to 'yes', then the installer will refuse to start if not run as
the super-user (root).
express If set to 'yes', then the user will have the choice between "Recommended" and
"Expert" classes of installation. "Expert" is the normal mode, when the user has to confirm
all steps of the installation. "Recommended" uses the defaults values and proceeds to the
installation automatically with as less input from the user as possible.
once If set to 'yes', the installer won't allow to install the same product twice, and will ask
the user to uninstall manually a previous instance if it could be detected.
The CDROM element:
An installer can fetch the necesary data files from one or more CDROM discs. As of setup 1.5.0,
@@ -201,6 +217,9 @@ There are also optional attributes :
The version can be one of:
libc5, glibc-2.0, glibc-2.1, etc.
distro This component is only available with the specified OS distribution.
Look at the end of this file for a list of possible values.
The README and EULA elements:
Those elements are used to mark special files, that are unique for
@@ -224,6 +243,41 @@ 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 REQUIRE element :
This element allows to set prerequisite conditions for the installer, through the
use of arbitrary commands whose return value is used to determine whether the conditions
are fulfilled.
'require' elements have to be at the top level (right under the root 'install' element), and
are parsed in sequential order. Installation will abort if any of the specified commands return
a non-nil value.
This element takes one mandatory attribute :
command Specify the command to be run to determine the condition. A nil value means success.
This element takes some optional attributes :
lang Specify the language for the message. Used for localization. The command will be executed
only if the locale settings match.
arch This requirement applies only on the specified architectures.
The architecture can be any of:
x86, ppc, alpha, sparc64, etc.
libc This requirement applies only to the specified version of libc.
The version can be one of:
libc5, glibc-2.0, glibc-2.1, etc.
distro This component applies only to the specified OS distribution.
Look at the end of this file for a list of possible values.
The text specified in the element will be displayed to the user if the condition fails.
Example:
<require command="/bin/false">
This is always failing! Thus this message is always displayed.
</require>
The INSTALL_DROP_LIST element:
@@ -276,6 +330,14 @@ There are several optional attributes of the option element:
install If this attribute is set to "true", then the option will
be installed by default. It may be deselected by the user.
Another possible value is "command", in which case the script specified
in the "command" attribute will determine the final value of this
property.
command This attribute must be set to a shell script if "install" is "command".
If the command returns with a value of 0 (normal), then the option will
be selected (and unselected otherwise).
This can be used for auto-detection purposes.
required If this attribute is set to "true", the option will always
be installed. The user won't be able to disable it.
@@ -293,6 +355,9 @@ There are several optional attributes of the option element:
The version can be one of:
libc5, glibc-2.0, glibc-2.1, etc.
distro This option is only available with the specified OS distribution.
Look at the end of this file for a list of possible values.
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
@@ -385,6 +450,9 @@ There are several required attributes of the binary element:
There are several optional attributes of the binary element:
distro Files are only installed with the specified OS distribution.
Look at the end of this file for a list of possible values.
symlink This is a symbolic link that is installed in the system path
and points to the installed binary.
@@ -396,6 +464,8 @@ There are several optional attributes of the binary element:
then this binary will explicitly not be used to launch after
the installation. The default value for this attribute is 'yes'
for the first binary with a symlink.
The value can also be 'gui', which means that the binary will only
be launched if the installer is in a graphical environment (e.g X11).
icon This is an optional icon file that you should install into
the top level of the install directory. If both a symlink
@@ -462,6 +532,17 @@ There are several optional attributes of the files element:
the product. Thus an empty value ("") can be used to designate
the installation directory.
arch "any" is synonymous with the current architecture. You can also
use this attribute to force a precise architecture, for example
"ppc" or "sparc64".
libc "any" is synonymous with the current libc version. This can
also be used to force a libc version for the binary, i.e
"glibc-2.0" or "glibc-2.1".
distro Files are only installed with the specified OS distribution.
Look at the end of this file for a list of possible values.
srcpath This is a directory relative to the top of the CD where the files
for this element should be copied from.
@@ -518,6 +599,10 @@ There only supported attribute for the script element is the 'lang' element:
string of this attribute. See 'About localization' below for
more details.
It is also possible to filter the scripts on system characteristics, through
the use of the "arch", "glibc" and "distro" attributes, that work just like
for the "files" element.
The following environment variables are defined while in the shell script:
SETUP_PRODUCTNAME : Product name from the XML file
SETUP_PRODUCTVER : Product version from the XML file
@@ -529,6 +614,8 @@ The following environment variables are defined while in the shell script:
SETUP_CDROMPATH : Path where the install CD-ROM is mounted, if
the XML file designates that some components
are to be installed from CD-ROM.
SETUP_DISTRO : If an OS distribution was detected, this is its
name.
About localization :
@@ -542,6 +629,32 @@ 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).
About distributions :
It is now possible to have options or components specific to a specific brand
of the operating system (i.e. the Linux distribution). Specifications have
the form:
distribution-major.minor-policy
'major' and 'minor' are both optional and describe the minimal release numbers
for the detected distribution. If specified, versions at least this recent
will match.
'policy' is also an optional string that describes the matching policy for this
version, i.e. if you don't necesarily want to match all later releases of a
distribution. Possible values are 'up' (the default), 'major' (includes all
versions of the same major number), and 'exact' (for the exact specification).
Currently, the recognized distribution names are :
redhat, mandrake, suse, debian, slackware, caldera, linuxppc
Examples: redhat-7.1 (will match RedHat 7.1 and up)
mandrake (will match all versions of Mandrake Linux)
slackware-7 (will match Slackware 7.0 and up)
slackware-7.0-major (will match all Slackware 7.x releases, but not 8.x and up)
caldera-3.1-exact (will match Caldera OpenLinux 3.1 only)
About Meta-Installations :
View
@@ -1,3 +1,4 @@
#!/bin/sh
autoheader
autoconf
Oops, something went wrong.

0 comments on commit a78439a

Please sign in to comment.