On Wed, 12 Aug 2009 13:52:13 +0200 Hector Oron <hector.oron@gmail.com> wrote: > >> But, Neil, what do you think on having a debian/rules which points to > >> debian/rules.d/$native_rules if DEB_BUILD_ARCH == DEB_HOST_ARCH and > >> debian/rules.d/$cross_rules if DEB_BUILD_ARCH != DEB_HOST_ARCH? With > >> this and xcontrol, we might be able to make it possible and easy for > >> crush 2.0, but as you said it might not worth the time if everything > >> changes. > > > > This sounds odd: You want to rewrite packaging scripts for *all* > > packages that needs cross-compiling? Or when would above make sense? > > Current workflow for crush, download a package from debian, patch, > build, fix and rebuild. Now, patches does not apply. Most patches should apply - against versions of the packages in unstable at least. Patches not applying is the main problem with using patches at all and a reason to try and find maintainable ways of implementing the changes we need for Crush. > So, I was just > suggesting, in case somebody wants to work on crush 2.0, to have > separated files for cross instead patching Debian one, so i assume that > patches can be useful in longer term in an automated build system. These patches are only required in a limited set of situations: 1. where Emdebian needs a different configuration from the default Debian build - e.g. busybox 2. where Emdebian needs to omit sections of the build that are not compatible with a cross-build - these are the only times when changes still need to be wrapped in cross-build detection conditionals in debian/rules and bugs should already have been filed to implement such support. 3. where Emdebian needs to modify maintainer scripts or other files for compatibility with busybox - a difficult issue where the goal posts are constantly moving. 4. where Emdebian needs to turn off optional components of the upstream package to change functionality or drop dependencies - e.g. libgconf-noldap-2-4 Every other package should already have bugs filed to implement any changes required to cross-build the package and then left to cross-build as if it was an entirely normal native build. Other changes to the package (dropping documentation and manpages etc.) is done by calling emgrip with the 'usecrush' options once the package has been cross-built. (This change was made after the release of Crush 1.0). The goal was to have all such bugs closed before the Squeeze release freeze, resulting in Emdebian only needing patches for the *functional* changes. In the EmdebianCodeAudit, packages where all cross-building support is implemented within the Debian package and where no patches are now required, are listed as 'done'. Many more only need xcontrol support for their cross-build dependency identification. There are vastly fewer patches within Emdebian Crush than there were for 1.0. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgpn2GrVqkadu.pgp
Description: PGP signature