[pacman-dev] makepkg misses to export variables
Mateusz Jedrasik
m.jedrasik at gmail.com
Wed May 16 22:10:46 EDT 2007
Thursday 17 of May 2007 03:16:22 Dan McGee napisał(a):
> On 5/16/07, Mateusz Jedrasik <m.jedrasik at gmail.com> wrote:
> > Wednesday 16 of May 2007 19:12:22 Dan McGee napisał(a):
> > > On 5/16/07, Andreas Radke <a.radke at arcor.de> wrote:
> > > > Am Wed, 16 May 2007 12:03:29 -0400
> > > >
> > > > schrieb "Dan McGee" <dpmcgee at gmail.com>:
> > > > > Export is ONLY needed if a new process is started with the callers
> > > > > environment. This occurs during calls to ./configure and make, but
> > > > > NOT within the PKGBUILD.
> > > >
> > > > therefore we need to export the MAKEFLAGS and DISTCC_HOST. anything
> > > > else should be safe without an export call. i could confirm that both
> > > > variables are not working properly. -j4 falls back to -j1 and distcc
> > > > is not working without.
> > > >
> > > > would you prefer to export them in the makepkg.conf or
> > > > in /usr/bin/makepkg ?
> > >
> > > Seriously? Anyway, here is a patch. We wouldn't export half the
> > > variables in one place and half elsewhere:
> > >
> > > Index: scripts/makepkg
> > > ===================================================================
> > > RCS file: /home/cvs-pacman/pacman-lib/scripts/makepkg,v
> > > retrieving revision 1.72
> > > diff -u -r1.72 makepkg
> > > --- scripts/makepkg 28 Apr 2007 08:26:37 -0000 1.72
> > > +++ scripts/makepkg 16 May 2007 17:10:36 -0000
> > > @@ -862,9 +862,10 @@
> > > # use distcc if it is requested (check buildenv and PKGBUILD
> > > opts) if [ "$(check_buildenv distcc)" = "y" -a "$(check_option distcc)"
> > > != "n" ]; then
> > > [ -d /usr/lib/distcc/bin ] && export
> > > PATH=/usr/lib/distcc/bin:$PATH + export DISTCC_HOSTS
> > > elif [ "$(check_option distcc)" = "n" ]; then
> > > # if it is not wanted, clear the makeflags too
> > > - export MAKEFLAGS=""
> > > + MAKEFLAGS=""
> > > fi
> > >
> > > # use ccache if it is requested (check buildenv and PKGBUILD
> > > opts) @@ -874,7 +875,7 @@
> > >
> > > # clear user-specified makeflags if requested
> > > if [ "$(check_option makeflags)" = "n" ]; then
> > > - export MAKEFLAGS=""
> > > + MAKEFLAGS=""
> > > fi
> > >
> > > # build
> > > @@ -884,9 +885,8 @@
> > > unset LC_ALL LC_MESSAGES LANG
> > > umask 0022
> > >
> > > - # ensure CFLAGS and CXXFLAGS are used
> > > - export CFLAGS
> > > - export CXXFLAGS
> > > + # ensure all necessary build variables are exported
> > > + export CFLAGS CXXFLAGS MAKEFLAGS
> > >
> > > #check for "exit on syntax error" shell option
> > > echo $SHELLOPTS | grep errexit 2>&1 >/dev/null
> > >
> > > _______________________________________________
> > > pacman-dev mailing list
> > > pacman-dev at archlinux.org
> > > http://archlinux.org/mailman/listinfo/pacman-dev
> >
> > I concur with the threads severity, on my system I neither get my
> > CFLAGS/CPPFLAGS nor MAKEFLAGS (-j3) exported.
>
> Ummmm, CFLAGS would be a different issue, as they were already
> exported by makepkg before we addresed the MAKEFLAGS not being
> exported. I can verify on my builds that CFLAGS are respected. In
> addition, CXXFLAGS is the variable used for C++ by makepkg.
>
> -Dan
> _______________________________________________
> pacman-dev mailing list
> pacman-dev at archlinux.org
> http://archlinux.org/mailman/listinfo/pacman-dev
Hi,
Sorry, typo.
I tried this pkgbuild:
pkgname=foo
pkgver=1.0
pkgrel=1
pkgdesc="A dummy package"
arch=('i686')
build() {
echo ">>>>"
echo $FTPAGENT
echo $CARCH
echo $CHOST
echo $DISTCC_HOSTS
echo $PKGDEST
echo $PACKAGER
echo $CFLAGS
echo $CXXFLAGS
echo $MAKEFLAGS
echo "<<<<"
}
Resulting with:
>>>>
/usr/bin/wget --continue --passive-ftp --tries=3 --waitretry=3 --no-check-certificate
i686
i686-pc-linux-gnu
/home/imachine
-march=prescott -O2 -pipe -fomit-frame-pointer
-march=prescott -O2 -pipe -fomit-frame-pointer
-j3
<<<<
Seems the flags get exported... but my builds still dont build with the cflags
specified nor with -j3...
Maybe something's wrong with the build process, i.e., the stuff gets exported
but then gets neglected/overwritten during ./configure and make/gmake.
Cheers,
//m.
--
Mateusz Jędrasik <m.jedrasik at gmail.com>
tel. +48(79)022-9393, +48(51)69-444-90
http://imachine.szklo.eu.org
More information about the pacman-dev
mailing list