diff --git a/src/beesh.sh.in b/src/beesh.sh.in index 06bffcb..45cf019 100644 --- a/src/beesh.sh.in +++ b/src/beesh.sh.in @@ -208,6 +208,20 @@ function build_in_sourcedir() { BUILD_IN_SOURCEDIR=1 } +function bee_die() { + print_error $* + exit 1 +} + +function bee_version() { + test -n "$1" || bee_die "bee_version: missing argument" + test "$PKGFULLVERSION"="0" -a -z "$PKGREVISION" || bee_die "bee_version: version is already fixed" + local oPKGFULLNAME="$PKGFULLNAME" + eval $("${BEE_BINDIR}/beeversion" "$1") || bee_die "bee_version: invalid version string" + validate_pkg_complete || bee_die "bee_version: please use the proper package versioning (e.g. package-1.0-0)" + test "$PKGFULLNAME" = "$oPKGFULLNAME" || bee_die "bee_version: not allowed to change the package name from $oPKGFULLNAME to $PKGFULLNAME" +} + function add_sourcesubdir() { print_warning "WARNING: add_sourcesubdir is deprecated in favor of sourcesubdir_append" sourcesubdir_append "${@}" @@ -747,7 +761,6 @@ function save_current_package_variables() { function extract_new_package_variables() { nPKGFULLNAME="${PKGNAME}${PKGEXTRANAME:+_${PKGEXTRANAME}}" - if [ "${oPKGFULLNAME}" != "${PKGFULLNAME}" ] ; then if [ "${oPKGFULLNAME}" != "${nPKGFULLNAME}" ] ; then print_error "${BEE##*/}: Changing PKGFULLNAME and one of PKGNAME or PKGEXTRANAME is not supported." @@ -764,10 +777,6 @@ function extract_new_package_variables() { nPKGFULLVERSION="${PKGVERSION}${PKGEXTRAVERSION:+_${PKGEXTRAVERSION}}" if [ "${oPKGFULLVERSION}" != "${PKGFULLVERSION}" ] ; then - if [ "${oPKGFULLVERSION}" != "${nPKGFULLVERSION}" ] ; then - print_error "${BEE##*/}: Changing PKGFULLVERSION and one of PKGVERSION or PKGEXTRAVERSION is not supported." - exit 1 - fi PKGVERSION=${PKGFULLVERSION//_*} if [ "$PKGVERSION" = "$PKGFULLVERSION" ] ; then PKGEXTRAVERSION=""