Hi Peter,
See inline:
Peter Barada wrote:
On 12/20/2010 04:35 AM, address@hidden wrote:
Hi Peter,
I'm going to need to re-read this email as at first read I'm not exactly
sure what you are running into. If possible can you reduce it to 2
sentences of; "I expected this... but observe this...."
Ok, to clear things up, I expect if I remove rpm/RPMS/arm/kernel*.rpm
and everything in rpm/BUILD that "./ltib" will "do the right thing",
namely %prep, %build but not %clean the kernel if I have a package
enabled that selects PKG_KERNEL_LEAVESRC. Since PKG_*_LEAVESRC is a
transient config it fails when I try to build helloworld_mod.
Okay I can see what you mean, that's a bug/design flaw.
I think a simple fix maybe to just make LEAVESRC non-transient, but I
worry about some unwanted side-effect. I have a vague recollection that
I was going to do this at one point and backed out.
Maybe for now you could try for your use cases by deleting line 3149:
s,^(\w+LEAVESRC)=y,# $1 is not set,;
Regarding "LEAVESRC" the idea is that this only needs to be transient as
once a package is left unpacked, it will never be removed and so on
subsequence builds the same sources remain there and just get re-built.
True, but being "paranoid" especially if I'm mucking with the config(s)
and package spec files, its easiest to force multiple package rebuilds
by deleting their resultant .rpm and rpm/BUILD directories and executing
"./ltib". Also my buildbot leaves its universe alone (i.e. all it does
is "svn update; ./ltib -m clean; ./ltib -b --preconfig
config/platform/<platform>/defconfig").
I'm sure I'm missing something - how can I tell LTIB to remove a
package's source (that's left around due to LEAVESRC) - if its exists in
rpm/BUILD, ltib cowardly refuses to remove it even if I update its .spec
file. So I added a "rm -rf rpm/BUILD/* to the buildbot steps and ended
up w/o kernel source and helloworld_mod failing.
The idea is once a package source is unpacked the only way it will get
removed is manually (or by some external autobuild script). The reason
is that you may be working on that source (e.g. developing a kernel
driver), the last thing you want is to lose those changes. Touching the
.spec file just means that you want a rebuild, not that any sources
need unpacking (unless they are not there already).