aboutsummaryrefslogtreecommitdiffstats
path: root/include/image.mk
Commit message (Expand)AuthorAgeFilesLines
...
* image: fix CONFIG_CLEAN_IPKG with CONFIG_TARGET_PER_DEVICE_ROOTFSMatthias Schiffer2016-09-251-1/+1
* image: per-device rootfs: don't fail without opkgMatthias Schiffer2016-09-241-2/+2
* image: allow specifying additional packages for device-specific rootfsMatthias Schiffer2016-09-241-2/+12
* image: don't override opkg list directory in per-device rootfs modeMatthias Schiffer2016-09-241-5/+2
* image: use check-size from new image build codeMathias Kresin2016-09-131-8/+1
* image: add KERNEL_SIZE to the default device varsMathias Kresin2016-09-131-1/+1
* build: drop UBI EOF marker from images by defaultFelix Fietkau2016-09-121-1/+1
* image.mk: Create a manifest file of installed packages as a build artifactPushpal Sidhu2016-09-081-0/+8
* scripts/ubinize-image.sh: add support for adding custom partitionsFelix Fietkau2016-08-311-1/+2
* image: fix per-device rootfs build error when not all opkg package files are ...Felix Fietkau2016-08-041-1/+1
* include/image.mk: allow image code to override uImage nameJohn Crispin2016-08-031-1/+2
* build: remove image specific checksum codeJo-Philipp Wich2016-08-011-8/+0
* image: use the merged package directory to resolve dependencies for per-devic...Felix Fietkau2016-08-011-2/+14
* image.mk: add CMDLINE to DEVICE_VARSFelix Fietkau2016-07-301-1/+1
* image: add support for overriding kernel/rootfs images in sysupgrade-tar temp...Felix Fietkau2016-07-301-0/+1
* image.mk: remove leftover variable from a previous reworkFelix Fietkau2016-07-291-1/+0
* build: add support for per-device rootfs based on device profile packgesFelix Fietkau2016-07-291-9/+51
* build: minor cleanup of redundant codeFelix Fietkau2016-07-291-1/+5
* build: add target_params variable for getting root filesystem image parametersFelix Fietkau2016-07-291-1/+2
* image: add wrapper variable to get the target dir for mkfs commandsFelix Fietkau2016-07-291-8/+10
* image: make mkfs template output to $@Felix Fietkau2016-07-291-10/+18
* build: remove image prefix from kernel files in KDIRFelix Fietkau2016-07-251-6/+7
* build: remove cpio.gz and tar.gz from regular filesystem typesFelix Fietkau2016-07-251-12/+16
* image.mk: create default ubifs before calling legacy image build codeFelix Fietkau2016-07-221-1/+1
* imagebuilder: strip DEVICE_ prefix from profiles (FS#55)Felix Fietkau2016-07-211-1/+1
* image.mk: initialize BOARD_NAME and IMAGES, add it to DEVICE_VARSFelix Fietkau2016-07-201-1/+4
* image.mk: add support for specifying the VID header offset for UBIFelix Fietkau2016-07-201-1/+2
* build: add support for parameter passing to mkfs from devicesFelix Fietkau2016-07-201-3/+10
* build: split legacy image mkfs.ubifs command from the one used for the new im...Felix Fietkau2016-07-201-42/+13
* build: split legacy image building code out of image.mkFelix Fietkau2016-07-201-37/+1
* image.mk: replace some template abstraction with make pattern rulesFelix Fietkau2016-07-201-14/+7
* image.mk: remove obsolete Build/mkfs overridesFelix Fietkau2016-07-201-2/+0
* image.mk: clean up redundant code related to DEVICE_DTSFelix Fietkau2016-07-151-0/+4
* image: allow devices to override the -E 5 ubinize optionFelix Fietkau2016-07-141-1/+3
* image: clean up UBI related device variable definitionsFelix Fietkau2016-07-141-1/+12
* build: Adds the ability to disable personal initramfs build for target deviceSergey Sergeev2016-06-261-1/+1
* image.mk: add a separate step for building kernel images for LegacyDevice sup...Felix Fietkau2016-06-171-0/+1
* image.mk: run LegacyDevice prepare once instead of once per filesystemFelix Fietkau2016-06-171-3/+1
* image.mk: fix make variable/command context leakage between LegacyDevice temp...Felix Fietkau2016-06-171-0/+1
* image.mk: fix dependencies for legacy make prepare stepFelix Fietkau2016-06-071-1/+1
* image.mk: fix filesystem dependency issueFelix Fietkau2016-06-071-1/+1
* image.mk: add LegacyDevice wrapper to allow legacy image building code to be ...Felix Fietkau2016-06-071-5/+58
* image.mk: change the default of the kernel suffixFelix Fietkau2016-06-071-1/+1
* image.mk: add support for specifying a different suffix for the initramfs kernelFelix Fietkau2016-06-071-1/+2
* image.mk: split off all Build/* commands into image-commands.mkFelix Fietkau2016-06-071-150/+1
* build: implement support for selecting multiple device profilesFelix Fietkau2016-06-071-1/+1
* include: move VERSION_DIST_SANITIZED to version.mkAlexander Couzens2016-06-011-3/+0
* include: rename DIST_SANITIZED to VERSION_DIST_SANITZEDAlexander Couzens2016-06-011-2/+2
* include/image.mk: move build step tplink-safeloader to image.mkAsh Benz2016-05-271-0/+12
* image.mk: remove obsolete SUBTARGETS variableFelix Fietkau2016-05-231-1/+0
pan class="k">)))) filter_deps=$(foreach dep,$(call strip_deps,$(1)),$(if $(findstring :,$(dep)),$(call dep_if,$(dep)),$(dep))) define AddDependency $$(if $(1),$$(if $(2),$$(foreach pkg,$(1),$$(IPKG_$$(pkg))): $$(foreach pkg,$(2),$$(IPKG_$$(pkg))))) endef define FixupReverseDependencies DEPS := $$(filter %:$(1),$$(IDEPEND)) DEPS := $$(patsubst %:$(1),%,$$(DEPS)) DEPS := $$(filter $$(DEPS),$$(IPKGS)) $(call AddDependency,$$(DEPS),$(1)) endef define FixupDependencies DEPS := $$(filter $(1):%,$$(IDEPEND)) DEPS := $$(patsubst $(1):%,%,$$(DEPS)) DEPS := $$(filter $$(DEPS),$$(IPKGS)) $(call AddDependency,$(1),$$(DEPS)) endef ifneq ($(PKG_NAME),toolchain) define CheckDependencies @( \ rm -f $(PKG_INFO_DIR)/$(1).missing; \ ( \ export \ READELF=$(TARGET_CROSS)readelf \ OBJCOPY=$(TARGET_CROSS)objcopy \ XARGS="$(XARGS)"; \ $(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \ ) | while read FILE; do \ grep -qxF "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \ echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \ done; \ if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \ echo "Package $(1) is missing dependencies for the following libraries:" >&2; \ cat "$(PKG_INFO_DIR)/$(1).missing" >&2; \ false; \ fi; \ ) endef endif _addsep=$(word 1,$(1))$(foreach w,$(wordlist 2,$(words $(1)),$(1)),$(strip $(2) $(w))) _cleansep=$(subst $(space)$(2)$(space),$(2)$(space),$(1)) mergelist=$(call _cleansep,$(call _addsep,$(1),$(comma)),$(comma)) addfield=$(if $(strip $(2)),$(1): $(2)) _define=define _endef=endef ifeq ($(DUMP),) define BuildTarget/ipkg ABIV_$(1):=$(call GetABISuffix,$(1)) PDIR_$(1):=$(call FeedPackageDir,$(1)) IPKG_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))_$(VERSION)_$(PKGARCH).ipk IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) KEEP_$(1):=$(strip $(call Package/$(1)/conffiles)) ifeq ($(BUILD_VARIANT),$$(if $$(VARIANT),$$(VARIANT),$(BUILD_VARIANT))) do_install= ifdef Package/$(1)/install do_install=yes endif ifdef Package/$(1)/install-overlay do_install=yes endif ifdef do_install ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) IPKGS += $(1) $(_pkg_target)compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(PKG_BUILD_DIR)/.pkgdir/$(1).installed prepare-package-install: $$(IPKG_$(1)) compile: $(STAGING_DIR_ROOT)/stamp/.$(1)_installed else $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected)) endif .PHONY: $(PKG_INSTALL_STAMP).$(1) ifeq ($(CONFIG_PACKAGE_$(1)),y) compile: $(PKG_INSTALL_STAMP).$(1) endif $(PKG_INSTALL_STAMP).$(1): prepare-package-install echo "$(1)" >> $(PKG_INSTALL_STAMP) else $(if $(CONFIG_PACKAGE_$(1)),$$(warning WARNING: skipping $(1) -- package has no install section)) endif endif DEPENDS:=$(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) IDEPEND_$(1):=$$(call filter_deps,$$(DEPENDS)) IDEPEND += $$(patsubst %,$(1):%,$$(IDEPEND_$(1))) $(FixupDependencies) $(FixupReverseDependencies) $(eval $(call BuildIPKGVariable,$(1),conffiles)) $(eval $(call BuildIPKGVariable,$(1),preinst,,1)) $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg,1)) $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg,1)) $(eval $(call BuildIPKGVariable,$(1),postrm,,1)) $(PKG_BUILD_DIR)/.pkgdir/$(1).installed : export PATH=$$(TARGET_PATH_PKG) $(PKG_BUILD_DIR)/.pkgdir/$(1).installed: $(STAMP_BUILT) rm -rf $$@ $(PKG_BUILD_DIR)/.pkgdir/$(1) mkdir -p $(PKG_BUILD_DIR)/.pkgdir/$(1) $(call Package/$(1)/install,$(PKG_BUILD_DIR)/.pkgdir/$(1)) $(call Package/$(1)/install_lib,$(PKG_BUILD_DIR)/.pkgdir/$(1)) touch $$@ $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed 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) $(call locked,$(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(STAGING_DIR_ROOT)/,root-copy) touch $$@ Package/$(1)/DEPENDS := $$(call mergelist,$$(foreach dep,$$(filter-out @%,$$(IDEPEND_$(1))),$$(dep)$$(call GetABISuffix,$$(dep)))) ifneq ($$(EXTRA_DEPENDS),) Package/$(1)/DEPENDS := $$(EXTRA_DEPENDS)$$(if $$(Package/$(1)/DEPENDS),$$(comma) $$(Package/$(1)/DEPENDS)) endif $(_define) Package/$(1)/CONTROL Package: $(1)$$(ABIV_$(1)) Version: $(VERSION) $$(call addfield,Depends,$$(Package/$(1)/DEPENDS) )$$(call addfield,Conflicts,$$(call mergelist,$(CONFLICTS)) )$$(call addfield,Provides,$$(call mergelist,$$(filter-out $(1)$$(ABIV_$(1)),$(PROVIDES)$$(if $$(ABIV_$(1)), $(1) $(foreach provide,$(PROVIDES),$(provide)$$(call GetABISuffix,$(provide)))))) )$$(call addfield,Alternatives,$$(call mergelist,$(ALTERNATIVES)) )$$(call addfield,Source,$(SOURCE) )$$(call addfield,SourceName,$(1) )$$(call addfield,License,$(LICENSE) )$$(call addfield,LicenseFiles,$(LICENSE_FILES) )$$(call addfield,Section,$(SECTION) )$$(call addfield,Require-User,$(USERID) )$$(call addfield,SourceDateEpoch,$(PKG_SOURCE_DATE_EPOCH) )$(if $(PKG_CPE_ID),CPE-ID: $(PKG_CPE_ID) )$(if $(filter hold,$(PKG_FLAGS)),Status: unknown hold not-installed )$(if $(filter essential,$(PKG_FLAGS)),Essential: yes )$(if $(MAINTAINER),Maintainer: $(MAINTAINER) )Architecture: $(PKGARCH) Installed-Size: 0 $(_endef) $$(IPKG_$(1)) : export CONTROL=$$(Package/$(1)/CONTROL) $$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description) $$(IPKG_$(1)) : export PATH=$$(TARGET_PATH_PKG) $$(IPKG_$(1)) : export PKG_SOURCE_DATE_EPOCH:=$(PKG_SOURCE_DATE_EPOCH) $(PKG_INFO_DIR)/$(1).provides $$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk @rm -rf $$(IDIR_$(1)); \ $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1)))) mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR) $(call Package/$(1)/install,$$(IDIR_$(1))) $(if $(Package/$(1)/install-overlay),mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/rootfs-overlay) $(call Package/$(1)/install-overlay,$$(IDIR_$(1))/rootfs-overlay) -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf @( \ find $$(IDIR_$(1)) -name lib\*.so\* -or -name \*.ko | awk -F/ '{ print $$$$NF }'; \ for file in $$(patsubst %,$(PKG_INFO_DIR)/%.provides,$$(IDEPEND_$(1))); do \ if [ -f "$$$$file" ]; then \ cat $$$$file; \ fi; \ done; $(Package/$(1)/extra_provides) \ ) | sort -u > $(PKG_INFO_DIR)/$(1).provides $(if $(PROVIDES),@for pkg in $(filter-out $(1),$(PROVIDES)); do cp $(PKG_INFO_DIR)/$(1).provides $(PKG_INFO_DIR)/$$$$pkg.provides; done) $(CheckDependencies) $(RSTRIP) $$(IDIR_$(1)) ifneq ($$(CONFIG_IPK_FILES_CHECKSUMS),) (cd $$(IDIR_$(1)); \ ( \ find . -type f \! -path ./CONTROL/\* -exec sha256sum \{\} \; 2> /dev/null | \ sed 's|\([[:blank:]]\)\./|\1/|' > $$(IDIR_$(1))/CONTROL/files-sha256sum \ ) || true \ ) endif (cd $$(IDIR_$(1))/CONTROL; \ ( \ echo "$$$$CONTROL"; \ printf "Description: "; echo "$$$$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; \ ) > control; \ chmod 644 control; \ ( \ echo "#!/bin/sh"; \ echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \ echo "[ -x "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \ echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ echo "default_postinst \$$$$0 \$$$$@"; \ ) > postinst; \ ( \ echo "#!/bin/sh"; \ echo "[ -x "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \ echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ echo "default_prerm \$$$$0 \$$$$@"; \ ) > prerm; \ chmod 0755 postinst prerm; \ $($(1)_COMMANDS) \ ) ifneq ($$(KEEP_$(1)),) @( \ keepfiles=""; \ for x in $$(KEEP_$(1)); do \ [ -f "$$(IDIR_$(1))/$$$$x" ] || keepfiles="$$$${keepfiles:+$$$$keepfiles }$$$$x"; \ done; \ [ -z "$$$$keepfiles" ] || { \ mkdir -p $$(IDIR_$(1))/lib/upgrade/keep.d; \ for x in $$$$keepfiles; do echo $$$$x >> $$(IDIR_$(1))/lib/upgrade/keep.d/$(1); done; \ }; \ ) endif $(INSTALL_DIR) $$(PDIR_$(1)) $(FAKEROOT) $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) @[ -f $$(IPKG_$(1)) ] $(1)-clean: $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1)))) clean: $(1)-clean endef endif