コード例 #1
0
ファイル: pk-backend-alpm.c プロジェクト: kaltsi/PackageKit
static void
pk_backend_configure_environment (PkBackend *self)
{
	struct utsname un;
	gchar *value;

	g_return_if_fail (self != NULL);

	/* PATH might have been nuked by D-Bus */
	g_setenv ("PATH", PK_BACKEND_DEFAULT_PATH, FALSE);

	uname (&un);
	value = g_strdup_printf ("%s/%s (%s %s) libalpm/%s", PACKAGE_TARNAME,
				 PACKAGE_VERSION, un.sysname, un.machine,
				 alpm_version ());
	g_setenv ("HTTP_USER_AGENT", value, FALSE);
	g_free (value);

	value = pk_backend_get_locale (self);
	if (value != NULL) {
		setlocale (LC_ALL, value);
		g_free (value);
	}

	value = pk_backend_get_proxy_http (self);
	if (value != NULL) {
		gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("http_proxy", uri, TRUE);
		g_free (uri);
		g_free (value);
	}

	value = pk_backend_get_proxy_https (self);
	if (value != NULL) {
		gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("https_proxy", uri, TRUE);
		g_free (uri);
		g_free (value);
	}

	value = pk_backend_get_proxy_ftp (self);
	if (value != NULL) {
		gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("ftp_proxy", uri, TRUE);
		g_free (uri);
		g_free (value);
	}

	value = pk_backend_get_proxy_socks (self);
	if (value != NULL) {
		gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("socks_proxy", uri, TRUE);
		g_free (uri);
		g_free (value);
	}

	value = pk_backend_get_no_proxy (self);
	if (value != NULL) {
		g_setenv ("no_proxy", value, TRUE);
		g_free (value);
	}

	value = pk_backend_get_pac (self);
	if (value != NULL) {
		gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("pac", uri, TRUE);
		g_free (uri);
		g_free (value);
	}
}
コード例 #2
0
void
pk_alpm_environment_initialize (PkBackendJob *job)
{
	struct utsname un;
	gchar *value;

	/* PATH might have been nuked by D-Bus */
	g_setenv ("PATH", PK_BACKEND_DEFAULT_PATH, FALSE);

	uname (&un);
	value = g_strdup_printf ("%s/%s (%s %s) libalpm/%s", PACKAGE_TARNAME,
				 PACKAGE_VERSION, un.sysname, un.machine,
				 alpm_version ());
	g_setenv ("HTTP_USER_AGENT", value, FALSE);
	g_free (value);

	value = pk_backend_job_get_locale (job);
	if (value != NULL) {
		setlocale (LC_ALL, value);
		g_free (value);
	}

	value = pk_backend_job_get_proxy_http (job);
	if (value != NULL) {
		_cleanup_free_ gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("http_proxy", uri, TRUE);
		g_free (value);
	}

	value = pk_backend_job_get_proxy_https (job);
	if (value != NULL) {
		_cleanup_free_ gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("https_proxy", uri, TRUE);
		g_free (value);
	}

	value = pk_backend_job_get_proxy_ftp (job);
	if (value != NULL) {
		_cleanup_free_ gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("ftp_proxy", uri, TRUE);
		g_free (value);
	}

	value = pk_backend_job_get_proxy_socks (job);
	if (value != NULL) {
		_cleanup_free_ gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("socks_proxy", uri, TRUE);
		g_free (value);
	}

	value = pk_backend_job_get_no_proxy (job);
	if (value != NULL) {
		g_setenv ("no_proxy", value, TRUE);
		g_free (value);
	}

	value = pk_backend_job_get_pac (job);
	if (value != NULL) {
		_cleanup_free_ gchar *uri = pk_backend_spawn_convert_uri (value);
		g_setenv ("pac", uri, TRUE);
		g_free (value);
	}
}