blob: 72c757b95c3800c4227e2e31089f7f1c9f7d3534 [file] [log] [blame]
fei.denge3847f82022-04-14 13:47:42 +08001#!/bin/bash
2
fei.deng88db3052022-07-19 15:32:21 +08003#version rule:MAJORVERSION.MINORVERSION.COMMIT_COUNT-g(COMMIT_ID)
fei.denge3847f82022-04-14 13:47:42 +08004
guoping.li575a5b62024-05-08 16:34:04 +08005OUT_DIR=
6if [ $# == 1 ];then
7 OUT_DIR=$1/
8 mkdir -p "${OUT_DIR}src"
9fi
10
fei.denge3847f82022-04-14 13:47:42 +080011BASE=$(pwd)
12echo $BASE
13
14#major version
15MAJORVERSION=1
16
fei.deng456deec2023-06-28 02:26:39 +000017#current minor version,if release a new version,please update it
18MINORVERSION=3
19
20#last release version commit id,please store commit id here every release version
21RELEASE_COMMIT_ID=bcd880e8
fei.denge3847f82022-04-14 13:47:42 +080022
23#modue name/
24MODULE_NAME=MM-module-name:gst-plugin-video-sink
25
fei.deng456deec2023-06-28 02:26:39 +000026#get all commit count from last release version
27COMMIT_COUNT=$(git rev-list $RELEASE_COMMIT_ID..HEAD --count)
fei.denge3847f82022-04-14 13:47:42 +080028echo commit count $COMMIT_COUNT
29
30#get current commit id
fei.deng88db3052022-07-19 15:32:21 +080031COMMIT_ID=$(git rev-parse --short HEAD)
fei.denge3847f82022-04-14 13:47:42 +080032echo commit id $COMMIT_ID
33
guoping.li575a5b62024-05-08 16:34:04 +080034cp "src/aml_version.h.in" "${OUT_DIR}src/aml_version.h.tmp"
fei.denge3847f82022-04-14 13:47:42 +080035#find the module name line
guoping.li575a5b62024-05-08 16:34:04 +080036MODULE_NAME_LINE=`sed -n '/\"MM-module-name/=' ${OUT_DIR}src/aml_version.h.tmp`
fei.denge3847f82022-04-14 13:47:42 +080037#echo $VERSION_LINE
38
39#version rule string
fei.deng88db3052022-07-19 15:32:21 +080040VERSION_STRING=${MAJORVERSION}.${MINORVERSION}.${COMMIT_COUNT}-g${COMMIT_ID}
fei.deng456deec2023-06-28 02:26:39 +000041echo version: $VERSION_STRING
fei.denge3847f82022-04-14 13:47:42 +080042
43#update the original version
44if [ ${MODULE_NAME_LINE} -gt 0 ]; then
guoping.li575a5b62024-05-08 16:34:04 +080045sed -i -e ${MODULE_NAME_LINE}s"/.*/\"${MODULE_NAME},version:${VERSION_STRING}\"\;/" ${OUT_DIR}src/aml_version.h.tmp
46fi
47
48#if version.h already exist, compare the content, if it's the same, using the original file, avoid rebuild
49if [ -e "${OUT_DIR}src/aml_version.h" ]; then
50 file1_hash=$(md5sum ${OUT_DIR}src/aml_version.h | awk '{print $1}')
51 file2_hash=$(md5sum ${OUT_DIR}src/aml_version.h.tmp | awk '{print $1}')
52
53 if [ "$file1_hash" == "$file2_hash" ]; then
54 echo "version file content is the same"
55 rm ${OUT_DIR}src/aml_version.h.tmp
56 else
57 echo "version file content is not the same, use the tmp file"
58 mv ${OUT_DIR}src/aml_version.h.tmp ${OUT_DIR}src/aml_version.h
59 fi
60else
61 echo "no version file, use the tmp version file"
62 mv ${OUT_DIR}src/aml_version.h.tmp ${OUT_DIR}src/aml_version.h
fei.denge3847f82022-04-14 13:47:42 +080063fi