Project

General

Profile

Actions

Bug #381

open

libflashrom API should be versioned before a release

Added by Edward . over 2 years ago. Updated about 2 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
Release prep
Target version:
Start date:
05/13/2022
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
Affected OS:

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.

Actions #1

Updated by Evan Benn about 2 years ago

  • Assignee changed from Evan Benn to Anastasia Klimchuk
Actions #2

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

Actions #3

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
Actions #4

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.

Actions #5

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.

Actions #6

Updated by Anastasia Klimchuk about 2 months ago

  • Parent task deleted (#438)
Actions

Also available in: Atom PDF