From owner-freebsd-eclipse@FreeBSD.ORG Tue Jan 12 14:21:35 2010 Return-Path: Delivered-To: freebsd-eclipse@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4040106566C for ; Tue, 12 Jan 2010 14:21:35 +0000 (UTC) (envelope-from sepotvin@FreeBSD.org) Received: from gatekeeper1.zerofail.com (gatekeeper1.zerofail.com [208.71.11.38]) by mx1.freebsd.org (Postfix) with ESMTP id 482EE8FC08 for ; Tue, 12 Jan 2010 14:21:35 +0000 (UTC) Received: from telcobridges.com by FreeBSD.org (gatekeeper1.zerofail.com) (SecurityGateway 2.0.1) with SMTP id SG001827909.MSG for ; Tue, 12 Jan 2010 09:21:30 -0500 Received: from leia.telcobridges.lan ([208.94.105.59]) by telcobridges.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 12 Jan 2010 09:21:32 -0500 Message-ID: <4B4C856C.1090609@FreeBSD.org> Date: Tue, 12 Jan 2010 09:21:32 -0500 From: "Stephane E. Potvin" Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.23 (X11/20091130) MIME-Version: 1.0 To: Andrey Kosachenko References: <4B3A1084.90505@videotron.ca> <4B3B27CB.7040906@fstaals.net> <4B3BD120.40108@FreeBSD.org> <4B3CA19D.9050504@fstaals.net> <4B3DD4E3.60902@gddsn.org.cn> <4B3EF82E.3090708@gddsn.org.cn> <4B3F1E20.2020703@fstaals.net> <4B44AA3E.40306@FreeBSD.org> <76dec37a1001061654p697594e7xa840e5bf0e120d59@mail.gmail.com> <4B490B18.1090609@gmail.com> In-Reply-To: <4B490B18.1090609@gmail.com> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 12 Jan 2010 14:21:32.0716 (UTC) FILETIME=[8A3BBEC0:01CA9392] X-SGHeloLookup-Result: hardfail smtp.helo=telcobridges.com (does not match 208.71.8.41) X-SGOP-RefID: str=0001.0A020204.4B4C856C.0307,ss=1,fgs=0 (_st=1 _vt=0 _iwf=0) Cc: freebsd-eclipse@FreeBSD.org Subject: Re: Eclipse 3.5.1 X-BeenThere: freebsd-eclipse@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "FreeBSD users of eclipse EDI, tools, rich client apps & ports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 14:21:35 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Andrey Kosachenko wrote: > Hi, guys, > Hi Andrey, > Just my 5 cents regarding plugins installation challenge. > > Honestly speaking, I'd like to gain complete understanding how things > should work, because it is very easy to screw up yourself with all that > fancy stuff :(. > > I'm also 100% able to reproduce plugins issue here: i.e. I can install > any plugin by means of eclipse software installer (p2), installation > goes smoothly but on the next launch installed plugin(s) won't be picked > up. Okay, at this point I'd like to emphasize that there is _no_ > 'installation' issue, the real issue I believe that eclipse does not > suck into the list of plugins installed by ordinary user. > Ok, I admit it, I'm not officially completely baffled. I've been trying for the last few days to reproduce all the plugin problems that have been report without any luck so far. With all the installations that I have, things just work as they should (tm). > So far so good because we have an option here: i.e. put stuff manually > into dropins folder (/usr/local/share/eclipse/dropins or somewhere else > (actually where org.eclipse.equinox.p2.reconciler.dropins.directory > points to)). p2 should take care about dropins/* updates (at least > documentation states so). Though subsequent updates will be stored into > ~/.eclipse/org.eclipse.platform_3.5.0_94697585/*. The latter looks a bit > odd :). > While this is a supported configuration, this area is reserved for global plugins that will be installed by the ports infrastructure (although we're not there yet and there is not port that does that at this time). You should not have to put anything manually over there. All the plugins installed by individual users should end up in their ~/.eclipse/org.eclipse.platform_3.5.0_xxxxxxxx/ directory. > But I'm just thinking about complete p2 utilization (i.e. without > involving installation via dropins ('watched directories' concept)). > I did some tests and, unfortunately, haven't gained any solution which I > really liked. > > Briefly: > - As far as I understood we stick with shared installation concept (case > of Linux, BSD and alike systems), when the core stuff is installed > somewhere in the system and only root is able to append stuff into that > layout (so-called 'based' configuration); > > - unprivileged user is able to utilize core stuff without additional > settings; > > - when it goes about additional plugins user may require then several > options are possible: > > 1) utilization of dropins folder (repeats old well-known 'wild west' > approach with copying stuff into plugins/ features/ folders and > subsequent lanunch with '-clean' parameter); > > 2) 'bundle pools' (relatively new concept for multi-user/multi-instance > configurations); > > 3) various means assuming utilization of *.lnk, .eclipseextension, > copying into plugins/* features/*, enabling legacy update manager and so > forth... > Here's how this is supposed to work: 1- Main eclipse p2 area (in $PREFIX/lib/eclipse) should only contain the base eclipse framework, no additional plugins. As it's not writable by users, it should never change during the lifetime of an installation (if it changed, the port framework would complain upon deinstallation of the package). 2- Plugins installed by ports should end up in the $PREFIX/share/eclipse directory. All users will end up with these plugins when they start eclipse 3- Plugins installed by individual users should end up in their ~/.eclipse directory when installed via the plugin manager. > Okay, let get back to plugins issue. AFAIU eclipse loads only stuff > listed in /usr/local/lib/eclipse/configuration/config.ini. All plugins > that ordinary user installs via p2 are stored into > ~/.eclipse/org.eclipse.platform_3.5.0_94697585/*. Obviously ordinary > user has no privilege to write into > /usr/local/lib/eclipse/configuration/config.ini. So records go into > ~/.eclipse/org.eclipse.platform_3.5.0_946975857/configuration/config.ini. > And it looks like eclipse merges records from both config.ini files in > order to build list of installed plugins, but it loads plugins _only_ > from the main (the first one) config.ini. > This should not happen. The reconciler should load the two configs and resolve things correctly. There used to be a problem with older eclipse where the config.ini would be ignored if it was older than the eclipse main config.ini file but it has been fixed since. > So, the question is how to force it to load plugins from 'right' > config.ini. Basically there is a room for various hacks here. For > example it is possible to adjust > org.eclipse.equinox.simpleconfigurator.configUrl. But this is not a case > for mult-iuser configurations (okay, this is not quite true, because I > believe it is possible to use @user.home, though I'm not sure if it is a > good idea to put variables like that into shared configuration area in > case of very strict policies). I also had no luck with > osgi.configuration.cascaded set to 'true'... > > Okay, to make a long story short, seems so far I had in store only one > very simple (but not elegant) trick which allows to do pure p2 > installation/updates. It works for me quite well: > - install new eclipse as usual; > - run eclipse under ordinary user (to create layout under ~/.eclipse); > - exit eclipse application; > - mv /usr/local/lib/eclipse/configuration > /usr/local/lib/eclipse/configuration.orig; > - run eclipse again; install all required plugins via p2; eclipse should > pick up all required info from ~/.eclipse directory along with all > locally installed plugins. > > PS: > I believe this is definitely not right way to go. And I don't like it. > But I also dislike to move things around using dropins folder or > whatsoever. I also assume that I have no deep understanding how things > should work with brand new p2. So any corrections/notions/ideas are > welcome. > Ok, I need to find a way to reproduce this as it just works for me. Could you please send me your eclipse configuration offline (it's fairly large). To get it, go into Help->About Eclipse SDK, select the "Installation Details" button, and then the "Configuration" tab. Send me the content of this pane. If possible, could you also send along your error log (should be accessible via the "View Error Log" button in the same window. Please use a stock configuration with the plugins installed via the plugin manager if possible. Thanks, Steph -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAktMhWwACgkQmdOXtTCX/nvibACgjCRtS29j7xrPKvbRZ35N8bzg at4AnRwFgu5CH0GMzOCXVuDtk22zl6Jm =vlcU -----END PGP SIGNATURE-----