Skip to content

Commit

Permalink
Sync with Codehost tree.
Browse files Browse the repository at this point in the history
Stephane Peter (Codehost) - Tue Feb  5 15:38:56 PST 2002
 * Added keyboard accelerators in the GTK+ UI for increased usability.
Stephane Peter (Codehost) - Wed Feb  6 16:02:01 PST 2002
 * Support product path prefixes so that the check & rescue tool can locate a product
   on its installation media if it is not at the root (i.e. in a 'linux' subdirectory).
 * Introduced the 'remove_msg' element for uninstallation messages.
Stephane Peter (Codehost) - Wed Feb 27 16:24:36 PST 2002
 * Initial Solaris / SVR4 port.
Ryan C. Gordon
 * makeself now uses the md5sum program for MD5 calculation.
 * bzip2 fixes/enhancements.
 * installation/symlink paths in GTK+ combo boxes should be more sane now.
 * autoconf warning cleanups.
 * Required CD-ROM detection works now.
 * 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.
  • Loading branch information
megastep committed Apr 3, 2002
1 parent 74e04d7 commit e623663
Show file tree
Hide file tree
Showing 66 changed files with 3,160 additions and 451 deletions.
36 changes: 23 additions & 13 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
1.6.1:
Ryan C. Gordon
* makeself now uses the md5sum program for MD5 calculation.
* bzip2 fixes/enhancements.
* installation/symlink paths in GTK+ combo boxes should be more sane now.
* autoconf warning cleanups.
* Now looks for setupdb at ../loki_setupdb by default.
* Required CD-ROM detection works now.
* VERY preliminary BeOS support.

TTimo:
* EULA can now word wrap with text-based setup.

1.6.0:
Stephane Peter (Codehost) - Tue Aug 21 20:22:10 PDT 2001
* Added distribution detection: "distro" attribute, SETUP_DISTRO environment
Expand Down Expand Up @@ -45,6 +32,29 @@ Stephane Peter (Codehost) - Tue Dec 4 22:49:21 PST 2001
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.
Stephane Peter (Codehost) - Tue Feb 5 15:38:56 PST 2002
* Added keyboard accelerators in the GTK+ UI for increased usability.
Stephane Peter (Codehost) - Wed Feb 6 16:02:01 PST 2002
* Support product path prefixes so that the check & rescue tool can locate a product
on its installation media if it is not at the root (i.e. in a 'linux' subdirectory).
* Introduced the 'remove_msg' element for uninstallation messages.
Stephane Peter (Codehost) - Wed Feb 27 16:24:36 PST 2002
* Initial Solaris / SVR4 port.
Ryan C. Gordon
* makeself now uses the md5sum program for MD5 calculation.
* bzip2 fixes/enhancements.
* installation/symlink paths in GTK+ combo boxes should be more sane now.
* autoconf warning cleanups.
* Required CD-ROM detection works now.
* 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
71 changes: 41 additions & 30 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CC = @CC@
SETUPDB = @SETUPDB@

IMAGE = ../../spp/image
BRAND = codehost
UPDATES = /loki/updates/loki_uninstall
CONVERT_IMAGE = /loki/patch-tools/convert-image

Expand All @@ -40,16 +41,17 @@ UNINSTALL_OBJS = uninstall.o
CHECK_OBJS = $(COMMON_OBJS) $(CORE_OBJS) check.o
CONSOLE_OBJS = $(OBJS) console_ui.o dialog_ui.o
GUI_OBJS = $(OBJS) gtk_ui.o
XSU_OBJS = xsu.o pseudo.o

SRCS = $(OBJS:.o=.c) $(CONSOLE_OBJS:.o=.c) $(GUI_OBJS:.o=.c)
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 @BZ2LIB@
$(SETUPDB)/$(arch)/libsetupdb.a
LIBS = $(COMMON_LIBS) @LIBS@ -lz -lm
GUI_LIBS = $(COMMON_LIBS) @GUI_LIBS@ -lz
CONSOLE_LIBS = $(LIBS) -lncurses -lgpm
GUI_LIBS = $(COMMON_LIBS) @LIBS@ @GUI_LIBS@ -lz
CONSOLE_LIBS = $(LIBS) @CONSOLE_LIBS@

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

testxml: testxml.o
$(CC) -o $@ $^ $(LIBS)
Expand All @@ -61,17 +63,20 @@ loki_uninstall: $(LOKI_UNINSTALL_OBJS) $(SETUPDB)/$(arch)/libsetupdb.a
$(CC) -o $@ $^ $(GUI_LIBS)

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

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

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

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

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

do-plugins:
$(MAKE) -C plugins all

Expand All @@ -83,23 +88,26 @@ ifeq ($(DYN_PLUGINS),true)
$(MAKE) -C plugins install.dbg
endif
@if [ -d image/setup.data/bin/$(os)/$(arch)/$(libc) ]; then \
cp -v setup image/setup.data/bin/$(os)/$(arch); \
cp -v uninstall image/setup.data/bin/$(os)/$(arch); \
cp -v setup.gtk image/setup.data/bin/$(os)/$(arch)/$(libc); \
cp setup image/setup.data/bin/$(os)/$(arch); \
cp uninstall image/setup.data/bin/$(os)/$(arch); \
cp setup.gtk image/setup.data/bin/$(os)/$(arch)/$(libc); \
fi

install: all
ifeq ($(DYN_PLUGINS),true)
$(MAKE) -C plugins install
endif
@if [ -d image/setup.data/bin/$(os)/$(arch)/$(libc) ]; then \
cp -v setup image/setup.data/bin/$(os)/$(arch); \
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; \
cp -v uninstall image/setup.data/bin/$(os)/$(arch); \
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; \
cp -v setup.gtk image/setup.data/bin/$(os)/$(arch)/$(libc); \
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; \
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; \
else \
Expand All @@ -111,18 +119,21 @@ ifeq ($(DYN_PLUGINS),true)
$(MAKE) -C plugins install
endif
@if [ -d $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc) ]; then \
cp -v setup $(IMAGE)/setup.data/bin/$(os)/$(arch); \
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; \
cp -v uninstall $(IMAGE)/setup.data/bin/$(os)/$(arch); \
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; \
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; \
if [ $(os) = Linux -a -d $(CONVERT_IMAGE) ]; then \
cp -v uninstall $(CONVERT_IMAGE)/bin/$(os)/$(arch); \
cp uninstall $(CONVERT_IMAGE)/bin/$(os)/$(arch); \
strip $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
brandelf -t $(os) $(CONVERT_IMAGE)/bin/$(os)/$(arch)/uninstall; \
fi; \
cp -v setup.gtk $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc); \
cp setup.gtk $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc); \
strip $(IMAGE)/setup.data/bin/$(os)/$(arch)/$(libc)/setup.gtk; \
else \
echo No directory to copy the binary files to.; \
Expand All @@ -131,9 +142,9 @@ endif
# Pretty LPP-specific
install-check: check
@if [ -d $(IMAGE)/bin/$(arch)/ ]; then \
cp -v check $(IMAGE)/bin/$(arch)/; \
cp check $(IMAGE)/bin/$(arch)/; \
strip $(IMAGE)/bin/$(arch)/check; \
cp -v check.glade $(IMAGE)/misc/; \
cp check.glade $(IMAGE)/misc/; \
else \
echo No directory to copy the binary files to.; \
fi
Expand All @@ -142,44 +153,44 @@ install-check: check

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; \
cp loki_uninstall $(IMAGE)/bin/$(arch)/bin/$(BRAND)-uninstall; \
strip $(IMAGE)/bin/$(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; \
cp -v $$file $$path; \
cp $$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)/; \
cp loki_uninstall $(IMAGE)/loki_uninstall/bin/$(arch)/$(libc)/; \
strip $(IMAGE)/loki_uninstall/bin/$(arch)/$(libc)/loki_uninstall; \
cp -v README.loki_uninstall $(IMAGE)/loki_uninstall/README; \
cp -v icon.xpm uninstall.glade $(IMAGE)/loki_uninstall/; \
cp README.loki_uninstall $(IMAGE)/loki_uninstall/README; \
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; \
cp -v $$file $$path; \
cp $$file $$path; \
done; \
else \
echo No directory to copy the binary files to.; \
fi
@if [ -d $(UPDATES) ]; then \
rm -rf $(UPDATES)/bin-$(arch)-$(UNINSTALL_VERSION)/; \
mkdir $(UPDATES)/bin-$(arch)-$(UNINSTALL_VERSION)/; \
cp -v loki_uninstall $(UPDATES)/bin-$(arch)-$(UNINSTALL_VERSION)/; \
cp loki_uninstall $(UPDATES)/bin-$(arch)-$(UNINSTALL_VERSION)/; \
strip $(UPDATES)/bin-$(arch)-$(UNINSTALL_VERSION)/loki_uninstall; \
rm -rf $(UPDATES)/data-$(UNINSTALL_VERSION)/; \
mkdir $(UPDATES)/data-$(UNINSTALL_VERSION)/; \
cp -v README.loki_uninstall $(UPDATES)/data-$(UNINSTALL_VERSION)/README; \
cp -v icon.xpm uninstall.glade $(UPDATES)/data-$(UNINSTALL_VERSION)/; \
cp README.loki_uninstall $(UPDATES)/data-$(UNINSTALL_VERSION)/README; \
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; \
cp -v $$file $$path; \
cp $$file $$path; \
done; \
fi
@echo "Don't forget to update the version in setup.xml to $(UNINSTALL_VERSION)"
Expand Down
1 change: 1 addition & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ 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)
Expand Down
15 changes: 15 additions & 0 deletions README.xml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,9 @@ There are several optional attributes of the install element:
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.

reinstall If set to 'yes', the install will allow the product to be reinstalled. The default behavior
is not to let the user install product options twice.

The CDROM element:

An installer can fetch the necesary data files from one or more CDROM discs. As of setup 1.5.0,
Expand Down Expand Up @@ -279,6 +282,18 @@ Example:
This is always failing! Thus this message is always displayed.
</require>


The REMOVE_MSG element :

This element is used to prompt the user in the Uninstaller tool with a message upon uninstalling
the component. The user can then choose to abort the uninstallation. This element is a simple
text that can be localized.

This element takes one optional attribute :
lang Specify the language for the message. Used for localization. The message will be showed
only if the locale settings match.


The INSTALL_DROP_LIST element:

The install_drop_list element makes it possible to override the default
Expand Down
133 changes: 133 additions & 0 deletions README.xsu
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
This is the original README file from the xsu 0.2.3 distribution.
------------------

XSU - SU for Gnome
------------------

* Introduction
xsu Is an interface for the command `su - username -c command` in Gnome. When
the user executes xsu, he will be prompted for a command, a username and a
password. If the username and password are correct xsu will execute the command
as the entered user. So if the username was root, then the command will be
executed as root.

Of course it's also possible to predefine the username and the command by
using the [-u,--username] and [-c,--command] arguments at the command line
of xsu. This can be very useful when using xsu in for example gmenu or the
panel.


* Security
Gnome Xsu 0.2.0 uses the standard su binary to gain it's root access. This
way, all security issues should be solved.

The security of all older xsu versions was very bad. With xsu version 0.1.0
I introduced the use of a pipe to a secured non-Gnome SUID application. This
has been replaced with a special type of pipe to the standard su application.
For example the one from GNU sh-utils.


* Little manual
- Commandline parameters for xsu
* [-u|--username] "username" Sets the username
* [-c|--command] "command line" Sets the command
* [-m|--message] "Message^line" Sets the message
* [-t|--title] "Window title" Sets the window title
* [-i|--icon] "pixmap file" Loads another icon
* [-a|--set-display] "hostname:port" Sets the DISPLAY
environment variable
to :0 before starting
the command if no 2e
argument is given. Else
use the Xserver at
hostname:p

* [-e|--hide] Hides the username
and command textboxes
if possible
* [-d|--unadaptable] Disables the username
and command textboxes
if possible.
* [-h|--help] Displays help



ps. When using -m or --message you can use the character ^
in your message if you want to use a new line, and the character
~ if you want to use a tabulation. If no message is set, then
the default message will be used :

The action you requested requires root
priveleges.
Please enter the correct password for it
below and press [Return] or click OK.

Example :

xsu --message "The action you requested requires root^priveleges.^Please enter the correct password for it^below and press [Return] or click OK."

- Using xsu in gmenu (Menu Editor)
At the "Command:" textbox just use for example
xsu -c "The command line" -u "root" -m "Enter the root password^please."

* Example :
Command: xsu -c "gmenu" -u "root" -m "To start the Menu Editor^you have to enter^the root password^here."



* Tested and compiled on
- RedHat 6.0, Gnome-libs 1.0.8
- RedHat 6.1, Gnome-libs 1.0.40
- RedHat 6.2, Gnome-libs 1.?.?
- RedHat 7.0, Gnome-libs 1.2.4
- Debian, Gnome-libs 1.?.?
- FreeBSD, Gnome-libs 1.2.4
- Mandrake 8.0, Gnome-libs 1.2.13
- Mandrake 8.0 (Ximian), Gnome-libs 1.4.1.2

* Latest version and reference
http://xsu.freax.eu.org

* Documentation
http://xsu.freax.eu.org/xsu_doc/xsu_doc.html
man xsu

* Installation
! You need the Gnome (And GTK+, GDK) development packages (gnome-libs-devel)

./configure
make
make install

* Special options for ./configure
Usage: configure [--option=value]

Help:
--help print this message

Directory and file names:
--man-base=PATH Set path to man pages [/usr/share/man]
--doc-path=PATH Set path for documentation [/usr/share/doc]
--gnome-config-prefix=PATH Where to find gnome-config []
--prefix=PATH Installation base
--su-pwd-out=STRVALUE Set what su outputs while waiting for password.
Gnome Xsu will wait for this string to send the
password through the faked terminal. So this string
MUST be correct ! (test with "su - root -c test")
[Password: ]
--max-su-delay=INTVALUE Delay before su fails [$max_su_delay]
--debug Enables debugging mode (only for developpers)


* Uninstallation (dont remove the Makefile nor do make distclean)
make uninstall


* Doing a distclean
make distclean


* Doing a clean
make clean


Loading

0 comments on commit e623663

Please sign in to comment.