kernel-wedge, udeb: Define which packages to build through package-list

Currently kernel-wedge decides which module packages should be built for a specific architecture and flavour based on the existence of a module list file in the relevant directory for that arch/flavour.

This was presumably done because this is easy to check in both shell and Perl scripts, but it has resulted in the need to create hundreds of trivial list files.

Now that all the relevant scripts are written in Perl, we can change them to use a common function for this, instead of file tests.

  • Use Architecture & Flavour_arch fields in d/i/package-list to specify which architectures and flavours each package should be built in, if it is not built for all of them

  • Delete the definition for the jffs2-modules package which was not enabled for any flavour

  • In the KernelWedge module:

    • Add package_enabled (exported) and _package_enabled (internal) functions that report whether a package is enabled for a given architecture and flavour, based on those fields
    • In for_each_package, use _package_enabled to filter packages
    • In for_each_package, stop passing $modlistdir to the callback
  • In copy-modules and gen-control, use package_enabled to filter out nonexistent dependencies

  • In preprocess, look for the initial module list file in either the arch/flavour-specific directory or in the common directory

  • Delete all the trivial list files

Depends on !1869 (merged)

Merge request reports

Loading