Hello all.

I want to clarify one thing, that is not mentioned in Porting FAQ but
make me (and looks like not only me) curious: post-patch vs.
pre-configure.

As far as I can understand, "patch" targets are intended to operate on
WRKSRC and "configure" - on WRKBUILD, unless source package is broken
and does not work well when SEPARATE_BUILD!=No. In the later case
pre-confiugre is effectively almost the same as post-patch, until you
start playing with build cookies.

But I see patch-like adjustments in ports, including fresh ones, being
run in pre-configure. What's the point there? Some examples:

devel/sdl/Makefile:
pre-configure:
   mkdir -p ${WRKSRC}/src/audio/libsndio
   cp ${FILESDIR}/SDL_libsndioaudio.{c,h} ${WRKSRC}/src/audio/libsndio

net/samba/Makefile:
pre-configure:
   @${SUBST_CMD} ${SAMBA_MANPAGES}/swat.8

Those actions are not FLAVOR-specific, and they should be done once -
while you can try to build software many times (with different
FLAVORs, for example, or just wiping out build directory with "make
clean=build").

Even more, if you're building one FLAVOR of devel/sdl and start
building a new one, you can hit in a race because cp(1) does not
operate atomically, aren't you?

Am I missing something? I'm using post-patch for such cases, but maybe
its wrong for some reasons?
--
  WBR,
  Vadim Zhukov

Reply via email to