Frama-C Bug Tracking System - Frama-C
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000606||Frama-C||Kernel > Makefile||public||2010-10-13 22:24||2010-12-09 19:09|
|Assigned To||signoles|| |
|Status||closed||Resolution||no change required|| |
|Product Version||Frama-C Boron-20100401|| |
|Target Version||Fixed in Version|| |
|Summary||0000606: Don't edit files in make install. Instead, just use all plug-ins in the plugin directory|
|Description||The current Frama-C architecture makes packaging Frama-C (and anything using it) unnecessarily difficult. Mark Rader and I managed to package "Frama-C" and "Why" for Fedora, but a few minor changes to Frama-C would make it MUCH easier to package and install (and thus update in the future).
In particular, please change Frama-C so that adding or removing a plug-in does NOT require any file contents to be changed. Instead, Frama-C should just look at the plug-in directory, and presume that all files in that directory (with the proper extensions) are to be used. That way, to add a plug-in, an installer only needs to add a file to that directory; to remove the plug-in, the installer only needs to remove the files in that directory.
This would also require changing the Frama-C "Makefile.dynamic" file so that installation would never modify the file "$(FRAMAC_SHARE)/known_plugins.ac"
or any other file during "make install".
The reason is that modern packaging systems (e.g. rpm of Red Hat/Fedora/Novell/SuSE and deb for Debian/Ubuntu) separate the install step into TWO stages. The first one, which does NOT have root privileges, is done by the distributor to create a package; this normally runs "make install DESTDIR=tempdir". The contents of tempdir are then stored in the package.
When the user installs the package, that is the second stage, but normally that just copies files and that's it.
|Steps To Reproduce|
For more about how to make source releases easy to install, please see:
"Releasing Free/Libre/Open Source Software (FLOSS) for Source Installation"
|Tags||No tags attached.|
|related to ||0000461||closed ||signoles ||Frama-c-gui doesn't install on bytecode architecture |
|child of ||0000462||closed ||virgile ||Makefile.dynamic should not change known_plugins.ac |
|child of ||0000528||closed ||signoles ||Makefile.dynamic should always write to $(DESTDIR) |
|2010-10-13 22:24||dwheeler||New Issue|
|2010-10-13 22:24||dwheeler||Status||new => assigned|
|2010-10-13 22:24||dwheeler||Assigned To|| => signoles|
|2010-10-14 08:56||signoles||Relationship added||related to 0000462|
|2010-10-14 08:56||signoles||Relationship added||related to 0000528|
|2010-10-14 08:56||signoles||Relationship added||related to 0000461|
|2010-10-14 09:05||signoles||Relationship deleted||related to 0000462|
|2010-10-14 09:05||signoles||Relationship deleted||related to 0000528|
|2010-10-14 09:06||signoles||Relationship added||child of 0000462|
|2010-10-14 09:06||signoles||Relationship added||child of 0000528|
|2010-10-14 09:14||signoles||Note Added: 0001189|
|2010-10-14 09:14||signoles||Status||assigned => feedback|
|2010-10-16 23:40||pascal||Note Added: 0001197|
|2010-12-09 19:09||signoles||Status||feedback => closed|
|2010-12-09 19:09||signoles||Resolution||open => no change required|