mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-13 04:51:15 +00:00
Represents the july 5th milestone.
* components/services/install/command-line/genpkg_list.example: Represents the july 5th milestone. (create_default_metadata): * components/services/install/lib/eazel-install-rpm-glue.c: (rpm_show_progress), (do_rpm_install), (eazel_install_fetch_rpm_dependencies): Added some FIXME's. Fixed a horrible mem bug. It now leaks, but rpm install works. * components/services/install/lib/eazel-install-xml-package-list.c: (parse_package): Added a check so the strtol isn't a risk anymore * components/services/trilobite/idl/trilobite-service.idl: Added the interface for the password query hell. * components/services/trilobite/libtrilobite/Makefile.am: * components/services/trilobite/libtrilobite/trilobite-service-passwo rdquery-private.h: * components/services/trilobite/libtrilobite/trilobite-service-passwo rdquery-public.h: * components/services/trilobite/libtrilobite/trilobite-service-passwo rdquery.c: (trilobite_passwordquery_get_epv), (trilobite_passwordquery_destroy), (trilobite_passwordquery_set_arg), (trilobite_passwordquery_class_initialize), (trilobite_passwordquery_construct), (trilobite_passwordquery_create_corba_object), (trilobite_passwordquery_initialize), (trilobite_passwordquery_get_type), (trilobite_passwordquery_new): Did the initial passwordquery corba object by cp & s/x/y/ on trilobite-service*[ch]. * data/emblems/Makefile.am: removed personal.png from _DATA, as it does not exists * icons/Makefile.am: removed emblem-personal.svg * icons/vector/Makefile.am: icons/Makefile.am * nautilus-installer/src/Makefile: * nautilus-installer/src/installer.c: (eazel_install_progress), (make_dirs), (installer): Now creates the /var/eazel/services dir. Sets the proper flags for the install object and again prints the package name during progress display. * nautilus-installer/src/interface.c: (create_window): Fiddled with the layout, everything doesn't jump around anymore, just a few things. * nautilus-installer/src/prescript: Inc'ed the version to 0.1d
This commit is contained in:
parent
61eba534c5
commit
830d17851e
62
ChangeLog
62
ChangeLog
|
@ -1,3 +1,65 @@
|
|||
2000-07-07 Eskil Heyn Olsen <eskil@eazel.com>
|
||||
|
||||
* components/services/install/command-line/genpkg_list.example:
|
||||
Represents the july 5th milestone.
|
||||
|
||||
(create_default_metadata):
|
||||
* components/services/install/lib/eazel-install-rpm-glue.c:
|
||||
(rpm_show_progress), (do_rpm_install),
|
||||
(eazel_install_fetch_rpm_dependencies):
|
||||
Added some FIXME's. Fixed a horrible mem bug. It now leaks, but
|
||||
rpm install works.
|
||||
|
||||
* components/services/install/lib/eazel-install-xml-package-list.c:
|
||||
(parse_package):
|
||||
Added a check so the strtol isn't a risk anymore
|
||||
|
||||
* components/services/trilobite/idl/trilobite-service.idl:
|
||||
Added the interface for the password query hell.
|
||||
|
||||
* components/services/trilobite/libtrilobite/Makefile.am:
|
||||
*
|
||||
components/services/trilobite/libtrilobite/trilobite-service-passwo
|
||||
rdquery-private.h:
|
||||
*
|
||||
components/services/trilobite/libtrilobite/trilobite-service-passwo
|
||||
rdquery-public.h:
|
||||
*
|
||||
components/services/trilobite/libtrilobite/trilobite-service-passwo
|
||||
rdquery.c: (trilobite_passwordquery_get_epv),
|
||||
(trilobite_passwordquery_destroy),
|
||||
(trilobite_passwordquery_set_arg),
|
||||
(trilobite_passwordquery_class_initialize),
|
||||
(trilobite_passwordquery_construct),
|
||||
(trilobite_passwordquery_create_corba_object),
|
||||
(trilobite_passwordquery_initialize),
|
||||
(trilobite_passwordquery_get_type), (trilobite_passwordquery_new):
|
||||
Did the initial passwordquery corba object by cp & s/x/y/ on
|
||||
trilobite-service*[ch].
|
||||
|
||||
* data/emblems/Makefile.am:
|
||||
removed personal.png from _DATA, as it does not exists
|
||||
|
||||
* icons/Makefile.am:
|
||||
removed emblem-personal.svg
|
||||
|
||||
* icons/vector/Makefile.am:
|
||||
icons/Makefile.am
|
||||
|
||||
* nautilus-installer/src/Makefile:
|
||||
* nautilus-installer/src/installer.c: (eazel_install_progress),
|
||||
(make_dirs), (installer):
|
||||
Now creates the /var/eazel/services dir. Sets the proper flags for
|
||||
the install object and again prints the package name during
|
||||
progress display.
|
||||
|
||||
* nautilus-installer/src/interface.c: (create_window):
|
||||
Fiddled with the layout, everything doesn't jump around anymore,
|
||||
just a few things.
|
||||
|
||||
* nautilus-installer/src/prescript:
|
||||
Inc'ed the version to 0.1d
|
||||
|
||||
2000-07-07 Andy Hertzfeld <andy@eazel.com>
|
||||
|
||||
* data/emblems/Makefile.am:
|
||||
|
|
|
@ -40,4 +40,3 @@ eazel_uninstall_SOURCES = \
|
|||
eazel_gen_xml_SOURCES = \
|
||||
eazel-gen-xml.c \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -1,25 +1,38 @@
|
|||
Essential Packages:GConf:0.5.msM31:3:i386:0:Stuff
|
||||
Essential Packages:GConf-devel:0.5.msM31:3:i386:0:Stuff
|
||||
Essential Packages:ORBit:0.5.1.msM31:2:i386:0:Stuff
|
||||
Essential Packages:ORBit-devel:0.5.1.msM31:2:i386:0:Stuff
|
||||
Essential Packages:bonobo:0.15.msM31:prw2:i386:0:Stuff
|
||||
Essential Packages:bonobo-devel:0.15.msM31:prw2:i386:0:Stuff
|
||||
Essential Packages:control-center:1.2.0.msM31:2:i386:0:Stuff
|
||||
Essential Packages:control-center-devel:1.2.0.msM31:2:i386:0:Stuff
|
||||
Essential Packages:eog:0.3.msM31:2:i386:0:Stuff
|
||||
Essential Packages:gdk-pixbuf:0.8.0.msM31:3:i386:0:Stuff
|
||||
Essential Packages:gdk-pixbuf-devel:0.8.0.msM31:3:i386:0:Stuff
|
||||
Essential Packages:gnet:1.0.3.msM31:1:i386:0:Stuff
|
||||
Essential Packages:gnet-devel:1.0.3.msM31:1:i386:0:Stuff
|
||||
Essential Packages:gnome-print:0.20.msM31:1:i386:0:Stuff
|
||||
Essential Packages:gnome-print-devel:0.20.msM31:1:i386:0:Stuff
|
||||
Essential Packages:gnome-vfs:0.1.msM31:3:i386:0:Stuff
|
||||
Essential Packages:gnome-vfs-devel:0.1.msM31:3:i386:0:Stuff
|
||||
Essential Packages:gtkhtml:0.4.msM31:2:i386:0:Stuff
|
||||
Essential Packages:gtkhtml-devel:0.4.msM31:2:i386:0:Stuff
|
||||
Essential Packages:libghttp:1.0.7.msM31:1:i386:0:Stuff
|
||||
Essential Packages:libghttp-devel:1.0.7.msM31:1:i386:0:Stuff
|
||||
Essential Packages:nautilus:0.1.0:prw2:i386:0:Stuff
|
||||
Essential Packages:nautilus-devel:0.1.0:prw2:i386:0:Stuff
|
||||
Essential Packages:oaf:0.3.0.msM31:2:i386:0:Stuff
|
||||
Essential Packages:oaf-devel:0.3.0.msM31:2:i386:0:Stuff
|
||||
Nautilus:GConf:0.5.EazelSourceSnapshot::i386::
|
||||
Nautilus:GConf-devel:0.5.EazelSourceSnapshot::i386::
|
||||
Nautilus:ORBit:0.5.2.EazelSourceSnapshot::i386::
|
||||
Nautilus:ORBit-devel:0.5.2.EazelSourceSnapshot::i386::
|
||||
Nautilus:bonobo:0.15.EazelSourceSnapshot:prw:i386::
|
||||
Nautilus:bonobo-devel:0.15.EazelSourceSnapshot:prw:i386::
|
||||
Nautilus:control-center:1.2.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:control-center-devel:1.2.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:eog:0.3.EazelSourceSnapshot::i386::
|
||||
Nautilus:gdk-pixbuf:0.8.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:gdk-pixbuf-devel:0.8.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:gnome-print:0.20.EazelSourceSnapshot::i386::
|
||||
Nautilus:gnome-print-devel:0.20.EazelSourceSnapshot::i386::
|
||||
Nautilus:gnome-vfs:0.1.EazelSourceSnapshot::i386::
|
||||
Nautilus:gnome-vfs-devel:0.1.EazelSourceSnapshot::i386::
|
||||
Nautilus:gtkhtml:0.4.EazelSourceSnapshot::i386::
|
||||
Nautilus:gtkhtml-devel:0.4.EazelSourceSnapshot::i386::
|
||||
Nautilus:libghttp:1.0.7.EazelSourceSnapshot::i386::
|
||||
Nautilus:libghttp-devel:1.0.7.EazelSourceSnapshot::i386::
|
||||
Nautilus:medusa:0.1.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:medusa-devel:0.1.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:nautilus:0.1.0:prw:i386::
|
||||
Nautilus:nautilus-devel:0.1.0:prw:i386::
|
||||
Nautilus:oaf:0.4.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:oaf-devel:0.4.0.EazelSourceSnapshot::i386::
|
||||
Nautilus:gnome-libs:1.2.3::i386::
|
||||
Nautilus:gtk+:1.2.8::i386::
|
||||
Nautilus:glib:1.2.8::i386::
|
||||
Nautilus:imlib:1.9.8.1::i386::
|
||||
Nautilus:imlib-configurator::i386::
|
||||
Nautilus:libxml:1.8.7::i386::
|
||||
Nautilus:gnome-libs-devel:1.2.3::i386::
|
||||
Nautilus:gtk+-devel:1.2.8::i386::
|
||||
Nautilus:glib-devel:1.2.8::i386::
|
||||
Nautilus:imlib-devel:1.9.8.1::i386::
|
||||
Nautilus:libxml-devel:1.8.7::i386::
|
||||
Nautilus:imlib-cfgeditor:1.9.8.1::i386::
|
||||
Nautilus:mozilla:5.0::i386::
|
||||
|
|
|
@ -63,6 +63,7 @@ create_default_metadata (const char* config_file) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
rv = create_default_configuration_metafile (config_file);
|
||||
if (rv == FALSE) {
|
||||
g_error (_("*** Could not create the default configuration file! ***\n"));
|
||||
|
|
|
@ -416,6 +416,9 @@ rpm_show_progress (const Header h,
|
|||
break;
|
||||
|
||||
case RPMCALLBACK_INST_PROGRESS: {
|
||||
/* FIXME: bugzilla.eazel.com 1585
|
||||
Need a hash between filenames and packages, so I can lookup the
|
||||
real package here */
|
||||
PackageData *pack;
|
||||
pack = packagedata_new ();
|
||||
pack->name = g_strdup (filename);
|
||||
|
@ -483,8 +486,13 @@ do_rpm_install (EazelInstall *service,
|
|||
binary_headers = g_new (Header, pkg_count + 1);
|
||||
/* First load all rpm headers */
|
||||
for (iterator = packages; iterator ; iterator = iterator->next) {
|
||||
pkg_file = g_strdup_printf ("%s",
|
||||
rpmfilename_from_packagedata ((PackageData*)iterator->data));
|
||||
/* RPM keeps this var (pkg_file), so don't use a g_ func to alloc it,
|
||||
nor should it be freed */
|
||||
/* FIXME: bugzilla.eazel.com 1602
|
||||
I should remember these pointers and free them at the end,
|
||||
except that mayby RPM does, I'm just not sure. And anyways, being the service
|
||||
"it's not that important" :-( */
|
||||
pkg_file = strdup (rpmfilename_from_packagedata ((PackageData*)iterator->data));
|
||||
g_message ("Installing %s...", pkg_file);
|
||||
fd = fdOpen (pkg_file, O_RDONLY, 0644);
|
||||
if (fdFileno (fd) < 0) {
|
||||
|
@ -548,6 +556,7 @@ do_rpm_install (EazelInstall *service,
|
|||
}
|
||||
/* Ensure the order */
|
||||
if (!(eazel_install_get_interface_flags (service) & INSTALL_NOORDER)) {
|
||||
g_message ("Reordering...");
|
||||
if (rpmdepOrder(rpmdep)) {
|
||||
num_failed = num_packages;
|
||||
stop_install = 1;
|
||||
|
@ -609,7 +618,9 @@ do_rpm_install (EazelInstall *service,
|
|||
&probs,
|
||||
eazel_install_get_interface_flags (service),
|
||||
eazel_install_get_problem_filters (service));
|
||||
|
||||
rpmProblemSetPrint (stderr, probs);
|
||||
rpmProblemSetPrint (stdout, probs);
|
||||
g_message ("rpmRunTransactions = %d", rc);
|
||||
rpmProblemSetFree(probs);
|
||||
if (rc == -1) {
|
||||
/* some error */
|
||||
|
@ -1206,14 +1217,21 @@ eazel_install_fetch_rpm_dependencies (EazelInstall *service,
|
|||
if (pack_entry == NULL) {
|
||||
switch (conflict.sense) {
|
||||
case RPMDEP_SENSE_REQUIRES:
|
||||
g_warning (_("%s needs %s %s"), conflict.byName, conflict.needsName, conflict.needsVersion);
|
||||
/* FIXME: bugzilla.eazel.com 1584
|
||||
This sigsegvs...
|
||||
*/
|
||||
g_warning (_("%s %s breaks %s"), conflict.needsName, conflict.needsVersion, conflict.byName);
|
||||
pack_entry = g_list_find_custom (*packages,
|
||||
(gpointer)conflict.needsName,
|
||||
(GCompareFunc)eazel_install_package_name_compare);
|
||||
g_message ("step 1");
|
||||
dep = packagedata_new_from_rpm_conflict_reversed (conflict);
|
||||
g_message ("step 2");
|
||||
dep->archtype = g_strdup (pack->archtype);
|
||||
pack = (PackageData*)(pack_entry->data);
|
||||
g_message ("step 3");
|
||||
pack->status = PACKAGE_BREAKS_DEPENDENCY;
|
||||
g_message ("step assertion");
|
||||
g_assert (dep!=NULL);
|
||||
/* FIXME: bugzilla.eazel.com 1363
|
||||
Here, it'd be cool to compare dep->name to pack->name to see if
|
||||
|
|
|
@ -49,7 +49,15 @@ parse_package (xmlNode* package, gboolean set_toplevel) {
|
|||
rv->version = g_strdup (xml_get_value (package, "VERSION"));
|
||||
rv->minor = g_strdup (xml_get_value (package, "MINOR"));
|
||||
rv->archtype = g_strdup (xml_get_value (package, "ARCH"));
|
||||
rv->bytesize = atoi (xml_get_value (package, "BYTESIZE"));
|
||||
{
|
||||
char *tmp;
|
||||
tmp = xml_get_value (package, "BYTESIZE");
|
||||
if (tmp) {
|
||||
rv->bytesize = atoi (tmp);
|
||||
} else {
|
||||
rv->bytesize = 0;
|
||||
}
|
||||
}
|
||||
rv->summary = g_strdup (xml_get_value (package, "SUMMARY"));
|
||||
rv->distribution = trilobite_get_distribution ();
|
||||
if (set_toplevel) {
|
||||
|
|
|
@ -32,6 +32,14 @@ module Trilobite {
|
|||
*/
|
||||
string get_icon ();
|
||||
};
|
||||
|
||||
interface PasswordQueryClient : Bonobo::Unknown {
|
||||
string get_password (in string prompt);
|
||||
};
|
||||
|
||||
interface PasswordQuery : Bonobo::Unknown {
|
||||
void set_query_client (in PasswordQueryClient client);
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -36,6 +36,8 @@ libtrilobiteinclude_HEADERS = \
|
|||
trilobite-service.h \
|
||||
trilobite-service-public.h \
|
||||
trilobite-service-private.h \
|
||||
trilobite-service-passwordquery-public.h \
|
||||
trilobite-service-passwordquery-private.h \
|
||||
trilobite-core-messaging.h \
|
||||
trilobite-core-distribution.h \
|
||||
trilobite-core-metadata-manager.h \
|
||||
|
@ -52,6 +54,7 @@ libtrilobite_la_SOURCES = \
|
|||
trilobite-service-stubs.c \
|
||||
trilobite-service-skels.c \
|
||||
trilobite-service.c \
|
||||
trilobite-service-passwordquery.c \
|
||||
trilobite-core-messaging.c \
|
||||
trilobite-core-distribution.c \
|
||||
trilobite-core-metadata-manager.c \
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/* -*- 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 Library 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 Library 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: Eskil Heyn Olsen <eskil@eazel.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef TRILOBITE_PASSWORDQUERY_PRIVATE_H
|
||||
#define TRILOBITE_PASSWORDQUERY_PRIVATE_H
|
||||
|
||||
struct _TrilobitePasswordQueryPrivate {
|
||||
gboolean destroyed;
|
||||
gboolean alive;
|
||||
|
||||
};
|
||||
|
||||
#endif /* TRILOBITE_PASSWORDQUERY_PRIVATE_H */
|
|
@ -0,0 +1,77 @@
|
|||
/* -*- 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 Library 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 Library 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: Eskil Heyn Olsen <eskil@eazel.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/* trilobite-service.h: Interface for objects representing
|
||||
the toplevel type for services ("trilobites").
|
||||
*/
|
||||
|
||||
#ifndef TRILOBITE_PASSWORDQUERY_H
|
||||
#define TRILOBITE_PASSWORDQUERY_H
|
||||
|
||||
#include <libgnome/gnome-defs.h>
|
||||
#include <bonobo/bonobo-object.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#define TRILOBITE_TYPE_PASSWORDQUERY (trilobite_passwordquery_get_type ())
|
||||
#define TRILOBITE_PASSWORDQUERY(obj) (GTK_CHECK_CAST ((obj), TRILOBITE_TYPE_PASSWORDQUERY, TrilobitePasswordQuery))
|
||||
#define TRILOBITE_PASSWORDQUERY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TRILOBITE_TYPE_PASSWORDQUERY, TrilobitePasswordQueryClass))
|
||||
#define TRILOBITE_IS_PASSWORDQUERY(obj) (GTK_CHECK_TYPE ((obj), TRILOBITE_TYPE_PASSWORDQUERY))
|
||||
#define TRILOBITE_IS_PASSWORDQUERY_CLASS(klass)(GTK_CHECK_CLASS_TYPE ((obj), TRILOBITE_TYPE_PASSWORDQUERY))
|
||||
|
||||
typedef struct _TrilobitePasswordQuery TrilobitePasswordQuery;
|
||||
typedef struct _TrilobitePasswordQueryClass TrilobitePasswordQueryClass;
|
||||
|
||||
struct _TrilobitePasswordQueryClass
|
||||
{
|
||||
BonoboObjectClass parent_class;
|
||||
|
||||
|
||||
gpointer servant_init;
|
||||
gpointer servant_fini;
|
||||
gpointer servant_vepv;
|
||||
};
|
||||
|
||||
typedef struct _TrilobitePasswordQueryPrivate TrilobitePasswordQueryPrivate;
|
||||
|
||||
struct _TrilobitePasswordQuery
|
||||
{
|
||||
BonoboObject parent;
|
||||
TrilobitePasswordQueryPrivate *private;
|
||||
};
|
||||
|
||||
GtkType trilobite_passwordquery_get_type (void);
|
||||
gboolean trilobite_passwordquery_construct (TrilobitePasswordQuery *trilobite,
|
||||
Trilobite_PasswordQuery corba_trilobite);
|
||||
TrilobitePasswordQuery* trilobite_passwordquery_new (void);
|
||||
POA_Trilobite_PasswordQuery__epv* trilobite_passwordquery_get_epv (void);
|
||||
void trilobite_passwordquery_destroy (GtkObject *object);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* TRILOBITE_PASSWORDQUERY_H */
|
|
@ -0,0 +1,243 @@
|
|||
/* -*- 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 Library 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 Library 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: Eskil Heyn Olsen <eskil@eazel.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/* trilobite-service.c: Implementation for the toplevel
|
||||
interface for trilobite objects */
|
||||
|
||||
#include <config.h>
|
||||
#include <bonobo.h>
|
||||
|
||||
#include "trilobite-service.h"
|
||||
#include "trilobite-service-passwordquery-public.h"
|
||||
#include "trilobite-service-passwordquery-private.h"
|
||||
|
||||
enum {
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
/* static guint trilobite_passwordquery_signals[LAST_SIGNAL] = { 0 }; */
|
||||
|
||||
static BonoboObjectClass *trilobite_passwordquery_parent_class;
|
||||
|
||||
/*****************************************
|
||||
Corba stuff
|
||||
*****************************************/
|
||||
|
||||
static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
|
||||
|
||||
typedef struct {
|
||||
POA_Trilobite_PasswordQuery servant;
|
||||
BonoboObject *bonobo_object;
|
||||
} impl_POA_Trilobite_PasswordQuery;
|
||||
|
||||
POA_Trilobite_PasswordQuery__epv*
|
||||
trilobite_passwordquery_get_epv(void)
|
||||
{
|
||||
POA_Trilobite_PasswordQuery__epv *epv;
|
||||
|
||||
epv = g_new0 (POA_Trilobite_PasswordQuery__epv, 1);
|
||||
|
||||
return epv;
|
||||
};
|
||||
|
||||
/*****************************************
|
||||
GTK+ object stuff
|
||||
*****************************************/
|
||||
|
||||
void
|
||||
trilobite_passwordquery_destroy (GtkObject *object)
|
||||
{
|
||||
TrilobitePasswordQuery *trilobite;
|
||||
/* g_message ("in trilobite_passwordquery_destroy"); */
|
||||
|
||||
g_return_if_fail (object != NULL);
|
||||
g_return_if_fail (TRILOBITE_IS_PASSWORDQUERY (object));
|
||||
|
||||
trilobite = TRILOBITE_PASSWORDQUERY (object);
|
||||
|
||||
if (trilobite->private != NULL) {
|
||||
g_free (trilobite->private);
|
||||
}
|
||||
|
||||
if (GTK_OBJECT_CLASS (trilobite_passwordquery_parent_class)->destroy) {
|
||||
/* g_message ("calling trilobite-passwordquery-parent->destroy ()"); */
|
||||
GTK_OBJECT_CLASS (trilobite_passwordquery_parent_class)->destroy (object);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
trilobite_passwordquery_set_arg (GtkObject *object,
|
||||
GtkArg *arg,
|
||||
guint arg_id)
|
||||
{
|
||||
TrilobitePasswordQuery *trilobite;
|
||||
|
||||
g_assert (object != NULL);
|
||||
g_assert (TRILOBITE_IS_PASSWORDQUERY (object));
|
||||
|
||||
trilobite = TRILOBITE_PASSWORDQUERY (object);
|
||||
|
||||
switch (arg_id) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
trilobite_passwordquery_class_initialize (TrilobitePasswordQueryClass *klass)
|
||||
{
|
||||
GtkObjectClass *object_class;
|
||||
|
||||
/* g_message ("in trilobite_passwordquery_class_initialize"); */
|
||||
|
||||
object_class = (GtkObjectClass*) klass;
|
||||
object_class->destroy = (void(*)(GtkObject*))trilobite_passwordquery_destroy;
|
||||
object_class->set_arg = trilobite_passwordquery_set_arg;
|
||||
|
||||
trilobite_passwordquery_parent_class = gtk_type_class (bonobo_object_get_type ());
|
||||
|
||||
klass->servant_init = POA_Trilobite_PasswordQuery__init;
|
||||
klass->servant_fini = POA_Trilobite_PasswordQuery__fini;
|
||||
|
||||
klass->servant_vepv = g_new0 (POA_Trilobite_PasswordQuery__vepv,1);
|
||||
((POA_Trilobite_PasswordQuery__vepv*)klass->servant_vepv)->_base_epv = &base_epv;
|
||||
((POA_Trilobite_PasswordQuery__vepv*)klass->servant_vepv)->Bonobo_Unknown_epv = bonobo_object_get_epv ();
|
||||
((POA_Trilobite_PasswordQuery__vepv*)klass->servant_vepv)->Trilobite_PasswordQuery_epv = trilobite_passwordquery_get_epv ();
|
||||
};
|
||||
|
||||
gboolean
|
||||
trilobite_passwordquery_construct (TrilobitePasswordQuery *trilobite,
|
||||
Trilobite_PasswordQuery corba_trilobite)
|
||||
{
|
||||
g_assert (trilobite != NULL);
|
||||
g_assert (TRILOBITE_IS_PASSWORDQUERY (trilobite));
|
||||
g_return_val_if_fail (corba_trilobite != CORBA_OBJECT_NIL, FALSE);
|
||||
|
||||
if (!bonobo_object_construct (BONOBO_OBJECT (trilobite), (CORBA_Object) corba_trilobite)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static Trilobite_PasswordQuery
|
||||
trilobite_passwordquery_create_corba_object (BonoboObject *trilobite)
|
||||
{
|
||||
impl_POA_Trilobite_PasswordQuery *servant;
|
||||
void (*servant_init) (PortableServer_Servant servant, CORBA_Environment *ev);
|
||||
CORBA_Environment ev;
|
||||
|
||||
/* g_message ("in trilobite_passwordquery_create_corba_object"); */
|
||||
|
||||
g_assert (trilobite != NULL);
|
||||
|
||||
CORBA_exception_init(&ev);
|
||||
|
||||
servant = (impl_POA_Trilobite_PasswordQuery*) g_new0 (BonoboObjectServant, 1);
|
||||
((POA_Trilobite_PasswordQuery*) servant)->vepv = TRILOBITE_PASSWORDQUERY_CLASS ( GTK_OBJECT (trilobite)->klass)->servant_vepv;
|
||||
servant->bonobo_object = trilobite;
|
||||
|
||||
servant_init = TRILOBITE_PASSWORDQUERY_CLASS ( GTK_OBJECT (trilobite)->klass)->servant_init;
|
||||
servant_init ((PortableServer_Servant)servant, &ev);
|
||||
ORBIT_OBJECT_KEY (((POA_Trilobite_PasswordQuery*) servant)->_private)->object = NULL;
|
||||
|
||||
if (ev._major != CORBA_NO_EXCEPTION) {
|
||||
g_warning ("Cannot instantiate Trilobite_PasswordQuery corba object");
|
||||
g_free (servant);
|
||||
CORBA_exception_free (&ev);
|
||||
return CORBA_OBJECT_NIL;
|
||||
}
|
||||
|
||||
CORBA_exception_free (&ev);
|
||||
|
||||
return (Trilobite_PasswordQuery) bonobo_object_activate_servant (trilobite, servant);
|
||||
}
|
||||
|
||||
static void
|
||||
trilobite_passwordquery_initialize (TrilobitePasswordQuery *trilobite)
|
||||
{
|
||||
Trilobite_PasswordQuery corba_trilobite;
|
||||
|
||||
/* g_message ("in trilobite_passwordquery_initialize"); */
|
||||
|
||||
g_return_if_fail (trilobite != NULL);
|
||||
g_return_if_fail (TRILOBITE_IS_PASSWORDQUERY (trilobite));
|
||||
|
||||
corba_trilobite = trilobite_passwordquery_create_corba_object (BONOBO_OBJECT (trilobite));
|
||||
|
||||
if (trilobite_passwordquery_construct (trilobite, corba_trilobite) == FALSE) {
|
||||
trilobite_passwordquery_destroy (GTK_OBJECT (trilobite));
|
||||
trilobite = NULL;
|
||||
}
|
||||
|
||||
trilobite->private = g_new0 (TrilobitePasswordQueryPrivate,1);
|
||||
|
||||
trilobite->private->destroyed = FALSE;
|
||||
trilobite->private->alive = TRUE;
|
||||
}
|
||||
|
||||
GtkType
|
||||
trilobite_passwordquery_get_type (void)
|
||||
{
|
||||
static GtkType trilobite_passwordquery_type = 0;
|
||||
|
||||
/* g_message ("into trilobite_passwordquery_get_type"); */
|
||||
|
||||
/* First time it's called ? */
|
||||
if (!trilobite_passwordquery_type)
|
||||
{
|
||||
static const GtkTypeInfo trilobite_passwordquery_info =
|
||||
{
|
||||
"TrilobitePasswordQuery",
|
||||
sizeof (TrilobitePasswordQuery),
|
||||
sizeof (TrilobitePasswordQueryClass),
|
||||
(GtkClassInitFunc) trilobite_passwordquery_class_initialize,
|
||||
(GtkObjectInitFunc) trilobite_passwordquery_initialize,
|
||||
/* reserved_1 */ NULL,
|
||||
/* reserved_2 */ NULL,
|
||||
(GtkClassInitFunc) NULL,
|
||||
};
|
||||
|
||||
/* Get a unique GtkType */
|
||||
trilobite_passwordquery_type = gtk_type_unique (bonobo_object_get_type (), &trilobite_passwordquery_info);
|
||||
}
|
||||
|
||||
return trilobite_passwordquery_type;
|
||||
}
|
||||
|
||||
TrilobitePasswordQuery*
|
||||
trilobite_passwordquery_new()
|
||||
{
|
||||
TrilobitePasswordQuery *trilobite;
|
||||
|
||||
/* g_message ("in trilobite_passwordquery_new"); */
|
||||
|
||||
trilobite = TRILOBITE_PASSWORDQUERY (gtk_type_new (TRILOBITE_TYPE_PASSWORDQUERY));
|
||||
|
||||
if (trilobite == NULL) {
|
||||
g_warning ("Could not create a TrilobitePasswordQuery*");
|
||||
}
|
||||
|
||||
trilobite_passwordquery_initialize (trilobite);
|
||||
|
||||
return trilobite;
|
||||
}
|
||||
|
|
@ -11,7 +11,6 @@ emblems_DATA = \
|
|||
favorite.png \
|
||||
important.gif \
|
||||
new.gif \
|
||||
personal.png \
|
||||
remote.gif \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@ icon_DATA =\
|
|||
emblem-new.gif \
|
||||
emblem-noread.png \
|
||||
emblem-nowrite.png \
|
||||
emblem-personal.svg \
|
||||
emblem-remote.gif \
|
||||
emblem-symbolic-link.png \
|
||||
emblems.png \
|
||||
|
|
|
@ -7,5 +7,4 @@ vector_DATA = \
|
|||
i-regular.xml \
|
||||
vector.xml
|
||||
|
||||
|
||||
EXTRA_DIST = $(vector_DATA)
|
||||
|
|
|
@ -66,6 +66,7 @@ CATALOGS =
|
|||
CATOBJEXT = .gmo
|
||||
CC = gcc
|
||||
CPP = gcc -E
|
||||
CXX = c++
|
||||
DATADIRNAME = share
|
||||
DLLTOOL = @DLLTOOL@
|
||||
EAZEL_SERVICES = 1
|
||||
|
@ -84,6 +85,8 @@ GLIB_CONFIG = /gnome/bin/glib-config
|
|||
GLIB_LIBS = -L/gnome/lib -lglib
|
||||
GMOFILES = da.gmo de.gmo fr.gmo gl.gmo ja.gmo ko.gmo no.gmo ru.gmo sv.gmo tr.gmo
|
||||
GMSGFMT = /usr/bin/msgfmt
|
||||
GNOMECANVASPIXBUF_INCLUDEDIR =
|
||||
GNOMECANVASPIXBUF_LIBS = -rdynamic -L/gnome/lib -L/usr/X11R6/lib -lgdk_pixbuf -ltiff -ljpeg -lpng -lz -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm -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
|
||||
|
@ -91,7 +94,7 @@ 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 -I/usr/X11R6/include -DNEED_GNOMESUPPORT_H -I/gnome/lib/gnome-libs/include -I/gnome/include/gnome-xml
|
||||
GTKHTML_CFLAGS = -I/gnome/include -I/gnome/lib/glib/include -I/usr/X11R6/include -DNEED_GNOMESUPPORT_H -I/gnome/lib/gnome-libs/include -I/gnome/include/gnome-xml -DGTKHTML_HAVE_GCONF
|
||||
GTKHTML_LIBS = -rdynamic -L/gnome/lib -L/usr/X11R6/lib -L/usr/lib -lgtkhtml -lgnomeprint -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgnome -lgnomesupport -lesd -laudiofile -ldb1 -lgdk_pixbuf -ltiff -ljpeg -lpng -lxml -lz -lgconf -lgconf-gtk -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm
|
||||
GTK_CFLAGS =
|
||||
GTK_LIBS =
|
||||
|
@ -117,9 +120,9 @@ MOZILLA_COMPONENT_CFLAGS = -I/usr/include/mozilla
|
|||
MOZILLA_COMPONENT_LDFLAGS = -L/usr/lib/mozilla
|
||||
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_CFLAGS =
|
||||
OAF_CONFIG = /gnome/bin/oaf-config
|
||||
OAF_LIBS = -L/gnome/lib -loaf -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lglib -lnsl -lm
|
||||
OAF_LIBS =
|
||||
OBJDUMP = @OBJDUMP@
|
||||
ORBIT_CFLAGS = -I/gnome/lib/glib/include -I/gnome/include
|
||||
ORBIT_CONFIG = /gnome/bin/orbit-config
|
||||
|
@ -156,7 +159,7 @@ CFLAGS = -g $(WERROR)
|
|||
|
||||
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_SOURCES = main.c support.c support.h interface.c interface.h callbacks.c callbacks.h installer.c installer.h
|
||||
|
||||
|
||||
nautilus_installer_LDFLAGS = -static
|
||||
|
|
|
@ -7,8 +7,17 @@
|
|||
#include <eazel-install-public.h>
|
||||
#include <libtrilobite/helixcode-utils.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#define EAZEL_SERVICES_DIR_HOME "/var/eazel"
|
||||
#define EAZEL_SERVICES_DIR EAZEL_SERVICES_DIR_HOME "/services"
|
||||
|
||||
#define HOSTNAME "testmachine.eazel.com"
|
||||
#define PORT_NUMBER 80
|
||||
#define PROTOCOL PROTOCOL_HTTP
|
||||
|
@ -28,7 +37,7 @@ char *failure_info;
|
|||
|
||||
static void
|
||||
eazel_install_progress (EazelInstall *service,
|
||||
const char *name,
|
||||
const PackageData *pack,
|
||||
int amount,
|
||||
int total,
|
||||
GtkWidget *widget)
|
||||
|
@ -39,14 +48,14 @@ eazel_install_progress (EazelInstall *service,
|
|||
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); */
|
||||
fprintf (stdout, "Install Progress - %s - %d %d %% %f\r", pack->name?pack->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_label_set_text (package_label, pack->name + strlen (TMP_DIR) + 1);
|
||||
gtk_progress_bar_update (progressbar, pct/100);
|
||||
|
||||
fflush (stdout);
|
||||
|
@ -167,6 +176,29 @@ install_failed (EazelInstall *service,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
make_dirs ()
|
||||
{
|
||||
int retval;
|
||||
if (! g_file_test (EAZEL_SERVICES_DIR, G_FILE_TEST_ISDIR)) {
|
||||
if (! g_file_test (EAZEL_SERVICES_DIR_HOME, G_FILE_TEST_ISDIR)) {
|
||||
retval = mkdir (EAZEL_SERVICES_DIR_HOME, 0755);
|
||||
if (retval < 0) {
|
||||
if (errno != EEXIST) {
|
||||
g_error (_("*** Could not create services directory (%s)! ***\n"), EAZEL_SERVICES_DIR_HOME);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
retval = mkdir (EAZEL_SERVICES_DIR, 0755);
|
||||
if (retval < 0) {
|
||||
if (errno != EEXIST) {
|
||||
g_error (_("*** Could not create services directory (%s)! ***\n"), EAZEL_SERVICES_DIR);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void installer (GtkWidget *window,
|
||||
gint method)
|
||||
{
|
||||
|
@ -174,6 +206,8 @@ void installer (GtkWidget *window,
|
|||
GtkProgressBar *progressbar;
|
||||
GtkLabel *package_label;
|
||||
|
||||
make_dirs ();
|
||||
|
||||
if (method==UPGRADE) {
|
||||
gnome_warning_dialog ("We don't do UPGRADE yet");
|
||||
return;
|
||||
|
@ -184,21 +218,19 @@ void installer (GtkWidget *window,
|
|||
"silent", FALSE,
|
||||
"debug", TRUE,
|
||||
"test", check_for_root_user () ? FALSE : TRUE,
|
||||
"force", FALSE,
|
||||
"force", TRUE,
|
||||
"depend", FALSE,
|
||||
"update", method==UPGRADE ? TRUE : FALSE,
|
||||
"update", TRUE,
|
||||
"uninstall", method==UNINSTALL ? TRUE : FALSE,
|
||||
"downgrade", FALSE,
|
||||
"protocol", PROTOCOL,
|
||||
"tmp_dir", TMP_DIR,
|
||||
"rpmrc_file", RPMRC,
|
||||
"hostname", HOSTNAME,
|
||||
"server", HOSTNAME,
|
||||
"rpm_storage_path", REMOTE_RPM_DIR,
|
||||
"package_list_storage_path", package_list [ method ],
|
||||
"port_number", PORT_NUMBER,
|
||||
"server_port", PORT_NUMBER,
|
||||
NULL));
|
||||
|
||||
service = eazel_install_new_with_config ("/var/eazel/services/eazel-services-config.xml");
|
||||
g_assert (service != NULL);
|
||||
|
||||
eazel_install_set_server (service, HOSTNAME);
|
||||
|
@ -226,7 +258,7 @@ void installer (GtkWidget *window,
|
|||
eazel_install_install_packages (service, NULL);
|
||||
break;
|
||||
case UNINSTALL:
|
||||
eazel_install_uninstall (service);
|
||||
eazel_install_uninstall_packages (service, NULL);
|
||||
break;
|
||||
};
|
||||
eazel_install_destroy (GTK_OBJECT (service));
|
||||
|
|
|
@ -225,7 +225,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 button, and watch the installer do it's thing..."));
|
||||
label11 = gtk_label_new (_("Press the big begin button, and watch the installer do it's thing...\n(between download and install, we'll take a small break)"));
|
||||
gtk_widget_set_name (label11, "label11");
|
||||
gtk_widget_ref (label11);
|
||||
gtk_object_set_data_full (GTK_OBJECT (window), "label11", label11,
|
||||
|
@ -233,14 +233,14 @@ create_window (void)
|
|||
gtk_widget_show (label11);
|
||||
gtk_box_pack_start (GTK_BOX (vbox5), label11, TRUE, FALSE, 0);
|
||||
|
||||
table2 = gtk_table_new (2, 2, TRUE);
|
||||
table2 = gtk_table_new (2, 2, FALSE);
|
||||
set_white_stuff (GTK_WIDGET (table2));
|
||||
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_box_pack_start (GTK_BOX (vbox5), table2, FALSE, FALSE, 16);
|
||||
gtk_table_set_row_spacings (GTK_TABLE (table2), 16);
|
||||
|
||||
label12 = gtk_label_new (_("Package :"));
|
||||
|
@ -290,7 +290,7 @@ create_window (void)
|
|||
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);
|
||||
gtk_box_pack_start (GTK_BOX (vbox5), fixed1, FALSE, FALSE, 16);
|
||||
|
||||
begin_button = gtk_button_new_with_label (_("Begin"));
|
||||
gtk_widget_set_name (begin_button, "begin_button");
|
||||
|
@ -314,7 +314,7 @@ create_window (void)
|
|||
gnome_druid_page_finish_set_logo_bg_color (GNOME_DRUID_PAGE_FINISH (finish_page), &finish_page_logo_bg_color);
|
||||
gnome_druid_page_finish_set_title_color (GNOME_DRUID_PAGE_FINISH (finish_page), &finish_page_title_color);
|
||||
gnome_druid_page_finish_set_title (GNOME_DRUID_PAGE_FINISH (finish_page), _("Finished"));
|
||||
gnome_druid_page_finish_set_text (GNOME_DRUID_PAGE_FINISH (finish_page), _("Thanks for taking the time to try out Nautilus.\n\nMay your life be a healthy and happy one."));
|
||||
gnome_druid_page_finish_set_text (GNOME_DRUID_PAGE_FINISH (finish_page), _("If the installation was successfull, you can\n findthe nautilus icon in the applications menu.\n\nThanks for taking the time to try out Nautilus.\n\nMay your life be a healthy and happy one."));
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (druid), "cancel",
|
||||
GTK_SIGNAL_FUNC (druid_cancel),
|
||||
|
|
|
@ -3,7 +3,7 @@ if test x$DISPLAY = x; then
|
|||
fi
|
||||
if test $UID -ne 0; then
|
||||
echo ""
|
||||
echo "Nautilus-Installer v 0.1c"
|
||||
echo "Nautilus-Installer v 0.1d"
|
||||
echo ""
|
||||
echo "argle bargle glob glyf muhainapuniua bork bork bork"
|
||||
echo "fisk er dumme og heste er grimme"
|
||||
|
@ -14,7 +14,7 @@ if test $UID -ne 0; then
|
|||
echo ""
|
||||
echo "Please enter root password at the prompt"
|
||||
xhost + localhost
|
||||
su - -c "export DISPLAY=$DISPLAY && cd $PWD && echo Uncompressing... && sh $0"
|
||||
su - -c "export DISPLAY=$DISPLAY && cd $PWD && echo Uncompressing... && sh $0 $USER"
|
||||
xhost - localhost
|
||||
exit
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue