diff options
-rw-r--r-- | ChangeLog | 42 | ||||
-rwxr-xr-x | nautilus-installer/Makefile | 26 | ||||
-rw-r--r-- | nautilus-installer/Makefile.am | 25 | ||||
-rw-r--r-- | nautilus-installer/Makefile.in | 382 | ||||
-rw-r--r-- | nautilus-installer/nautilus-installer.c | 359 | ||||
-rw-r--r-- | nautilus-installer/nautilus-installer.glade | 415 | ||||
-rw-r--r-- | nautilus-installer/src/HACKING | 23 | ||||
-rw-r--r-- | nautilus-installer/src/Makefile | 439 | ||||
-rw-r--r-- | nautilus-installer/src/Makefile.in | 439 | ||||
-rw-r--r-- | nautilus-installer/src/callbacks.c | 87 | ||||
-rw-r--r-- | nautilus-installer/src/installer.c | 155 | ||||
-rw-r--r-- | nautilus-installer/src/installer.h | 14 | ||||
-rw-r--r-- | nautilus-installer/src/interface.c | 312 | ||||
-rw-r--r-- | nautilus-installer/src/interface.h | 5 | ||||
-rw-r--r-- | nautilus-installer/src/main.c | 38 |
15 files changed, 2374 insertions, 387 deletions
@@ -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; +} + |