Subject: pkgsrc/mk regression disturbs scons
To: None <tech-pkg@netbsd.org, jlam@netbsd.org>
From: Ben Collver <ben@netbsd.org>
List: tech-pkg
Date: 09/03/2006 18:27:30
Good day,

In May, I had a problem with pkgsrc and scons, specifically in the
audio/csound5 package I was about to import.  The CFLAGS were empty at
the do-install phase, which caused scons to report that
"the build action changed", which caused scons to rebuild csound5 and
install it with a broken configuration.

At the end of this message is a screen log giving an example of CFLAGS
being set in the build phase but empty in the install phase.

Johnny Lam fixed this in the change referenced here:
http://mail-index.netbsd.org/pkgsrc-changes/2006/05/21/0050.html

Unfortunately, the problem has returned.  I am not sure I know the
pkgsrc/mk code well enough to fix this.  Would someone else be willing
to do it?

Alternatively, can anyone recommend a method to force scons to install
the previously built binaries even if "the build action changed"?

Thank you,

Ben


sanctum $ cd /usr/pkgsrc/audio/csound5
sanctum $ make show-var VARNAME=3DMAKE_ENV PKG_PHASE=3Ddo-build
USETOOLS=3Dno DL_CFLAGS=3D DL_LDFLAGS=3D DL_LIBS=3D PTHREAD_CFLAGS=3D\ -pth=
read\  PTHREAD_LDFLAGS=3D\ -pthread PTHREAD_LIBS=3D PTHREADBASE=3D/usr CC=
=3Dcc CFLAGS=3D-O2\ -g\ -D__PKGSRC_PREFIX__=3D/usr/pkg/\ -DBETA CPPFLAGS=3D=
 CXX=3Dc++ CXXFLAGS=3D-O2\ -g\ -D__PKGSRC_PREFIX__=3D/usr/pkg/\ -DBETA COMP=
ILER_RPATH_FLAG=3D-Wl,-R F77=3Df77 FC=3Df77 FFLAGS=3D-O LANG=3DC LC_COLLATE=
=3DC LC_CTYPE=3DC LC_MESSAGES=3DC LC_MONETARY=3DC LC_NUMERIC=3DC LC_TIME=3D=
C LDFLAGS=3D LINKER_RPATH_FLAG=3D-R PATH=3D/home/ben/src/netbsd/current/pkg=
src/audio/csound5/work/.wrapper/bin:/home/ben/src/netbsd/current/pkgsrc/aud=
io/csound5/work/.buildlink/bin:/home/ben/src/netbsd/current/pkgsrc/audio/cs=
ound5/work/.gcc/bin:/home/ben/src/netbsd/current/pkgsrc/audio/csound5/work/=
.tools/bin:/usr/pkg/bin:/usr/X11R6/bin:/home/ben/bin:/home/ben/local/bin:/h=
ome/ben/gdb6/bin:/usr/bin:/bin:/usr/pkg/bin:/usr/local/bin:/bin:/sbin:/usr/=
bin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/loc=
al/bin:/usr/local/sbin:/usr/pkg/bin:/usr/X11R6/bin PREFIX=3D/usr/pkg PKG_SY=
SCONFDIR=3D/usr/pkg/etc CPP=3Dcpp LINK_ALL_LIBGCC_HACK=3D LOCALBASE=3D/usr/=
pkg NO_WHOLE_ARCHIVE_FLAG=3D-Wl,--no-whole-archive WHOLE_ARCHIVE_FLAG=3D-Wl=
,--whole-archive X11BASE=3D/usr/X11R6 X11PREFIX=3D/usr/pkg PKGMANDIR=3Dman =
MAKECONF=3D/dev/null OBJECT_FMT=3DELF USETOOLS=3Dno BSD_INSTALL_PROGRAM=3D/=
usr/bin/install\ -c\ -s\ -o\ root\ -g\ wheel\ -m\ 555              BSD_INST=
ALL_SCRIPT=3D/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\ 555            =
       BSD_INSTALL_LIB=3D/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\ 555=
                      BSD_INSTALL_DATA=3D/usr/bin/install\ -c\ -o\ root\ -g=
\ wheel\ -m\ 444                     BSD_INSTALL_MAN=3D/usr/bin/install\ -c=
\ -o\ root\ -g\ wheel\ -m\ 444                      BSD_INSTALL=3D/usr/bin/=
install                            BSD_INSTALL_PROGRAM_DIR=3D/usr/bin/insta=
ll\ -d\ -o\ root\ -g\ wheel\ -m\ 755      BSD_INSTALL_SCRIPT_DIR=3D/usr/bin=
/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755               BSD_INSTALL_LIB_DI=
R=3D/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755          BSD_INSTALL=
_DATA_DIR=3D/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755             =
    BSD_INSTALL_MAN_DIR=3D/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 75=
5          BSD_INSTALL_GAME=3D/usr/bin/install\ -c\ -s\ -o\ root\ -g\ wheel=
\ -m\ 555                         BSD_INSTALL_GAME_DATA=3D/usr/bin/install\=
 -c\ -o\ root\ -g\ wheel\ -m\ 444                BSD_INSTALL_GAME_DIR=3D/us=
r/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755 INSTALL_INFO=3D MAKEINFO=3D=
/home/ben/src/netbsd/current/pkgsrc/audio/csound5/work/.tools/bin/makeinfo =
PKG_CONFIG=3D PKG_CONFIG_LIBDIR=3D/home/ben/src/netbsd/current/pkgsrc/audio=
/csound5/work/.buildlink/lib/pkgconfig:/home/ben/src/netbsd/current/pkgsrc/=
audio/csound5/work/.buildlink/share/pkgconfig PKG_CONFIG_LOG=3D/home/ben/sr=
c/netbsd/current/pkgsrc/audio/csound5/work/.pkg-config.log VIEWBASE=3D/usr/=
pkg
sanctum $ make show-var VARNAME=3DMAKE_ENV PKG_PHASE=3Ddo-install
USETOOLS=3Dno DL_CFLAGS=3D DL_LDFLAGS=3D DL_LIBS=3D PTHREAD_CFLAGS=3D\ -pth=
read\  PTHREAD_LDFLAGS=3D\ -pthread PTHREAD_LIBS=3D PTHREADBASE=3D/usr CC=
=3Dcc CFLAGS=3D-O2\ -g\ -D__PKGSRC_PREFIX__=3D/usr/pkg/\ -DBETA CPPFLAGS=3D=
 CXX=3Dc++ CXXFLAGS=3D-O2\ -g\ -D__PKGSRC_PREFIX__=3D/usr/pkg/\ -DBETA COMP=
ILER_RPATH_FLAG=3D-Wl,-R F77=3Df77 FC=3Df77 FFLAGS=3D-O LANG=3DC LC_COLLATE=
=3DC LC_CTYPE=3DC LC_MESSAGES=3DC LC_MONETARY=3DC LC_NUMERIC=3DC LC_TIME=3D=
C LDFLAGS=3D LINKER_RPATH_FLAG=3D-R PATH=3D/home/ben/src/netbsd/current/pkg=
src/audio/csound5/work/.wrapper/bin:/home/ben/src/netbsd/current/pkgsrc/aud=
io/csound5/work/.buildlink/bin:/home/ben/src/netbsd/current/pkgsrc/audio/cs=
ound5/work/.gcc/bin:/home/ben/src/netbsd/current/pkgsrc/audio/csound5/work/=
.tools/bin:/usr/pkg/bin:/usr/X11R6/bin:/home/ben/bin:/home/ben/local/bin:/h=
ome/ben/gdb6/bin:/usr/bin:/bin:/usr/pkg/bin:/usr/local/bin:/bin:/sbin:/usr/=
bin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/loc=
al/bin:/usr/local/sbin:/usr/pkg/bin:/usr/X11R6/bin PREFIX=3D/usr/pkg PKG_SY=
SCONFDIR=3D/usr/pkg/etc CPP=3Dcpp LINK_ALL_LIBGCC_HACK=3D LOCALBASE=3D/usr/=
pkg NO_WHOLE_ARCHIVE_FLAG=3D-Wl,--no-whole-archive WHOLE_ARCHIVE_FLAG=3D-Wl=
,--whole-archive X11BASE=3D/usr/X11R6 X11PREFIX=3D/usr/pkg PKGMANDIR=3Dman =
MAKECONF=3D/dev/null OBJECT_FMT=3DELF USETOOLS=3Dno BSD_INSTALL_PROGRAM=3D/=
usr/bin/install\ -c\ -s\ -o\ root\ -g\ wheel\ -m\ 555              BSD_INST=
ALL_SCRIPT=3D/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\ 555            =
       BSD_INSTALL_LIB=3D/usr/bin/install\ -c\ -o\ root\ -g\ wheel\ -m\ 555=
                      BSD_INSTALL_DATA=3D/usr/bin/install\ -c\ -o\ root\ -g=
\ wheel\ -m\ 444                     BSD_INSTALL_MAN=3D/usr/bin/install\ -c=
\ -o\ root\ -g\ wheel\ -m\ 444                      BSD_INSTALL=3D/usr/bin/=
install                            BSD_INSTALL_PROGRAM_DIR=3D/usr/bin/insta=
ll\ -d\ -o\ root\ -g\ wheel\ -m\ 755      BSD_INSTALL_SCRIPT_DIR=3D/usr/bin=
/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755               BSD_INSTALL_LIB_DI=
R=3D/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755          BSD_INSTALL=
_DATA_DIR=3D/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755             =
    BSD_INSTALL_MAN_DIR=3D/usr/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 75=
5          BSD_INSTALL_GAME=3D/usr/bin/install\ -c\ -s\ -o\ root\ -g\ wheel=
\ -m\ 555                         BSD_INSTALL_GAME_DATA=3D/usr/bin/install\=
 -c\ -o\ root\ -g\ wheel\ -m\ 444                BSD_INSTALL_GAME_DIR=3D/us=
r/bin/install\ -d\ -o\ root\ -g\ wheel\ -m\ 755 INSTALL_INFO=3D MAKEINFO=3D=
/home/ben/src/netbsd/current/pkgsrc/audio/csound5/work/.tools/bin/makeinfo =
PKG_CONFIG=3D PKG_CONFIG_LIBDIR=3D/home/ben/src/netbsd/current/pkgsrc/audio=
/csound5/work/.buildlink/lib/pkgconfig:/home/ben/src/netbsd/current/pkgsrc/=
audio/csound5/work/.buildlink/share/pkgconfig PKG_CONFIG_LOG=3D/home/ben/sr=
c/netbsd/current/pkgsrc/audio/csound5/work/.pkg-config.log VIEWBASE=3D/usr/=
pkg