The Loki Setup installer for Linux / UNIX
C C++ Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
carbon Carbon code no longer eats whole CPU while waiting for user input. Oct 10, 2006
dialog Better support for alternative tool names. Jul 25, 2008
extras * Use portable code generation (for EV4) on Linux/Alpha Apr 10, 2000
image Removed some button icons that might not work with newer GTK themes. May 11, 2015
makeself Updated CVS note to Subversion. Mar 30, 2009
plugins Better support for alternative tool names. Jul 25, 2008
po Updated .po files with "Binary path" translation. Jun 11, 2006
setup.APP/Contents Minor corrections to Carbon UI. Mar 7, 2004
unrar Added RAR archive plugin. May 17, 2005
.gitignore Added more binaries to .gitignore May 12, 2015
BUGS 1.6.1: Sep 17, 2002
CHANGES Updated CHANGES. Dec 11, 2009
COPYING Added GPL licensing Apr 29, 2000
Makefile.in Fixed xsu linking. Apr 18, 2012
Patches Updated Patches file. Aug 11, 2000
README 1.6.1: Sep 17, 2002
README.carbon -Tooltips May 2, 2003
README.locale Added documentation about translating setup. May 2, 2000
README.loki_uninstall *** empty log message *** Jan 16, 2001
README.plugins Stéphane Peter - Tue Jul 25 19:49:06 PDT 2000 Jul 31, 2000
README.xml Fixed binpath handling (bug 3563) Apr 11, 2008
README.xsu Sync with Codehost tree. Apr 3, 2002
autogen.sh Stephane Peter (Codehost) - Thu Sep 26 18:38:02 PDT 2002 Oct 19, 2002
autorun.c Added a sample CD-ROM layout Sep 11, 1999
bools.c Added a blank line to test something with CVS server. Ignore. Feb 28, 2008
bools.h Added "setenv" for bools, to export values to the environment. Mar 31, 2006
carbon_ui.c Carbon code no longer eats whole CPU while waiting for user input. Oct 10, 2006
check.c Use setup-xml macros from setupdb Mar 8, 2006
check.glade 1.6.1: Sep 17, 2002
check.gtk2.glade Ported check tool to GTK2. Mar 7, 2006
check_carbon.c Carbon code no longer eats whole CPU while waiting for user input. Oct 10, 2006
config.guess 1.6.1: Sep 17, 2002
config.h.in FreeBSD 64-bit support Aug 23, 2016
config.sub 1.6.1: Sep 17, 2002
configure.in FreeBSD 64-bit support Aug 23, 2016
console_ui.c Added nomenuitems attribute to install tag. May 18, 2006
copy.c Only use chcon for SELinux context changes. Apr 21, 2012
copy.h Use the new setup-xml.h header for libxml headers Feb 8, 2006
detect.c Fixed FreeBSD compilation Apr 13, 2012
detect.h * Added booleans subsystem with support for complex expressions in Mar 29, 2006
dialog_ui.c Increase welcome dialog on console. Mar 20, 2007
file.c - Use PATH_MAX where appropriate Jan 25, 2005
file.h Renamed tmpdir() functions Nov 10, 2004
gtk_ui.c Try to disable themeing in GTK 2+ May 12, 2015
icon.xpm Updated for building the RPM Jan 16, 2001
install-sh Initial autoconf support Nov 29, 2000
install.c Better GTK2 and SELinux support. Mar 30, 2010
install.h Better GTK2 and SELinux support. Mar 30, 2010
install_log.c log_fatal() cleans up gracefully now instead of calling abort(). Mar 9, 2004
install_log.h First post-Loki release, sync with the Codehost tree. Jan 28, 2002
install_ui.h Patches from Ludwig Nussel Nov 2, 2004
log.c Put "loki_setup: " in front of log entries, so then mean something when Mar 9, 2004
log.h - Separated log stuff in different files Sep 2, 1999
loki_launchurl.c Use xdg-open if available to open URLs Sep 11, 2007
loki_launchurl.h Stephane Peter (Codehost) - Thu Sep 26 18:38:02 PDT 2002 Oct 19, 2002
loki_uninstall.spec Updated for building the RPM Jan 16, 2001
main.c Detect SELinux earlier so that the bool can be set Jan 26, 2007
network.c Fixed DNS lookup, close socket if connect() fails, more robust error Apr 14, 2003
network.h SOL - Added network check for URL, and (localurl="...") Dec 1, 1999
plugins.c Patches from Ludwig Nussel Nov 2, 2004
plugins.h Use the new setup-xml.h header for libxml headers Feb 8, 2006
pseudo.c Rearrange headers to help build on Solaris/x86 Mar 21, 2006
pseudo.h Sync with Codehost tree. Apr 3, 2002
setup-locale.h Warn when can't enable i18n, also try to detect gettext better Nov 24, 2004
testcd.c Stephane Peter (Codehost) - Tue Feb 11 20:33:32 PST 2003 Feb 27, 2003
testxml.c Fix old testxml program Feb 10, 2006
uninstall.c Make sure *all* directories are treated last Feb 8, 2005
uninstall.glade 1.6.1: Sep 17, 2002
uninstall.gtk2.glade Use more stock buttons and less icons. May 12, 2015
uninstall.h Fixes for uninstall programs to handle uninstall messages on the console Jun 6, 2003
uninstall_carbonui.c Carbon code no longer eats whole CPU while waiting for user input. Oct 10, 2006
uninstall_carbonui.h -Added carbon based uninstaller Apr 19, 2003
uninstall_ui.c Try to disable themeing in GTK 2+ May 12, 2015
uninstall_ui.h Added an actual uninstall UI Nov 14, 2000
xsu.c xsu fixes and improvements Mar 17, 2006
xsu.h Stephane Peter (Codehost) - Thu Sep 26 18:38:02 PDT 2002 Oct 19, 2002

README

The Loki Setup Installer 1.5.8
Written by Sam Lantinga and Stéphane Peter
------------------------------------------

New since 1.4:
 * Added an uninstall program
 * Details about the product are saved to an XML install database

New since 1.3:
 * Added support for multiple operating systems (i.e. FreeBSD)
 * Archive extracting subsystem now uses plugin architecture
 * Improved RPM support
 * Lots of other miscellaneous enhancements and fixes

New since 1.2:
 * Added internationalization support
   - German, Spanish, French, Italian and Swedish are included
 * Fixed potential security problem
 * Various pathing fixes and other miscellaneous improvements.

New since 1.1:
 * Improved C library detection
 * Support for loading install files from CD-ROM
 * Additional attributes for the binary element
 * Environment variable parsing in the XML file
 * Added some environment variables for shell scripts

------------------------------------------

This installer uses an XML description file to describe a package,
and provides both a console and a GTk front-end to install it.

The installer requires libxml 1.4.0 to parse the XML configuration,
and libglade 0.7 to dynamically load the GTk user interface definition.
Source archives for these libraries can be found in ./libs, and newer
versions may also work.  You should only install static versions of
these libraries, so they will not be required on the user systems.

Building the installer:
Type 'make; make install'
This builds a static version of the console installer, and a dynamically
linked version of the GUI installer, and installs them in the appropriate
CD-image subdirectory for this architecture and version of libc.

The image subdirectory contains a set of files that you can copy to your
CD image, and modify for the game you are distributing.

CD-ROM install file layout:

setup.sh	(A shell script to run the correct setup binary)
setup.data/
   setup.xml            (XML file defining the install options)
   setup.glade          (XML file defining the GTk UI)
   splash.xpm           (Optional splash image for the GTk UI)
   config.sh            (Optional bootstrap configuration script)
   bin/
   bin/<OS>/<arch>/setup		    (Statically linked console version)
   bin/<OS>/<arch>/<libc>/setup.gtk	(Dynamically linked GTk version)

autorun.inf             (Windows CD autorun file that runs win32/autorun.exe)
win32/
   autorun.exe          (Win32 program that starts up explorer on REAMDE.htm)
   README.htm           (An HTML README file for people running Windows)
bin/
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,
and add a new splash.xpm which will be displayed during the install.
There is documentation for the XML setup specification in README.xml

Make sure to copy over the setup.glade file in your setup.data directory
every time you update 'setup', because the interface definition may
change between revisions and be incompatible with earlier versions.

The binaries for your product are expected to be in bin/<OS>/<arch>/<libc>/
on the CD.  The appropriate binary for the current architecture will
be chosen at install time.  The <libc> portion of the path is optional.
For example, if your binary is called 'rt2', you could have both x86
and PPC versions for Linux as:
	bin/Linux/x86/glibc-2.1/rt2
	bin/Linux/ppc/rt2
and the appropriate binary would be chosen.

The install process creates an uninstall script in the install directory
which can be run when the user wants to uninstall the product.

Make sure you have included installers for the supported architectures
on your CD!  We have included x86, ppc, alpha, and sparc64 binaries for
this version of the installer.

Also included is Stephane Peter's self-extracting archive script in
the makeself subdirectory.  We use this at Loki to generate patches.

Play with it, and enjoy!

-- Sam Lantinga, Lead Programmer, Loki Entertainment Software