summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog42
-rwxr-xr-xnautilus-installer/Makefile26
-rw-r--r--nautilus-installer/Makefile.am25
-rw-r--r--nautilus-installer/Makefile.in382
-rw-r--r--nautilus-installer/nautilus-installer.c359
-rw-r--r--nautilus-installer/nautilus-installer.glade415
-rw-r--r--nautilus-installer/src/HACKING23
-rw-r--r--nautilus-installer/src/Makefile439
-rw-r--r--nautilus-installer/src/Makefile.in439
-rw-r--r--nautilus-installer/src/callbacks.c87
-rw-r--r--nautilus-installer/src/installer.c155
-rw-r--r--nautilus-installer/src/installer.h14
-rw-r--r--nautilus-installer/src/interface.c312
-rw-r--r--nautilus-installer/src/interface.h5
-rw-r--r--nautilus-installer/src/main.c38
15 files changed, 2374 insertions, 387 deletions
diff --git a/ChangeLog b/ChangeLog
index be5711cf6..29058d1dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,35 @@
-2000-05-26 Eskil Heyn Olsen <set EMAIL_ADDRESS environment variable>
+2000-05-26 Eskil Heyn Olsen <eskil@eazel.com>
+
+ * nautilus-installer/Makefile:
+ * nautilus-installer/Makefile.am:
+ * nautilus-installer/Makefile.in:
+ * nautilus-installer/nautilus-installer.c:
+ * nautilus-installer/nautilus-installer.glade:
+ * nautilus-installer/src/HACKING:
+ * nautilus-installer/src/Makefile:
+ * nautilus-installer/src/Makefile.in:
+ * nautilus-installer/src/callbacks.c: (druid_cancel),
+ (begin_install), (druid_finish), (prep_install):
+ * nautilus-installer/src/installer.c: (eazel_install_progress),
+ (eazel_download_progress), (installer):
+ * nautilus-installer/src/installer.h:
+ * nautilus-installer/src/interface.c: (create_window):
+ * nautilus-installer/src/interface.h:
+ * nautilus-installer/src/main.c: (main):
+ Added the first pieces if the GUI installer. Since we don't want
+ it to be part of the built, I've committed the generated makefiles
+ as well. This also means you should be able to build it straigt
+ from cvs. It already has base functionality, and is almost 70% done.
+
+2000-05-26 Eskil Heyn Olsen <eskil@eazel.com>
* components/services/install/command-line/Makefile.am:
* components/services/install/command-line/eazel-alt-install.c:
(set_parameters_from_command_line), (eazel_install_progress),
(eazel_download_progress), (main):
+ Don't build eazel-install, only eazel-alt-install, which
+ uses the EazelInstall object.
+
* components/services/install/lib/eazel-install-object.c:
(impl_Eazel_Install_new_packages), (eazel_install_get_epv),
(eazel_install_destroy), (eazel_install_set_arg),
@@ -14,6 +40,13 @@
(fetch_remote_package_list), (eazel_install_emit_install_progress),
(eazel_install_emit_download_progress),
(eazel_install_new_packages):
+ Implemented a GTK+ object for libinstall. It has the basic
+ functionality needed for the May 31st gui installer. This means it
+ can be instantiated, the install and transferoptions be set and it
+ can do the download of the packagelist, and download and install
+ the files mentioned there. Needs upgrade & uninstall, plus a lot
+ of errorchecking and memleaks (bug#982). This halfway completed bug#980.
+
* components/services/install/lib/eazel-install-private.h:
* components/services/install/lib/eazel-install-protocols.c:
(http_fetch_remote_file):
@@ -25,7 +58,12 @@
(uninstall_packages), (rpm_show_progress), (do_rpm_install),
(rpm_install):
* components/services/install/lib/eazel-install-rpm-glue.h:
-
+ Did a lot of hacking and slashing to pass the EazelInstall object
+ downwards so progress signals can be emitted. Also a lot of
+ errorhandling was fixed so it doesn't just g_assert or such.
+ But a lot more of that is needed (bug#1014) and some major
+ slashing so the EazelInstall passing isn't so ugly (bug#980).
+
2000-05-26 Darin Adler <darin@eazel.com>
A little more desktop window work.
diff --git a/nautilus-installer/Makefile b/nautilus-installer/Makefile
deleted file mode 100755
index 665009b0b..000000000
--- a/nautilus-installer/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-CC=gcc
-
-TRILOBITE_CFLAGS=-I../components/services/trilobite/libtrilobite
-EAZEL_CFLAGS=-I../components/services/install/lib
-EAZEL_LIBS=../components/services/install/lib/libinstall.a
-GNET_CFLAGS=`gnet-config --cflags`
-GNET_LIBS=/gnome/lib/libgnet.a
-GHTTP_CFLAGS=`ghttp-config --cflags`
-GHTTP_LIBS=/gnome/lib/libghttp.a
-RPM_CFLAGS=-I/usr/include/rpm
-RPM_LIBS=/usr/lib/librpm.a
-XML_CFLAGS=`xml-config --cflags`
-XML_LIBS=/gnome/lib/libxml.a
-SHAREDIR=/gnome/share/eazel
-
-all: nautilus-installer
-
-nautilus-installer: nautilus-installer.o
- $(CC) -static -g -O2 -o nautilus-installer nautilus-installer.o -L/gnome/lib $(EAZEL_LIBS) $(RPM_LIBS) $(GNET_LIBS) $(GHTTP_LIBS) $(XML_LIBS) `/gnome/bin/gnome-config --libs gnomeui` -lz -lbz2
-
-nautilus-installer.o: nautilus-installer.c
- $(CC) -Wall -g -c -o nautilus-installer.o nautilus-installer.c -I. -I.. $(EAZEL_CFLAGS) $(TRILOBITE_CFLAGS) `/gnome/bin/gnome-config --cflags gnomeui`
-
-
-clean:
- rm -f nautilus-installer *.o
diff --git a/nautilus-installer/Makefile.am b/nautilus-installer/Makefile.am
new file mode 100644
index 000000000..7e90fb7c4
--- /dev/null
+++ b/nautilus-installer/Makefile.am
@@ -0,0 +1,25 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = src
+
+install-data-local:
+ @$(NORMAL_INSTALL)
+ if test -d $(srcdir)/pixmaps; then \
+ $(mkinstalldirs) $(DESTDIR)@PACKAGE_PIXMAPS_DIR@; \
+ for pixmap in $(srcdir)/pixmaps/*; do \
+ if test -f $$pixmap; then \
+ $(INSTALL_DATA) $$pixmap $(DESTDIR)@PACKAGE_PIXMAPS_DIR@; \
+ fi \
+ done \
+ fi
+
+dist-hook:
+ if test -d pixmaps; then \
+ mkdir $(distdir)/pixmaps; \
+ for pixmap in pixmaps/*; do \
+ if test -f $$pixmap; then \
+ cp -p $$pixmap $(distdir)/pixmaps; \
+ fi \
+ done \
+ fi
+
diff --git a/nautilus-installer/Makefile.in b/nautilus-installer/Makefile.in
new file mode 100644
index 000000000..a26e10770
--- /dev/null
+++ b/nautilus-installer/Makefile.in
@@ -0,0 +1,382 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AS = @AS@
+BONOBO_CFLAGS = @BONOBO_CFLAGS@
+BONOBO_LIBS = @BONOBO_LIBS@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CPP = @CPP@
+DATADIRNAME = @DATADIRNAME@
+DLLTOOL = @DLLTOOL@
+EAZEL_SERVICES = @EAZEL_SERVICES@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_CONFIG = @GCONF_CONFIG@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
+GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
+GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
+GENCAT = @GENCAT@
+GHTTP_CFLAGS = @GHTTP_CFLAGS@
+GHTTP_CONFIG = @GHTTP_CONFIG@
+GHTTP_LIBS = @GHTTP_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_CONFIG = @GLIB_CONFIG@
+GLIB_LIBS = @GLIB_LIBS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GNET_CFLAGS = @GNET_CFLAGS@
+GNET_CONFIG = @GNET_CONFIG@
+GNET_LIBS = @GNET_LIBS@
+GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
+GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
+GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
+GNOMEUI_LIBS = @GNOMEUI_LIBS@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_CONFIG = @GNOME_CONFIG@
+GNOME_LIBS = @GNOME_LIBS@
+GNORBA_CFLAGS = @GNORBA_CFLAGS@
+GNORBA_LIBS = @GNORBA_LIBS@
+GTKHTML_CFLAGS = @GTKHTML_CFLAGS@
+GTKHTML_LIBS = @GTKHTML_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GT_NO = @GT_NO@
+GT_YES = @GT_YES@
+INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
+INSTOBJEXT = @INSTOBJEXT@
+INTLDEPS = @INTLDEPS@
+INTLLIBS = @INTLLIBS@
+INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBPNG = @LIBPNG@
+LIBTOOL = @LIBTOOL@
+LIBWWW_CFLAGS = @LIBWWW_CFLAGS@
+LIBWWW_CONFIG = @LIBWWW_CONFIG@
+LIBWWW_LIBS = @LIBWWW_LIBS@
+LN_S = @LN_S@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
+MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
+MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
+NM = @NM@
+OAF_CFLAGS = @OAF_CFLAGS@
+OAF_CONFIG = @OAF_CONFIG@
+OAF_LIBS = @OAF_LIBS@
+OBJDUMP = @OBJDUMP@
+PACKAGE = @PACKAGE@
+PAM_LIBS = @PAM_LIBS@
+POFILES = @POFILES@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+RPM_LIBS = @RPM_LIBS@
+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VFS_CFLAGS = @VFS_CFLAGS@
+VFS_LIBS = @VFS_LIBS@
+WERROR = @WERROR@
+XML_CFLAGS = @XML_CFLAGS@
+XML_CONFIG = @XML_CONFIG@
+XML_LIBS = @XML_LIBS@
+ZVT_LIBS = @ZVT_LIBS@
+Z_LIBS = @Z_LIBS@
+gnomelocaledir = @gnomelocaledir@
+l = @l@
+
+SUBDIRS = src
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../config.h
+CONFIG_CLEAN_FILES =
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu nautilus-installer/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = nautilus-installer
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu nautilus-installer/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am: install-data-local
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-tags clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-tags distclean-generic clean-am
+ -rm -f libtool
+
+distclean: distclean-recursive
+
+maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+
+.PHONY: install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-local install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs-am \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+install-data-local:
+ @$(NORMAL_INSTALL)
+ if test -d $(srcdir)/pixmaps; then \
+ $(mkinstalldirs) $(DESTDIR)@PACKAGE_PIXMAPS_DIR@; \
+ for pixmap in $(srcdir)/pixmaps/*; do \
+ if test -f $$pixmap; then \
+ $(INSTALL_DATA) $$pixmap $(DESTDIR)@PACKAGE_PIXMAPS_DIR@; \
+ fi \
+ done \
+ fi
+
+dist-hook:
+ if test -d pixmaps; then \
+ mkdir $(distdir)/pixmaps; \
+ for pixmap in pixmaps/*; do \
+ if test -f $$pixmap; then \
+ cp -p $$pixmap $(distdir)/pixmaps; \
+ fi \
+ done \
+ fi
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/nautilus-installer/nautilus-installer.c b/nautilus-installer/nautilus-installer.c
deleted file mode 100644
index e616d90fd..000000000
--- a/nautilus-installer/nautilus-installer.c
+++ /dev/null
@@ -1,359 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper <pepper@eazel.com>
- *
- */
-
-/* nautilus-installer - A very simple bootstrap installer for nautilus and
- * its dependancies.
- */
-
-#include "eazel-install-types.h"
-#include "eazel-install-protocols.h"
-#include "eazel-install-rpm-glue.h"
-#include "eazel-install-xml-package-list.h"
-#include "eazel-install-metadata.h"
-#include "helixcode-utils.h"
-#include <config.h>
-#include <popt-gnome.h>
-
-/* Here are the values to change if the internal server changes location or
- * storage locations. You can also change these if you want to play with the
- * installer locally.
- */
-
-#define REMOTE_SERVER_NAME "vorlon.eazel.com"
-#define REMOTE_PKG_LIST_PATH "/package-list.xml"
-#define REMOTE_RPM_DIR "/RPMS"
-#define PATH_TO_RPMRC "/usr/lib/rpm/rpmrc"
-#define LOCAL_PKG_LIST_PATH "/tmp/package-list.xml"
-#define DEFAULT_TMP_DIR "/tmp/eazel-install"
-
-/* Forward Function Declarations */
-
-/* The following 3 functions are a stupid copy of a few functions from
- * components/services/trilobite/libtrilobite. These should be statically
- * in at some point.
- */
-
-char* xml_get_value (xmlNode* node, const char* name);
-gboolean check_for_root_user (void);
-gboolean check_for_redhat (void);
-
-static void show_usage (int exitcode, char* error);
-static void show_license (int exitcode, char* error);
-static TransferOptions* init_default_topts (void);
-static InstallOptions* init_default_iopts (void);
-static void create_temporary_directory (const char* tmpdir);
-static void fetch_remote_package_list (const char* pkg_list,
- TransferOptions* topts);
-
-/* Show options available for the bootstrap installer */
-static void
-show_usage (int exitcode, char* error) {
- fprintf (stderr, "Usage: nautilus-installer [options]\n"
- "Valid options are:\n"
- " --help : show help\n"
- " --License : show license\n"
- " --test : dry run - don't actually install\n"
- " --force : force package to install/uninstall\n"
- " --tmpdir <dir> : temporary directory to store rpms\n"
- "\nExample: nautilus-installer --force --tmpdir /tmp\n\n");
-
- if (error) {
- fprintf (stderr, "%s\n", error);
- }
-
- exit (exitcode);
-
-} /* end usage */
-
-/* Print the GPL license if --license option is given */
-static void
-show_license (int exitcode, char* error) {
- fprintf (stderr, "nautilus-installer: a bootstrap installer for nautilus and its dependancies\n\n"
- "Copyright (C) 2000 Eazel, Inc.\n\n"
- "This program is free software; you can redistribute it and/or\n"
- "modify it under the terms of the GNU General Public License as\n"
- "published by the Free Software Foundation; either version 2 of the\n"
- "License, or (at your option) any later version.\n\n"
- "This program is distributed in the hope that it will be useful,\n"
- "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
- "General Public License for more details.\n\n"
- "You should have received a copy of the GNU General Public License\n"
- "along with this program; if not, write to the Free Software\n"
- "Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n\n");
-
- if (error) {
- fprintf(stderr, "%s\n", error);
- }
-
- exit(exitcode);
-
-} /* end show_license */
-
-/* The following 3 functions are a stupid copy of a few functions from
- * components/services/trilobite/libtrilobite. These should be statically
- * in at some point.
- */
-
-char*
-xml_get_value (xmlNode* node, const char* name)
-{
- char* ret;
- xmlNode *child;
-
- ret = xmlGetProp (node, name);
- if (ret) {
- return ret;
- }
- child = node->childs;
- while (child) {
- if (g_strcasecmp (child->name, name) == 0) {
- ret = xmlNodeGetContent (child);
- if (ret) {
- return ret;
- }
- }
- child = child->next;
- }
- return NULL;
-} /* end xml_get_value */
-
-gboolean
-check_for_root_user (void)
-{
- uid_t uid;
-
- uid = getuid ();
- if (uid == 0) {
- return TRUE;
- }
- else {
- return FALSE;
- }
-} /* end check_for_root_user */
-
-gboolean
-check_for_redhat (void)
-{
- if (g_file_exists ("/etc/redhat-release") != 0) {
- return TRUE;
- }
- else {
- return FALSE;
- }
-} /* end check_for_redhat */
-
-/* Initialize the InstallOptions struct with default values */
-static InstallOptions*
-init_default_iopts () {
-
- InstallOptions* rv;
-
- rv = g_new0 (InstallOptions, 1);
- rv->protocol = PROTOCOL_HTTP;
- rv->pkg_list = g_strdup (LOCAL_PKG_LIST_PATH);
- rv->mode_verbose = TRUE;
- rv->mode_silent = FALSE;
- rv->mode_debug = FALSE;
- rv->mode_test = FALSE;
- rv->mode_force = FALSE;
- rv->mode_depend = FALSE;
- rv->mode_update = TRUE;
- rv->mode_uninstall = FALSE;
- rv->mode_downgrade = FALSE;
-
- g_assert (rv != NULL);
-
- return rv;
-
-} /* end init_default_iopts */
-
-/* Initialize the TransferOptions struct with default values */
-static TransferOptions*
-init_default_topts () {
-
- TransferOptions* rv;
-
- rv = g_new0 (TransferOptions, 1);
- rv->hostname = g_strdup (REMOTE_SERVER_NAME);
- rv->port_number = 80;
- rv->pkg_list_storage_path = g_strdup (REMOTE_PKG_LIST_PATH);
- rv->rpm_storage_path = g_strdup (REMOTE_RPM_DIR);
- rv->tmp_dir = g_strdup (DEFAULT_TMP_DIR);
- rv->rpmrc_file = g_strdup (PATH_TO_RPMRC);
-
- g_assert (rv != NULL);
-
- return rv;
-
-} /* end init_default_topts */
-
-/* Create the local storage location if it does not currently exist */
-static void
-create_temporary_directory (const char* tmpdir) {
-
- int retval;
-
- g_print (_("Creating temporary download directory ...\n"));
-
- retval = mkdir (tmpdir, 0755);
- if (retval < 0) {
- if (errno != EEXIST) {
- g_error (_("*** Could not create temporary directory! ***\n"));
- }
- }
-} /* end create_temporary_directory */
-
-/* Fetch the package-list.xml file from the remote server to know what needs
- * to be installed.
- */
-static void
-fetch_remote_package_list (const char* pkg_list, TransferOptions* topts) {
-
- gboolean retval;
- char* url;
-
- g_print (_("Getting package-list.xml from remote server ...\n"));
-
- url = g_strdup_printf ("http://%s%s", topts->hostname,
- topts->pkg_list_storage_path);
-
- retval = http_fetch_remote_file (url, pkg_list);
-
- if (retval == FALSE) {
- g_free (url);
- g_error ("*** Unable to retrieve package-list.xml! ***\n");
- }
- g_free (url);
-} /* end fetch_remote_package_list */
-
-int
-main (int argc, char* argv[]) {
- char opt;
- gboolean retval;
- gboolean TEST_MODE, FORCE_MODE;
- InstallOptions* iopts;
- TransferOptions* topts;
- poptContext pctx;
- char* popt_tmpdir;
-
- struct poptOption optionsTable[] = {
- { "help", 'h', 0, NULL, 'h' },
- { "License", 'L', 0, NULL, 'L' },
- { "force", 'F', 0, NULL, 'F' },
- { "test", 't', 0, NULL, 't' },
- { "tmpdir", 'T', POPT_ARG_STRING, &popt_tmpdir, 'T' },
- { NULL, '\0', 0, NULL, 0 }
- };
-
- retval = FALSE;
- FORCE_MODE = FALSE;
- TEST_MODE = FALSE;
- popt_tmpdir = NULL;
-
- pctx = poptGetContext ("nautilus-installer", argc, argv, optionsTable, 0);
-
- while ( (opt = poptGetNextOpt (pctx)) >= 0) {
- switch (opt) {
- case 'h':
- show_usage (0, NULL);
- break;
- case 'L':
- show_license (0, NULL);
- break;
- case 'F':
- FORCE_MODE = TRUE;
- break;
- case 't':
- TEST_MODE = TRUE;
- break;
- case 'T':
- break;
- }
- }
-
- if (opt < -1) {
-
- /* Error generated during option processing */
-
- fprintf (stderr, "*** Option = %s: %s ***\n",
- poptBadOption (pctx, POPT_BADOPTION_NOALIAS),
- poptStrerror (opt));
- exit (1);
- }
-
- poptFreeContext (pctx);
-
- /* This is the for internal usage only warning. It will be removed once
- * we are ready for primetime.
- */
- g_print (_("WARNING: The nautilus bootstrap installer is for internal\n"
- "use at Eazel, Inc. only. It should not be redistributed\n"
- "until we are ready to release Nautilus 1.0. This installer\n"
- "is by no means complete in it's current form so be prepared\n" "for unpredictable behavior.\n"));
-
- retval = check_for_root_user ();
- if (retval == FALSE) {
- g_error (_("*** You must run nautilus-installer as root! ***\n"));
- }
-
- retval = check_for_redhat ();
- if (retval == FALSE) {
- g_error (_("*** nautilus-installer can only be used on RedHat! ***\n"));
- }
-
- /* Populate iopts and topts with eazel defaults */
- iopts = init_default_iopts ();
- topts = init_default_topts ();
-
- if (TEST_MODE == TRUE) {
- iopts->mode_test = TRUE;
- }
-
- if (FORCE_MODE == TRUE) {
- iopts->mode_force = TRUE;
- }
-
- if (popt_tmpdir) {
- topts->tmp_dir = g_strdup_printf ("%s", popt_tmpdir);
- }
-
- if (!g_file_exists (topts->tmp_dir)) {
- create_temporary_directory (topts->tmp_dir);
- }
-
- if (iopts->protocol == PROTOCOL_HTTP) {
- fetch_remote_package_list (iopts->pkg_list, topts);
- }
-
- retval = install_new_packages (iopts, topts);
- if (retval == FALSE) {
- g_error (_("*** The install failed! ***\n"));
- }
-
- g_print (_("Install completed normally...\n"));
- g_free (iopts);
- g_free (topts);
- exit (0);
-}
-
diff --git a/nautilus-installer/nautilus-installer.glade b/nautilus-installer/nautilus-installer.glade
new file mode 100644
index 000000000..10c7841b7
--- /dev/null
+++ b/nautilus-installer/nautilus-installer.glade
@@ -0,0 +1,415 @@
+<?xml version="1.0"?>
+<GTK-Interface>
+
+<project>
+ <name>nautilus-installer</name>
+ <program_name>nautilus-installer</program_name>
+ <directory></directory>
+ <source_directory>src</source_directory>
+ <pixmaps_directory>pixmaps</pixmaps_directory>
+ <language>C</language>
+ <gnome_support>True</gnome_support>
+ <gettext_support>True</gettext_support>
+ <use_widget_names>True</use_widget_names>
+</project>
+
+<widget>
+ <class>GtkWindow</class>
+ <name>window</name>
+ <title>Nautilus install tool</title>
+ <type>GTK_WINDOW_TOPLEVEL</type>
+ <position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
+ <allow_shrink>False</allow_shrink>
+ <allow_grow>True</allow_grow>
+ <auto_shrink>False</auto_shrink>
+
+ <widget>
+ <class>GnomeDruid</class>
+ <name>druid</name>
+ <signal>
+ <name>cancel</name>
+ <handler>druid_cancel</handler>
+ <last_modification_time>Fri, 26 May 2000 19:13:35 GMT</last_modification_time>
+ </signal>
+
+ <widget>
+ <class>GnomeDruidPageStart</class>
+ <name>druidpagestart1</name>
+ <title>Nautilus install tool</title>
+ <text>Blablablabla
+blablablabla
+blablablabla</text>
+ <title_color>255,255,255</title_color>
+ <text_color>0,0,0</text_color>
+ <background_color>25,25,112</background_color>
+ <logo_background_color>255,255,255</logo_background_color>
+ <textbox_color>255,255,255</textbox_color>
+ </widget>
+
+ <widget>
+ <class>GnomeDruidPageStandard</class>
+ <name>druidpagestandard1</name>
+ <title>What to do ?</title>
+ <title_color>255,255,255</title_color>
+ <background_color>25,25,112</background_color>
+ <logo_background_color>255,255,255</logo_background_color>
+
+ <widget>
+ <class>GtkVBox</class>
+ <child_name>GnomeDruidPageStandard:vbox</child_name>
+ <name>druid-vbox1</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox3</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label10</name>
+ <label>What do you want to do ?</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox4</name>
+ <homogeneous>True</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>False</fill>
+ </child>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>fullbutton</name>
+ <can_focus>True</can_focus>
+ <label>Full install</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>nautilus_only_button</name>
+ <can_focus>True</can_focus>
+ <label>Nautilus only</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>services_only_button</name>
+ <can_focus>True</can_focus>
+ <label>Services only</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>upgrade_button</name>
+ <can_focus>True</can_focus>
+ <label>Upgrade installation</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>uninstall_button</name>
+ <can_focus>True</can_focus>
+ <label>Uninstall</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+ </widget>
+ </widget>
+ </widget>
+ </widget>
+
+ <widget>
+ <class>GnomeDruidPageStandard</class>
+ <name>install_page</name>
+ <signal>
+ <name>finish</name>
+ <handler>druid_finish</handler>
+ <last_modification_time>Fri, 26 May 2000 20:31:43 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>prepare</name>
+ <handler>prep_install</handler>
+ <data>window</data>
+ <last_modification_time>Fri, 26 May 2000 23:05:51 GMT</last_modification_time>
+ </signal>
+ <title>Progress...</title>
+ <title_color>255,255,255</title_color>
+ <background_color>25,25,112</background_color>
+ <logo_background_color>255,255,255</logo_background_color>
+
+ <widget>
+ <class>GtkVBox</class>
+ <child_name>GnomeDruidPageStandard:vbox</child_name>
+ <name>druid-vbox2</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox5</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label11</name>
+ <label>Press the big begin, and watch the installer is do it's thing...</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkTable</class>
+ <name>table2</name>
+ <rows>2</rows>
+ <columns>2</columns>
+ <homogeneous>True</homogeneous>
+ <row_spacing>16</row_spacing>
+ <column_spacing>0</column_spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label12</name>
+ <label>Package :</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <child>
+ <left_attach>0</left_attach>
+ <right_attach>1</right_attach>
+ <top_attach>0</top_attach>
+ <bottom_attach>1</bottom_attach>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <xexpand>False</xexpand>
+ <yexpand>False</yexpand>
+ <xshrink>False</xshrink>
+ <yshrink>False</yshrink>
+ <xfill>False</xfill>
+ <yfill>False</yfill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>action_label</name>
+ <label>(action) :</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <child>
+ <left_attach>0</left_attach>
+ <right_attach>1</right_attach>
+ <top_attach>1</top_attach>
+ <bottom_attach>2</bottom_attach>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <xexpand>False</xexpand>
+ <yexpand>False</yexpand>
+ <xshrink>False</xshrink>
+ <yshrink>False</yshrink>
+ <xfill>False</xfill>
+ <yfill>False</yfill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkProgressBar</class>
+ <name>progressbar</name>
+ <value>0</value>
+ <lower>0</lower>
+ <upper>100</upper>
+ <bar_style>GTK_PROGRESS_CONTINUOUS</bar_style>
+ <orientation>GTK_PROGRESS_LEFT_TO_RIGHT</orientation>
+ <activity_mode>False</activity_mode>
+ <show_text>False</show_text>
+ <format>%P %%</format>
+ <text_xalign>0.5</text_xalign>
+ <text_yalign>0.5</text_yalign>
+ <child>
+ <left_attach>1</left_attach>
+ <right_attach>2</right_attach>
+ <top_attach>1</top_attach>
+ <bottom_attach>2</bottom_attach>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <xexpand>False</xexpand>
+ <yexpand>False</yexpand>
+ <xshrink>False</xshrink>
+ <yshrink>False</yshrink>
+ <xfill>False</xfill>
+ <yfill>False</yfill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>package_label</name>
+ <label>0/0 - bla.rpm</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <child>
+ <left_attach>1</left_attach>
+ <right_attach>2</right_attach>
+ <top_attach>0</top_attach>
+ <bottom_attach>1</bottom_attach>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <xexpand>False</xexpand>
+ <yexpand>False</yexpand>
+ <xshrink>False</xshrink>
+ <yshrink>False</yshrink>
+ <xfill>False</xfill>
+ <yfill>False</yfill>
+ </child>
+ </widget>
+ </widget>
+
+ <widget>
+ <class>GtkFixed</class>
+ <name>fixed1</name>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkButton</class>
+ <name>begin_button</name>
+ <x>208</x>
+ <y>32</y>
+ <width>94</width>
+ <height>46</height>
+ <can_focus>True</can_focus>
+ <signal>
+ <name>clicked</name>
+ <handler>begin_install</handler>
+ <data>window</data>
+ <last_modification_time>Fri, 26 May 2000 23:02:04 GMT</last_modification_time>
+ </signal>
+ <label>Begin</label>
+ </widget>
+ </widget>
+ </widget>
+ </widget>
+ </widget>
+
+ <widget>
+ <class>GnomeDruidPageFinish</class>
+ <name>druidpagefinish1</name>
+ <signal>
+ <name>finish</name>
+ <handler>druid_finish</handler>
+ <last_modification_time>Fri, 26 May 2000 20:43:00 GMT</last_modification_time>
+ </signal>
+ <title>Finished</title>
+ <text>blablablabla
+blablablabla
+blablablabla</text>
+ <background_color>25,25,112</background_color>
+ <logo_background_color>255,255,255</logo_background_color>
+ <textbox_color>255,255,255</textbox_color>
+ <text_color>0,0,0</text_color>
+ <title_color>255,255,255</title_color>
+ </widget>
+ </widget>
+</widget>
+
+</GTK-Interface>
diff --git a/nautilus-installer/src/HACKING b/nautilus-installer/src/HACKING
new file mode 100644
index 000000000..a046ae9de
--- /dev/null
+++ b/nautilus-installer/src/HACKING
@@ -0,0 +1,23 @@
+
+This command will statically link all the gnome shit into the installer, but leave the rpm, db, z, bz and
+generic X crap as shared libs
+
+gcc -static -o nautilus-installer main.o support.o interface.o callbacks.o installer.o \
+/gnome-source/nautilus/components/services/trilobite/libtrilobite/helixcode-utils.o \
+/gnome-source/nautilus/components/services/install/lib/libinstall.a \
+-L/gnome/lib \
+-lgnomeui \
+-lgnome \
+-lart_lgpl \
+-lgdk_imlib \
+-lgtk \
+-lgdk \
+-lgmodule \
+-lglib \
+-L/usr/X11R6/lib -ldl -lXext -lX11 -lm -lSM -lICE \
+/usr/lib/libesd.a \
+/usr/lib/libaudiofile.a \
+-lghttp \
+-L/usr/lib -lrpm -lz -ldb1 \
+/usr/lib/libpopt.a \
+-lxml
diff --git a/nautilus-installer/src/Makefile b/nautilus-installer/src/Makefile
new file mode 100644
index 000000000..b68113668
--- /dev/null
+++ b/nautilus-installer/src/Makefile
@@ -0,0 +1,439 @@
+# Generated automatically from Makefile.in by configure.
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = /bin/sh
+
+srcdir = .
+top_srcdir = ../..
+prefix = /gnome
+exec_prefix = ${prefix}
+
+bindir = ${exec_prefix}/bin
+sbindir = ${exec_prefix}/sbin
+libexecdir = ${exec_prefix}/libexec
+datadir = ${prefix}/share
+sysconfdir = ${prefix}/etc
+sharedstatedir = ${prefix}/com
+localstatedir = ${prefix}/var
+libdir = ${exec_prefix}/lib
+infodir = ${prefix}/info
+mandir = ${prefix}/man
+includedir = ${prefix}/include
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/nautilus
+pkglibdir = $(libdir)/nautilus
+pkgincludedir = $(includedir)/nautilus
+
+top_builddir = ../..
+
+ACLOCAL = aclocal
+AUTOCONF = autoconf
+AUTOMAKE = automake
+AUTOHEADER = autoheader
+
+INSTALL = /usr/bin/eazel-hacks/install -c
+INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_SCRIPT = ${INSTALL_PROGRAM}
+transform = s,x,x,
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+AS = @AS@
+BONOBO_CFLAGS = -I/gnome/include -DNEED_GNOMESUPPORT_H -I/gnome/lib/gnome-libs/include -I/gnome/lib/glib/include -I/usr/X11R6/include -I/gnome/include/gnome-xml
+BONOBO_LIBS = -rdynamic -L/gnome/lib -L/usr/X11R6/lib -L/usr/lib -lbonobo -lgdk_pixbuf -ltiff -ljpeg -lpng -lgnomeprint -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -ldb1 -ldl -lxml -lz -loaf -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lglib -lnsl -lm
+CATALOGS =
+CATOBJEXT = .gmo
+CC = gcc
+CPP = gcc -E
+DATADIRNAME = share
+DLLTOOL = @DLLTOOL@
+EAZEL_SERVICES = 1
+GCONF_CFLAGS = -I/gnome/include
+GCONF_CONFIG = /gnome/bin/gconf-config
+GCONF_LIBS = -L/gnome/lib -lgconf -lgconf-gtk
+GDK_PIXBUF_CFLAGS = -I/gnome/include -I/gnome/lib/glib/include -I/gnome/include -I/usr/X11R6/include
+GDK_PIXBUF_CONFIG = /gnome/bin/gdk-pixbuf-config
+GDK_PIXBUF_LIBS = -L/gnome/lib -lgdk_pixbuf -L/gnome/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm
+GENCAT =
+GHTTP_CFLAGS = -I/gnome/include
+GHTTP_CONFIG = /gnome/bin/ghttp-config
+GHTTP_LIBS = -L/gnome/lib -lghttp
+GLIB_CFLAGS = -I/gnome/lib/glib/include -I/gnome/include
+GLIB_CONFIG = /gnome/bin/glib-config
+GLIB_LIBS = -L/gnome/lib -lglib
+GMOFILES = da.gmo gl.gmo ja.gmo ko.gmo no.gmo ru.gmo sv.gmo tr.gmo fr.gmo
+GMSGFMT = /usr/bin/msgfmt
+GNET_CFLAGS = -I/gnome/lib/glib/include -I/gnome/include
+GNET_CONFIG = /gnome/bin/gnet-config
+GNET_LIBS = -L/gnome/lib -lgnet -lglib
+GNOMECANVASPIXBUF_INCLUDEDIR =
+GNOMECANVASPIXBUF_LIBS = -rdynamic -L/gnome/lib -lgmodule -lglib -ldl -lgdk_pixbuf -ltiff -ljpeg -lpng -lz -lgnomecanvaspixbuf
+GNOMEUI_CFLAGS = -I/gnome/include -DNEED_GNOMESUPPORT_H -I/gnome/lib/gnome-libs/include -I/gnome/lib/glib/include -I/usr/X11R6/include
+GNOMEUI_LIBS = -rdynamic -L/gnome/lib -L/usr/X11R6/lib -L/usr/lib -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -ldl
+GNOME_CFLAGS = -I/gnome/include -DNEED_GNOMESUPPORT_H -I/gnome/lib/gnome-libs/include -I/gnome/lib/glib/include -I/usr/X11R6/include
+GNOME_CONFIG = /gnome/bin/gnome-config
+GNOME_LIBS = -L/gnome/lib -L/usr/lib -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -ldl
+GNORBA_CFLAGS =
+GNORBA_LIBS =
+GTKHTML_CFLAGS = -I/gnome/include -I/gnome/lib/glib/include -DNEED_GNOMESUPPORT_H -I/gnome/lib/gnome-libs/include -I/usr/X11R6/include -I/gnome/include/gnome-xml
+GTKHTML_LIBS = -rdynamic -L/gnome/lib -L/usr/X11R6/lib -L/usr/lib -lgtkhtml -lgdk_pixbuf -ltiff -ljpeg -lpng -lgnomeprint -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -ldl -lxml -lz
+GTK_CFLAGS =
+GTK_LIBS =
+GT_NO =
+GT_YES = #YES#
+INCLUDE_LOCALE_H = #include <locale.h>
+INSTOBJEXT = .mo
+INTLDEPS =
+INTLLIBS =
+INTLOBJS =
+LD = /usr/bin/ld
+LIBPNG = -lpng -lz
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIBWWW_CFLAGS = -I/usr/include/w3c-libwww -DHAVE_CONFIG_H
+LIBWWW_CONFIG = /usr/bin/libwww-config
+LIBWWW_LIBS = -L/usr/lib -lmd5 -lwwwxml -lxmltok -lxmlparse -lwwwzip -lwwwinit -lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp -lwwwmime -lwwwgopher -lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream -lwwwmux -lwwwtrans -lwwwcore -lwwwutils -ldl -lz
+LN_S = ln -s
+MAINT =
+MAKEINFO = makeinfo
+MKINSTALLDIRS = ./mkinstalldirs
+MOZILLA_COMPONENT_CFLAGS = -I/gnome-source/MOZILLA/mozilla/dist/include
+MOZILLA_COMPONENT_LDFLAGS = -L/gnome-source/MOZILLA/mozilla/dist/bin
+MOZILLA_COMPONENT_LIBS = -lgtkembedmoz -lgtksuperwin -lxpcom -lnspr4 -lplc4 -lplds4
+NM = /usr/bin/nm -B
+OAF_CFLAGS = -I/gnome/include -I/gnome/lib/glib/include
+OAF_CONFIG = /gnome/bin/oaf-config
+OAF_LIBS = -L/gnome/lib -loaf -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lglib -lnsl -lm
+OBJDUMP = @OBJDUMP@
+PACKAGE = nautilus
+PAM_LIBS = -ldl -lpam -lpam_misc
+POFILES = da.po gl.po ja.po ko.po no.po ru.po sv.po tr.po fr.po
+POSUB = po
+RANLIB = ranlib
+RPM_LIBS = -lrpm -lz -lbz2 -lpopt -ldb
+USE_INCLUDED_LIBINTL = no
+USE_NLS = yes
+VERSION = 0.1.0
+VFS_CFLAGS = -I/gnome/include -I/gnome/lib/glib/include -D_REENTRANT
+VFS_LIBS = -rdynamic -L/gnome/lib -lgnomevfs -lgmodule -lgthread -lglib -lpthread -ldl
+WERROR = -Werror
+XML_CFLAGS = -I/gnome/include/gnome-xml
+XML_CONFIG = /gnome/bin/xml-config
+XML_LIBS = -L/gnome/lib -lxml -lz
+ZVT_LIBS =
+Z_LIBS = -lz
+gnomelocaledir = ${prefix}/${DATADIRNAME}/locale
+l =
+
+NULL =
+
+INCLUDES = -I$(top_srcdir)/components/services/install/lib $(GNOMEUI_CFLAGS) $(XML_CFLAGS) $(GNET_CFLAGS) $(GHTTP_CFLAGS) $(GNOME_INCLUDEDIR) -DGNOMELOCALEDIR=\""$(datadir)/locale"\" $(NULL)
+
+
+CFLAGS = -O $(WERROR)
+LDFLAGS = -static
+
+bin_PROGRAMS = nautilus-installer
+
+nautilus_installer_SOURCES = main.c support.c support.h interface.c interface.h callbacks.c callbacks.h installer.c installer h
+
+
+nautilus_installer_LDADD = $(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o $(top_builddir)/components/services/install/lib/libinstall.a -L/gnome/lib -lgnomeui -lgnome -lart_lgpl -lgdk_imlib -lgtk -lgdk -lgmodule -lglib -L/usr/X11R6/lib -ldl -lXext -lX11 -lm -lSM -lICE /usr/lib/libesd.a /usr/lib/libaudiofile.a -lghttp -L/usr/lib -lrpm -lz -ldb1 -lpopt -lxml
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(bin_PROGRAMS)
+
+
+DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I../..
+CPPFLAGS =
+LIBS =
+nautilus_installer_OBJECTS = main.o support.o interface.o callbacks.o \
+installer.o
+nautilus_installer_DEPENDENCIES = \
+$(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o \
+$(top_builddir)/components/services/install/lib/libinstall.a \
+/usr/lib/libesd.a /usr/lib/libaudiofile.a
+nautilus_installer_LDFLAGS =
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+DEP_FILES = .deps/callbacks.P .deps/installer.P .deps/interface.P \
+.deps/main.P .deps/support.P
+SOURCES = $(nautilus_installer_SOURCES)
+OBJECTS = $(nautilus_installer_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .lo .o .s
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu nautilus-installer/src/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ list='$(bin_PROGRAMS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ done
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+.s.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
+nautilus-installer: $(nautilus_installer_OBJECTS) $(nautilus_installer_DEPENDENCIES)
+ @rm -f nautilus-installer
+ $(LINK) $(nautilus_installer_LDFLAGS) $(nautilus_installer_OBJECTS) $(nautilus_installer_LDADD) $(LIBS)
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = nautilus-installer/src
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu nautilus-installer/src/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+ @echo '$(COMPILE) -c $<'; \
+ $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm .deps/$(*F).pp
+
+%.lo: %.c
+ @echo '$(LTCOMPILE) -c $<'; \
+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
+ < .deps/$(*F).pp > .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm -f .deps/$(*F).pp
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-binPROGRAMS
+uninstall: uninstall-am
+all-am: Makefile $(PROGRAMS)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \
+ mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
+ mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \
+ clean-depend clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \
+ distclean-tags distclean-depend distclean-generic \
+ clean-am
+ -rm -f libtool
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-binPROGRAMS \
+ maintainer-clean-compile maintainer-clean-libtool \
+ maintainer-clean-tags maintainer-clean-depend \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+#
+# /gnome-source/nautilus/components/services/trilobite/libtrilobite/helixcode-utils.o \
+# /gnome-source/nautilus/components/services/install/lib/libinstall.a \
+# $(GNOME_LIBDIR) \
+# $(GNOMEUI_LIBS) \
+# $(GHTTP_LIBS) \
+# $(INTLLIBS) \
+# $(XML_LIBS) \
+# $(RPM_LIBS) \
+# $(NULL)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/nautilus-installer/src/Makefile.in b/nautilus-installer/src/Makefile.in
new file mode 100644
index 000000000..8bb2a3c64
--- /dev/null
+++ b/nautilus-installer/src/Makefile.in
@@ -0,0 +1,439 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AS = @AS@
+BONOBO_CFLAGS = @BONOBO_CFLAGS@
+BONOBO_LIBS = @BONOBO_LIBS@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CPP = @CPP@
+DATADIRNAME = @DATADIRNAME@
+DLLTOOL = @DLLTOOL@
+EAZEL_SERVICES = @EAZEL_SERVICES@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_CONFIG = @GCONF_CONFIG@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
+GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
+GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
+GENCAT = @GENCAT@
+GHTTP_CFLAGS = @GHTTP_CFLAGS@
+GHTTP_CONFIG = @GHTTP_CONFIG@
+GHTTP_LIBS = @GHTTP_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_CONFIG = @GLIB_CONFIG@
+GLIB_LIBS = @GLIB_LIBS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GNET_CFLAGS = @GNET_CFLAGS@
+GNET_CONFIG = @GNET_CONFIG@
+GNET_LIBS = @GNET_LIBS@
+GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
+GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
+GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
+GNOMEUI_LIBS = @GNOMEUI_LIBS@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_CONFIG = @GNOME_CONFIG@
+GNOME_LIBS = @GNOME_LIBS@
+GNORBA_CFLAGS = @GNORBA_CFLAGS@
+GNORBA_LIBS = @GNORBA_LIBS@
+GTKHTML_CFLAGS = @GTKHTML_CFLAGS@
+GTKHTML_LIBS = @GTKHTML_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GT_NO = @GT_NO@
+GT_YES = @GT_YES@
+INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
+INSTOBJEXT = @INSTOBJEXT@
+INTLDEPS = @INTLDEPS@
+INTLLIBS = @INTLLIBS@
+INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBPNG = @LIBPNG@
+LIBTOOL = @LIBTOOL@
+LIBWWW_CFLAGS = @LIBWWW_CFLAGS@
+LIBWWW_CONFIG = @LIBWWW_CONFIG@
+LIBWWW_LIBS = @LIBWWW_LIBS@
+LN_S = @LN_S@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
+MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
+MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
+NM = @NM@
+OAF_CFLAGS = @OAF_CFLAGS@
+OAF_CONFIG = @OAF_CONFIG@
+OAF_LIBS = @OAF_LIBS@
+OBJDUMP = @OBJDUMP@
+PACKAGE = @PACKAGE@
+PAM_LIBS = @PAM_LIBS@
+POFILES = @POFILES@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+RPM_LIBS = @RPM_LIBS@
+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VFS_CFLAGS = @VFS_CFLAGS@
+VFS_LIBS = @VFS_LIBS@
+WERROR = @WERROR@
+XML_CFLAGS = @XML_CFLAGS@
+XML_CONFIG = @XML_CONFIG@
+XML_LIBS = @XML_LIBS@
+ZVT_LIBS = @ZVT_LIBS@
+Z_LIBS = @Z_LIBS@
+gnomelocaledir = @gnomelocaledir@
+l = @l@
+
+NULL =
+
+INCLUDES = -I$(top_srcdir)/components/services/install/lib $(GNOMEUI_CFLAGS) $(XML_CFLAGS) $(GNET_CFLAGS) $(GHTTP_CFLAGS) $(GNOME_INCLUDEDIR) -DGNOMELOCALEDIR=\""$(datadir)/locale"\" $(NULL)
+
+
+CFLAGS = -O $(WERROR)
+LDFLAGS = -static
+
+bin_PROGRAMS = nautilus-installer
+
+nautilus_installer_SOURCES = main.c support.c support.h interface.c interface.h callbacks.c callbacks.h installer.c installer h
+
+
+nautilus_installer_LDADD = $(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o $(top_builddir)/components/services/install/lib/libinstall.a -L/gnome/lib -lgnomeui -lgnome -lart_lgpl -lgdk_imlib -lgtk -lgdk -lgmodule -lglib -L/usr/X11R6/lib -ldl -lXext -lX11 -lm -lSM -lICE /usr/lib/libesd.a /usr/lib/libaudiofile.a -lghttp -L/usr/lib -lrpm -lz -ldb1 -lpopt -lxml
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I../..
+CPPFLAGS = @CPPFLAGS@
+LIBS = @LIBS@
+nautilus_installer_OBJECTS = main.o support.o interface.o callbacks.o \
+installer.o
+nautilus_installer_DEPENDENCIES = \
+$(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o \
+$(top_builddir)/components/services/install/lib/libinstall.a \
+/usr/lib/libesd.a /usr/lib/libaudiofile.a
+nautilus_installer_LDFLAGS =
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+DEP_FILES = .deps/callbacks.P .deps/installer.P .deps/interface.P \
+.deps/main.P .deps/support.P
+SOURCES = $(nautilus_installer_SOURCES)
+OBJECTS = $(nautilus_installer_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .lo .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu nautilus-installer/src/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ list='$(bin_PROGRAMS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ done
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+.s.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
+nautilus-installer: $(nautilus_installer_OBJECTS) $(nautilus_installer_DEPENDENCIES)
+ @rm -f nautilus-installer
+ $(LINK) $(nautilus_installer_LDFLAGS) $(nautilus_installer_OBJECTS) $(nautilus_installer_LDADD) $(LIBS)
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = nautilus-installer/src
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu nautilus-installer/src/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+ @echo '$(COMPILE) -c $<'; \
+ $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm .deps/$(*F).pp
+
+%.lo: %.c
+ @echo '$(LTCOMPILE) -c $<'; \
+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
+ < .deps/$(*F).pp > .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm -f .deps/$(*F).pp
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-binPROGRAMS
+uninstall: uninstall-am
+all-am: Makefile $(PROGRAMS)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \
+ mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
+ mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \
+ clean-depend clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \
+ distclean-tags distclean-depend distclean-generic \
+ clean-am
+ -rm -f libtool
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-binPROGRAMS \
+ maintainer-clean-compile maintainer-clean-libtool \
+ maintainer-clean-tags maintainer-clean-depend \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+#
+# /gnome-source/nautilus/components/services/trilobite/libtrilobite/helixcode-utils.o \
+# /gnome-source/nautilus/components/services/install/lib/libinstall.a \
+# $(GNOME_LIBDIR) \
+# $(GNOMEUI_LIBS) \
+# $(GHTTP_LIBS) \
+# $(INTLLIBS) \
+# $(XML_LIBS) \
+# $(RPM_LIBS) \
+# $(NULL)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/nautilus-installer/src/callbacks.c b/nautilus-installer/src/callbacks.c
new file mode 100644
index 000000000..d1dafdbd4
--- /dev/null
+++ b/nautilus-installer/src/callbacks.c
@@ -0,0 +1,87 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gnome.h>
+
+#include "callbacks.h"
+#include "interface.h"
+#include "support.h"
+#include "installer.h"
+
+void
+druid_cancel (GnomeDruid *gnomedruid,
+ gpointer data)
+{
+ g_message ("Installation cancelled");
+ exit (1);
+}
+
+
+void
+begin_install (GtkButton *button,
+ gpointer window)
+{
+ GnomeDruid *druid;
+ g_message ("Begin install");
+
+ druid = GNOME_DRUID (gtk_object_get_data (GTK_OBJECT (window), "druid"));
+ gnome_druid_set_buttons_sensitive(druid,TRUE,FALSE,TRUE);
+
+ gtk_widget_set_sensitive (GTK_WIDGET (button), FALSE);
+
+ if (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (window),
+ "fullbutton"))->active) {
+ g_message ("full install");
+ installer (window, FULL_INST);
+ } else if (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (window),
+ "nautilus_only_button"))->active) {
+ g_message ("nautilus only");
+ installer (window, NAUTILUS_ONLY);
+ } else if (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (window),
+ "services_only_button"))->active) {
+ g_message ("services only");
+ installer (window, SERVICES_ONLY);
+ } else if (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (window),
+ "upgrade_button"))->active) {
+ g_message ("upgrade");
+ installer (window, UPGRADE);
+ } else if (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (window),
+ "uninstall_button"))->active) {
+ g_message ("uninstall");
+ installer (window, UNINSTALL);
+ }
+
+ gnome_druid_set_buttons_sensitive(druid,TRUE,TRUE,TRUE);
+}
+
+
+void
+druid_finish (GnomeDruidPage *gnomedruidpage,
+ gpointer arg1,
+ gpointer user_data)
+{
+ g_message ("Installation completed");
+ exit (0);
+}
+
+
+
+
+
+void
+prep_install (GnomeDruidPage *gnomedruidpage,
+ gpointer arg1,
+ gpointer window)
+{
+ GnomeDruid *druid;
+ GtkButton *button;
+ g_message ("in prep_install");
+
+ button = GTK_BUTTON (gtk_object_get_data (GTK_OBJECT (window), "begin_button"));
+ gtk_widget_set_sensitive (GTK_WIDGET (button), TRUE);
+ druid = GNOME_DRUID (gtk_object_get_data (GTK_OBJECT (window), "druid"));
+ gnome_druid_set_buttons_sensitive(druid,TRUE,FALSE,TRUE);
+}
+
+
diff --git a/nautilus-installer/src/installer.c b/nautilus-installer/src/installer.c
new file mode 100644
index 000000000..ab0799cb5
--- /dev/null
+++ b/nautilus-installer/src/installer.c
@@ -0,0 +1,155 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gnome.h>
+#include "installer.h"
+#include <eazel-install-public.h>
+#include <libtrilobite/helixcode-utils.h>
+
+#define HOSTNAME "vorlon.eazel.com"
+#define PORT_NUMBER 80
+#define PROTOCOL PROTOCOL_HTTP
+#define TMP_DIR "/tmp/eazel-install"
+#define RPMRC "/usr/lib/rpm/rpmrc"
+#define REMOTE_RPM_DIR "/RPMS"
+#define PACKAGE_LIST "package-list.xml"
+
+static char *package_list[LAST] = {
+ "/package-list.xml",
+ "/nautilus-only-list.xml",
+ "/services-only-list.xml",
+ "/package-list.xml",
+ "/package-list.xml",
+};
+
+static void
+eazel_install_progress (EazelInstall *service,
+ const char *name,
+ int amount,
+ int total,
+ GtkWidget *widget)
+{
+ GtkProgressBar *progressbar;
+ GtkLabel *action_label;
+ GtkLabel *package_label;
+ float pct;
+
+ pct = ( (total > 0) ? ((float) ((((float) amount) / total) * 100)): 100.0);
+ /* fprintf (stdout, "Install Progress - %s - %d %d %% %f\n", name?name:"(null)", amount, total, pct); */
+
+ action_label = gtk_object_get_data (GTK_OBJECT (widget), "action_label");
+ package_label = gtk_object_get_data (GTK_OBJECT (widget), "package_label");
+ progressbar = gtk_object_get_data (GTK_OBJECT (widget), "progressbar");
+
+ gtk_label_set_text (action_label, "Install :");
+ gtk_label_set_text (package_label, name + strlen (TMP_DIR) + 1);
+ gtk_progress_bar_update (progressbar, pct/100);
+
+ fflush (stdout);
+ if (amount == total) {
+ fprintf (stdout, "\n");
+ }
+
+ gtk_main_iteration ();
+}
+
+
+static void
+eazel_download_progress (EazelInstall *service,
+ const char *name,
+ int amount,
+ int total,
+ GtkWidget *widget)
+{
+ GtkProgressBar *progressbar;
+ GtkLabel *action_label;
+ GtkLabel *package_label;
+ float pct;
+
+ pct = ( (total > 0) ? ((float) ((((float) amount) / total) * 100)): 100.0);
+ /* fprintf (stdout, "DOWNLOAD Progress - %s - %d %d %% %f\n", name?name:"(null)", amount, total, pct); */
+
+ action_label = gtk_object_get_data (GTK_OBJECT (widget), "action_label");
+ package_label = gtk_object_get_data (GTK_OBJECT (widget), "package_label");
+ progressbar = gtk_object_get_data (GTK_OBJECT (widget), "progressbar");
+
+ gtk_label_set_text (action_label, "Download :");
+ gtk_label_set_text (package_label, name + strlen (TMP_DIR) + 1);
+ gtk_progress_bar_update (progressbar, pct/100);
+
+ fflush (stdout);
+ if (amount == total) {
+ fprintf (stdout, "\n");
+ }
+
+ gtk_main_iteration ();
+}
+
+void installer (GtkWidget *window,
+ gint method)
+{
+ EazelInstall *service;
+ GtkProgressBar *progressbar;
+ GtkLabel *package_label;
+
+ if (check_for_root_user ()==FALSE) {
+ gnome_warning_dialog ("I'll bring my axe and ore and beat you...");
+ return;
+ }
+
+ if (method==UNINSTALL) {
+ gnome_warning_dialog ("We don't do UNINSTALL yet");
+ return;
+ }
+ if (method==UPGRADE) {
+ gnome_warning_dialog ("We don't do UPGRADE yet");
+ return;
+ }
+/*
+ service = EAZEL_INSTALL (gtk_object_new (TYPE_EAZEL_INSTALL,
+ "verbose", TRUE,
+ "silent", FALSE,
+ "debug", TRUE,
+ "test", FALSE,
+ "force", TRUE,
+ "depend", FALSE,
+ "update", TRUE, //method==UPGRADE ? TRUE : FALSE,
+ "uninstall", method==UNINSTALL ? TRUE : FALSE,
+ "downgrade", FALSE,
+ "protocol", PROTOCOL,
+ "tmp_dir", TMP_DIR,
+ "rpmrc_file", RPMRC,
+ "hostname", HOSTNAME,
+ "rpm_storage_path", REMOTE_RPM_DIR,
+ "package_list_storage_path", package_list [ method ],
+ "package_list", PACKAGE_LIST,
+ "port_number", PORT_NUMBER,
+ NULL));
+*/
+
+ service = eazel_install_new_with_config ("/var/eazel/services/eazel-services-config.xml");
+ g_assert (service != NULL);
+
+ eazel_install_set_hostname (service, HOSTNAME);
+ eazel_install_set_rpmrc_file (service, RPMRC);
+ eazel_install_set_package_list_storage_path (service, "/package-list.xml");
+ eazel_install_set_rpm_storage_path (service, REMOTE_RPM_DIR);
+ eazel_install_set_tmp_dir (service, TMP_DIR);
+ eazel_install_set_port_number (service, PORT_NUMBER);
+ eazel_install_set_protocol (service, PROTOCOL);
+
+ g_assert (service != NULL);
+
+ gtk_signal_connect (GTK_OBJECT (service), "download_progress", eazel_download_progress, window);
+ gtk_signal_connect (GTK_OBJECT (service), "install_progress", eazel_install_progress, window);
+
+ eazel_install_new_packages (service);
+ eazel_install_destroy (GTK_OBJECT (service));
+
+ package_label = gtk_object_get_data (GTK_OBJECT (window), "package_label");
+ progressbar = gtk_object_get_data (GTK_OBJECT (window), "progressbar");
+
+ gtk_label_set_text (package_label, "Completed :");
+ gtk_progress_bar_update (progressbar, 1);
+}
diff --git a/nautilus-installer/src/installer.h b/nautilus-installer/src/installer.h
new file mode 100644
index 000000000..2d3ca5af9
--- /dev/null
+++ b/nautilus-installer/src/installer.h
@@ -0,0 +1,14 @@
+#include <gnome.h>
+
+enum {
+ FULL_INST,
+ NAUTILUS_ONLY,
+ SERVICES_ONLY,
+ UPGRADE,
+ UNINSTALL,
+ LAST
+};
+
+void installer (GtkWidget *window,
+ gint method);
+
diff --git a/nautilus-installer/src/interface.c b/nautilus-installer/src/interface.c
new file mode 100644
index 000000000..22f3009b5
--- /dev/null
+++ b/nautilus-installer/src/interface.c
@@ -0,0 +1,312 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <gnome.h>
+
+#include "callbacks.h"
+#include "interface.h"
+#include "support.h"
+
+GtkWidget*
+create_window (void)
+{
+ GtkWidget *window;
+ GtkWidget *druid;
+ GtkWidget *druidpagestart1;
+ GdkColor druidpagestart1_bg_color = { 0, 6425, 6425, 28784 };
+ GdkColor druidpagestart1_textbox_color = { 0, 65535, 65535, 65535 };
+ GdkColor druidpagestart1_logo_bg_color = { 0, 65535, 65535, 65535 };
+ GdkColor druidpagestart1_title_color = { 0, 65535, 65535, 65535 };
+ GtkWidget *druidpagestandard1;
+ GdkColor druidpagestandard1_bg_color = { 0, 6425, 6425, 28784 };
+ GdkColor druidpagestandard1_logo_bg_color = { 0, 65535, 65535, 65535 };
+ GdkColor druidpagestandard1_title_color = { 0, 65535, 65535, 65535 };
+ GtkWidget *druid_vbox1;
+ GtkWidget *vbox3;
+ GtkWidget *label10;
+ GtkWidget *vbox4;
+ GSList *vbox4_group = NULL;
+ GtkWidget *fullbutton;
+ GtkWidget *nautilus_only_button;
+ GtkWidget *services_only_button;
+ GtkWidget *upgrade_button;
+ GtkWidget *uninstall_button;
+ GtkWidget *install_page;
+ GdkColor install_page_bg_color = { 0, 6425, 6425, 28784 };
+ GdkColor install_page_logo_bg_color = { 0, 65535, 65535, 65535 };
+ GdkColor install_page_title_color = { 0, 65535, 65535, 65535 };
+ GtkWidget *druid_vbox2;
+ GtkWidget *vbox5;
+ GtkWidget *label11;
+ GtkWidget *table2;
+ GtkWidget *label12;
+ GtkWidget *action_label;
+ GtkWidget *progressbar;
+ GtkWidget *package_label;
+ GtkWidget *fixed1;
+ GtkWidget *begin_button;
+ GtkWidget *druidpagefinish1;
+ GdkColor druidpagefinish1_bg_color = { 0, 6425, 6425, 28784 };
+ GdkColor druidpagefinish1_textbox_color = { 0, 65535, 65535, 65535 };
+ GdkColor druidpagefinish1_logo_bg_color = { 0, 65535, 65535, 65535 };
+ GdkColor druidpagefinish1_title_color = { 0, 65535, 65535, 65535 };
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_name (window, "window");
+ gtk_object_set_data (GTK_OBJECT (window), "window", window);
+ gtk_window_set_title (GTK_WINDOW (window), _("Nautilus install tool"));
+
+ druid = gnome_druid_new ();
+ gtk_widget_set_name (druid, "druid");
+ gtk_widget_ref (druid);
+ gtk_object_set_data_full (GTK_OBJECT (window), "druid", druid,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (druid);
+ gtk_container_add (GTK_CONTAINER (window), druid);
+
+ druidpagestart1 = gnome_druid_page_start_new ();
+ gtk_widget_set_name (druidpagestart1, "druidpagestart1");
+ gtk_widget_ref (druidpagestart1);
+ gtk_object_set_data_full (GTK_OBJECT (window), "druidpagestart1", druidpagestart1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (druidpagestart1);
+ gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (druidpagestart1));
+ gnome_druid_set_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (druidpagestart1));
+ gnome_druid_page_start_set_bg_color (GNOME_DRUID_PAGE_START (druidpagestart1), &druidpagestart1_bg_color);
+ gnome_druid_page_start_set_textbox_color (GNOME_DRUID_PAGE_START (druidpagestart1), &druidpagestart1_textbox_color);
+ gnome_druid_page_start_set_logo_bg_color (GNOME_DRUID_PAGE_START (druidpagestart1), &druidpagestart1_logo_bg_color);
+ gnome_druid_page_start_set_title_color (GNOME_DRUID_PAGE_START (druidpagestart1), &druidpagestart1_title_color);
+ gnome_druid_page_start_set_title (GNOME_DRUID_PAGE_START (druidpagestart1), _("Nautilus install tool"));
+ gnome_druid_page_start_set_text (GNOME_DRUID_PAGE_START (druidpagestart1), _("Blablablabla\nblablablabla\nblablablabla"));
+
+ druidpagestandard1 = gnome_druid_page_standard_new_with_vals ("", NULL);
+ gtk_widget_set_name (druidpagestandard1, "druidpagestandard1");
+ gtk_widget_ref (druidpagestandard1);
+ gtk_object_set_data_full (GTK_OBJECT (window), "druidpagestandard1", druidpagestandard1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show_all (druidpagestandard1);
+ gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (druidpagestandard1));
+ gnome_druid_page_standard_set_bg_color (GNOME_DRUID_PAGE_STANDARD (druidpagestandard1), &druidpagestandard1_bg_color);
+ gnome_druid_page_standard_set_logo_bg_color (GNOME_DRUID_PAGE_STANDARD (druidpagestandard1), &druidpagestandard1_logo_bg_color);
+ gnome_druid_page_standard_set_title_color (GNOME_DRUID_PAGE_STANDARD (druidpagestandard1), &druidpagestandard1_title_color);
+ gnome_druid_page_standard_set_title (GNOME_DRUID_PAGE_STANDARD (druidpagestandard1), _("What to do ?"));
+
+ druid_vbox1 = GNOME_DRUID_PAGE_STANDARD (druidpagestandard1)->vbox;
+ gtk_widget_set_name (druid_vbox1, "druid_vbox1");
+ gtk_widget_ref (druid_vbox1);
+ gtk_object_set_data_full (GTK_OBJECT (window), "druid_vbox1", druid_vbox1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (druid_vbox1);
+
+ vbox3 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (vbox3, "vbox3");
+ gtk_widget_ref (vbox3);
+ gtk_object_set_data_full (GTK_OBJECT (window), "vbox3", vbox3,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (vbox3);
+ gtk_box_pack_start (GTK_BOX (druid_vbox1), vbox3, TRUE, TRUE, 0);
+
+ label10 = gtk_label_new (_("What do you want to do ?"));
+ gtk_widget_set_name (label10, "label10");
+ gtk_widget_ref (label10);
+ gtk_object_set_data_full (GTK_OBJECT (window), "label10", label10,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (label10);
+ gtk_box_pack_start (GTK_BOX (vbox3), label10, TRUE, FALSE, 0);
+
+ vbox4 = gtk_vbox_new (TRUE, 0);
+ gtk_widget_set_name (vbox4, "vbox4");
+ gtk_widget_ref (vbox4);
+ gtk_object_set_data_full (GTK_OBJECT (window), "vbox4", vbox4,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (vbox4);
+ gtk_box_pack_start (GTK_BOX (vbox3), vbox4, TRUE, FALSE, 0);
+
+ fullbutton = gtk_radio_button_new_with_label (vbox4_group, _("Full install"));
+ vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (fullbutton));
+ gtk_widget_set_name (fullbutton, "fullbutton");
+ gtk_widget_ref (fullbutton);
+ gtk_object_set_data_full (GTK_OBJECT (window), "fullbutton", fullbutton,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (fullbutton);
+ gtk_box_pack_start (GTK_BOX (vbox4), fullbutton, FALSE, FALSE, 0);
+
+ nautilus_only_button = gtk_radio_button_new_with_label (vbox4_group, _("Nautilus only"));
+ vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (nautilus_only_button));
+ gtk_widget_set_name (nautilus_only_button, "nautilus_only_button");
+ gtk_widget_ref (nautilus_only_button);
+ gtk_object_set_data_full (GTK_OBJECT (window), "nautilus_only_button", nautilus_only_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (nautilus_only_button);
+ gtk_box_pack_start (GTK_BOX (vbox4), nautilus_only_button, FALSE, FALSE, 0);
+
+ services_only_button = gtk_radio_button_new_with_label (vbox4_group, _("Services only"));
+ vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (services_only_button));
+ gtk_widget_set_name (services_only_button, "services_only_button");
+ gtk_widget_ref (services_only_button);
+ gtk_object_set_data_full (GTK_OBJECT (window), "services_only_button", services_only_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (services_only_button);
+ gtk_box_pack_start (GTK_BOX (vbox4), services_only_button, FALSE, FALSE, 0);
+
+ upgrade_button = gtk_radio_button_new_with_label (vbox4_group, _("Upgrade installation"));
+ vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (upgrade_button));
+ gtk_widget_set_name (upgrade_button, "upgrade_button");
+ gtk_widget_ref (upgrade_button);
+ gtk_object_set_data_full (GTK_OBJECT (window), "upgrade_button", upgrade_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (upgrade_button);
+ gtk_box_pack_start (GTK_BOX (vbox4), upgrade_button, FALSE, FALSE, 0);
+
+ uninstall_button = gtk_radio_button_new_with_label (vbox4_group, _("Uninstall"));
+ vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (uninstall_button));
+ gtk_widget_set_name (uninstall_button, "uninstall_button");
+ gtk_widget_ref (uninstall_button);
+ gtk_object_set_data_full (GTK_OBJECT (window), "uninstall_button", uninstall_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (uninstall_button);
+ gtk_box_pack_start (GTK_BOX (vbox4), uninstall_button, FALSE, FALSE, 0);
+
+ install_page = gnome_druid_page_standard_new_with_vals ("", NULL);
+ gtk_widget_set_name (install_page, "install_page");
+ gtk_widget_ref (install_page);
+ gtk_object_set_data_full (GTK_OBJECT (window), "install_page", install_page,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show_all (install_page);
+ gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (install_page));
+ gnome_druid_page_standard_set_bg_color (GNOME_DRUID_PAGE_STANDARD (install_page), &install_page_bg_color);
+ gnome_druid_page_standard_set_logo_bg_color (GNOME_DRUID_PAGE_STANDARD (install_page), &install_page_logo_bg_color);
+ gnome_druid_page_standard_set_title_color (GNOME_DRUID_PAGE_STANDARD (install_page), &install_page_title_color);
+ gnome_druid_page_standard_set_title (GNOME_DRUID_PAGE_STANDARD (install_page), _("Progress..."));
+
+ druid_vbox2 = GNOME_DRUID_PAGE_STANDARD (install_page)->vbox;
+ gtk_widget_set_name (druid_vbox2, "druid_vbox2");
+ gtk_widget_ref (druid_vbox2);
+ gtk_object_set_data_full (GTK_OBJECT (window), "druid_vbox2", druid_vbox2,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (druid_vbox2);
+
+ vbox5 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (vbox5, "vbox5");
+ gtk_widget_ref (vbox5);
+ gtk_object_set_data_full (GTK_OBJECT (window), "vbox5", vbox5,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (vbox5);
+ gtk_box_pack_start (GTK_BOX (druid_vbox2), vbox5, TRUE, TRUE, 0);
+
+ label11 = gtk_label_new (_("Press the big begin, and watch the installer is do it's thing..."));
+ gtk_widget_set_name (label11, "label11");
+ gtk_widget_ref (label11);
+ gtk_object_set_data_full (GTK_OBJECT (window), "label11", label11,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (label11);
+ gtk_box_pack_start (GTK_BOX (vbox5), label11, TRUE, FALSE, 0);
+
+ table2 = gtk_table_new (2, 2, TRUE);
+ gtk_widget_set_name (table2, "table2");
+ gtk_widget_ref (table2);
+ gtk_object_set_data_full (GTK_OBJECT (window), "table2", table2,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (table2);
+ gtk_box_pack_start (GTK_BOX (vbox5), table2, TRUE, TRUE, 0);
+ gtk_table_set_row_spacings (GTK_TABLE (table2), 16);
+
+ label12 = gtk_label_new (_("Package :"));
+ gtk_widget_set_name (label12, "label12");
+ gtk_widget_ref (label12);
+ gtk_object_set_data_full (GTK_OBJECT (window), "label12", label12,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (label12);
+ gtk_table_attach (GTK_TABLE (table2), label12, 0, 1, 0, 1,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+
+ action_label = gtk_label_new (_("(action) :"));
+ gtk_widget_set_name (action_label, "action_label");
+ gtk_widget_ref (action_label);
+ gtk_object_set_data_full (GTK_OBJECT (window), "action_label", action_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (action_label);
+ gtk_table_attach (GTK_TABLE (table2), action_label, 0, 1, 1, 2,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+
+ progressbar = gtk_progress_bar_new ();
+ gtk_widget_set_name (progressbar, "progressbar");
+ gtk_widget_ref (progressbar);
+ gtk_object_set_data_full (GTK_OBJECT (window), "progressbar", progressbar,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (progressbar);
+ gtk_table_attach (GTK_TABLE (table2), progressbar, 1, 2, 1, 2,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+
+ package_label = gtk_label_new (_("0/0 - bla.rpm"));
+ gtk_widget_set_name (package_label, "package_label");
+ gtk_widget_ref (package_label);
+ gtk_object_set_data_full (GTK_OBJECT (window), "package_label", package_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (package_label);
+ gtk_table_attach (GTK_TABLE (table2), package_label, 1, 2, 0, 1,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+
+ fixed1 = gtk_fixed_new ();
+ gtk_widget_set_name (fixed1, "fixed1");
+ gtk_widget_ref (fixed1);
+ gtk_object_set_data_full (GTK_OBJECT (window), "fixed1", fixed1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (fixed1);
+ gtk_box_pack_start (GTK_BOX (vbox5), fixed1, TRUE, TRUE, 0);
+
+ begin_button = gtk_button_new_with_label (_("Begin"));
+ gtk_widget_set_name (begin_button, "begin_button");
+ gtk_widget_ref (begin_button);
+ gtk_object_set_data_full (GTK_OBJECT (window), "begin_button", begin_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (begin_button);
+ gtk_fixed_put (GTK_FIXED (fixed1), begin_button, 208, 32);
+
+ druidpagefinish1 = gnome_druid_page_finish_new ();
+ gtk_widget_set_name (druidpagefinish1, "druidpagefinish1");
+ gtk_widget_ref (druidpagefinish1);
+ gtk_object_set_data_full (GTK_OBJECT (window), "druidpagefinish1", druidpagefinish1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (druidpagefinish1);
+ gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (druidpagefinish1));
+ gnome_druid_page_finish_set_bg_color (GNOME_DRUID_PAGE_FINISH (druidpagefinish1), &druidpagefinish1_bg_color);
+ gnome_druid_page_finish_set_textbox_color (GNOME_DRUID_PAGE_FINISH (druidpagefinish1), &druidpagefinish1_textbox_color);
+ gnome_druid_page_finish_set_logo_bg_color (GNOME_DRUID_PAGE_FINISH (druidpagefinish1), &druidpagefinish1_logo_bg_color);
+ gnome_druid_page_finish_set_title_color (GNOME_DRUID_PAGE_FINISH (druidpagefinish1), &druidpagefinish1_title_color);
+ gnome_druid_page_finish_set_title (GNOME_DRUID_PAGE_FINISH (druidpagefinish1), _("Finished"));
+ gnome_druid_page_finish_set_text (GNOME_DRUID_PAGE_FINISH (druidpagefinish1), _("blablablabla\nblablablabla\nblablablabla"));
+
+ gtk_signal_connect (GTK_OBJECT (druid), "cancel",
+ GTK_SIGNAL_FUNC (druid_cancel),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (install_page), "finish",
+ GTK_SIGNAL_FUNC (druid_finish),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (install_page), "prepare",
+ GTK_SIGNAL_FUNC (prep_install),
+ window);
+ gtk_signal_connect (GTK_OBJECT (begin_button), "clicked",
+ GTK_SIGNAL_FUNC (begin_install),
+ window);
+ gtk_signal_connect (GTK_OBJECT (druidpagefinish1), "finish",
+ GTK_SIGNAL_FUNC (druid_finish),
+ NULL);
+
+ return window;
+}
+
diff --git a/nautilus-installer/src/interface.h b/nautilus-installer/src/interface.h
new file mode 100644
index 000000000..4577c784f
--- /dev/null
+++ b/nautilus-installer/src/interface.h
@@ -0,0 +1,5 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+GtkWidget* create_window (void);
diff --git a/nautilus-installer/src/main.c b/nautilus-installer/src/main.c
new file mode 100644
index 000000000..8353be128
--- /dev/null
+++ b/nautilus-installer/src/main.c
@@ -0,0 +1,38 @@
+/*
+ * Initial main.c file generated by Glade. Edit as required.
+ * Glade will not overwrite this file.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gnome.h>
+
+#include "interface.h"
+#include "support.h"
+
+int
+main (int argc, char *argv[])
+{
+ GtkWidget *window;
+
+#ifdef ENABLE_NLS
+ bindtextdomain ("nautilus-installer", GNOMELOCALEDIR);
+ textdomain ("nautilus-installer");
+#endif
+
+ gnome_init ("nautilus-installer", VERSION, argc, argv);
+
+ /*
+ * The following code was added by Glade to create one of each component
+ * (except popup menus), just so that you see something after building
+ * the project. Delete any components that you don't want shown initially.
+ */
+ window = create_window ();
+ gtk_widget_show (window);
+
+ gtk_main ();
+ return 0;
+}
+