diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/init.sh | 2 | ||||
-rw-r--r-- | include/lib.sh | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/init.sh b/include/init.sh index 03c45c1a..264e98df 100644 --- a/include/init.sh +++ b/include/init.sh @@ -60,6 +60,8 @@ xbmk_get_version() [ ! -e ".git" ] && [ ! -f ".version" ] && version="unknown" [ ! -e ".git" ] && [ ! -f ".versiondate" ] && versiondate="1716415872" + xbmk_sanitize_version + [ -n "$version" ] && relname="$projectname-$version"; : } diff --git a/include/lib.sh b/include/lib.sh index 948d7f3f..a2b93a97 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -22,10 +22,26 @@ mkrom_tarball() update_xbmkver() { + xbmk_sanitize_version + printf "%s\n" "$version" > "$1/.version" || err "$1 !version"; : printf "%s\n" "$versiondate" > "$1/.versiondate" || err "$1 !vdate"; : } +xbmk_sanitize_version() +{ + [ -n "$version" ] || return 0; : + + version="`printf "%s\n" "$version" | sed -e 's/\t//g'`" + version="`printf "%s\n" "$version" | sed -e 's/\ //g'`" + version="`printf "%s\n" "$version" | sed -e 's/\.\.//g'`" + version="`printf "%s\n" "$version" | sed -e 's/\.\///g'`" + version="`printf "%s\n" "$version" | sed -e 's/\//-/g'`" + version="${version#-}" + + [ -n "$version" ] || err "'version' empty after sanitization"; : +} + mktarball() { printf "Creating tar archive '%s' from directory '%s'\n" "$2" "$1" |