M CMakeLists.txt => CMakeLists.txt +5 -0
@@ 31,6 31,7 @@ message("Selected product: ${PRODUCT}")
message("Selected board: ${BOARD}")
message("Board revision: ${BOARD_REVISION}")
message("PROJECT_TARGET: ${PROJECT_TARGET}")
+message("Version: ${OS_VERSION_MAJOR}.${OS_VERSION_MINOR}.${OS_VERSION_PATCH}-${OS_VERSION_LABEL}")
string(REPLACE "TARGET_" "" PROJECT_TARGET_NAME ${PROJECT_TARGET})
string(TOLOWER "${PROJECT_TARGET_NAME}" PROJECT_TARGET_NAME)
@@ 151,6 152,10 @@ add_custom_target(
COMMAND ${CMAKE_COMMAND}
-DSRC_DIR=${CMAKE_SOURCE_DIR}
-B ${CMAKE_BINARY_DIR}
+ -DOS_VERSION_MAJOR=${OS_VERSION_MAJOR}
+ -DOS_VERSION_MINOR=${OS_VERSION_MINOR}
+ -DOS_VERSION_PATCH=${OS_VERSION_PATCH}
+ -DOS_VERSION_LABEL=${OS_VERSION_LABEL}
-P ${CMAKE_SOURCE_DIR}/cmake/modules/GenVersionHpp.cmake
COMMENT
"Generating version info"
M cmake/modules/AddVersionJson.cmake => cmake/modules/AddVersionJson.cmake +5 -1
@@ 9,10 9,14 @@ function(add_version_json SOURCE_TARGET)
-DBOOTLOADER_VERSION_FILE=${CMAKE_BINARY_DIR}/ecoboot.version
-DBOOT_FILENAME=boot.bin
-DBOOT_FILE=$<TARGET_PROPERTY:${SOURCE_TARGET},BIN_FILE>
- -DBOOT_VERSION=${CMAKE_PROJECT_VERSION}
+ -DBOOT_VERSION=${PROJECT_VERSION}
-DUPDATER_FILENAME=updater.bin
-DUPDATER_FILE=${CMAKE_BINARY_DIR}/updater.bin
-DUPDATER_VERSION_FILE=${CMAKE_BINARY_DIR}/PureUpdater.version
+ -DOS_VERSION_MAJOR=${OS_VERSION_MAJOR}
+ -DOS_VERSION_MINOR=${OS_VERSION_MINOR}
+ -DOS_VERSION_PATCH=${OS_VERSION_PATCH}
+ -DOS_VERSION_LABEL=${OS_VERSION_LABEL}
-B ${CMAKE_BINARY_DIR}
-P ${CMAKE_SOURCE_DIR}/cmake/modules/ConfigureVersionJson.cmake
DEPENDS ecoboot.bin-target
M cmake/modules/GenVersionHpp.cmake => cmake/modules/GenVersionHpp.cmake +0 -4
@@ 7,7 7,3 @@ configure_file(
${SRC_DIR}/source/version.hpp.template
${CMAKE_BINARY_DIR}/source/include/product/version.hpp
)
-
-message("GIT_REV: ${GIT_REV}")
-message("GIT_TAG: ${GIT_TAG}")
-message("Version: ${CMAKE_PROJECT_VERSION}")
M cmake/modules/Version.cmake => cmake/modules/Version.cmake +20 -81
@@ 1,92 1,31 @@
-# from: https://www.mattkeeter.com/blog/2018-01-06-versioning/ (modified)
+# Version cmake sets whole build version
+# it has to be:
+# 1. a parameter to the build, cmake shoudln't guess version - we should provide it explicitly
+# 2. conformant with: https://appnroll.atlassian.net/wiki/spaces/MFP/pages/1168015551/Release+version+and+branch+management
execute_process(COMMAND git rev-parse --short HEAD
OUTPUT_VARIABLE GIT_REV
OUTPUT_STRIP_TRAILING_WHITESPACE
- ERROR_QUIET)
+ )
+execute_process(
+ COMMAND git rev-parse --abbrev-ref HEAD
+ OUTPUT_VARIABLE GIT_BRANCH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
-if ( NOT SRC_DIR )
- set(SRC_DIR ${CMAKE_SOURCE_DIR})
-endif()
-# Check whether we got any revision (which isn't
-# always the case, e.g. when someone downloaded a zip
-# file from Github instead of a checkout)
-if ("${GIT_REV}" STREQUAL "")
- set(GIT_REV "N/A")
- set(GIT_DIFF "")
- set(GIT_TAG "N/A")
- set(GIT_BRANCH "N/A")
- set(GIT_DAILY_TAG "N/A")
+if ( (NOT OS_VERSION_MAJOR MATCHES [0-9]+) OR (NOT OS_VERSION_MINOR MATCHES [0-9]+) OR (NOT OS_VERSION_PATCH MATCHES [0-9]+) )
+ message( WARNING "Version not set properly! Setting version to 0.0.0! Requires MAJOR.MINOR.PATCH as parameters was: ${OS_VERSION_MAJOR}.${OS_VERSION_MINOR}.${OS_VERSION_PATCH}")
+ set(OS_VERSION_MAJOR "0")
+ set(OS_VERSION_MINOR "0")
+ set(OS_VERSION_PATCH "0")
else()
- execute_process(
- COMMAND bash -c "git diff --quiet --exit-code || echo +"
- OUTPUT_VARIABLE GIT_DIFF
- OUTPUT_STRIP_TRAILING_WHITESPACE
- WORKING_DIRECTORY ${SRC_DIR}
- )
- execute_process(
- COMMAND git describe --tags --match "release*" HEAD
- RESULT_VARIABLE ret
- OUTPUT_VARIABLE GIT_TAG
- OUTPUT_STRIP_TRAILING_WHITESPACE
- WORKING_DIRECTORY ${SRC_DIR}
- ERROR_QUIET
- )
- if(NOT ret EQUAL "0")
- set(GIT_TAG "none")
- endif()
- execute_process(
- COMMAND git tag --points-at HEAD
- RESULT_VARIABLE ret
- OUTPUT_VARIABLE GIT_DAILY_TAG
- OUTPUT_STRIP_TRAILING_WHITESPACE
- WORKING_DIRECTORY ${SRC_DIR}
- ERROR_QUIET
- )
- execute_process(
- COMMAND git rev-parse --abbrev-ref HEAD
- OUTPUT_VARIABLE GIT_BRANCH
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- execute_process(
- COMMAND uname -r
- OUTPUT_VARIABLE BUILD_HOST
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- execute_process(
- COMMAND git config user.name
- OUTPUT_VARIABLE BUILD_USER
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- execute_process(
- COMMAND date +%F-%T
- OUTPUT_VARIABLE BUILD_DATE
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- execute_process(
- COMMAND grep tskKERNEL_VERSION_NUMBER ${SRC_DIR}/module-os/FreeRTOS/include/task.h
- COMMAND awk "{print $3}"
- COMMAND tr -d "\""
- OUTPUT_VARIABLE KERNEL_VERSION
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
+ message(STATUS "Version major: ${OS_VERSION_MAJOR} minor: ${OS_VERSION_MINOR} path: ${OS_VERSION_PATCH} label: ${OS_VERSION_LABEL}")
endif()
-if (GIT_DAILY_TAG)
- string(REPLACE "\n" ";" GIT_DAILY_TAG_LIST ${GIT_DAILY_TAG})
- list(LENGTH GIT_DAILY_TAG_LIST DAILY_LEN)
- foreach(TAG_ITEM IN LISTS GIT_DAILY_TAG_LIST)
- if(${TAG_ITEM} MATCHES "release-([0-9]+).([0-9]+).([0-9]+)")
- break()
- elseif(${TAG_ITEM} MATCHES "daily-([0-9]+).([0-9]+).([0-9]+)")
- continue()
- endif()
- endforeach()
+if ( (NOT DEFINED OS_VERSION_LABEL) OR (OS_VERSION_LABEL STREQUAL "") )
+ set(OS_VERSION_LABEL "")
+ set(PROJECT_VERSION ${OS_VERSION_MAJOR}.${OS_VERSION_MINOR}.${OS_VERSION_PATCH})
else()
- string(REGEX MATCH "release-([0-9]+).([0-9]+).([0-9]+)" VERSION_RAW ${GIT_TAG})
+ set(PROJECT_VERSION ${OS_VERSION_MAJOR}.${OS_VERSION_MINOR}.${OS_VERSION_PATCH}-${OS_VERSION_LABEL})
endif()
-set(CMAKE_PROJECT_VERSION_MAJOR "${CMAKE_MATCH_1}")
-set(CMAKE_PROJECT_VERSION_MINOR "${CMAKE_MATCH_2}")
-set(CMAKE_PROJECT_VERSION_PATCH "${CMAKE_MATCH_3}")
-set(CMAKE_PROJECT_VERSION "${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH}")
M config/common.sh => config/common.sh +1 -26
@@ 1,22 1,7 @@
#!/bin/bash -e
-# Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
+# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-MUDITAOS_PARTITION_PRIMARY="MUDITAOS"
-MUDITAOS_PARTITION_RECOVERY="RECOVER"
-MUDITAOS_CURRENT="current"
-MUDITAOS_PREVIOUS="previous"
-MUDITAOS_FACTORY="factory"
-MUDITAOS_UPDATES="updates"
-MUDITAOS_VERSION_MAJOR=""
-MUDITAOS_VERSION_MINOR=""
-MUDITAOS_VERSION_PATCH=""
-MUDITAOS_GIT_TAG=""
-MUDITAUS_GIT_REV=""
-MUDITAOS_GIT_BRANCH=""
-
-IMAGE_FILES="data assets country-codes.db Luts.bin user .boot.json .boot.json.crc32"
-IMAGE_MOVE_TO_ROOT="user .boot.json .boot.json.crc32"
check_any_arch() {
local path="${1}"
local product="${2}"
@@ 28,13 13,3 @@ check_any_arch() {
check_target_rt1051() {
check_any_arch "${@}" 'ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked'
}
-
-MUDITAOS_GIT_TAG=`git describe --tags | awk -F'-' '{print $2}'`
-MUDITAOS_GIT_REV=`git log --pretty=format:'%h' -n 1`
-MUDITAOS_GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`
-
-version=( ${MUDITAOS_GIT_TAG//./ } )
-MUDITAOS_VERSION_STRING=$MUDITAOS_GIT_TAG
-MUDITAOS_VERSION_MAJOR=${version[0]}
-MUDITAOS_VERSION_MINOR=${version[1]}
-MUDITAOS_VERSION_PATCH=${version[2]}
M config/version.json.cmake_template => config/version.json.cmake_template +8 -20
@@ 2,40 2,28 @@
"git":
{
"git_branch": "@GIT_BRANCH@",
- "git_commit": "@GIT_REV@",
- "git_tag": "@GIT_TAG@"
- },
- "misc":
- {
- "codename": "@VERSION_CODENAME@",
- "kernel": "@KERNEL_VERSION@",
- "buildon": "@BUILD_HOST@",
- "builddate": "@BUILD_DATE@",
- "builduser": "@BUILD_USER@"
+ "git_commit": "@GIT_REV@"
},
"version":
{
- "major": "@CMAKE_PROJECT_VERSION_MAJOR@",
- "minor": "@CMAKE_PROJECT_VERSION_MINOR@",
- "patch": "@CMAKE_PROJECT_VERSION_PATCH@",
- "string": "@CMAKE_PROJECT_VERSION@"
+ "version": "@PROJECT_VERSION@"
},
"bootloader":
{
- "version": "@BOOTLOADER_VERSION@",
+ "version": "@BOOTLOADER_VERSION@",
"filename": "@BOOTLOADER_FILENAME@",
- "md5sum": "@BOOTLOADER_MD5SUM@"
+ "md5sum": "@BOOTLOADER_MD5SUM@"
},
"boot":
{
- "version": "@BOOT_VERSION@",
+ "version": "@OS_VERSION_MAJOR@.@OS_VERSION_MINOR@.@OS_VERSION_PATCH@",
"filename": "@BOOT_FILENAME@",
- "md5sum": "@BOOT_MD5SUM@"
+ "md5sum": "@BOOT_MD5SUM@"
},
"updater":
{
- "version": "@UPDATER_VERSION@",
+ "version": "@UPDATER_VERSION@",
"filename": "@UPDATER_FILENAME@",
- "md5sum": "@UPDATER_MD5SUM@"
+ "md5sum": "@UPDATER_MD5SUM@"
}
}
D config/version.json.template => config/version.json.template +0 -29
@@ 1,29 0,0 @@
-{
- "git":
- {
- "git_branch": "__GIT_BRANCH__",
- "git_commit": "__GIT_REVISION__",
- "git_tag": "__GIT_TAG__"
- },
- "misc":
- {
- "codename": "__MISC_CODENAME__",
- "kernel": "__MISC_KERNEL__",
- "buildon": "__MISC_BUILD_HOST__",
- "builddate": "__MISC_BUILD_DATE__",
- "builduser": "__MISC_BUILD_USER__"
- },
- "version":
- {
- "major": "__VERSION_MAJOR__",
- "minor": "__VERSION_MINOR__",
- "patch": "__VERSION_PATCH__",
- "string": "__VERSION_STRING__"
- },
- "bootloader":
- {
- "included": "__BOOTLOADER_INCLUDED__",
- "version": "__BOOTLOADER_INCLUDED_VERSION__",
- "fiename": "__BOOTLOADER_INCLUDED_FILENAME__"
- }
-}
M module-apps/application-settings/windows/advanced/InformationWindow.cpp => module-apps/application-settings/windows/advanced/InformationWindow.cpp +0 -1
@@ 28,7 28,6 @@ namespace gui
box->setPenWidth(style::window::default_border_no_focus_w);
addAlignedLabelWithValue(box, "GIT revision:", std::string(GIT_REV));
- addAlignedLabelWithValue(box, "GIT tag:", std::string(GIT_TAG));
addAlignedLabelWithValue(box, "GIT branch:", std::string(GIT_BRANCH));
addAlignedLabelWithValue(box, "Version:", std::string(VERSION));
{
M module-utils/bootconfig/include/boot/bootconfig.hpp => module-utils/bootconfig/include/boot/bootconfig.hpp +0 -6
@@ 14,15 14,9 @@ namespace boot
inline constexpr auto os_type = "ostype";
inline constexpr auto os_image = "imagename";
inline constexpr auto os_version = "version";
- inline constexpr auto version_major = "major";
- inline constexpr auto version_minor = "minor";
- inline constexpr auto version_patch = "patch";
- inline constexpr auto version_string = "string";
inline constexpr auto timestamp = "timestamp";
inline constexpr auto misc = "misc";
- inline constexpr auto builddate = "builddate";
inline constexpr auto git_info = "git";
- inline constexpr auto os_git_tag = "git_tag";
inline constexpr auto os_git_revision = "git_commit";
inline constexpr auto os_git_branch = "git_branch";
inline constexpr auto bootloader = "bootloader";
M module-utils/bootconfig/src/bootconfig.cpp => module-utils/bootconfig/src/bootconfig.cpp +1 -2
@@ 90,8 90,7 @@ namespace boot
{boot::json::timestamp, m_timestamp}}},
{boot::json::git_info,
- json11::Json::object{{boot::json::os_git_tag, std::string(GIT_TAG)},
- {boot::json::os_git_revision, std::string(GIT_REV)},
+ json11::Json::object{{boot::json::os_git_revision, std::string(GIT_REV)},
{boot::json::os_git_branch, std::string(GIT_BRANCH)}}},
{boot::json::bootloader, json11::Json::object{{boot::json::os_version, m_bootloader_version}}}};
}
M products/BellHybrid/BellHybridMain.cpp => products/BellHybrid/BellHybridMain.cpp +2 -2
@@ 83,7 83,7 @@ int main()
abort();
}
- Log::Logger::get().init(Log::Application{ApplicationName, GIT_REV, GIT_TAG, GIT_BRANCH});
+ Log::Logger::get().init(Log::Application{ApplicationName, GIT_REV, VERSION, GIT_BRANCH});
/// force initialization of PhonenumberUtil because of its stack usage
/// otherwise we would end up with an init race and PhonenumberUtil could
/// be initiated in a task with stack not big enough to handle it
@@ 110,7 110,7 @@ int main()
});
LOG_PRINTF("Launching %s \n", ApplicationName);
- LOG_PRINTF("commit: %s tag: %s branch: %s\n", GIT_REV, GIT_TAG, GIT_BRANCH);
+ LOG_PRINTF("commit: %s tag: %s branch: %s\n", GIT_REV, VERSION, GIT_BRANCH);
cpp_freertos::Thread::StartScheduler();
return 0;
M products/BellHybrid/services/desktop/endpoints/deviceInfo/DeviceInfoEndpoint.cpp => products/BellHybrid/services/desktop/endpoints/deviceInfo/DeviceInfoEndpoint.cpp +0 -1
@@ 58,7 58,6 @@ namespace sdesktop::endpoints
{json::fsFree, std::to_string(freeMbytes)},
{json::fsFreePercent, std::to_string(freePercent)},
{json::gitRevision, (std::string)(GIT_REV)},
- {json::gitTag, (std::string)GIT_TAG},
{json::gitBranch, (std::string)GIT_BRANCH},
{json::currentRTCTime, std::to_string(static_cast<uint32_t>(std::time(nullptr)))},
{json::version, std::string(VERSION)},
M products/PurePhone/PurePhoneMain.cpp => products/PurePhone/PurePhoneMain.cpp +2 -2
@@ 122,7 122,7 @@ int main()
abort();
}
- Log::Logger::get().init(Log::Application{ApplicationName, GIT_REV, GIT_TAG, GIT_BRANCH});
+ Log::Logger::get().init(Log::Application{ApplicationName, GIT_REV, VERSION, GIT_BRANCH});
/// force initialization of PhonenumberUtil because of its stack usage
/// otherwise we would end up with an init race and PhonenumberUtil could
/// be initiated in a task with stack not big enough to handle it
@@ 187,7 187,7 @@ int main()
});
LOG_PRINTF("Launching %s \n", ApplicationName);
- LOG_PRINTF("commit: %s tag: %s branch: %s\n", GIT_REV, GIT_TAG, GIT_BRANCH);
+ LOG_PRINTF("commit: %s version: %s branch: %s\n", GIT_REV, VERSION, GIT_BRANCH);
cpp_freertos::Thread::StartScheduler();
return 0;
M products/PurePhone/services/desktop/endpoints/deviceInfo/DeviceInfoEndpoint.cpp => products/PurePhone/services/desktop/endpoints/deviceInfo/DeviceInfoEndpoint.cpp +0 -1
@@ 156,7 156,6 @@ namespace sdesktop::endpoints
{json::fsFree, std::to_string(freeMbytes)},
{json::fsFreePercent, std::to_string(freePercent)},
{json::gitRevision, (std::string)(GIT_REV)},
- {json::gitTag, (std::string)GIT_TAG},
{json::gitBranch, (std::string)GIT_BRANCH},
{json::currentRTCTime, std::to_string(static_cast<uint32_t>(std::time(nullptr)))},
{json::version, std::string(VERSION)},
M source/version.hpp.template => source/version.hpp.template +1 -2
@@ 1,4 1,3 @@
inline const char* GIT_REV="${GIT_REV}";
-inline const char* GIT_TAG="${GIT_TAG}";
inline const char* GIT_BRANCH="${GIT_BRANCH}";
-inline const char* VERSION="${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH}";
+inline const char* VERSION="${PROJECT_VERSION}";