Skip to content

Commit

Permalink
beesh: Allow bee-file to partially rename packages
Browse files Browse the repository at this point in the history
Allow to prefix PKGNAME with 'something-'
Allow to append something to/set PKGEXTRANAME (e.g. '_something')
Allow to append something to/set PKGEXTRAVERSION (e.g. '_something')

In addition you may still set PKGARCH=any as before.

Changing anything else in the packagenames is currently not supported and
yields to an error message.

After renaming beeversion parses the new packagename again.

This is a cleaner version of the feature added in 3aaed0d
  • Loading branch information
mariux committed Aug 3, 2012
1 parent 9ffe60c commit 8da66ff
Showing 1 changed file with 79 additions and 6 deletions.
85 changes: 79 additions & 6 deletions src/beesh.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,81 @@ function load_buildmagic() {
fi
}

function save_current_package_variables() {
oPKGNAME=${PKGNAME}
oPKGEXTRANAME=${PKGEXTRANAME}
oPKGFULLNAME=${PKGFULLNAME}
oPKGVERSION=${PKGVERSION}
oPKGEXTRAVERSION=${PKGEXTRAVERSION}
oPKGFULLVERSION=${PKGFULLVERSION}
oPKGREVISION=${PKGREVISION}
}

function verify_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."
exit 1
fi
PKGNAME=${PKGFULLNAME//_*}
PKGEXTRANAME=${PKGFULLNAME#*_}
fi
PKGFULLNAME="${PKGNAME}${PKGEXTRANAME:+_${PKGEXTRANAME}}"

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//_*}
PKGEXTRAVERSION=${PKGFULLVERSION#*_}
fi
PKGFULLVERSION="${PKGVERSION}${PKGEXTRAVERSION:+_${PKGEXTRAVERSION}}"
}

function extract_new_package_variables() {
if [ "${PKGNAME}" != "${oPKGNAME}" ] ; then
# pkgname changed! we allow prefixing 'anything-' to the packagename
if [ "${PKGNAME}" != "${PKGNAME/-${oPKGNAME}}-${oPKGNAME}" ] ; then
print_error "${BEE##*/}: Invalid change in PKGNAME(${PKGNAME}) detected. Only prefixing 'something-' is supported."
exit 1
fi
print_info "${COLOR_YELLOW}PKGNAME changed from '${oPKGNAME}' to '${PKGNAME}'"
fi
if [ "${PKGEXTRANAME}" != "${oPKGEXTRANAME}" ] ; then
if [ ! -z "${oPKGEXTRANAME}" -a "${PKGEXTRANAME}" != "${oPKGEXTRANAME}_${PKGEXTRANAME#${oPKGEXTRANAME}_}" ] ; then
print_error "${BEE##*/}: Invalid change in PKGEXTRANAME(${PKGEXTRANAME}) detected. Only appending '_something' is supported."
exit 1
fi
print_info "${COLOR_YELLOW}PKGEXTRANAME changed from '${oPKGEXTRANAME}' to '${PKGEXTRANAME}'"
fi
if [ "${PKGVERSION}" != "${oPKGVERSION}" ] ; then
print_error "${BEE##*/}: Invalid change in PKGVERSION(${PKGVERSION}) detected. Changing PKGVERSION is not supported."
exit 1
fi
if [ "${PKGEXTRAVERSION}" != "${oPKGEXTRAVERSION}" ] ; then
if [ ! -z "${oPKGEXTRAVERSION}" -a "${PKGEXTRAVERSION}" != "${oPKGEXTRAVERSION}_${PKGEXTRAVERSION#${oPKGEXTRAVERSION}_}" ] ; then
print_error "${BEE##*/}: Invalid change in PKGEXTRAVERSION(${PKGEXTRAVERSION}) detected. Only appending '_something' is supported."
exit 1
fi
print_info "${COLOR_YELLOW}PKGEXTRAVERSION changed from '${oPKGEXTRAVERSION}' to '${PKGEXTRAVERSION}'"
fi
if [ "${PKGREVISION}" != "${oPKGREVISION}" ] ; then
print_error "${BEE##*/}: Invalid change in PKGREVISION(${PKGREVISION}) detected. Changing PKGREVISION is not supported."
exit 1
fi

PKGFULLPKG=${PKGFULLNAME}-${PKGFULLVERSION}-${PKGREVISION}

# since PKGARCH is now known reconstruct PKGALLPKG
: ${PKGALLPKG:=${PKGFULLPKG}.${PKGARCH}}

eval $(${BEE_BINDIR}/beeversion ${PKGALLPKG})
}

###############################################################################
###############################################################################
###############################################################################
Expand Down Expand Up @@ -782,18 +857,16 @@ D=${BEEWORKDIR}/image
# clear PKGALLPKG since we can't trust PKGARCH in this state
PKGALLPKG=

save_current_package_variables

# source file.bee
. ${BEE}

# now set PKGARCH if set or changed by user via ARCH=.. and not given via file.arch.bee
: ${PKGARCH:=${ARCH}}

PKGFULLPKG=${PKGFULLNAME}-${PKGFULLVERSION}-${PKGREVISION}

# since PKGARCH is now known reconstruct PKGALLPKG
: ${PKGALLPKG:=${PKGFULLPKG}.${PKGARCH}}

eval $(${BEE_BINDIR}/beeversion ${PKGALLPKG})
verify_new_package_variables
extract_new_package_variables

config_handle_deprecated_beefile
expand_prefix_variables
Expand Down

0 comments on commit 8da66ff

Please sign in to comment.