On Fri, 17 Nov 2006 21:33:46 +0000 Wookey <wookey@aleph1.co.uk> wrote: > On 2006-11-17 09:18 -0800, Christoph Lameter wrote: > > Maybe you could change the dependency check for gcc-4.1 from > > = 4.1.1-13 to something like >= 4.1.1.-13 ? Otherwise this is going > > to break each time a minor gcc update occurs. There's an instruction missing from the current build process that causes an unwanted dependency. I'm not sure when this was implemented upstream but it certainly affects gcc-4.1 >= 4.1.1-19 and probably earlier. The updated build allows 4.1.1-20 to exist alongside 4.1.1-19: neil@holly:emchain$ dpkg -l gcc-4.1* ii gcc-4.1 4.1.1-20 The GNU C compiler ii gcc-4.1-arm-linux-gnu 4.1.1-19 The GNU C compiler ii gcc-4.1-arm-linux-gnu-base 4.1.1-19 The GNU Compiler Collection (base package) ii gcc-4.1-base 4.1.1-20 The GNU Compiler Collection (base package) > The idea is to auto rebuild them every time there is an update to > avoid this problem, but that's not quite in place yet. It's coming along. The fixed build is expected to work like this: 1. emchain builds and installs the first toolchain for the default dpkg-cross architecture using the current Debian default compiler and current version. 2. Debian uploads a new package, changing either the upstream version or the Debian version, and cron-apt installs the host toolchain as normal. The cross-built toolchain is unchanged. 3. When the Debian buildd machine for the default architecture completes a successful build of the new version, emchain updates the local toolchain directory, builds the updated package(s) and installs them. Thus, if emchain is utilised via cron-apt or similar, developers will only have about 48hrs where the local cross-built toolchain is behind the current Debian toolchain. Packages in the emdebian repository can be updated from there or possibly on the buildd itself. > As you say > slightly looser dependencies would be good (and should still work), > but I'm not sure if that is easy to do or not. Now that the fixed build is working, the dependencies are not just looser but completely absent. By ensuring that the relevant gcc-foo-base package is built, the cross-built toolchain is completely independent of the host toolchain. Whilst it probably isn't recommended to maintain a different version for too long, it is necessary that the host toolchain upgrades without forcing the removal of the cross-built toolchain. Previously, the host toolchain got held back by apt-get upgrade because of the lack of a cross-built gcc-foo-base package which caused a dependency on the host gcc-foo-base package. This meant that the cross toolchain had to be removed before the host toolchain could be updated and the new cross-toolchain rebuilt. > We expect to have auto-rebuilding in place very soon (next couple of > weeks?) That sounds OK. Some more testing to do this weekend, then I can release apt-cross and emchain, upload packages into the emdebian repository, document the cron-apt hook, ... -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgp0e8vpVLhak.pgp
Description: PGP signature