Index: shares-services/src/shares/shares-tool.c =================================================================== --- shares-services.orig/src/shares/shares-tool.c 2010-05-26 15:55:30.000000000 +0200 +++ shares-services/src/shares/shares-tool.c 2010-05-26 15:55:39.000000000 +0200 @@ -62,9 +62,6 @@ tool->smb_config = oobs_smb_config_get (); gst_tool_add_configuration_object (gst_tool, tool->smb_config, TRUE); - tool->services_config = oobs_services_config_get (); - gst_tool_add_configuration_object (gst_tool, tool->services_config, TRUE); - tool->hosts_config = oobs_hosts_config_get (); gst_tool_add_configuration_object (gst_tool, tool->hosts_config, TRUE); @@ -256,30 +253,19 @@ gst_shares_tool_update_services_availability (shares_tool); } +/* Services detection is very rough: + * since Upstart jobs are not supported (yet?), we fall back on checking + * that files are present, which means packages are installed. + * Anyway, the only right way to do this would be checking that + * the package is present, e.g. using PackageKit. */ static void gst_shares_tool_update_services_availability (GstSharesTool *tool) { - OobsList *services; - OobsListIter iter; - GObject *service; - gboolean valid; - GstServiceRole role; - - services = oobs_services_config_get_services (OOBS_SERVICES_CONFIG (tool->services_config)); - valid = oobs_list_get_iter_first (services, &iter); + if (g_file_test ("/usr/sbin/smbd", G_FILE_TEST_EXISTS)) + tool->smb_available = TRUE; - while (valid) { - service = oobs_list_get (services, &iter); - role = gst_service_get_role (OOBS_SERVICE (service)); - - if (role == GST_ROLE_FILE_SERVER_SMB) - tool->smb_available = TRUE; - else if (role == GST_ROLE_FILE_SERVER_NFS) - tool->nfs_available = TRUE; - - g_object_unref (service); - valid = oobs_list_iter_next (services, &iter); - } + if (g_file_test ("/usr/sbin/rpc.nfsd", G_FILE_TEST_EXISTS)) + tool->nfs_available = TRUE; } GstSharesTool* Index: shares-services/src/shares/shares-tool.h =================================================================== --- shares-services.orig/src/shares/shares-tool.h 2010-05-26 15:46:31.000000000 +0200 +++ shares-services/src/shares/shares-tool.h 2010-05-26 15:55:39.000000000 +0200 @@ -44,7 +44,6 @@ OobsObject *smb_config; /* read only */ - OobsObject *services_config; OobsObject *hosts_config; OobsObject *users_config;