fossology
fossology copied to clipboard
Docker: empty or "uknown" values for VERSION in /usr/local/etc/fossology/VERSION
Description
The version information is empty or "unknown" in the Docker image at /usr/local/etc/fossology/VERSION. This leads to problems with the migration scripts when upgrade from e.g. 4.2.0 to 4.3.0 as the "Release" value in sysconfig table in the database is empty too:
Migrate data from 2.1 to 2.2 in /usr/local/lib/fossology Rename license in /usr/local/lib/fossology Missing column clearing_decision.clearing_pk, you should update to version 2.6.2 before migration
How to reproduce
$ docker run -t fossology/fossology:4.3.0 cat /usr/local/etc/fossology/VERSION
Versions
4.2.0, 4.2.1, 4.3.0
Logs
$ docker run -t fossology/fossology:4.3.0 cat /usr/local/etc/fossology/VERSION
...
[BUILD] VERSION="" BRANCH="" COMMIT_HASH= BUILD_DATE=2023/06/28 06:52 +00:00 COMMIT_DATE=
$ docker run -t fossology/fossology:4.2.1 cat /usr/local/etc/fossology/VERSION
...
[BUILD] VERSION="unknown" BRANCH="unknown" COMMIT_HASH=unknown BUILD_DATE=2022/11/15 10:21 +00:00 COMMIT_DATE=unknown
--
$ docker run -t fossology/fossology:4.2.0 cat /usr/local/etc/fossology/VERSION
...
[BUILD] VERSION="unknown" BRANCH="unknown" COMMIT_HASH=unknown BUILD_DATE=2022/11/11 12:14 +00:00 COMMIT_DATE=unknown
DB:
fossology=# select * FROM sysconfig WHERE variablename = 'Release'; sysconfig_pk | variablename | conf_value | ui_label | vartype | group_name | group_order | description | validation_function | option_value --------------+--------------+------------+----------+---------+------------+-------------+-------------+---------------------+-------------- 76 | Release | | Release | 2 | Release | | | | (1 row)
Workaround to upgrade from 4.2.0 to 4.3.0:
UPDATE sysconfig SET conf_value = '4.2.0' WHERE variablename = 'Release';
Hi @mosesdd,
The current CMake build system fetches the version using git describe --tags (please refer FoUtilities.cmake). The version is then specified in the VERSION file at /usr/local/etc/fossology. It appears that no version tags were set during releases. To address this, you can manually set the version using git tag 4.4.0 (for example), and scripts will recognize it.
I tested the same and here are the results
version at the header is no longer empty
[BUILD]
VERSION="4.4.0"
BRANCH="master"
COMMIT_HASH=8286d8
BUILD_DATE=2024/02/24 22:55 +05:30
COMMIT_DATE=2024/01/29 11:32 +05:30
version is restored in VERSION file at /usr/local/etc/fossology
Tagging maintainers for release tag issue @shaheemazmalmmd @GMishx