mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-30 10:42:22 +00:00
e6bcf1e4ac
Add the ABI_VERSION source makefile variable to the binary package basename and resolve source dependencies on packages with ABI_VERSION set to such expanded names. If for example a package specifies DEPENDS:=libopenssl while the OpenSSL Makefile specifies ABI_VERSION:=1.0.0, the resulting ipk control data dependency will be "Depends: libopenssl1.0.0" and the libopenssl ipk file will be called "libopenssl1.0.0_<version>_<arch>.ipk". The next time a library such as OpenSSL is updated to an incompatible version, the ABI_VERSION shall be changed accordingly to prevent opkg from simply upgrading to an incompatible library without considering the dependencies of already installed packages. Also introduce another "SourceName" control field which is required by the newly introduced "scritps/ipkg-remove" to determine the proper related .ipk files to delete upon buildroot package clean operations. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
49 lines
1.5 KiB
Makefile
49 lines
1.5 KiB
Makefile
#
|
|
# Copyright (C) 2014 OpenWrt.org
|
|
# Copyright (C) 2016 LEDE Project
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
-include $(TMP_DIR)/.packageauxvars
|
|
|
|
FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*))
|
|
FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n))
|
|
|
|
PACKAGE_SUBDIRS=$(PACKAGE_DIR)
|
|
ifneq ($(CONFIG_PER_FEED_REPO),)
|
|
PACKAGE_SUBDIRS += $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/base
|
|
PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_AVAILABLE),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED))
|
|
endif
|
|
|
|
opkg_package_files = $(wildcard \
|
|
$(foreach dir,$(PACKAGE_SUBDIRS), \
|
|
$(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk)))
|
|
|
|
# 1: package name
|
|
define FeedPackageDir
|
|
$(strip $(if $(CONFIG_PER_FEED_REPO), \
|
|
$(if $(Package/$(1)/subdir), \
|
|
$(abspath $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(Package/$(1)/subdir)), \
|
|
$(PACKAGE_DIR)), \
|
|
$(PACKAGE_DIR)))
|
|
endef
|
|
|
|
# 1: destination file
|
|
define FeedSourcesAppend
|
|
( \
|
|
echo 'src/gz %d_core %U/targets/%S/packages'; \
|
|
$(strip $(if $(CONFIG_PER_FEED_REPO), \
|
|
echo 'src/gz %d_base %U/packages/%A/base'; \
|
|
$(foreach feed,$(FEEDS_AVAILABLE), \
|
|
$(if $(CONFIG_FEED_$(feed)), \
|
|
echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )src/gz %d_$(feed) %U/packages/%A/$(feed)';)))) \
|
|
) >> $(1)
|
|
endef
|
|
|
|
# 1: package name
|
|
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)))
|
|
endef
|