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 :)