diff --git a/make/buildsystem-helpers.mk b/make/buildsystem-helpers.mk index 3669454b..5e3ef308 100644 --- a/make/buildsystem-helpers.mk +++ b/make/buildsystem-helpers.mk @@ -11,10 +11,11 @@ endef # ----------------------------------------------------------------------------- # download archives into download directory -download = wget --no-check-certificate -t3 -T60 -c -P $(DL_DIR) - GET_ARCHIVE = wget --no-check-certificate -t3 -T60 -c -P +# for compatibility with "old" infrastructure +download = $(GET_ARCHIVE) $(DL_DIR) + define DOWNLOAD $(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) $(Q)( \ @@ -76,6 +77,7 @@ define FOLLOWUP $(REWRITE_CONFIG_SCRIPTS) $(REWRITE_LIBTOOL) $(REMOVE)/$($(PKG)_DIR) + $(foreach hook,$($(PKG)_TARGET_FINALIZE_HOOKS),$(call $(hook))$(sep)) $(foreach hook,$($(PKG)_POST_FOLLOWUP_HOOKS),$(call $(hook))$(sep)) $(TOUCH) endef diff --git a/make/target-libs.mk b/make/target-libs.mk index ba52e55d..98642824 100644 --- a/make/target-libs.mk +++ b/make/target-libs.mk @@ -48,10 +48,14 @@ LIBFUSE_CONF_OPTS = \ --enable-lib \ --enable-silent-rules -libfuse: | $(TARGET_DIR) - $(call autotools-package) +define LIBFUSE_TARGET_CLEANUP -rm -r $(TARGET_sysconfdir)/udev -rm $(TARGET_sysconfdir)/init.d/fuse +endef +LIBFUSE_TARGET_FINALIZE_HOOKS += LIBFUSE_TARGET_CLEANUP + +libfuse: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -178,9 +182,13 @@ LIBPNG_CONF_OPTS = \ --disable-static \ $(if $(filter $(BOXSERIES),hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse),--enable-arm-neon,--disable-arm-neon) +define LIBPNG_TARGET_CLEANUP + -rm $(addprefix $(TARGET_bindir)/,libpng-config) +endef +LIBPNG_TARGET_FINALIZE_HOOKS += LIBPNG_TARGET_CLEANUP + libpng: | $(TARGET_DIR) $(call autotools-package) - -rm $(addprefix $(TARGET_bindir)/,libpng-config) # ----------------------------------------------------------------------------- @@ -240,9 +248,13 @@ LIBJPEG_TURBO_CONF_OPTS = \ -DWITH_SIMD=False \ -DWITH_JPEG8=80 +define LIBJPEG_TURBO_TARGET_CLEANUP + -rm $(addprefix $(TARGET_bindir)/,cjpeg djpeg jpegtran rdjpgcom tjbench wrjpgcom) +endef +LIBJPEG_TURBO_TARGET_FINALIZE_HOOKS += LIBJPEG_TURBO_TARGET_CLEANUP + libjpeg-turbo: $(DL_DIR)/$(LIBJPEG_TURBO_SOURCE) | $(TARGET_DIR) $(call cmake-package) - -rm $(addprefix $(TARGET_bindir)/,cjpeg djpeg jpegtran rdjpgcom tjbench wrjpgcom) # ----------------------------------------------------------------------------- @@ -619,9 +631,13 @@ LIBGCRYPT_CONF_OPTS = \ --disable-static \ --disable-tests +define LIBGCRYPT_TARGET_CLEANUP + -rm $(addprefix $(TARGET_bindir)/,dumpsexp hmac256 mpicalc) +endef +LIBGCRYPT_TARGET_FINALIZE_HOOKS += LIBGCRYPT_TARGET_CLEANUP + libgcrypt: | $(TARGET_DIR) $(call autotools-package) - -rm $(addprefix $(TARGET_bindir)/,dumpsexp hmac256 mpicalc) # ----------------------------------------------------------------------------- @@ -710,10 +726,14 @@ LIBXML2_CONF_OPTS = \ --without-lzma \ --without-schematron -libxml2: | $(TARGET_DIR) - $(call autotools-package) +define LIBXML2_TARGET_CLEANUP -rm -r $(TARGET_libdir)/cmake -rm $(addprefix $(TARGET_libdir)/,xml2Conf.sh) +endef +LIBXML2_TARGET_FINALIZE_HOOKS += LIBXML2_TARGET_CLEANUP + +libxml2: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -761,10 +781,14 @@ LIBXSLT_CONF_OPTS = \ --without-debug \ --without-mem-debug -libxslt: | $(TARGET_DIR) - $(call autotools-package) +define LIBXSLT_TARGET_CLEANUP -rm -r $(TARGET_libdir)/libxslt-plugins/ -rm $(addprefix $(TARGET_libdir)/,xsltConf.sh) +endef +LIBXSLT_TARGET_FINALIZE_HOOKS += LIBXSLT_TARGET_CLEANUP + +libxslt: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -802,12 +826,16 @@ LIBTIRPC_CONF_OPTS = \ --disable-gssapi \ --enable-silent-rules -libtirpc: | $(TARGET_DIR) - $(call autotools-package) ifeq ($(BOXSERIES),hd1) + define LIBTIRPC_DISABLE_IPV6 $(SED) '/^\(udp\|tcp\)6/ d' $(TARGET_sysconfdir)/netconfig + endef + LIBTIRPC_TARGET_FINALIZE_HOOKS += LIBTIRPC_DISABLE_IPV6 endif +libtirpc: | $(TARGET_DIR) + $(call autotools-package) + # ----------------------------------------------------------------------------- CONFUSE_VERSION = 3.2.2 @@ -1044,11 +1072,15 @@ ALSA_LIB_CONF_OPTS = \ --disable-python \ --disable-topology -alsa-lib: | $(TARGET_DIR) - $(call autotools-package) +define ALSA_LIB_TARGET_CLEANUP find $(TARGET_datadir)/alsa/cards/ -name '*.conf' ! -name 'aliases.conf' | xargs --no-run-if-empty rm find $(TARGET_datadir)/alsa/pcm/ -name '*.conf' ! -name 'default.conf' ! -name 'dmix.conf' ! -name 'dsnoop.conf' | xargs --no-run-if-empty rm -rm -r $(TARGET_datadir)/aclocal +endef +ALSA_LIB_TARGET_FINALIZE_HOOKS += ALSA_LIB_TARGET_CLEANUP + +alsa-lib: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- diff --git a/make/target-tools.mk b/make/target-tools.mk index 80094784..0bdd2694 100644 --- a/make/target-tools.mk +++ b/make/target-tools.mk @@ -274,13 +274,17 @@ COREUTILS_CONF_OPTS = \ COREUTILS_BINARIES = touch -coreutils: | $(TARGET_DIR) - $(call autotools-package) - for bin in $($(PKG)_BINARIES); do \ +define COREUTILS_INSTALL_BINARIES + for bin in $(COREUTILS_BINARIES); do \ rm -f $(TARGET_base_bindir)/$$bin; \ $(INSTALL_EXEC) -D $(TARGET_base_bindir).$(@F)/$$bin $(TARGET_base_bindir)/$$bin; \ done rm -r $(TARGET_base_bindir).$(@F) +endef +COREUTILS_TARGET_FINALIZE_HOOKS += COREUTILS_INSTALL_BINARIES + +coreutils: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -308,17 +312,25 @@ PROCPS_NG_CONF_OPTS = \ PROCPS_NG_BINARIES = ps top -procps-ng: | $(TARGET_DIR) - $(call autotools-package) - $(INSTALL_DATA) -D $(PKG_FILES_DIR)/sysctl.conf $(TARGET_sysconfdir)/sysctl.conf - $(INSTALL) -d $(TARGET_sysconfdir)/sysctl.d - $(INSTALL) -d $(TARGET_localstatedir)/etc/sysctl.d - $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/sysctl.init $(TARGET_sysconfdir)/init.d/sysctl - for bin in $($(PKG)_BINARIES); do \ +define PROCPS_NG_INSTALL_BINARIES + for bin in $(PROCPS_NG_BINARIES); do \ rm -f $(TARGET_base_bindir)/$$bin; \ $(INSTALL_EXEC) -D $(TARGET_base_bindir).$(@F)/$$bin $(TARGET_base_bindir)/$$bin; \ done rm -r $(TARGET_base_bindir).$(@F) +endef +PROCPS_NG_TARGET_FINALIZE_HOOKS += PROCPS_NG_INSTALL_BINARIES + +define PROCPS_NG_INSTALL_SYSCTL_FILES + $(INSTALL_DATA) -D $(PKG_FILES_DIR)/sysctl.conf $(TARGET_sysconfdir)/sysctl.conf + $(INSTALL) -d $(TARGET_sysconfdir)/sysctl.d + $(INSTALL) -d $(TARGET_localstatedir)/etc/sysctl.d + $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/sysctl.init $(TARGET_sysconfdir)/init.d/sysctl +endef +PROCPS_NG_TARGET_FINALIZE_HOOKS += PROCPS_NG_INSTALL_SYSCTL_FILES + +procps-ng: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -353,13 +365,17 @@ ifeq ($(BOXSERIES),hd2) MTD_UTILS_SBINARIES += nanddump nandtest nandwrite mkfs.jffs2 endif -mtd-utils: | $(TARGET_DIR) - $(call autotools-package) - for sbin in $($(PKG)_SBINARIES); do \ +define MTD_UTILS_INSTALL_BINARIES + for sbin in $(MTD_UTILS_SBINARIES); do \ rm -f $(TARGET_sbindir)/$$sbin; \ $(INSTALL_EXEC) -D $(TARGET_base_sbindir).$(@F)/$$sbin $(TARGET_base_sbindir)/$$sbin; \ done rm -r $(TARGET_base_sbindir).$(@F) +endef +MTD_UTILS_TARGET_FINALIZE_HOOKS += MTD_UTILS_INSTALL_BINARIES + +mtd-utils: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -403,11 +419,19 @@ NTFS_3G_CONF_OPTS = \ --disable-library \ --with-fuse=external -ntfs-3g: | $(TARGET_DIR) - $(call autotools-package) +define NTFS_3G_TARGET_CLEANUP -rm $(addprefix $(TARGET_base_bindir)/,lowntfs-3g ntfs-3g.probe) -rm $(addprefix $(TARGET_base_sbindir)/,mount.lowntfs-3g) +endef +NTFS_3G_TARGET_FINALIZE_HOOKS += NTFS_3G_TARGET_CLEANUP + +define NTFS_3G_SYMLINK_MOUNT_NTFS ln -sf $(base_bindir)/ntfs-3g $(TARGET_base_sbindir)/mount.ntfs +endef +NTFS_3G_TARGET_FINALIZE_HOOKS += NTFS_3G_SYMLINK_MOUNT_NTFS + +ntfs-3g: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -595,9 +619,13 @@ F2FS_TOOLS_CONF_OPTS = \ --libdir=$(libdir) \ --without-selinux +define F2FS_TOOLS_TARGET_CLEANUP + -rm $(addprefix $(TARGET_base_sbindir)/,sg_write_buffer) +endef +F2FS_TOOLS_TARGET_FINALIZE_HOOKS += F2FS_TOOLS_TARGET_CLEANUP + f2fs-tools: | $(TARGET_DIR) $(call autotools-package) - -rm $(addprefix $(TARGET_base_sbindir)/,sg_write_buffer) # ----------------------------------------------------------------------------- @@ -1391,15 +1419,23 @@ SG3_UTILS_CONF_OPTS = \ SG3_UTILS_BINARIES = sg_start -sg3_utils: | $(TARGET_DIR) - $(call autotools-package) - for bin in $($(PKG)_BINARIES); do \ +define SG3_UTILS_INSTALL_BINARIES + for bin in $(SG3_UTILS_BINARIES); do \ rm -f $(TARGET_bindir)/$$bin; \ $(INSTALL_EXEC) -D $(TARGET_bindir).$(@F)/$$bin $(TARGET_bindir)/$$bin; \ done rm -r $(TARGET_bindir).$(@F) +endef +SG3_UTILS_TARGET_FINALIZE_HOOKS += SG3_UTILS_INSTALL_BINARIES + +define SG3_UTILS_INSTALL_SDX_INIT $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/sdX.init $(TARGET_sysconfdir)/init.d/sdX $(UPDATE-RC.D) sdX stop 97 0 6 . +endef +SG3_UTILS_TARGET_FINALIZE_HOOKS += SG3_UTILS_INSTALL_SDX_INIT + +sg3_utils: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1567,19 +1603,33 @@ NFS_UTILS_CONF_OPTS = \ --with-rpcgen=internal \ --without-systemd -nfs-utils: | $(TARGET_DIR) - $(call autotools-package) +define NFS_UTILS_TARGET_CLEANUP chmod 0755 $(TARGET_base_sbindir)/mount.nfs rm -f $(addprefix $(TARGET_base_sbindir)/,mount.nfs4 osd_login umount.nfs umount.nfs4) rm -f $(addprefix $(TARGET_sbindir)/,mountstats nfsiostat) - ifeq ($(PERSISTENT_VAR_PARTITION),yes) +endef +NFS_UTILS_TARGET_FINALIZE_HOOKS += NFS_UTILS_TARGET_CLEANUP + +ifeq ($(PERSISTENT_VAR_PARTITION),yes) + define NFS_UTILS_INSTALL_EXPORTS_FILE $(INSTALL_DATA) -D $(PKG_FILES_DIR)/exports-var $(TARGET_localstatedir)/etc/exports ln -sf /var/etc/exports $(TARGET_sysconfdir)/exports - else + endef +else + define NFS_UTILS_INSTALL_EXPORTS_FILE $(INSTALL_DATA) -D $(PKG_FILES_DIR)/exports $(TARGET_sysconfdir)/exports - endif + endef +endif +NFS_UTILS_TARGET_FINALIZE_HOOKS += NFS_UTILS_INSTALL_EXPORTS_FILE + +define NFS_UTILS_INSTALL_NFSD_INIT $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/nfsd.init $(TARGET_sysconfdir)/init.d/nfsd $(UPDATE-RC.D) nfsd defaults 75 25 +endef +NFS_UTILS_TARGET_FINALIZE_HOOKS += NFS_UTILS_INSTALL_NFSD_INIT + +nfs-utils: | $(TARGET_DIR) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1597,9 +1647,13 @@ RPCBIND_CONF_OPTS = \ --with-rpcuser=root \ --with-systemdsystemunitdir=no +define RPCBIND_TARGET_CLEANUP + -rm $(TARGET_bindir)/rpcgen +endef +RPCBIND_TARGET_FINALIZE_HOOKS += RPCBIND_TARGET_CLEANUP + rpcbind: | $(TARGET_DIR) $(call autotools-package) - rm -rf $(TARGET_bindir)/rpcgen # ----------------------------------------------------------------------------- @@ -1689,10 +1743,14 @@ MC_CONF_OPTS = \ --without-gpm-mouse \ --without-x +define MC_TARGET_CLEANUP + -rm -r $(TARGET_datadir)/mc/examples + find $(TARGET_datadir)/mc/skins -type f ! -name default.ini | xargs --no-run-if-empty rm +endef +MC_TARGET_FINALIZE_HOOKS += MC_TARGET_CLEANUP + mc: | $(TARGET_DIR) $(call autotools-package) - rm -rf $(TARGET_datadir)/mc/examples - find $(TARGET_datadir)/mc/skins -type f ! -name default.ini | xargs --no-run-if-empty rm # -----------------------------------------------------------------------------