PDA

View Full Version : Pidgin Shouldn't Require GConf...



Psumi
January 16th, 2010, 11:33 PM
http://brainstorm.ubuntu.com/idea/23338/image/1/ (http://brainstorm.ubuntu.com/idea/23338/)

Basically, proxy information is stored in gconf, and that's mainly why pidgin requires gconf to be installed for pidgin to be installed. Ayttm doesn't install gconf, so why should pidgin?

sliketymo
January 17th, 2010, 02:17 AM
Not sure,but I think it has something to do with Evolution integration.

Keyper7
January 17th, 2010, 03:37 AM
Sounds strange, yeah. Specially since they don't use gnome-keyring under the argument of not wanting to tie Pidgin to an specific OS.

Does anyone know how such proxy info is stored in Windows and OSX?

Psumi
January 17th, 2010, 03:39 AM
Sounds strange, yeah. Specially since they don't use gnome-keyring under the argument of not wanting to tie Pidgin to an specific OS.

Does anyone know how such proxy info is stored in Windows and OSX?

According to a bug report, Windows stores proxy information within the registry, which is also not cross-DE.

juancarlospaco
January 17th, 2010, 03:46 AM
GConf-Editor you mean, it doesnt store nothing on itself, its just a GUI Front-end.
:)

Psumi
January 17th, 2010, 03:48 AM
GConf-Editor you mean, it doesnt store nothing on itself, its just a GUI Front-end.
:)

no, gconf is real: http://en.wikipedia.org/wiki/GConf

jpeddicord
January 17th, 2010, 03:54 AM
http://brainstorm.ubuntu.com/idea/23338/image/1/ (http://brainstorm.ubuntu.com/idea/23338/)

Basically, proxy information is stored in gconf, and that's mainly why pidgin requires gconf to be installed for pidgin to be installed. Ayttm doesn't install gconf, so why should pidgin?

It's not that Pidgin stores proxy information in GConf, it's that Pidgin needs to poll proxy information from GNOME which does happen to be stored in the GConf database. So there is a reason for the dependency, it's not just a "let's decide to move these settings to gconf from flat files."

juancarlospaco
January 17th, 2010, 04:05 AM
no, gconf is real: http://en.wikipedia.org/wiki/GConf

I know, im not saying you are wrong,
but it requires Gconf-Editor?, Gconf got a set of tools.

"The application gconf-editor is provided to allow users to change settings manually"

Mr. Picklesworth
January 17th, 2010, 04:46 AM
Gconf is human-readable XML configuration files arranged in a predictable way, thus enabling easy maintenance for users and developers, the consistent creation of default settings, the locking of settings, etc.

It is not a heavy dependency. Pidgin at its heart still depends on GTK, glib, etc. and adding another configuration back-end simply adds unnecessary cruft to maintain.

On another note, as I understand it gconf is being refactored into something more dbusey, FD.org-ish and desktop agnostic, though I'm not following that very closely :)

jpeddicord
January 17th, 2010, 05:03 AM
On another note, as I understand it gconf is being refactored into something more dbusey, FD.org-ish and desktop agnostic, though I'm not following that very closely :)

Yeah, DConf & GSettings or something. At one point I heard it would be implemented directly into GLib, but who knows right now; the spec keeps changing.

falconindy
January 17th, 2010, 05:10 AM
If you don't like having Gconf as a dependency of Pidgin, then rebuild pidgin yourself without gconf. When you get down to it, you can run Pidgin just fine even without libpurple (though you do need to compile against it).

3rdalbum
January 17th, 2010, 05:57 AM
Gconf is a predecessor to "CouchDB" and "DesktopCouch". It's a handy way to store and retrieve data with minimal fuss and no "reinventing-the-wheel". I fully support Pidgin's using Gconf.

Psumi
January 17th, 2010, 02:06 PM
Gconf is a predecessor to "CouchDB" and "DesktopCouch". It's a handy way to store and retrieve data with minimal fuss and no "reinventing-the-wheel". I fully support Pidgin's using Gconf.

So basically, because pidgin requires gconf, I can't have a pure xfce distro without relying on old software such as ayttm.

Similarly, gksu requires a bunch of gnome depends as well, even though it is only a gtk app.

Xbehave
January 17th, 2010, 02:24 PM
Gconf is human-readable XML configuration files arranged in a predictable way, thus enabling easy maintenance for users and developers, the consistent creation of default settings, the locking of settings, etc.
Actually is just the settings API, the only widespread backend is XML configuration but there are/were others such as sqlite backends.

So basically, because pidgin requires gconf, I can't have a pure xfce distro without relying on old software such as ayttm.

Similarly, gksu requires a bunch of gnome depends as well, even though it is only a gtk app.
1) Why do you want a "pure xfce" distro?
2) what is wrong with having gnome dependencies, it's muuuch better than somebody reinventing the wheel every, especially if these are non-gui dependencies.

Psumi
January 17th, 2010, 02:26 PM
If you don't like having Gconf as a dependency of Pidgin, then rebuild pidgin yourself without gconf. When you get down to it, you can run Pidgin just fine even without libpurple (though you do need to compile against it).

Why would I do that? I'm not a builder or compiler for that matter, I'm an end-user.

cb951303
January 17th, 2010, 02:32 PM
I don't understand pidgin devs. They don't want to tie Pidgin to any specific DE and yet they include things like "fetching proxy settings from GNOME".

steeleyuk
January 17th, 2010, 02:34 PM
I don't understand pidgin devs. They don't want to tie Pidgin to any specific DE and yet they include things like "fetching proxy settings from GNOME".

Well they have to, otherwise people would be complaining about not being able to connect when behind a proxy...

Psumi
January 17th, 2010, 02:38 PM
Well they have to, otherwise people would be complaining about not being able to connect when behind a proxy...

Which I don't do.


1) Why do you want a "pure xfce" distro?
2) what is wrong with having gnome dependencies, it's muuuch better than somebody reinventing the wheel every, especially if these are non-gui dependencies.

Because Pidgin is the only real thing that has gnome depends when I install my system. I usually sudo from terminal anyway, so I often don't need gksu unless I need to find a specific package (which I can just search through packages.ubuntu.com anyway.)

I use parole instead of totem.

Xbehave
January 17th, 2010, 03:01 PM
Because Pidgin is the only real thing that has gnome depends when I install my system.
You still didn't answer the questions,
1) Why do you want a "pure XFCE" install?
2) Why should the pidgin devs reinvent the wheel instead of using a non-gui component from gnome


I usually sudo from terminal anyway, so I often don't need gksu unless I need to find a specific package (which I can just search through packages.ubuntu.com anyway.)
Your not supposed to sudo a GUI program because sudo does not setup the environmental variables correctly and under certain circumstances it can result in you being unable to login ( I think it's because your sockets are owned by root so you can't touch your own files)

juancarlospaco
January 17th, 2010, 03:03 PM
XFCE depends on GTK and dependencies of GTK.

jpeddicord
January 17th, 2010, 03:11 PM
Which I don't do.

Believe it or not, there are people who have preferences different from yours. ;)

Simian Man
January 17th, 2010, 03:18 PM
Why would I do that? I'm not a builder or compiler for that matter, I'm an end-user.
You are not really an "end-user" if you give a flip about a small non-GUI dependency being installed along with a chat client. Xbehave is right, why do you care if you have a pure Xfce setup? Did one of the Gnome developers wrong you in some way and you are boycotting their work or something?


Your not supposed to sudo a GUI program because sudo does not setup the environmental variables correctly and under certain circumstances it can result in you being unable to login ( I think it's because your sockets are owned by root so you can't touch your own files)
FYI If you unlock the root password, you can "su -" which will elevate you to a login root shell and GUI programs will work as expected.

cb951303
January 17th, 2010, 03:27 PM
Well they have to, otherwise people would be complaining about not being able to connect when behind a proxy...

I don't see firefox users complaining. A custom proxy settings dialog is the solution.

Xbehave
January 17th, 2010, 04:40 PM
FYI If you unlock the root password, you can "su -" which will elevate you to a login root shell and GUI programs will work as expected.
If "su -" is ok, then something like sudo -i

The -i (simulate initial login) option runs the shell specified in the passwd(5) entry of the target user as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. If a command is specified, it is passed to the shell for execution. Otherwise, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. It also initializes the environment, leaving DISPLAY and TERM unchanged, setting HOME, SHELL, USER, LOGNAME, and PATH, as well as the contents of /etc/environment on Linux and AIX systems. All other environment variables are removed.
might also work? I dunno i always go with kdesudo/gksudo because I know they work, where as I know plain sudo can have unexpected results.

falconindy
January 17th, 2010, 04:58 PM
Why would I do that? I'm not a builder or compiler for that matter, I'm an end-user.
As an end user, I manually compile roughly a dozen packages to remove cruft and ridiculous dependencies.

You're obviously unhappy with the way Canonical has decided to package Pidgin -- if you want to obtain the results you desire, some effort is required on your part. Isn't this the reason people use Linux... so that they have this inherent ability to customize packages to their liking?

The cries of one will not outweigh the needs of many.

steeleyuk
January 17th, 2010, 05:43 PM
I don't see firefox users complaining. A custom proxy settings dialog is the solution.

Just what everybody wants, to have to enter the same proxy information into several different apps...

It would be better if Firefox read the proxy information from gconf as well. Same goes for reading the information from KDE, XFCE, etc.

cb951303
January 17th, 2010, 06:02 PM
Just what everybody wants, to have to enter the same proxy information into several different apps...
If you want an application to be truly DE and OS agnostic there are compromises to do. And make no mistake pidgin had always the goal of being DE agnostic.



It would be better if Firefox read the proxy information from gconf as well. Same goes for reading the information from KDE, XFCE, etc.
Terrible idea. So you want Firefox, KDE and XFCE to depend on a GNOME library?

Note that KDE and XFCE have their own conf. libraries.

Maybe there could be a freedesktop standards or something about the conf. file specs so that every DE could read the information but it's a long term solution.

Xbehave
January 17th, 2010, 06:43 PM
It would be better if Firefox read the proxy information from gconf as well. Same goes for reading the information from KDE, XFCE, etc.
Firefox can/does
kde uses WPAD or environmental variables, it would be nice to have read gconf as an option but kde has it's own proxy configuration tool.

steeleyuk
January 17th, 2010, 10:34 PM
Terrible idea. So you want Firefox, KDE and XFCE to depend on a GNOME library?

I didn't say it should depend on them for every install. If I install Firefox on GNOME, it should check for the availabilty of Gconf and grab the proxy info from there, if its available. Same goes for KDE, XFCE, etc using their own configuration data.


Firefox can/does

I see they've updated it now, I know when I used to connect through the proxy at Uni it would never work until I checked to auto-detect the settings. I was thinking it would be nice to have rid of the proxy dialog altogether however, and use Gconf (or other) data same as Totem does, Rhythmbox does, Empathy does, etc.

cb951303
January 17th, 2010, 10:59 PM
I didn't say it should depend on them for every install. If I install Firefox on GNOME, it should check for the availabilty of Gconf and grab the proxy info from there, if its available. Same goes for KDE, XFCE, etc using their own configuration data.
.

unfortunately, programming-wise, that's not how it works. if you want to use gconf you need to compile your application against gconf libraries and that's what a dependency is.

I think what you mean is compile time flags: something like "./configure --enable-gnome-proxy" should do the trick but this way it's very easy to turn the source code to spaghetti.

I still think that the best solution for Pidgin is to include it's own proxy settings dialog. (BTW I don't use Pidgin, does it already include this?)

jpeddicord
January 17th, 2010, 11:07 PM
unfortunately, programming-wise, that's not how it works. if you want to use gconf you need to compile your application against gconf libraries and that's what a dependency is.

Not entirely true. You can introduce a new run-time dependency without building against a library at all. See dlopen (http://en.wikipedia.org/wiki/Dlopen) for information. It's handy in Python, for example, when using a C library that doesn't have a Python counterpart. Wikipedian example:
void* sdl_library = dlopen("libSDL.so", RTLD_LAZY);
if(sdl_library == NULL) {
// report error ...
} else {
// use the result in a call to dlsym
}

So, technically, Pidgin, Firefox, or any other application could check for the existence of the GConf library, and if it exists, dlopen it and do what's needed. If it doesn't, they could fall back to something else.

del_diablo
January 17th, 2010, 11:20 PM
2) what is wrong with having gnome dependencies, it's muuuch better than somebody reinventing the wheel every, especially if these are non-gui dependencies.

GNOME is the bloatest thing ever for a normal working system.
But hey, lets hope all your favorite apps get tied down to BLOTGNOME and lags to death.

Xbehave
January 17th, 2010, 11:27 PM
GNOME is the bloatest thing ever for a normal working system.
But hey, lets hope all your favorite apps get tied down to BLOTGNOME and lags to death.
A nice rational argument about why not to use gconf, because GNOME is "bloated". I could explain that the whole point of seperate libraries is that you can pull in parts of the functionality without the "bloat" of the rest of gnome, but I doubt you care as you probably consider everything that uses more than 64k "bloat".

falconindy
January 18th, 2010, 02:36 AM
GNOME is the bloatest thing ever for a normal working system.
But hey, lets hope all your favorite apps get tied down to BLOTGNOME and lags to death.
So, what do you use? DWM? Rat Poison? XMonad? Screen? Did you post this from elinks?

phrostbyte
January 18th, 2010, 02:52 AM
Just what everybody wants, to have to enter the same proxy information into several different apps...

It would be better if Firefox read the proxy information from gconf as well. Same goes for reading the information from KDE, XFCE, etc.

I smell a new freedesktop.org standard.