KDE kio slave sysinfo di SUSE su slackware-current
Inviato: mer 6 giu 2007, 1:33
Come da topic, nuovo articolo in wikislacky, sezione scritti misti.
Ciao a tutti.
Ciao a tutti.
Codice: Seleziona tutto
kio_file: *** Starting kio_sysinfo
kio_sysinfo: (/org/freedesktop/Hal/devices/volume_uuid_257e9c8a_9f10_47d4_8529_e48878d74ec1,sda3,38G Media,,true,/dev/sda3,,reiserfs,false,,media/hdd_unmounted,,---,/org/freedesktop/Hal/devices/volume_uuid_6C1095B7109588AA,sda2,37G Media,,true,/dev/sda2,/win-xp,ntfs,true,,media/hdd_mounted,,---,/org/freedesktop/Hal/devices/volume_uuid_A03C986E3C9840E8,sda1,84G Media,,true,/dev/sda1,/win-vista,ntfs,true,,media/hdd_mounted,,---)
process 1150: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 254.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
kioslave: ####### CRASH ###### protocol = kio_sysinfo pid = 1150 signal = 6
Codice: Seleziona tutto
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/" ) )
Codice: Seleziona tutto
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/devices/volume" ) )
Codice: Seleziona tutto
dcop kded mediamanager fullList
Codice: Seleziona tutto
/org/freedesktop/Hal/devices/volume_uuid_c614b883_acac_498f_8ab2_30975e9a45b2
sda3
Dispositivo 155G
true
/dev/sda3
/home
ext3
true
media/hdd_mounted
---
/org/freedesktop/Hal/devices/volume_uuid_ea59dbde_b2f0_4435_b740_a2232c8d6e3d
sda2
Dispositivo 81G
true
/dev/sda2
ext3
false
media/hdd_unmounted
---
/org/freedesktop/Hal/devices/volume_uuid_342811C128118352
sda1
Dispositivo 81G
true
/dev/sda1
/mnt/winxp
ntfs
true
media/hdd_mounted
---
/org/freedesktop/Hal/devices/platform_floppy_0_storage
0
true
/dev/floppy/0
false
media/floppy_unmounted
Codice: Seleziona tutto
di.mounted = ( *++it == "true" ); // bool
Codice: Seleziona tutto
m_info[ OS_SYSTEM ] = readFromFile( "/etc/lsb-release", "DISTRIB_DESCRIPTION", "=" );
m_info[ OS_VERSION ] = readFromFile( "/etc/lsb-release", "DISTRIB_CODENAME", "=" );
Codice: Seleziona tutto
dcop kded networkstatus status www.google.com
per quello io ho forzato in questo modo un po' penosinogianco ha scritto:Resta inoltre da sotituire la stringa "lsb-release" con "slackware-version" (sed fa al caso nostro) e cambiare leggermente il codiceper assegnare i valori giusti alle stringhe, poi dovremmo esserci.Codice: Seleziona tutto
m_info[ OS_SYSTEM ] = readFromFile( "/etc/lsb-release", "DISTRIB_DESCRIPTION", "=" ); m_info[ OS_VERSION ] = readFromFile( "/etc/lsb-release", "DISTRIB_CODENAME", "=" );
Codice: Seleziona tutto
if((fp =fopen ("/etc/slackware-version", "r"))==NULL)
m_info[ OS_SYSTEM ] = readFromFile( "/etc/issue" );
else
{ fclose(fp);
m_info[ OS_SYSTEM ] = "Slackware";//readFromFile( "/etc/slackware-version", "DISTRIB_DESCRIPTION", "=" );
m_info[ OS_VERSION ] = readFromFile( "/etc/slackware-version", m_info[ OS_SYSTEM ], " " );
}
Io ho messodapuzz ha scritto: per quello io ho forzato in questo modo un po' penosinoCodice: Seleziona tutto
if((fp =fopen ("/etc/slackware-version", "r"))==NULL) m_info[ OS_SYSTEM ] = readFromFile( "/etc/issue" ); else { fclose(fp); m_info[ OS_SYSTEM ] = "Slackware";//readFromFile( "/etc/slackware-version", "DISTRIB_DESCRIPTION", "=" ); m_info[ OS_VERSION ] = readFromFile( "/etc/slackware-version", m_info[ OS_SYSTEM ], " " ); }
Codice: Seleziona tutto
if((fp =fopen ("/etc/lsb-release", "r"))==NULL)
m_info[ OS_SYSTEM ] = readFromFile( "/etc/slackware-version" );
else
{
...
}
Codice: Seleziona tutto
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/devices/volume" ) )
{
dbus_error_init(&error);
di.total = libhal_device_get_property_uint64(m_halContext, di.id.latin1(), "volume.size", &error);
if (dbus_error_is_set(&error))
di.total = 0;
}
di.model = libhal_device_get_property_string( m_halContext, di.id.latin1( ), "block.storage_device", &error );
di.model = libhal_device_get_property_string( m_halContext, di.model.latin1( ), "storage.model", &error );
++it; // skip separator
m_devices.append( di );
}
m_info[PRODUCT ] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.system.product", &error );
dbus_error_init(&error);
m_info[MANUFACTURER ] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.system.manufacturer", &error );
dbus_error_init(&error);
m_info[TYPE] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.chassis.type", &error );
dbus_error_init(&error);
m_info[BIOSVENDOR] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.bios.vendor", &error );
dbus_error_init(&error);
m_info[BIOSVERSION] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.bios.version", &error );
dbus_error_init(&error);
libhal_ctx_free(m_halContext);
return true;
Penso che per il momento si potrebbe fare un pacchetto e farlo testare ad altri utenti, dal momento che i "fix" sembrano essere molto dipendenti dai PC su cui sono stati scritti, oppure al max fare una patch che faccia andare il tutto su slackware.dapuzz ha scritto:si potrebbe avvisare l'autrice per far fare una nuova versione revisionata e corretta... ho provato a contattarla, ma non so se non abbia scritto lei il kio, o se se ne sia completamente scordata!