[OpenWrt-Devel] [PATCH 00/15] Metadata generator refactoring, cleanup and PROVIDES improvements

Matthias Schiffer mschiffer at universe-factory.net
Mon Jan 8 09:52:13 EST 2018

When attempting to fix FS#837, I decided to treat our metadata generator to
a greater refactoring, which resulted in this patchset. FS#837 is fixed in
patch 13.

I also removed two seemingly obsolete features, "preconfig" and "package
features", which are not used by any package in the OpenWrt/LEDE base or
our default feeds.

The changes in this patchset also improve dependency diagnostics and
clearly separate between build depends (on source packages) and runtime
depends (on binary packages, implying build depends). This requires some
fixes in package Makefiles with broken dependencies (patch 10, [1], [2]).

There are also broken runtime depends in many feed packages, which I did
not fix, but which will be shown more prominently during prepare-tmpinfo
now. I'm not sure what the best way to handle such broken dependencies is,
as they might also be caused by missing feeds, e.g. LuCI depending on
telephony packages.
- Keep the warning, but try to build the packages as before (current
  solution in this patchset)?
- Hide the warning again (old state)?
- Ignore packages with missing build dependencies altogether (just show a
  warning in the metadata generators)?

As hinted in patch 15, I have further refactoring in mind, but let's try to
get this set reviewed and committed first...


[1] https://github.com/openwrt/packages/pull/5370
[2] https://github.com/openwrt-routing/packages/pull/345

Matthias Schiffer (15):
  metadata: remove 'base-files' special case
  metadata: make srcpackage extensible
  metadata: move 'buildtypes' from binary to source packages
  metadata: move 'builddepends' from binary to source packages
  metadata: interate over source packages when generating Makefile
  metadata: change pkg->{src} field to hold a reference
  metadata: replace %subdir hash with a path field in source packages
  metadata: remove redundant fields from package hash
  build: remove package preconfig feature
  treewide: fix build depends to refer to source package names
  metadata: handle target build depends together with host build depends
  metadata: simplify generation of build depends from runtime depends
  metadata: always resolve dependencies through provides list
  build: remove obsolete "package feature" feature
  include/package-dumpinfo.mk: don't duplicate source package
    information for every binary package

 include/autotools.mk                         |   4 +-
 include/nls.mk                               |   2 +-
 include/package-dumpinfo.mk                  |  53 +----
 package/Makefile                             |   3 -
 package/network/config/ltq-adsl-app/Makefile |   2 +-
 package/network/config/ltq-vdsl-app/Makefile |   2 +-
 scripts/feeds                                |  28 +--
 scripts/metadata.pm                          | 101 +++------
 scripts/package-metadata.pl                  | 299 +++++++++------------------
 9 files changed, 158 insertions(+), 336 deletions(-)

openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list