[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Crush 2.0 abandoned

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

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.

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

Attachment: pgpn2GrVqkadu.pgp
Description: PGP signature

Reply to: