trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2011

Re: [trinity-devel] All current Arch PKGBUILDS now broken due to new Out of Source Build Requirement

From: "David C. Rankin" <drankinatty@...>
Date: Fri, 25 Mar 2011 11:19:54 -0500
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.