On Sat, Oct 18, 2008 at 02:50:38PM +0300, Adrian Bunk wrote:
It's not about not having it public, it's about not flooding people's
mailboxes with off-topic mails.
It's easier as long as you have one build environment very close to the
target, which tends not to be possible anymore as time passes or for too
small devices.
and why not have 3 build machines at all ?
Adrian, don't try to make me look like dumb by asking for specific
problems. Problems range from auto-detection of kernel version to
enable or disable feature X or Y, to endian detection and bit width
detection. If you don't believe me, it's just that you're used to
build completely OS-agnostic packages, which is perfectly fine, but
that doesn't seem to be completely the case given that you're feeling
you will get annoyed by breaking the openssl BUILD environment if
you make it run on a different kernel. *That* is the funny part,
since this build environment should not even require to run on Linux
at all! And believe me, I know that openssl is boring to build due
to many hard-coded things which require patching (mainly paths if my
memory is correct). But once that's done, it's done forever.
No it isn't because you're saying that some of the packages check for
kernel version which is not the right one. So if you move your chroot
to another machine, it is susceptible to break because it relies on
the host's kernel version. So your chroot is not your build environment,
it's just part of it.
You addressed it only for openssl and apache 1.3, that you used as
examples to object to a change of changing kernel version numbering
scheme. So do you have other examples of packages like this which
might break and might be more sensible to build environment's kernel
version ? Because if only apache 1.3 and openssl 0.9.8g are sensible,
the fix will be really quick using something like this in your build
scripts and makefiles :
uname() {
if [ -n "$KERNEL_TARGET" ]; then
echo $KERNEL_TARGET
else
/bin/uname "$@"
fi
}
And BTW, if your build environment mimmics so well the target except
for uname, let's fix its uname tool to reflect the target version !
Quite cool stuff, but I'm really not interested. Having been beat by
a number of packages which try to run target environment commands
during the build when not set for cross-compile, I'd expect pretty
random results.
That's the design error you're trying to fix by pushing constraints on
the kernel.
Willy
--