Subject: buildlink3 transform.sed breaks when directories have underscores (was Re: Strange pkgviews or buildlink3 problem on FreeBSD, works on Linux)
To: None <tech-pkg@NetBSD.org>
From: Eric Gillespie <epg@pretzelnet.org>
List: tech-pkg
Date: 11/12/2004 21:27:58
Eric Gillespie <epg@pretzelnet.org> writes:

> With PKG_INSTALLATION_PREFS=pkgviews overwrite in mk.conf, if i
> try to build any Perl module that actually has to compile
> something (e.g. devel/p5-Compress-Zlib), the build fails on
> FreeBSD but works on Linux.  This is with the exact same pkgsrc
> tree and mk.conf settings.

I think i found the problem.  On FreeBSD, we use amd, which works
with by symlink hacks.  pkgsrc resolves these symlinks (why?!).
The symlinks point to /.amd_mnt.  Note the underscore.  I see
things like this in transform.sed:

ink\([  `"':;,]\)|-I_bUiLdLiNk__.amd_mnt_oven_vol_v1_mls_pkg_src_textproc_p5-XML

So, i think it ends up turning /.amd_mnt into /.amd/mnt, gets
horribly confused, and strips out all the oh-so-important -I
flags.

While this path mangling looks pretty nasty to me, i think this
would be solved at least for me by not resolving the symlinks.
I'll continue digging and will try to solve this myself if i have
to, but all these levels of indirection are making my head spin
:).  Hopefully someone else more experienced with buildlink3 can
knock out a solution.

--  
Eric Gillespie <*> epg@pretzelnet.org