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:
Eskil Heyn Olsen 2000-07-08 03:08:03 +00:00
parent 61eba534c5
commit 830d17851e
18 changed files with 554 additions and 57 deletions

View file

@ -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:

View file

@ -38,6 +38,5 @@ eazel_uninstall_SOURCES = \
$(NULL)
eazel_gen_xml_SOURCES = \
eazel-gen-xml.c \
eazel-gen-xml.c \
$(NULL)

View file

@ -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::

View file

@ -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"));

View file

@ -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

View file

@ -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) {

View file

@ -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

View file

@ -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 \

View file

@ -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 */

View file

@ -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 */

View file

@ -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;
}

View file

@ -11,7 +11,6 @@ emblems_DATA = \
favorite.png \
important.gif \
new.gif \
personal.png \
remote.gif \
$(NULL)

View file

@ -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 \

View file

@ -6,6 +6,5 @@ vector_DATA = \
i-regular.svg \
i-regular.xml \
vector.xml
EXTRA_DIST = $(vector_DATA)

View file

@ -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

View file

@ -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));

View file

@ -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),

View file

@ -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