summaryrefslogtreecommitdiff
path: root/nautilus-installer
diff options
context:
space:
mode:
authorEskil Heyn Olsen <eskil@src.gnome.org>2000-06-21 21:08:12 +0000
committerEskil Heyn Olsen <eskil@src.gnome.org>2000-06-21 21:08:12 +0000
commit46e737cc25962d900f193c68c94a7108854361b9 (patch)
tree64098990582e8bdb20986f016267431cd186da78 /nautilus-installer
parent06d1b0e42d15b4dfc6de1859d26e5d7183465a41 (diff)
downloadnautilus-46e737cc25962d900f193c68c94a7108854361b9.tar.gz
Added the server directory.
* components/services/install/Makefile.am: Added the server directory. * components/services/install/command-line/Makefile.am: * components/services/install/command-line/eazel-alt-install-corba.c: (set_parameters_from_command_line), (eazel_download_progress_signal), (eazel_install_progress_signal), (download_failed), (install_failed), (dep_check), (create_package), (done), (main): * components/services/install/command-line/genpkg_list.example: Vamping together yet another eazel-alt-install that uses the new corba service installer. * components/services/install/idl/trilobite-eazel-install.idl: * components/services/install/lib/Makefile.am: * components/services/install/lib/eazel-install-corba-callback.c: (impl_download_progress), (impl_download_failed), (impl_dep_check), (impl_install_progress), (impl_uninstall_progress), (impl_install_failed), (impl_uninstall_failed), (impl_done), (eazel_install_callback_get_epv), (eazel_install_callback_create_corba_object), (eazel_install_callback_destroy), (eazel_install_callback_class_initialize), (eazel_install_callback_initialize), (eazel_install_callback_get_type), (eazel_install_callback_new), (eazel_install_callback_corba): * components/services/install/lib/eazel-install-corba-callback.h: * components/services/install/lib/eazel-install-corba-types.c: (corba_packagestructlist_from_packagedata_list), (corba_packagedatastructlist_from_packagedata_list), (corba_packagedatastruct_from_packagedata), (corba_packagestruct_from_packagedata), (packagedata_list_from_corba_packagestructlist), (packagedata_list_from_corba_packagedatastructlist), (packagedata_from_corba_packagedatastruct), (packagedata_from_corba_packagestruct): * components/services/install/lib/eazel-install-corba-types.h: * components/services/install/lib/eazel-install-corba.c: (impl_Eazel_Install_install), (impl_Eazel_Install_uninstall), (impl_Eazel_Install_install_packages), (impl_Eazel_Install_uninstall_packages), (impl_Eazel_Install__set_verbose), (impl_Eazel_Install__get_verbose), (impl_Eazel_Install__set_silent), (impl_Eazel_Install__get_silent), (impl_Eazel_Install__set_test_mode), (impl_Eazel_Install__get_test_mode), (impl_Eazel_Install__set_force), (impl_Eazel_Install__get_force), (impl_Eazel_Install__set_update), (impl_Eazel_Install__get_update), (impl_Eazel_Install__set_tmp_dir), (impl_Eazel_Install__get_tmp_dir), (impl_Eazel_Install__set_server), (impl_Eazel_Install__get_server), (impl_Eazel_Install__set_server_port), (impl_Eazel_Install__get_server_port), (impl_Eazel_Install__set_log_file), (impl_Eazel_Install__get_log_file), (impl_Eazel_Install__set_protocol), (impl_Eazel_Install__get_protocol), (eazel_install_get_epv), (eazel_install_create_corba_object): * components/services/install/lib/eazel-install-object.c: (eazel_install_set_arg), (eazel_install_class_initialize), (eazel_install_initialize), (eazel_install_get_type), (eazel_install_new_with_config), (eazel_install_fetch_remote_package_list), (eazel_install_open_log), (eazel_install_install_packages), (eazel_install_uninstall), (eazel_install_emit_install_progress), (eazel_install_emit_install_progress_default), (eazel_install_emit_download_progress), (eazel_install_emit_download_progress_default), (eazel_install_emit_download_failed), (eazel_install_emit_download_failed_default), (eazel_install_emit_install_failed), (eazel_install_emit_install_failed_default), (eazel_install_emit_uninstall_failed), (eazel_install_emit_dependency_check), (eazel_install_emit_dependency_check_default), (eazel_install_emit_done), (eazel_install_emit_done_default): * components/services/install/lib/eazel-install-private.h: * components/services/install/lib/eazel-install-protocols.c: (get_url_for_package), (get_search_url_for_package): * components/services/install/lib/eazel-install-public.h: * components/services/install/lib/eazel-install-rpm-glue.c: (install_new_packages), (download_all_packages), (install_all_packages), (rpm_show_progress), (do_rpm_install), (eazel_install_prune_packages_helper), (eazel_install_prepare_rpm_system), (eazel_install_add_headers_to_rpm_set), (eazel_install_fetch_rpm_dependencies), (print_package_list), (eazel_install_ensure_deps), (ei_extract_attributes), (eazel_install_query_package_system): * components/services/install/lib/eazel-install-rpm-glue.h: * components/services/install/lib/eazel-install-types.c: (rpmfilename_from_packagedata): * components/services/install/lib/eazel-install-types.h: * components/services/install/lib/trilobite-eazel-install-service.oaf info: * components/services/install/server/Makefile.am: * components/services/install/server/trilobite-eazel-install-service. oafinfo: Added a load of stuff to make the install service a corba service. There are corba/c converters in eazel-install-corba-types, moved a load of the corba magic into eazel-install-corba.c and created a gtk+ object in eazel-install-corba-callback that embodies the client interface to the install service. * components/services/time/service/Makefile.am: * components/services/time/service/trilobite-eazel-time-service.c: (trilobite_eazel_time_service_initialize): Changed the default url to the new testmachine. * components/services/trilobite/libtrilobite/trilobite-core-distribut ion.c: (trilobite_get_distribution_name), (trilobite_get_distribution_enum): * components/services/trilobite/libtrilobite/trilobite-core-distribut ion.h: Added call to get the distro enum from the generated string. Used for the corbafication of libinstall. * configure.in: Added the server dir makefile for services/install/server * nautilus-installer/src/HACKING: * nautilus-installer/src/Makefile: * nautilus-installer/src/Makefile.am: * nautilus-installer/src/installer.c: (installer): * nautilus-installer/src/interface.c: (create_window): * nautilus-installer/src/link.sh: * nautilus-installer/src/prescript: Updated to still work, as long as libinstall is compiled using EAZEL_INSTALL_NO_CORBA (see the hacking file) * nautilus.spec.in: Changed gnome-xml to libxml
Diffstat (limited to 'nautilus-installer')
-rw-r--r--nautilus-installer/src/HACKING37
-rw-r--r--nautilus-installer/src/Makefile11
-rw-r--r--nautilus-installer/src/Makefile.am3
-rw-r--r--nautilus-installer/src/installer.c55
-rw-r--r--nautilus-installer/src/interface.c4
-rwxr-xr-xnautilus-installer/src/link.sh17
-rw-r--r--nautilus-installer/src/prescript6
7 files changed, 38 insertions, 95 deletions
diff --git a/nautilus-installer/src/HACKING b/nautilus-installer/src/HACKING
index c982c4a12..5f0e0b0a1 100644
--- a/nautilus-installer/src/HACKING
+++ b/nautilus-installer/src/HACKING
@@ -1,38 +1,5 @@
link.sh will build the statically linked version, plus
strip gzexe and patch prescript into it.
-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
-
-
-The gzexed file should have skip=22 replaced with
-
-skip=28
-if test $UID -ne 0; then
- xhost + localhost
- su - -c "export DISPLAY=$DISPLAY && cd $PWD && sh $0"
- xhost - localhost
- exit
-fi
-
-this causes it not to require root access before running
+to build, you must also compile nautilus/components/services/install/lib with
+-DEAZEL_INSTALL_NO_CORBA, to create a minimalistic corbafree libinstall_base.
diff --git a/nautilus-installer/src/Makefile b/nautilus-installer/src/Makefile
index 55790660c..56a05febc 100644
--- a/nautilus-installer/src/Makefile
+++ b/nautilus-installer/src/Makefile
@@ -113,9 +113,9 @@ LN_S = ln -s
MAINT =
MAKEINFO = makeinfo
MKINSTALLDIRS = ./mkinstalldirs
-MOZILLA_COMPONENT_CFLAGS = -I/usr/include/mozilla
-MOZILLA_COMPONENT_LDFLAGS = -L/usr/lib/mozilla
-MOZILLA_COMPONENT_LIBS = -lgtkembedmoz -lgtksuperwin -lxpcom -lnspr4 -lplc4 -lplds4
+MOZILLA_COMPONENT_CFLAGS =
+MOZILLA_COMPONENT_LDFLAGS =
+MOZILLA_COMPONENT_LIBS =
NM = /usr/bin/nm -B
OAF_CFLAGS = -I/gnome/include -I/gnome/lib/glib/include
OAF_CONFIG = /gnome/bin/oaf-config
@@ -159,7 +159,7 @@ nautilus_installer_SOURCES = main.c support.c support.h interface.c interfac
nautilus_installer_LDFLAGS = -static
-nautilus_installer_LDADD = $(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o $(top_builddir)/components/services/trilobite/libtrilobite/trilobite-core-distribution.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
+nautilus_installer_LDADD = $(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o $(top_builddir)/components/services/trilobite/libtrilobite/trilobite-core-distribution.o $(top_builddir)/components/services/install/lib/libinstall_gtk.a $(top_builddir)/components/services/install/lib/libinstall_base.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
@@ -176,7 +176,8 @@ installer.o
nautilus_installer_DEPENDENCIES = \
$(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o \
$(top_builddir)/components/services/trilobite/libtrilobite/trilobite-core-distribution.o \
-$(top_builddir)/components/services/install/lib/libinstall.a \
+$(top_builddir)/components/services/install/lib/libinstall_gtk.a \
+$(top_builddir)/components/services/install/lib/libinstall_base.a \
/usr/lib/libesd.a /usr/lib/libaudiofile.a
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
diff --git a/nautilus-installer/src/Makefile.am b/nautilus-installer/src/Makefile.am
index 624374a1b..2634d2f7c 100644
--- a/nautilus-installer/src/Makefile.am
+++ b/nautilus-installer/src/Makefile.am
@@ -31,7 +31,8 @@ nautilus_installer_LDFLAGS = -static
nautilus_installer_LDADD = \
$(top_builddir)/components/services/trilobite/libtrilobite/helixcode-utils.o \
$(top_builddir)/components/services/trilobite/libtrilobite/trilobite-core-distribution.o \
- $(top_builddir)/components/services/install/lib/libinstall.a \
+ $(top_builddir)/components/services/install/lib/libinstall_gtk.a \
+ $(top_builddir)/components/services/install/lib/libinstall_base.a \
-L/gnome/lib \
-lgnomeui \
-lgnome \
diff --git a/nautilus-installer/src/installer.c b/nautilus-installer/src/installer.c
index 8b3deaabe..967c1da3c 100644
--- a/nautilus-installer/src/installer.c
+++ b/nautilus-installer/src/installer.c
@@ -9,13 +9,12 @@
#include <sys/utsname.h>
-#define HOSTNAME "toothgnasher.eazel.com"
+#define HOSTNAME "testmachine.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",
@@ -168,45 +167,6 @@ install_failed (EazelInstall *service,
}
}
-static PackageData*
-create_package (char *name)
-{
- struct utsname buf;
- PackageData *pack;
-
- uname (&buf);
- pack = packagedata_new ();
- pack->name = g_strdup (name);
- pack->archtype = g_strdup (buf.machine);
-
- if (strlen (pack->archtype)==4 && pack->archtype[0]=='i' &&
- pack->archtype[1]>='3' && pack->archtype[1]<='9' &&
- pack->archtype[2]=='8' && pack->archtype[3]=='6') {
- g_free (pack->archtype);
- pack->archtype = g_strdup ("i386");
- }
-
- pack->distribution = trilobite_get_distribution ();
- pack->toplevel = TRUE;
- return pack;
-}
-
-static GList *
-create_categories ()
-{
- GList *categories;
- CategoryData *cat;
- GList *packages;
-
- packages = g_list_prepend (NULL, create_package("nautilus"));
- cat = g_new0 (CategoryData,1);
- cat->name = g_strdup ("Nautilus");
- cat->packages = packages;
- categories = g_list_prepend (NULL, cat);
-
- return categories;
-}
-
void installer (GtkWidget *window,
gint method)
{
@@ -223,7 +183,7 @@ void installer (GtkWidget *window,
"verbose", TRUE,
"silent", FALSE,
"debug", TRUE,
- "test", TRUE, //FALSE,
+ "test", FALSE,
"force", FALSE,
"depend", FALSE,
"update", method==UPGRADE ? TRUE : FALSE,
@@ -235,19 +195,18 @@ void installer (GtkWidget *window,
"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_server (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_server_port (service, PORT_NUMBER);
eazel_install_set_protocol (service, PROTOCOL);
g_assert (service != NULL);
@@ -264,7 +223,7 @@ void installer (GtkWidget *window,
case NAUTILUS_ONLY:
case SERVICES_ONLY:
case UPGRADE:
- eazel_install_install_packages (service, create_categories ());
+ eazel_install_install_packages (service, NULL);
break;
case UNINSTALL:
eazel_install_uninstall (service);
@@ -278,5 +237,7 @@ void installer (GtkWidget *window,
gtk_label_set_text (package_label, "Completed :");
gtk_progress_bar_update (progressbar, 1);
- gnome_error_dialog_parented (failure_info, GTK_WINDOW (window));
+ if (strlen (failure_info)>1) {
+ gnome_error_dialog_parented (failure_info, GTK_WINDOW (window));
+ }
}
diff --git a/nautilus-installer/src/interface.c b/nautilus-installer/src/interface.c
index d11cd1a5b..9a0021546 100644
--- a/nautilus-installer/src/interface.c
+++ b/nautilus-installer/src/interface.c
@@ -87,7 +87,7 @@ create_window (void)
gnome_druid_page_start_set_logo_bg_color (GNOME_DRUID_PAGE_START (start_page), &start_page_logo_bg_color);
gnome_druid_page_start_set_title_color (GNOME_DRUID_PAGE_START (start_page), &start_page_title_color);
gnome_druid_page_start_set_title (GNOME_DRUID_PAGE_START (start_page), _("Step one:"));
- gnome_druid_page_start_set_text (GNOME_DRUID_PAGE_START (start_page), _("This is the internal Nautilus installer.\n\nLots of text should go here letting you know what you need\nto have installed before you should even begin to think about\nusing this. For example:\n\n * Helix Gnome\n * GTK+ Development Environment\n * Other stuff\n\nIf you meet these requirements, hit the \"Next\" button to continue!\n\n"));
+ gnome_druid_page_start_set_text (GNOME_DRUID_PAGE_START (start_page), _("This is the internal Nautilus installer.\n\nLots of text should go here letting you know what you need\nto have installed before you should even begin to think about\nusing this. For example:\n\n * Stuff\n * More stuff\n * Other stuff\n\nIf you meet these requirements, hit the \"Next\" button to continue!\n\n"));
what_to_do_page = gnome_druid_page_standard_new_with_vals ("", NULL);
@@ -222,7 +222,7 @@ create_window (void)
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..."));
+ label11 = gtk_label_new (_("Press the big begin button, and watch the installer do it's thing..."));
gtk_widget_set_name (label11, "label11");
gtk_widget_ref (label11);
gtk_object_set_data_full (GTK_OBJECT (window), "label11", label11,
diff --git a/nautilus-installer/src/link.sh b/nautilus-installer/src/link.sh
index 0f19def77..2cb4d3623 100755
--- a/nautilus-installer/src/link.sh
+++ b/nautilus-installer/src/link.sh
@@ -1,7 +1,14 @@
#! /bin/bash
make clean
make CFLAGS="-O -Werror" LDFLAGS="-static"
-gcc -static -O -Werror -o nautilus-installer main.o support.o interface.o callbacks.o installer.o ../../components/services/trilobite/libtrilobite/helixcode-utils.o ../../components/services/trilobite/libtrilobite/trilobite-core-distribution.o ../../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
+gcc -static -O -Werror -o nautilus-installer main.o support.o interface.o callbacks.o installer.o \
+../../components/services/trilobite/libtrilobite/helixcode-utils.o \
+../../components/services/trilobite/libtrilobite/trilobite-core-distribution.o \
+../../components/services/install/lib/libinstall_base.a \
+../../components/services/install/lib/libinstall_gtk.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 -lbz2 -lz -ldb1 -lpopt -lxml
echo Stripping...
strip nautilus-installer
@@ -12,9 +19,9 @@ echo Patching...
chmod 644 nautilus-installer
mv nautilus-installer hest
extraskip=`expr 22 + \`wc -l prescript|awk '{printf $1"\n"}'\``
-echo "#!/bin/sh" > nautilus-installer
-echo "skip=$extraskip" >> nautilus-installer
-cat prescript >> nautilus-installer
-tail +3 hest >> nautilus-installer
+echo "#!/bin/sh" > nautilus-installer.sh
+echo "skip=$extraskip" >> nautilus-installer.sh
+cat prescript >> nautilus-installer.sh
+tail +3 hest >> nautilus-installer.sh
rm hest
echo Done...
diff --git a/nautilus-installer/src/prescript b/nautilus-installer/src/prescript
index 1e322e708..c57d255e7 100644
--- a/nautilus-installer/src/prescript
+++ b/nautilus-installer/src/prescript
@@ -3,8 +3,14 @@ if test x$DISPLAY = x; then
fi
if test $UID -ne 0; then
echo ""
+ echo "Nautilus-Installer v 0.1c"
+ echo ""
+ echo "argle bargle glob glyf muhainapuniua bork bork bork"
+ echo "fisk er dumme og heste er grimme"
+ echo ""
echo "The Nautilus-Installer requires superuser access to install packages."
echo "yadayada insecure yadayada trust us blablabla"
+ echo "we would never hurt a fly arglebargle."
echo ""
echo "Please enter root password at the prompt"
xhost + localhost