Bug #381
openlibflashrom API should be versioned before a release
0%
Description
The libflashrom API was never quite finalised and in order to avoid being stuck in the future we should at least add a API versioning mechanism before doing a flashrom release.
This way in future a compat layer can be derived for a user while allowing us the flexibility to fundamentally change the API for the better. While unfortunate, it is what it is and a version field is generally a good idea regardless.
There are two types of versioning mechanisms required, one for runtime and the other for build/link-time.
Updated by Evan Benn about 2 years ago
- Assignee changed from Evan Benn to Anastasia Klimchuk
Updated by Evan Benn about 2 years ago
Lets start a list of all the places that have some version:
meson.build
pkg-config --modversion
.so filename: libflashrom.so.1.0.0
libflashrom.map
libflashrom::flashrom_version_info
Updated by Anastasia Klimchuk about 2 years ago
- Status changed from New to In Progress
- Assignee changed from Anastasia Klimchuk to Evan Benn
- Parent task changed from #353 to #438
Updated by Evan Benn about 2 years ago
aklm added: https://review.coreboot.org/c/flashrom/+/70027
Discussed in the meeting, decided to not require this for the 1.3 release as we already have libflashrom for multiple versions without issue.
Updated by Felix Singer about 2 years ago
There is a specification for versioning here https://semver.org. One implementation could be that we create a separate version.h.in file using template strings and that file is hooked up to the Meson and Make build systems which replace these template strings with their actual value. The result is saved to version.h.
This is an example how we do it with Meson for the man page https://github.com/flashrom/flashrom/blob/master/meson.build#L594.