From e3d5b384aa67c5562d59e8745fc6c48a9f2a997d Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 18 Jan 2019 12:43:06 +0100 Subject: [PATCH] build: expose ABI version in .packageauxvars Subdequent commits need this information to resolve the ABI version when computing binary ipk dependencies. Signed-off-by: Jo-Philipp Wich --- include/package-dumpinfo.mk | 3 ++- scripts/metadata.pm | 1 + scripts/package-metadata.pl | 9 +++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk index 8a42be5bd1..ef98c482fb 100644 --- a/include/package-dumpinfo.mk +++ b/include/package-dumpinfo.mk @@ -24,7 +24,8 @@ $(if $(MENU),Menu: $(MENU) )$(if $(DEFAULT),Default: $(DEFAULT) )$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1 )Version: $(VERSION) -Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) +$(if $(ABI_VERSION),ABIVersion: $(ABI_VERSION) +)Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) Conflicts: $(CONFLICTS) Menu-Depends: $(MDEPENDS) Provides: $(PROVIDES) diff --git a/scripts/metadata.pm b/scripts/metadata.pm index 4a5464edc0..5300e293e7 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -238,6 +238,7 @@ sub parse_package_metadata($) { /^Build-Types:\s*(.+)\s*$/ and $src->{buildtypes} = [ split /\s+/, $1 ]; next unless $pkg; /^Version: \s*(.+)\s*$/ and $pkg->{version} = $1; + /^ABIVersion: \s*(.+)\s*$/ and $pkg->{abiversion} = $1; /^Title: \s*(.+)\s*$/ and $pkg->{title} = $1; /^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; /^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1; diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index b8c5de298a..b69ceb216a 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -516,6 +516,15 @@ sub gen_package_auxiliary() { if ($pkg->{name} && $pkg->{repository}) { print "Package/$name/subdir = $pkg->{repository}\n"; } + if ($pkg->{name} && defined($pkg->{abiversion})) { + if ($pkg->{abiversion} =~ m!^(\d{4})-(\d{2})-(\d{2})-[0-9a-f]{7,40}$!) { + print STDERR "WARNING: Reducing ABI version '$pkg->{abiversion}' of package '$name' to '$1$2$3'\n"; + print "Package/$name/abiversion = $1$2$3\n"; + } + elsif (length $pkg->{abiversion}) { + print "Package/$name/abiversion = $pkg->{abiversion}\n"; + } + } } }