On Wed, Oct 26, 2011 at 11:20:46AM -0400, sami wagiaalla wrote: > Hi, > > The way we currently install Eclipse plugins in Fedora is incorrect and > somewhat fragile. > > RPM places all the plugin artifacts in the proper directories. However > that does not update the eclipse metadata. This means that until the > next time eclipse starts it is unaware of the newly installed plugins. > > Because the user would normally run Eclipse not as root Eclipse does not > have permission to write to the meta data files located in the > installation directory. It therefore creates a parallel version in the > user's home directory ~/.eclipse. This creates a fragile installation > and leads to a whole host of problems. > > To improve this I have written apatch which runs the Eclipse reconciler > during rpm installation. The Eclipse reconciler is an Eclipse > application which goes through and checks the installation directories > and updates the eclipse metadata with any newly installed plugins. > > To add support for this in your eclipse package you have to add the > following line to your rpm spec file: > > %_eclipse_pkg [package name] > > Here is an example from the eclipse-rse spec file for the > eclipse-rse-sdk rpm: > > %package sdk > [...] > %_eclipse_pkg sdk > > The above macro expands to the following: > > %post sdk > touch /var/run/eclipse/run-reconciler > > %postun sdk > touch /var/run/eclipse/run-reconciler > > if [ $1 == 0 ]; then > eclipse-reconciler.sh > fi > > %posttrans sdk > eclipse-reconciler.sh > > I apologize if you have experienced instability in Eclipse installations > on rawhide, it is probably due to these changes. Please let me know if > you have any comments questions or suggestions. > > I will be filing a request to update the Eclipse packaging guidelines. > Yes please. One note, I don't like macros that span multiple scriptlets. Having a macro for each scriptlet (or forgoing a macro if the resulting code is simple enough) seems to be about the right level of indirection. -Toshio
Attachment:
pgpMAPLqN5eVq.pgp
Description: PGP signature
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel