sedusedan has asked for the wisdom of the Perl Monks concerning the following question:
Not strictly related to Perl, because I want this to be useful outside the Perl toolchain too, but here it goes...
We already have the Changes file with its CPAN::Changes::Spec format standard (which I'm also using outside of Perl/CPAN distributions). What I'm trying to develop is something more machine readable and "machine actionable", for example:
- The nature of the release (bug fixes only, new features, removed features, whether there are API incompatibilities, security update). If there is an API incompatibility or removed feature, I would like the installer (like cpanminus) to show the detail of the change first and ask for user's confirmation.
- What services/daemons should be restarted.
- What things need to be done after an upgrade/install (e.g. what config variables need/recommended to be set). This can be just a note and displayed for the user.
- There will be others, but so far those (#1, #2, #3) are the ones that are immediately needed in my project.
One way to do this is to define more detailed specialized specification to the Changes entry, some of which have already been seen in practice. For example, if there is a group/heading called INCOMPATIBLE CHANGES, it means there are incompatible changes and the installer should confirm first. Likewise for #2, for example, we can define a group/heading called RESTARTED SERVICES or SERVICES TO RESTART (though this is arguably a misuse of the Changes file).
I am also aware that OS packages (like Debian's .deb, Redhat's RPM) deal with these installation/upgrade issues.
Any pointers/thoughts? I'd like to keep things simple and tend to just encode the required metadata/information into Changes, but I also don't want to end up with an overloaded and strange-looking Changes.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: A more machine readable and "machine actionable" Changes
by tobyink (Canon) on Jun 11, 2014 at 20:41 UTC | |
Re: A more machine readable and "machine actionable" Changes
by Anonymous Monk on Jun 11, 2014 at 08:17 UTC | |
Re: A more machine readable and "machine actionable" Changes
by DrHyde (Prior) on Jun 12, 2014 at 11:10 UTC |