2013/10/3 Dave Reisner <d@falconindy.com>:
On Thu, Oct 03, 2013 at 09:06:28PM +0800, 郑文辉(Techlive Zheng) wrote:
2013/10/3 Dave Reisner <d@falconindy.com>:
On Thu, Oct 03, 2013 at 03:49:33PM +0800, Techlive Zheng wrote:
This allows for VAR=value and VAR+=value variable declarations in command line to override variables in BUILDSCRIPT. --- scripts/makepkg.sh.in | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 1ef2af2..f6d884f 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2712,11 +2712,6 @@ if [[ ! -w $BUILDDIR ]]; then exit 1 fi
-# override settings from extra variables on commandline, if any -if (( ${#extra_environment[*]} )); then - export "${extra_environment[@]}" -fi - PKGDEST=${_PKGDEST:-$PKGDEST} PKGDEST=${PKGDEST:-$startdir} #default to $startdir if undefined if (( ! (NOBUILD || GENINTEG) )) && [[ ! -w $PKGDEST ]]; then @@ -2810,7 +2805,11 @@ if [[ $BUILDDIR = "$startdir" ]]; then else srcdir="$BUILDDIR/$pkgbase/src" pkgdirbase="$BUILDDIR/$pkgbase/pkg" +fi
+# override settings from extra variables on commandline, if any +if (( ${#extra_environment[*]} )); then + export "${extra_environment[@]}"
Doing this is dangerous, as it lets you do things like:
makepkg pkgver=this-is-not-a-valid-version
Allowing a documented feature to override basic sanity checks is not a good idea, imo.
fi
# set pkgdir to something "sensible" for (not recommended) use during build() -- 1.8.4
Yes, that is a risk, but people should know what they are doing.
And what are the rules? Where have you documented this?
Regardless, I don't think we should require that people have a strong understanding of shell quoting rules and hand escape their values. It's going to make for a really crappy user experience, especially given the failure modes. I realize that this probably isn't going to be a widely used feature, but it should still make sense and have easily understood behavior.
My main purpose to move this section here is to use the variables from BUILDSCRIPT in the command line vars assignment in the following patch.
Yes, I surmised that from your other posts. I'd strongly prefer that you find another way. Sorry.
Yeah, I see it now. It is really a personal setup, should not mess up with the core of the pacman. Thanks for all you guys' quick response and help.