On 03/25/2011 03:47 AM, Serghei Amelian wrote:
On Friday 25 March 2011 07:52:42 David C. Rankin
wrote:
[...]
I'm not sure why this is needed since the
PKGBUILD process takes place
in a *newly* created src directory that is *outside* the svn tree. This
will take a rewrite of all PKGBUILDS to accommodate this change.
newly created src != out of source
I made out-of-source mode mandatory because too many people have weird
building problems and I waste far too much time to debug it.
Serghei,
The change prevents Arch PKGBUILDs from working. Arch PKGBUILDs start with
a *new* directory, eg:
trinity-kdelibs
Arch then creates:
trinity-kdelibs
\-pkg
\-src
The svn checkout is then done in:
trinity-kdelibs
\-pkg
\-src
\-kdelibs
Building is then done under the *new* 'kdelibs' and finish packages are
then installed into the fake-root '\-pkg' where the final package is created
from.
The change you have implemented prevents the Arch 'makepkg' process from
working as it traditionally does. It *is* possible to force the build in an
alternate directory in the PKGBUILD scripts, but that is *not* the way Arch
traditionally works.
The key here is that Arch downloads the trinity code into a new directory.
Yes -- if you keep building over and over again in the same directory without
deleting 'src' or without issuing --clean or --cleancache, you can run into
problems, but I don't think forcing an out-of-source-build is the right way to
cure the problem.
Of course I will do it however you guys decide, but I would suggest it is
far better to warn about potential problems when reusing a source tree than it
is to mandate a change from the traditional build methods.
You guys think about it and let me know. I would change the *mandate* of
the out-or-source requirement to a *WARNING* so that the build can proceed,
but the builder is aware that if he is not building from a clean source, then
unforeseen problems can arise. Something like:
WARNING: you are attempting to build withing the original source tree. If you
have built from this same source tree earlier, your build may fail or you may
experience runtime errors due to a compromised build cache. Please insure you
are building from a clean source. Out-of-source building is strongly advised.
http://link/to/out/of/source/build/howto
I'll get with Baho and sort out what will be required if this out of source
change is kept as an error instead of a warning. I'm swamped for the next few
days, but will fit this in if needed. Thanks :)
--
David C. Rankin, J.D.,P.E.