toltec
toltec copied to clipboard
Provide package changelogs
As discussed before (https://github.com/toltec-dev/toltec/pull/88#issuecomment-701514368, https://github.com/toltec-dev/toltec/pull/63#issuecomment-698758156, and on Discord) it would be useful to maintain changelogs. They could be presented to end-users at upgrade time, and used by testers to know what features to focus on. There are two main questions to answer:
How to store and maintain the changelogs
I propose having a changelog
file in each recipe folder in a format derived from the Debian changelog format. Each changelog entry would contain:
- The package name (in the case of split package recipes, this determines which sub-package is concerned by the current changelog entry).
- The package version.
- A list of changes, incorporating the main changes from upstream and the packaging changes.
- The name and email address of the person who prepared the release (not necessarily the same as the
maintainer=
value). - The package release date (not the same as the
timestamp=
value, which is the upstream release date).
Here’s an example of how that could look like for the vnsee
package.
vnsee (0.3.0-1)
* Rename from rmvncclient to VNSee.
* Update libvncserver to 0.9.13.
* Add --help flag to show a help message.
* Add --version flag to show the current version number.
* Add --no-buttons, --no-pen and --no-touch flags to disable interactions with the respective input devices.
* Improve repaint latency (thanks @asmanur!)
+ Periodically trigger repaints during long update batches instead of waiting for the end of each batch.
+ Repaint continuously in DU mode when using the pen.
-- Mattéo Delabre <[email protected]> 2020-10-23T13:57:35Z
vnsee (0.2.0-1)
* Add support for pen input.
+ Do not support pressure and tilt sensitivity yet.
* Allow refreshing the screen manually by using the Home button.
* Allow quitting the app by using the Power button.
-- Mattéo Delabre <[email protected]> 2020-04-12T23:52:37Z
We would need to add recipe lint rules to check that each version has a properly-formatted package entry.
How to distribute the changelogs
The changelogs could be used to automatically generate release notes for stable merges, by diffing the merge branch’s changelogs with the existing stable changelogs. As for how the changelog entries should be presented to end-users, there is currently no support for that in opkg. We could implement something using post-install and post-upgrade hooks however.
for recipes that support multiple packages, i'd like to keep one changelog file - how could that work?
We could have a single changelog file with each entry in that file specifying which package of the recipe it applies to. Would that work for you?