Merge merge
Martin Bazley (331) 379 posts |
If we can combine HForm and SCSIForm into one application, why can’t we do the same for BootMerge and SysMerge? IMO, SysMerge is a relic of RO2, and offers only a subset of the functionality which ought to be provided by BootMerge. Combining the two would also make installing new software (e.g. NetSurf) easier. Also, I’m thinking specifically of package management when I write this: could the combined utility, as well as having a manual GUI front-end in Configure, also support the merging of a skeleton !Boot with the current !Boot by the command line? |
Trevor Johnson (329) 1645 posts |
That sounds like an excellent idea to me! |
Dave Higton (281) 668 posts |
Me too. I did have the vaguest notions of the same idea recently, having got into the habit of updating !Boot and !System with every new version of NetSurf. Congratulations to Martin for putting the idea up here. |
Martin Bazley (331) 379 posts |
A few more thoughts: FontMerge should go as well – it’s just as bad as SysMerge. In the case that anything needs to be installed into Choices (mainly PreDesk/Tasks, but also !StrED_cfg, !ZapUser, etc.), it should just go in a standard RO3-style Choices directory, and the utility should automatically redirect anything beneath there into the current value of <Choices$Write> instead (which may be the same, but isn’t on recent versions of Select). |
Alan Buckley (167) 232 posts |
This sounds like an excellent idea to me as well. It would be nice if these facilities could be provided in a module or C library (that could be used with Norcroft and GCC) so a package manager could use them directly and get back sensible error codes/messages easily. |
Jeffrey Lee (213) 6048 posts |
Since Norcroft doesn’t support dynamic/runtime linking a module would make more sense than a library. That way it’ll be easy to upgrade the code if the !Boot structure changes. |
Steve Revill (20) 1361 posts |
I’m pretty sure the Installer module sits behind all of the xxxMerge plug-ins. That is defined in the Ursula Configure Functional Specification – so worth a look. |
Jeffrey Lee (213) 6048 posts |
Steve is right – I’ve just checked the xxxxMerge source (the plugins are so familiar that they’re all built from the same source) and they all use the Installer *Commands for carrying out the merge actions. However the act of building the agenda (i.e. list of files to merge and how to merge them) is handled locally by xxxxMerge, so maybe there’s some scope for moving that into the Installer module. |