makepkg: get package version with overrides
When epoch, pkgver and/or pkgrel were overridden in a split package function, makepkg failed hard finding the real version for checking if packages were already built or trying to install packages. Fix the get_full_version function to deal with overrides and return the actual package version. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
03447ce39c
commit
ccdb2fa800
1 changed files with 27 additions and 18 deletions
|
@ -140,8 +140,7 @@ clean_up() {
|
||||||
msg "$(gettext "Cleaning up...")"
|
msg "$(gettext "Cleaning up...")"
|
||||||
rm -rf "$pkgdir" "$srcdir"
|
rm -rf "$pkgdir" "$srcdir"
|
||||||
if [[ -n $pkgbase ]]; then
|
if [[ -n $pkgbase ]]; then
|
||||||
# TODO: this wasn't properly fixed in commit 2020e629
|
local fullver=$(get_full_version)
|
||||||
local fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
|
||||||
# Can't do this unless the BUILDSCRIPT has been sourced.
|
# Can't do this unless the BUILDSCRIPT has been sourced.
|
||||||
if (( BUILDFUNC )); then
|
if (( BUILDFUNC )); then
|
||||||
rm -f "${pkgbase}-${fullver}-${CARCH}-build.log"*
|
rm -f "${pkgbase}-${fullver}-${CARCH}-build.log"*
|
||||||
|
@ -236,15 +235,27 @@ get_url() {
|
||||||
}
|
}
|
||||||
|
|
||||||
##
|
##
|
||||||
# usage : get_full_version( $epoch, $pkgver, $pkgrel )
|
# usage : get_full_version( [$pkgname] )
|
||||||
# return : full version spec, including epoch (if necessary), pkgver, pkgrel
|
# return : full version spec, including epoch (if necessary), pkgver, pkgrel
|
||||||
##
|
##
|
||||||
get_full_version() {
|
get_full_version() {
|
||||||
if [[ $1 -eq 0 ]]; then
|
if [[ -z $1 ]]; then
|
||||||
# zero epoch case, don't include it in version
|
if (( ! $epoch )); then
|
||||||
echo $2-$3
|
echo $pkgver-$pkgrel
|
||||||
else
|
else
|
||||||
echo $1:$2-$3
|
echo $epoch:$pkgver-$pkgrel
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
for i in pkgver pkgrel epoch; do
|
||||||
|
local indirect="${i}_override"
|
||||||
|
eval $(declare -f package_$1 | sed -n "s/\(^[[:space:]]*$i=\)/${i}_override=/p")
|
||||||
|
[[ -z ${!indirect} ]] && eval "${indirect}=\${${i}}"
|
||||||
|
done
|
||||||
|
if (( ! $epoch_override )); then
|
||||||
|
echo $pkgver_override-$pkgrel_override
|
||||||
|
else
|
||||||
|
echo $epoch_override:$pkgver_override-$pkgrel_override
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -779,7 +790,7 @@ run_function() {
|
||||||
local ret=0
|
local ret=0
|
||||||
local restoretrap
|
local restoretrap
|
||||||
if (( LOGGING )); then
|
if (( LOGGING )); then
|
||||||
local fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
local fullver=$(get_full_version)
|
||||||
local BUILDLOG="${startdir}/${pkgbase}-${fullver}-${CARCH}-$pkgfunc.log"
|
local BUILDLOG="${startdir}/${pkgbase}-${fullver}-${CARCH}-$pkgfunc.log"
|
||||||
if [[ -f $BUILDLOG ]]; then
|
if [[ -f $BUILDLOG ]]; then
|
||||||
local i=1
|
local i=1
|
||||||
|
@ -1013,7 +1024,7 @@ write_pkginfo() {
|
||||||
echo "# $(LC_ALL=C date -u)"
|
echo "# $(LC_ALL=C date -u)"
|
||||||
echo "pkgname = $1"
|
echo "pkgname = $1"
|
||||||
(( SPLITPKG )) && echo pkgbase = $pkgbase
|
(( SPLITPKG )) && echo pkgbase = $pkgbase
|
||||||
echo "pkgver = $(get_full_version $epoch $pkgver $pkgrel)"
|
echo "pkgver = $(get_full_version)"
|
||||||
echo "pkgdesc = $pkgdesc"
|
echo "pkgdesc = $pkgdesc"
|
||||||
echo "url = $url"
|
echo "url = $url"
|
||||||
echo "builddate = $builddate"
|
echo "builddate = $builddate"
|
||||||
|
@ -1157,7 +1168,7 @@ create_package() {
|
||||||
"$PKGEXT" ; EXT=$PKGEXT ;;
|
"$PKGEXT" ; EXT=$PKGEXT ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
local fullver=$(get_full_version)
|
||||||
local pkg_file="$PKGDEST/${nameofpkg}-${fullver}-${PKGARCH}${PKGEXT}"
|
local pkg_file="$PKGDEST/${nameofpkg}-${fullver}-${PKGARCH}${PKGEXT}"
|
||||||
local ret=0
|
local ret=0
|
||||||
|
|
||||||
|
@ -1270,7 +1281,7 @@ create_srcpackage() {
|
||||||
"$SRCEXT" ;;
|
"$SRCEXT" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
local fullver=$(get_full_version)
|
||||||
local pkg_file="$SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT}"
|
local pkg_file="$SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT}"
|
||||||
|
|
||||||
# tar it up
|
# tar it up
|
||||||
|
@ -1306,8 +1317,7 @@ install_package() {
|
||||||
|
|
||||||
local fullver pkg pkglist
|
local fullver pkg pkglist
|
||||||
for pkg in ${pkgname[@]}; do
|
for pkg in ${pkgname[@]}; do
|
||||||
# TODO: this wasn't properly fixed in commit 2020e629
|
fullver=$(get_full_version $pkg)
|
||||||
fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
|
||||||
if [[ -f $PKGDEST/${pkg}-${fullver}-${CARCH}${PKGEXT} ]]; then
|
if [[ -f $PKGDEST/${pkg}-${fullver}-${CARCH}${PKGEXT} ]]; then
|
||||||
pkglist+=" $PKGDEST/${pkg}-${fullver}-${CARCH}${PKGEXT}"
|
pkglist+=" $PKGDEST/${pkg}-${fullver}-${CARCH}${PKGEXT}"
|
||||||
else
|
else
|
||||||
|
@ -2048,7 +2058,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
if (( ! SPLITPKG )); then
|
if (( ! SPLITPKG )); then
|
||||||
fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
fullver=$(get_full_version)
|
||||||
if [[ -f $PKGDEST/${pkgname}-${fullver}-${CARCH}${PKGEXT} \
|
if [[ -f $PKGDEST/${pkgname}-${fullver}-${CARCH}${PKGEXT} \
|
||||||
|| -f $PKGDEST/${pkgname}-${fullver}-any${PKGEXT} ]] \
|
|| -f $PKGDEST/${pkgname}-${fullver}-any${PKGEXT} ]] \
|
||||||
&& ! (( FORCE || SOURCEONLY || NOBUILD )); then
|
&& ! (( FORCE || SOURCEONLY || NOBUILD )); then
|
||||||
|
@ -2065,8 +2075,7 @@ else
|
||||||
allpkgbuilt=1
|
allpkgbuilt=1
|
||||||
somepkgbuilt=0
|
somepkgbuilt=0
|
||||||
for pkg in ${pkgname[@]}; do
|
for pkg in ${pkgname[@]}; do
|
||||||
# TODO: this wasn't properly fixed in commit 2020e629
|
fullver=$(get_full_version $pkg)
|
||||||
fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
|
||||||
if [[ -f $PKGDEST/${pkg}-${fullver}-${CARCH}${PKGEXT} \
|
if [[ -f $PKGDEST/${pkg}-${fullver}-${CARCH}${PKGEXT} \
|
||||||
|| -f $PKGDEST/${pkg}-${fullver}-any${PKGEXT} ]]; then
|
|| -f $PKGDEST/${pkg}-${fullver}-any${PKGEXT} ]]; then
|
||||||
somepkgbuilt=1
|
somepkgbuilt=1
|
||||||
|
@ -2126,7 +2135,7 @@ if (( INFAKEROOT )); then
|
||||||
exit 0 # $E_OK
|
exit 0 # $E_OK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
fullver=$(get_full_version)
|
||||||
msg "$(gettext "Making package: %s")" "$pkgbase $fullver ($(date))"
|
msg "$(gettext "Making package: %s")" "$pkgbase $fullver ($(date))"
|
||||||
|
|
||||||
# if we are creating a source-only package, go no further
|
# if we are creating a source-only package, go no further
|
||||||
|
@ -2279,7 +2288,7 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fullver=$(get_full_version $epoch $pkgver $pkgrel)
|
fullver=$(get_full_version)
|
||||||
msg "$(gettext "Finished making: %s")" "$pkgbase $fullver ($(date))"
|
msg "$(gettext "Finished making: %s")" "$pkgbase $fullver ($(date))"
|
||||||
|
|
||||||
install_package
|
install_package
|
||||||
|
|
Loading…
Add table
Reference in a new issue