Bump :)<br><br>I've been working last week a bit on the internet plugin to fetch some system proxy configuration in unix.<br><br>Since<br><br>- the plugin is external<br>- it loads gconf libraries using dlopen, so the libraries are not needed during compilation nor running<br>
- if gconf library is not found, looks at the http-proxy and ftp-proxy env vars.<br><br>It should break nothing :P<br><br>But I'm not an expert :/.<br><br>What do you think? Is it worth of integration?<br><br>Guille<br>
<br><div class="gmail_quote">On Mon, Apr 9, 2012 at 4:38 PM, Guillermo Polito <span dir="ltr"><<a href="mailto:guillermopolito@gmail.com">guillermopolito@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ok,<br><br>I did this:<br>- configured the plugin as external<br>- created <br><br>CogFamilyUnixConfig>>configureInternetConfigPlugin: maker<br> super configureInternetConfigPlugin: maker.<br> maker addPlatformSources: #( 'sqUnixInternetConfiguration')<br>
<br>and put the file attached in /platforms/unix/plugins/InternetConfigPlugin.<br>I finally used dlopen to load gconf dinamically and check if it is available, and if it's not, I check the env vars with getenv().<br>
<br>
If someone can do a little review, it would be nice :).<br><br>Guille<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Sun, Apr 8, 2012 at 9:55 PM, Guillermo Polito <span dir="ltr"><<a href="mailto:guillermopolito@gmail.com" target="_blank">guillermopolito@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Haha! :)<br><br>You won me :). I was about to reply this:<br><br>"Ok, so I talked with Esteban today :). And thanks to him I reached the conclussion that this plugin should be external."<br>
<br>I'll spend some hours tomorrow to finish it.<br>
<br>Now, as I think it happens with the ssl plugin... Where should we put the code and what should I in order to get it easily integrated in the ci buildings? :)<br><br>Thanks!<br>Guille<div><div>
<br><br><div class="gmail_quote">On Sun, Apr 8, 2012 at 9:46 PM, Igor Stasenko <span dir="ltr"><<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 7 April 2012 17:55, Guillermo Polito <<a href="mailto:guillermopolito@gmail.com" target="_blank">guillermopolito@gmail.com</a>> wrote:<br>
> Was playing in my weekend on the InternetConfigPlugin for ubuntu. And<br>
> that's the problem :), It uses gnome2 stuff to access the system<br>
> configuration (because gnome handles it's own configuration... :/).<br>
><br>
> Now, I made it work doing something like this in vmmaker:<br>
><br>
> CogFamilyUnixConfig>>configureInternetConfigPlugin: maker<br>
> "extra rules for InternetConfigPlugin"<br>
><br>
> super configureInternetConfigPlugin: maker.<br>
> maker addDefinitions: '`pkg-config --libs --cflags gtk+-2.0 gconf-2.0`'.<br>
> maker addExternalLibrary: '/usr/lib/libgconf-2.so.4'.<br>
> maker addPlatformSources: #( 'sqUnixInternetConfiguration.c').<br>
><br>
> And adding it in the list of internal plugins for Unix.<br>
><br>
> But this should only compile and work on a system with gconf and stuff<br>
> installed :).<br>
><br>
</div>Then don't make this plugin internal, but external instead. Because if<br>
library is missing,<br>
VM will refuse to start. In contrast, if your plugin will be in<br>
external module, then module will refuse to load<br>
if lib is missing.<br>
<div><br>
> So, how does or should vmmaker and vm building process handle something like<br>
> this?<br>
><br>
<br>
</div>The philosophy of CMake configurations is to be concrete and without<br>
conditionals. I.E. they should<br>
not contain "if this, do this, if that do that" , instead if you have<br>
such choice, one should make another configuration.<br>
<br>
There is no way to predict how different is platform on which you<br>
building VM from platform where it used (especially in case of unix<br>
systems and their numerous flavors). So, what is working on your OS,<br>
could not work on another. That's why i don't see a point to put<br>
conditionals in build process.<br>
<br>
In contrast, if you have a concrete configuration, which says: if you<br>
want to build me, you should have this, this and this, and if you want<br>
to use the built artifact you should have this, this and this<br>
installed, then it makes things much more predictable and<br>
straightforward.<br>
<br>
<br>
> Guille<br>
><br>
> _______________________________________________<br>
> VM-beginners mailing list<br>
> <a href="mailto:VM-beginners@lists.squeakfoundation.org" target="_blank">VM-beginners@lists.squeakfoundation.org</a><br>
> <a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br>
><br>
<span><font color="#888888"><br>
--<br>
Best regards,<br>
Igor Stasenko.<br>
</font></span></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>