Skip to content

Commit

Permalink
1.6.1:
Browse files Browse the repository at this point in the history
Stephane Peter (Codehost) - Sun Mar 31 22:46:57 PST 2002
 * Rewrote xsu 0.2.3 to eliminate all dependencies on Gnome, and also added
   proper i18n support to it.
 * Imported the updated setup.sh from TTimo's branch, with very slight changes.
   The setup.data/config.sh script is now officially recognized as well.
Stephane Peter (Codehost) - Thu Apr 11 18:36:47 PDT 2002
 * Added Solaris CDE icons support.
Stephane Peter (Codehost) - Fri May  3 19:57:03 PDT 2002
 * Added the 'mutable' attribute for files, to mark them as being able to change
   without confusing the setup tools.
Stephane Peter (Codehost) - Wed Jun 12 17:25:35 PDT 2002
 * Added the 'warn' subelement to support warning messages on selecting certain
   options in the UI.
Stephane Peter (Codehost) - Mon Jun 24 17:31:11 PDT 2002
 * Separate the distribution binaries in operating system directories, just like
   the Setup binaries in setup.data.
Stephane Peter (Codehost) - Fri Jun 28 18:45:56 PDT 2002
 * Initial IRIX 6.5 port
Stephane Peter (Codehost) - Tue Jul 23 18:56:31 PDT 2002
 * Added the 'show' attribute to the 'option' tag to allow options to be hidden
   based upon the return value of a command.
 * Added the generic 'linux' distro name to generically match any Linux kernel.
Ryan C. Gordon (icculus.org) - Fri Aug 23 19:46:21 CEST 2002
 * Added PkZip/Info-ZIP/WinZip compatible archive plugin.
Stephane Peter (Codehost) - Fri Sep 13 16:36:15 PDT 2002
 * Added "md5sum" attribute for files/binary elements, to implement installation-time
   checksum verifications with MD5 sums (idea suggested by zakk).
Timothee Besset / merged by Stephane Peter - Fri Sep 13 19:57:22 PDT 2002
 * Support EULA tags for options as well.
  • Loading branch information
megastep committed Sep 17, 2002
1 parent 2dc592c commit 8a61497
Show file tree
Hide file tree
Showing 92 changed files with 5,299 additions and 3,526 deletions.
5 changes: 5 additions & 0 deletions BUGS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Outstanding bugs :

- pseudo.c does not seem to work correctly on SCO and FreeBSD, at least
- When per-option EULAs are specified, we should probably preclude the
"Express" mode from bypassing these licenses.
37 changes: 28 additions & 9 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,8 +1,33 @@
current:
Ryan C. Gordon (icculus.org) - Fri Jul 12 05:57:29 EDT 2002
* configure script should detect libs more correctly.
1.6.1:
Stephane Peter (Codehost) - Sun Mar 31 22:46:57 PST 2002
* Rewrote xsu 0.2.3 to eliminate all dependencies on Gnome, and also added
proper i18n support to it.
* Imported the updated setup.sh from TTimo's branch, with very slight changes.
The setup.data/config.sh script is now officially recognized as well.
Stephane Peter (Codehost) - Thu Apr 11 18:36:47 PDT 2002
* Added Solaris CDE icons support.
Stephane Peter (Codehost) - Fri May 3 19:57:03 PDT 2002
* Added the 'mutable' attribute for files, to mark them as being able to change
without confusing the setup tools.
Stephane Peter (Codehost) - Wed Jun 12 17:25:35 PDT 2002
* Added the 'warn' subelement to support warning messages on selecting certain
options in the UI.
Stephane Peter (Codehost) - Mon Jun 24 17:31:11 PDT 2002
* Separate the distribution binaries in operating system directories, just like
the Setup binaries in setup.data.
Stephane Peter (Codehost) - Fri Jun 28 18:45:56 PDT 2002
* Initial IRIX 6.5 port
Stephane Peter (Codehost) - Tue Jul 23 18:56:31 PDT 2002
* Added the 'show' attribute to the 'option' tag to allow options to be hidden
based upon the return value of a command.
* Added the generic 'linux' distro name to generically match any Linux kernel.
Ryan C. Gordon (icculus.org) - Fri Aug 23 19:46:21 CEST 2002
* Added PkZip/Info-ZIP/WinZip compatible archive plugin.
Stephane Peter (Codehost) - Fri Sep 13 16:36:15 PDT 2002
* Added "md5sum" attribute for files/binary elements, to implement installation-time
checksum verifications with MD5 sums (idea suggested by zakk).
Timothee Besset / merged by Stephane Peter - Fri Sep 13 19:57:22 PDT 2002
* Support EULA tags for options as well.

1.6.0:
Stephane Peter (Codehost) - Tue Aug 21 20:22:10 PDT 2001
Expand Down Expand Up @@ -55,12 +80,6 @@ Ryan C. Gordon
* VERY preliminary BeOS support.
Timoth�e Besset
* EULA can now word wrap with text-based setup.
Stephane Peter (Codehost) - Sun Mar 31 22:46:57 PST 2002
* Added the 'reinstall' tag to allow multiple reinstallations
* Rewrote xsu 0.2.3 to eliminate all dependencies on Gnome, and also added
proper i18n support to it.
* Imported the updated setup.sh from TTimo's branch, with very slight changes.
The setup.data/config.sh script is now officially recognized as well.

1.5.9:
Sam Lantinga - Thu Mar 8 18:09:29 PST 2001
Expand Down
64 changes: 33 additions & 31 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ PACKAGE = setup-$(SETUP_VERSION)
arch := @ARCH@
libc := @LIBC@
os := @OS@
BRANDELF = @BRANDELF@

# If you modify this version, change it's setup.xml and release a new patch.
UNINSTALL_VERSION = 1.0.3
Expand All @@ -16,7 +17,7 @@ CC = @CC@
# This indicates where the 'setupdb' CVS module is checked out
SETUPDB = @SETUPDB@

IMAGE = ../../spp/image
IMAGE = ../../spp/private/image
BRAND = codehost
UPDATES = /loki/updates/loki_uninstall
CONVERT_IMAGE = /loki/patch-tools/convert-image
Expand All @@ -25,11 +26,12 @@ CONVERT_IMAGE = /loki/patch-tools/convert-image
LOCALES = fr de es sv it nl ru

OPTIMIZE = @CFLAGS@
LDFLAGS = @LDFLAGS@
HEADERS = -I/usr/X11R6/include -I/usr/local/include
OPTIONS = -DSTUB_UI -DSETUP_VERSION_MAJOR=@SETUP_VERSION_MAJOR@ \
-DSETUP_VERSION_MINOR=@SETUP_VERSION_MINOR@ \
-DSETUP_VERSION_RELEASE=@SETUP_VERSION_RELEASE@ \
-DSETUP_VERSION=\"$(SETUP_VERSION)\"
-DSETUP_VERSION=\"$(SETUP_VERSION)\" -DSU_PATH=\"@SU_PATH@\"

CFLAGS += $(OPTIMIZE) $(HEADERS) $(OPTIONS)

Expand All @@ -47,35 +49,35 @@ SRCS = $(OBJS:.o=.c) $(CONSOLE_OBJS:.o=.c) $(GUI_OBJS:.o=.c) $(XSU_OBJS:.o=.c)

COMMON_LIBS = plugins/libplugins.a dialog/libdialog.a \
$(SETUPDB)/$(arch)/libsetupdb.a
LIBS = $(COMMON_LIBS) @LIBS@ -lz -lm
GUI_LIBS = $(COMMON_LIBS) @LIBS@ @GUI_LIBS@ -lz
LIBS = $(COMMON_LIBS) @LIBS@ -lm
GUI_LIBS = $(COMMON_LIBS) @LIBS@ @GUI_LIBS@
CONSOLE_LIBS = $(LIBS) @CONSOLE_LIBS@

all: do-plugins do-dialog setup setup.gtk uninstall xsu

testxml: testxml.o
$(CC) -o $@ $^ $(LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

loki_uninstall.o: uninstall.c
$(CC) -c -o $@ $^ $(CFLAGS) -DUNINSTALL_UI -DVERSION=\"$(UNINSTALL_VERSION)\"
$(CC) $(LDFLAGS) -c -o $@ $^ $(CFLAGS) -DUNINSTALL_UI -DVERSION=\"$(UNINSTALL_VERSION)\"

loki_uninstall: $(LOKI_UNINSTALL_OBJS) $(SETUPDB)/$(arch)/libsetupdb.a
$(CC) -o $@ $^ $(GUI_LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(GUI_LIBS)

uninstall: $(UNINSTALL_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(CONSOLE_LIBS) @STATIC@
$(CC) $(LDFLAGS) -o $@ $^ $(CONSOLE_LIBS) @STATIC@

check: $(CHECK_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(GUI_LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(GUI_LIBS)

setup: $(CONSOLE_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(CONSOLE_LIBS) @STATIC@
$(CC) $(LDFLAGS) -o $@ $^ $(CONSOLE_LIBS) @STATIC@

setup.gtk: $(GUI_OBJS) $(COMMON_LIBS)
$(CC) -o $@ $^ $(GUI_LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(GUI_LIBS)

xsu: $(XSU_OBJS)
$(CC) -o $@ $^ @GTK_LIBS@ @LIBUTIL@ @X11_LIBS@
$(CC) $(LDFLAGS) -o $@ $^ @GTK_LIBS@ @LIBUTIL@ @X11_LIBS@ @LIBINTL@ @EXTRA_LIBS@

do-plugins:
$(MAKE) -C plugins all
Expand All @@ -100,16 +102,16 @@ endif
@if [ -d image/setup.data/bin/$(os)/$(arch)/$(libc) ]; then \
cp setup image/setup.data/bin/$(os)/$(arch); \
strip image/setup.data/bin/$(os)/$(arch)/setup; \
brandelf -t $(os) image/setup.data/bin/$(os)/$(arch)/setup; \
$(BRANDELF) -t $(os) image/setup.data/bin/$(os)/$(arch)/setup; \
cp 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; \
$(BRANDELF) -t $(os) image/setup.data/bin/$(os)/$(arch)/uninstall; \
cp xsu image/setup.data/bin/$(os)/$(arch)/$(libc); \
strip image/setup.data/bin/$(os)/$(arch)/$(libc)/xsu; \
brandelf -t $(os) image/setup.data/bin/$(os)/$(arch)/$(libc)/xsu; \
$(BRANDELF) -t $(os) image/setup.data/bin/$(os)/$(arch)/$(libc)/xsu; \
cp setup.gtk image/setup.data/bin/$(os)/$(arch)/$(libc); \
strip image/setup.data/bin/$(os)/$(arch)/$(libc)/setup.gtk; \
brandelf -t $(os) image/setup.data/bin/$(os)/$(arch)/$(libc)/setup.gtk; \
$(BRANDELF) -t $(os) image/setup.data/bin/$(os)/$(arch)/$(libc)/setup.gtk; \
else \
echo No directory to copy the binary files to.; \
fi
Expand All @@ -121,17 +123,17 @@ endif
@if [ -d $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc) ]; then \
cp setup $(IMAGE)/setup.data/bin/$(os)/$(arch); \
strip $(IMAGE)/setup.data/bin/$(os)/$(arch)/setup; \
brandelf -t $(os) $(IMAGE)/setup.data/bin/$(os)/$(arch)/setup; \
$(BRANDELF) -t $(os) $(IMAGE)/setup.data/bin/$(os)/$(arch)/setup; \
cp 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; \
$(BRANDELF) -t $(os) $(IMAGE)/setup.data/bin/$(os)/$(arch)/uninstall; \
cp xsu $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc); \
strip $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc)/xsu; \
brandelf -t $(os) $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc)/xsu; \
$(BRANDELF) -t $(os) $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc)/xsu; \
if [ $(os) = Linux -a -d $(CONVERT_IMAGE) ]; then \
cp uninstall $(CONVERT_IMAGE)/bin/$(os)/$(arch); \
strip $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
brandelf -t $(os) $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
$(BRANDELF) -t $(os) $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
fi; \
cp setup.gtk $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc); \
strip $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc)/setup.gtk; \
Expand All @@ -141,23 +143,23 @@ endif

# Pretty LPP-specific
install-check: check
@if [ -d $(IMAGE)/bin/$(arch)/ ]; then \
cp check $(IMAGE)/bin/$(arch)/; \
strip $(IMAGE)/bin/$(arch)/check; \
@if [ -d $(IMAGE)/bin/$(os)/$(arch)/ ]; then \
cp check $(IMAGE)/bin/$(os)/$(arch)/; \
strip $(IMAGE)/bin/$(os)/$(arch)/check; \
cp 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 loki_uninstall $(IMAGE)/bin/$(arch)/bin/$(BRAND)-uninstall; \
strip $(IMAGE)/bin/$(arch)/bin/$(BRAND)-uninstall; \
copy-image: all loki_uninstall install-image install-check po-image
@if [ -d $(IMAGE)/bin/$(os)/$(arch)/ ]; then \
cp loki_uninstall $(IMAGE)/bin/$(os)/$(arch)/bin/$(BRAND)-uninstall; \
strip $(IMAGE)/bin/$(os)/$(arch)/bin/$(BRAND)-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; \
mkdir -p $$path; \
cp $$file $$path; \
done; \
else \
Expand All @@ -172,7 +174,7 @@ install-loki_uninstall: loki_uninstall
cp icon.xpm uninstall.glade $(IMAGE)/loki_uninstall/; \
for file in `find image/setup.data -name loki-uninstall.mo -print`; \
do path="$(IMAGE)/loki_uninstall/`dirname $$file | sed 's,image/setup.data/,,'`"; \
mkdirhier $$path; \
mkdir -p $$path; \
cp $$file $$path; \
done; \
else \
Expand All @@ -189,7 +191,7 @@ install-loki_uninstall: loki_uninstall
cp icon.xpm uninstall.glade $(UPDATES)/data-$(UNINSTALL_VERSION)/; \
for file in `find image/setup.data -name loki-uninstall.mo -print`; \
do path="$(UPDATES)/data-$(UNINSTALL_VERSION)/`dirname $$file | sed 's,image/setup.data/,,'`"; \
mkdirhier $$path; \
mkdir -p $$path; \
cp $$file $$path; \
done; \
fi
Expand All @@ -198,7 +200,7 @@ install-loki_uninstall: loki_uninstall
po-image:
for lang in $(LOCALES); do \
cp -f image/setup.data/locale/$$lang/LC_MESSAGES/*.mo $(IMAGE)/setup.data/locale/$$lang/LC_MESSAGES/; \
cp -f image/setup.data/locale/$$lang/LC_MESSAGES/loki-uninstall.mo $(CONVERT_IMAGE)/locale/$$lang/LC_MESSAGES/; \
if test -d $(CONVERT_IMAGE); then cp -f image/setup.data/locale/$$lang/LC_MESSAGES/loki-uninstall.mo $(CONVERT_IMAGE)/locale/$$lang/LC_MESSAGES/; fi \
done

clean:
Expand Down
4 changes: 2 additions & 2 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ win32/
autorun.exe (Win32 program that starts up explorer on REAMDE.htm)
README.htm (An HTML README file for people running Windows)
bin/
bin/<arch>/*
bin/<arch>/<libc>/* (Directories holding the binaries for the program)
bin/<OS>/<arch>/*
bin/<OS>/<arch>/<libc>/* (Directories holding the binaries for the program)

--
You should edit the setup.data/setup.xml file to match your product,
Expand Down
55 changes: 49 additions & 6 deletions README.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ There are several optional attributes of the install element:
scripts. This file is not installed, but is added to the
end of the uninstall script.

IMPORTANT: An actual file name for a shell scripts needs to be specified,
not a command, for both pre/postuninstall entries.
"sh script.sh" is incorrect, but "script.sh" is correct.

Both the preuninstall and postuninstall scripts will have access
to the default environment variables. See the 'SCRIPT' section
for details.
Expand Down Expand Up @@ -240,9 +244,14 @@ Both elements take an optional attribute :

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
of the INSTALL element. The README elements should NOT be inside an OPTION
element, alongside 'file' and 'binary' elements.

Starting with version 1.6.1, EULA elements CAN be specified for each option
as sub-elements of an OPTION tag. The syntax is identical to global EULA tags.
You may not want to combine multiple EULAs with an "Express" installer, as this
would currently allow the licensing agreements to be bypassed by the user.

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.

Expand Down Expand Up @@ -357,6 +366,13 @@ There are several optional attributes of the option element:
required If this attribute is set to "true", the option will always
be installed. The user won't be able to disable it.

show If present, this attribute specifies a command to be run whose return
value will determine if this option will be presented to the user at all.
A 0 return value means that the option will be displayed.
A "false" string for this attribute will always hide the option from the user.
All suboptions are also affected by this setting. Note that default values
and actual selection of the option (with the above tags) is not affected.

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'
Expand Down Expand Up @@ -412,6 +428,12 @@ applies to. Here is an example to clarify all this :
This provides French and Spanish translations of the "You really need this"
help message. Please forgive my very poor Spanish ;-)

Starting with version 1.6.0, the OPTION element also supports the WARN sub-element.
WARN has a syntax identical to the HELP sub-element, but allows you to specify a
warning message that will be displayed to the user when the corresponding option
is selected. Just like HELP, this warning message can be translated through the use
of the 'lang' attribute.

The EXCLUSIVE element:

This special element is used to describe a set of OPTION elements that are
Expand Down Expand Up @@ -444,14 +466,15 @@ 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.

The actual file that is copied resides in bin/<arch>/<libc>/, where
The actual file that is copied resides in bin/<os>/<arch>/<libc>/, where
"<os>" is the Operating System string (output from the 'uname -s' command),
"<arch>" is the current architecture string (x86, ppc, alpha, etc.)
and "<libc>" is an optional C library version (glibc-2.0, glibc-2.1, etc.)

For example, if you wanted to install an executable file named "foo"
on a PPC system, you would need it on the install disk as bin/ppc/foo.
on a PPC system, you would need it on the install disk as bin/Linux/ppc/foo.
If it depended upon version 2.1 of the GNU C library, you would place
it on the install disk as bin/ppc/glibc-2.1/foo.
it on the install disk as bin/Linux/ppc/glibc-2.1/foo.

There are several required attributes of the binary element:

Expand Down Expand Up @@ -532,6 +555,11 @@ There are several optional attributes of the binary element:
appear before the <binary> tag to ensure that the file exists
before the symlink and menu items are created.

md5sum You can optionally specify a MD5 checksum string (32 characters from
the output of the 'md5sum' command), and the copied file will be verified
against this checksum. Installation will abort in the case of an invalid
checksum, indicating corruption.

The FILES element:

The files element contains a list of files and directories, one per line,
Expand Down Expand Up @@ -567,6 +595,9 @@ There are several optional attributes of the files element:

cdromid Specifies a CDROM from which the file will be pulled.

mutable If set to "yes", then the file will be considered mutable, i.e. it
will not be considered corrupted if its checksum changes.

lang The files are only installed if the current locale matches the
string of this attribute. See 'About localization' below for
more details.
Expand All @@ -591,6 +622,11 @@ There are several optional attributes of the files element:
remove it. This will apply to all RPM files within this <files>
tag.

md5sum You can optionally specify a MD5 checksum string (32 characters from
the output of the 'md5sum' command), and the copied file will be verified
against this checksum. Installation will abort in the case of an invalid
checksum, indicating corruption.

The SCRIPT element:

The script element contains shell commands which are executed when the
Expand All @@ -608,7 +644,7 @@ For example:
sh setup.data/stage1.sh
</script>

There only supported attribute for the script element is the 'lang' element:
There supported attributes for the script element are :

lang The script is only installed if the current locale matches the
string of this attribute. See 'About localization' below for
Expand Down Expand Up @@ -663,13 +699,20 @@ 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
Linux: redhat, mandrake, suse, debian, slackware, caldera, linuxppc, yellowdog, linux

UNIX: freebsd, solaris, hpux, irix, sco, aix

'linux' is a special distribution name that can be used to differentiate between a GNU/Linux
system and other UNIX flavors. The 'linux' version numbers correspond to the kernel version.
Hence, the 'linux' name matches all distributions.

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)
linux-2.4 (requires a 2.4.x Linux kernel or above)

About Meta-Installations :

Expand Down
Loading

0 comments on commit 8a61497

Please sign in to comment.