build: drop ABI version from metadata
Preparation for supporting dynamic ABI versions that depend on the runtime configuration. Read the suffix from the staging dir pkginfo version files. Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
		| @@ -43,5 +43,5 @@ endef | |||||||
|  |  | ||||||
| # 1: package name | # 1: package name | ||||||
| define GetABISuffix | define GetABISuffix | ||||||
| $(if $(filter-out kmod-%,$(1)),$(if $(Package/$(1)/abiversion),$(if $(filter %0 %1 %2 %3 %4 %5 %6 %7 %8 %9,$(1)),-)$(Package/$(1)/abiversion))) | $(if $(filter-out kmod-%,$(1)),$(foreach v,$(wildcard $(STAGING_DIR)/pkginfo/$(1).version),$(shell cat $(v)))) | ||||||
| endef | endef | ||||||
|   | |||||||
| @@ -21,8 +21,7 @@ $(if $(MENU),Menu: $(MENU) | |||||||
| )$(if $(DEFAULT),Default: $(DEFAULT) | )$(if $(DEFAULT),Default: $(DEFAULT) | ||||||
| )$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1 | )$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1 | ||||||
| )Version: $(VERSION) | )Version: $(VERSION) | ||||||
| $(if $(ABI_VERSION),ABIVersion: $(ABI_VERSION) | Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) | ||||||
| )Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) |  | ||||||
| Conflicts: $(CONFLICTS) | Conflicts: $(CONFLICTS) | ||||||
| Menu-Depends: $(MDEPENDS) | Menu-Depends: $(MDEPENDS) | ||||||
| Provides: $(PROVIDES) | Provides: $(PROVIDES) | ||||||
|   | |||||||
| @@ -99,7 +99,7 @@ _endef=endef | |||||||
|  |  | ||||||
| ifeq ($(DUMP),) | ifeq ($(DUMP),) | ||||||
|   define BuildTarget/ipkg |   define BuildTarget/ipkg | ||||||
|     ABIV_$(1):=$(call GetABISuffix,$(1)) |     ABIV_$(1):=$(if $(filter-out kmod-%,$(1)),$(ABI_VERSION)) | ||||||
|     PDIR_$(1):=$(call FeedPackageDir,$(1)) |     PDIR_$(1):=$(call FeedPackageDir,$(1)) | ||||||
|     IPKG_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))_$(VERSION)_$(PKGARCH).ipk |     IPKG_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))_$(VERSION)_$(PKGARCH).ipk | ||||||
|     IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) |     IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) | ||||||
| @@ -157,7 +157,12 @@ ifeq ($(DUMP),) | |||||||
|  |  | ||||||
|     $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed |     $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed | ||||||
| 	mkdir -p $(STAGING_DIR_ROOT)/stamp | 	mkdir -p $(STAGING_DIR_ROOT)/stamp | ||||||
| 	$(if $(ABI_VERSION),echo '$(ABI_VERSION)' | cmp -s - $(PKG_INFO_DIR)/$(1).version || echo '$(ABI_VERSION)' > $(PKG_INFO_DIR)/$(1).version) | 	$(if $(ABI_VERSION),echo '$(ABI_VERSION)' | cmp -s - $(PKG_INFO_DIR)/$(1).version || \ | ||||||
|  | 		echo '$(ABI_VERSION)' > $(PKG_INFO_DIR)/$(1).version \ | ||||||
|  | 		$(foreach pkg,$(filter-out $(1),$(PROVIDES)),; \ | ||||||
|  | 			cp $(PKG_INFO_DIR)/$(1).version $(PKG_INFO_DIR)/$(pkg).version \ | ||||||
|  | 		) \ | ||||||
|  | 	) | ||||||
| 	$(call locked,$(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(STAGING_DIR_ROOT)/,root-copy) | 	$(call locked,$(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(STAGING_DIR_ROOT)/,root-copy) | ||||||
| 	touch $$@ | 	touch $$@ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -249,7 +249,6 @@ sub parse_package_metadata($) { | |||||||
| 		/^Build-Types:\s*(.+)\s*$/ and $src->{buildtypes} = [ split /\s+/, $1 ]; | 		/^Build-Types:\s*(.+)\s*$/ and $src->{buildtypes} = [ split /\s+/, $1 ]; | ||||||
| 		next unless $pkg; | 		next unless $pkg; | ||||||
| 		/^Version: \s*(.+)\s*$/ and $pkg->{version} = $1; | 		/^Version: \s*(.+)\s*$/ and $pkg->{version} = $1; | ||||||
| 		/^ABIVersion: \s*(.+)\s*$/ and $pkg->{abiversion} = $1; |  | ||||||
| 		/^Title: \s*(.+)\s*$/ and $pkg->{title} = $1; | 		/^Title: \s*(.+)\s*$/ and $pkg->{title} = $1; | ||||||
| 		/^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; | 		/^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; | ||||||
| 		/^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1; | 		/^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1; | ||||||
|   | |||||||
| @@ -532,21 +532,6 @@ sub gen_package_auxiliary() { | |||||||
| 		if ($pkg->{name} && $pkg->{repository}) { | 		if ($pkg->{name} && $pkg->{repository}) { | ||||||
| 			print "Package/$name/subdir = $pkg->{repository}\n"; | 			print "Package/$name/subdir = $pkg->{repository}\n"; | ||||||
| 		} | 		} | ||||||
| 		if ($pkg->{name} && defined($pkg->{abiversion}) && length($pkg->{abiversion})) { |  | ||||||
| 			my $abiv; |  | ||||||
|  |  | ||||||
| 			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"; |  | ||||||
| 				$abiv = "$1$2$3"; |  | ||||||
| 			} |  | ||||||
| 			else { |  | ||||||
| 				$abiv = $pkg->{abiversion}; |  | ||||||
| 			} |  | ||||||
|  |  | ||||||
| 			foreach my $n (@{$pkg->{provides}}) { |  | ||||||
| 				print "Package/$n/abiversion = $abiv\n"; |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		my %depends; | 		my %depends; | ||||||
| 		foreach my $dep (@{$pkg->{depends} || []}) { | 		foreach my $dep (@{$pkg->{depends} || []}) { | ||||||
| 			if ($dep =~ m!^\+?(?:[^:]+:)?([^@]+)$!) { | 			if ($dep =~ m!^\+?(?:[^:]+:)?([^@]+)$!) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau