The state of lsbsi for LSB 2.0
"Wichmann, Mats D" <[email protected]> Sat, 10 Jan 2004 13:09:45 -0800
| Newsgroups | gmane.linux.lsb.implementation |
|---|---|
| Message-ID | <[email protected]> |
After devoting a bunch of time this week to working on the lsbsi, I'm going to have to stop again, as I have a load of reports, papers, and other such looming before I head out to Linux World (where not much will happen on this, either). So here's a summary of the state: - most of the packages have been uplifted to current versions, most significantly gcc, glibc, bintuils and coreutils. glibc-2.3 is the basis for LSB 2.0, so this was a nasty piece of lifting that had to be done at some point. There are a few more packages to update, but I don't think they're in the critical path the way gcc/glibc were. I got most of the trivial ones; the remaining ones may have an LSB patch that needs to be evaluated. I didn't finish the coreutils work; the old fileutils/textutils/ sh-utils combination had some cleanup work to remove non-LSB binaries in the final phase. In the interest of just getting it going I didn't try to forward-port that. We should just be able to evaluate the list of installed binaries (I think I still have a reverse-mode cmdchk that reports on non-LSB binaries) and put back the list of ones to remove. - I've crafted in support for the other architectures where it looked like it was still needed (some places there were four, some six, some seven); thus we're somewhere in the neighborhood of being able to do a basic build of the code for all seven. It's not correct for the complex ones (ppc64, s390x, x86_64): the multi- architecture work is not done. I wanted to just try the builds first and see how much works out right. - I've done a test build on x86_64; the bootstrap completes, but the gcc spec file was not edited correctly, so that the first dynamically linked exectuable that actually gets run fails because it has the wrong dynamic linker. I've just fixed this in the xml, I misunderstood something about the nALFS (old version) syntax. Hopefully a rebuild will go better. - something funky has happened to kernel headers since 2.4.22 on ia64, with the result that even the bootstrap won't complete on ia64. I introduced this problem: we used to fully configure the kernel before grabbing the headers for the bootstrap; I changed to the current way LFS does it, which doesn't end up actually configuring the kernel. And that works great except for the crud one of the kernel headers on ia64 aquired to make sure a valid page size is being used: if you haven't actually /selected/ a page size, it dies. - the rpm that's used to initialize the rpm database has been updated to 1.9.0 (I used the autobuilder images), but this rpm doesn't yet really have the right contents for LSB 2.0 - todo. - I plan to evaluate the LFS patches to see how many of them are applicable to us. The glibc patch was clearly needed (glibc 2.3.2 wouldn't build without it). - And it all needs testing - on all the architectures. I'm only reasonably able to do 386 and ia64 here. I may be able to kick off an lsb-runtime-test run on x86 before I have to put the toys away. - and a final note: this stuff is in quite a fragile state at the moment. I had several things that refused to compile at all on various test architectures; lifting the versions seems to help. binutils is a bit out of date; 2.15 is in the pipeline and fixes a number of issues on newer architectures (I'll have to ping HJ Lu to see if there's a target date). We're on 2.14 now, previously we were on 2.13 which was way too old. There is likely to be further breakage as we get to looking at this on all the architectures. Also, the bootstrap requires some interesting static libraries. On one platform, grep wouldn't link because there was no libpcre.a. I don't, at the moment, have a complete list of what's needed; we should probably expand the configure script to check for these like was recently added for the application battery.