You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							153 lines
						
					
					
						
							5.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							153 lines
						
					
					
						
							5.3 KiB
						
					
					
				
								################################################################################
							 | 
						|
								#
							 | 
						|
								# busybox
							 | 
						|
								#
							 | 
						|
								################################################################################
							 | 
						|
								
							 | 
						|
								BUSYBOX_VERSION = 1.34.1
							 | 
						|
								BUSYBOX_DIR = busybox-$(BUSYBOX_VERSION)
							 | 
						|
								BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
							 | 
						|
								BUSYBOX_SITE = https://busybox.net/downloads
							 | 
						|
								
							 | 
						|
								$(DL_DIR)/$(BUSYBOX_SOURCE):
							 | 
						|
									$(download) $(BUSYBOX_SITE)/$(BUSYBOX_SOURCE)
							 | 
						|
								
							 | 
						|
								BUSYBOX_DEPENDENCIES = libtirpc
							 | 
						|
								
							 | 
						|
								# Link busybox against libtirpc so that we can leverage its RPC support for NFS
							 | 
						|
								# mounting with BusyBox
							 | 
						|
								BUSYBOX_CFLAGS = $(TARGET_CFLAGS)
							 | 
						|
								BUSYBOX_CFLAGS += "`$(PKG_CONFIG) --cflags libtirpc`"
							 | 
						|
								
							 | 
						|
								# Don't use LDFLAGS for -ltirpc, because LDFLAGS is used for the non-final link
							 | 
						|
								# of modules as well.
							 | 
						|
								BUSYBOX_CFLAGS_busybox = "`$(PKG_CONFIG) --libs libtirpc`"
							 | 
						|
								
							 | 
						|
								# Allows the buildsystem to tweak CFLAGS
							 | 
						|
								BUSYBOX_MAKE_ENV = \
							 | 
						|
									CFLAGS="$(BUSYBOX_CFLAGS)" \
							 | 
						|
									CFLAGS_busybox="$(BUSYBOX_CFLAGS_busybox)"
							 | 
						|
								
							 | 
						|
								BUSYBOX_MAKE_OPTS = \
							 | 
						|
									$(TARGET_MAKE_OPTS) \
							 | 
						|
									CFLAGS_EXTRA="$(TARGET_CFLAGS)" \
							 | 
						|
									EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
							 | 
						|
									CONFIG_PREFIX="$(TARGET_DIR)"
							 | 
						|
								
							 | 
						|
								BUSYBOX_BUILD_CONFIG = $(BUILD_DIR)/$(BUSYBOX_DIR)/.config
							 | 
						|
								
							 | 
						|
								define BUSYBOX_INSTALL_CONFIG
							 | 
						|
									$(INSTALL_DATA) $(PKG_FILES_DIR)/busybox-minimal.config $(BUSYBOX_BUILD_CONFIG)
							 | 
						|
									$(call KCONFIG_SET_OPT,CONFIG_PREFIX,"$(TARGET_DIR)",$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								endef
							 | 
						|
								
							 | 
						|
								ifeq ($(BOXSERIES),$(filter $(BOXSERIES),hd2 hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo))
							 | 
						|
								
							 | 
						|
								  define BUSYBOX_SET_IPV6
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_IPV6,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_IFUPDOWN_IPV6,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								  endef
							 | 
						|
								
							 | 
						|
								  ifeq ($(BOXSERIES),$(filter $(BOXSERIES),hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo))
							 | 
						|
								
							 | 
						|
								    define BUSYBOX_SET_SWAP
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_SWAPON,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_SWAPOFF,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								    endef
							 | 
						|
								    define BUSYBOX_INSTALL_SWAP
							 | 
						|
									$(INSTALL_EXEC) -D $(PKG_FILES_DIR)/swap.init $(TARGET_sysconfdir)/init.d/swap
							 | 
						|
									$(UPDATE-RC.D) swap stop 98 0 6 .
							 | 
						|
								    endef
							 | 
						|
								
							 | 
						|
								    define BUSYBOX_SET_HEXDUMP
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_HEXDUMP,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								    endef
							 | 
						|
								
							 | 
						|
								    define BUSYBOX_SET_PKILL
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_PKILL,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								    endef
							 | 
						|
								
							 | 
						|
								    define BUSYBOX_SET_FBSET
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FBSET,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_FBSET_FANCY,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_FBSET_READMODE,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								    endef
							 | 
						|
								    define BUSYBOX_INSTALL_FBSET
							 | 
						|
									$(INSTALL_DATA) -D $(PKG_FILES_DIR)/fb.modes $(TARGET_sysconfdir)/fb.modes
							 | 
						|
								    endef
							 | 
						|
								
							 | 
						|
								    ifeq ($(BOXSERIES),$(filter $(BOXSERIES),vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo))
							 | 
						|
								
							 | 
						|
								      define BUSYBOX_SET_START_STOP_DAEMON
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_START_STOP_DAEMON,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
									$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_START_STOP_DAEMON_FANCY,$(BUSYBOX_BUILD_CONFIG))
							 | 
						|
								      endef
							 | 
						|
								
							 | 
						|
								    endif
							 | 
						|
								
							 | 
						|
								  endif
							 | 
						|
								
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								define BUSYBOX_MODIFY_CONFIG
							 | 
						|
									$(BUSYBOX_SET_IPV6)
							 | 
						|
									$(BUSYBOX_SET_SWAP)
							 | 
						|
									$(BUSYBOX_SET_HEXDUMP)
							 | 
						|
									$(BUSYBOX_SET_PKILL)
							 | 
						|
									$(BUSYBOX_SET_FBSET)
							 | 
						|
									$(BUSYBOX_SET_START_STOP_DAEMON)
							 | 
						|
								endef
							 | 
						|
								
							 | 
						|
								define BUSYBOX_ADD_TO_SHELLS
							 | 
						|
									if grep -q 'CONFIG_ASH=y' $(BUSYBOX_BUILD_CONFIG); then \
							 | 
						|
										grep -qsE '^/bin/ash$$' $(TARGET_sysconfdir)/shells \
							 | 
						|
											|| echo "/bin/ash" >> $(TARGET_sysconfdir)/shells; \
							 | 
						|
									fi
							 | 
						|
									if grep -q 'CONFIG_HUSH=y' $(BUSYBOX_BUILD_CONFIG); then \
							 | 
						|
										grep -qsE '^/bin/hush$$' $(TARGET_sysconfdir)/shells \
							 | 
						|
											|| echo "/bin/hush" >> $(TARGET_sysconfdir)/shells; \
							 | 
						|
									fi
							 | 
						|
									if grep -q 'CONFIG_SH_IS_ASH=y\|CONFIG_SH_IS_HUSH=y' $(BUSYBOX_BUILD_CONFIG); then \
							 | 
						|
										grep -qsE '^/bin/sh$$' $(TARGET_sysconfdir)/shells \
							 | 
						|
											|| echo "/bin/sh" >> $(TARGET_sysconfdir)/shells; \
							 | 
						|
									fi
							 | 
						|
								endef
							 | 
						|
								
							 | 
						|
								ifeq ($(PERSISTENT_VAR_PARTITION),yes)
							 | 
						|
								  define BUSYBOX_INSTALL_LINK_RESOLV_CONF
							 | 
						|
									ln -sf /var/etc/resolv.conf $(TARGET_sysconfdir)/resolv.conf
							 | 
						|
								  endef
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								define BUSYBOX_INSTALL_FILES
							 | 
						|
									$(BUSYBOX_INSTALL_SWAP)
							 | 
						|
									$(BUSYBOX_INSTALL_FBSET)
							 | 
						|
									$(MAKE) ifupdown-scripts
							 | 
						|
									$(INSTALL_EXEC) -D $(PKG_FILES_DIR)/udhcpc-default.script $(TARGET_datadir)/udhcpc/default.script
							 | 
						|
									$(BUSYBOX_INSTALL_LINK_RESOLV_CONF)
							 | 
						|
									$(INSTALL_EXEC) -D $(PKG_FILES_DIR)/crond.init $(TARGET_sysconfdir)/init.d/crond
							 | 
						|
									$(UPDATE-RC.D) crond defaults 50
							 | 
						|
									$(INSTALL) -d $(TARGET_localstatedir)/spool/cron/crontabs \
							 | 
						|
										$(TARGET_sysconfdir)/cron.{daily,hourly,monthly,weekly}
							 | 
						|
									$(INSTALL_EXEC) -D $(PKG_FILES_DIR)/inetd.init $(TARGET_sysconfdir)/init.d/inetd
							 | 
						|
									$(UPDATE-RC.D) inetd defaults 50
							 | 
						|
									$(INSTALL_DATA) -D $(PKG_FILES_DIR)/inetd.conf $(TARGET_sysconfdir)/inetd.conf
							 | 
						|
									$(INSTALL_EXEC) -D $(PKG_FILES_DIR)/mdev.init $(TARGET_sysconfdir)/init.d/mdev
							 | 
						|
									$(INSTALL_EXEC) -D $(PKG_FILES_DIR)/syslogd.init $(TARGET_sysconfdir)/init.d/syslogd
							 | 
						|
									$(UPDATE-RC.D) syslogd stop 98 0 6 .
							 | 
						|
								endef
							 | 
						|
								
							 | 
						|
								busybox: $(BUSYBOX_DEPENDENCIES) $(DL_DIR)/$(BUSYBOX_SOURCE) | $(TARGET_DIR)
							 | 
						|
									$(REMOVE)/$(PKG_DIR)
							 | 
						|
									$(UNTAR)/$(PKG_SOURCE)
							 | 
						|
									$(call APPLY_PATCHES,$(PKG_PATCHES_DIR))
							 | 
						|
									$($(PKG)_INSTALL_CONFIG)
							 | 
						|
									$($(PKG)_MODIFY_CONFIG)
							 | 
						|
									$(CHDIR)/$(PKG_DIR); \
							 | 
						|
										$($(PKG)_MAKE_ENV) $(MAKE) $($(PKG)_MAKE_OPTS) busybox; \
							 | 
						|
										$($(PKG)_MAKE_ENV) $(MAKE) $($(PKG)_MAKE_OPTS) install-noclobber
							 | 
						|
									$($(PKG)_ADD_TO_SHELLS)
							 | 
						|
									$($(PKG)_INSTALL_FILES)
							 | 
						|
									$(REMOVE)/$(PKG_DIR)
							 | 
						|
									$(TOUCH)
							 | 
						|
								
							 |