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.
 
 
 
 
 
 

1831 lines
56 KiB

#
# makefile to build system tools
#
# -----------------------------------------------------------------------------
BUSYBOX_VER = 1.31.1
BUSYBOX_DIR = busybox-$(BUSYBOX_VER)
BUSYBOX_SOURCE = busybox-$(BUSYBOX_VER).tar.bz2
BUSYBOX_SITE = https://busybox.net/downloads
$(DL_DIR)/$(BUSYBOX_SOURCE):
$(DOWNLOAD) $(BUSYBOX_SITE)/$(BUSYBOX_SOURCE)
BUSYBOX_PATCH = busybox-fix-config-header.diff
BUSYBOX_PATCH += busybox-insmod-hack.patch
BUSYBOX_PATCH += busybox-fix-partition-size.patch
BUSYBOX_PATCH += busybox-mount_single_uuid.patch
BUSYBOX_DEPS = 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 = \
$(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) $(CONFIGS)/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_BLKDISCARD
$(call KCONFIG_ENABLE_OPT,CONFIG_BLKDISCARD,$(BUSYBOX_BUILD_CONFIG))
endef
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_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
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_BLKDISCARD)
$(BUSYBOX_SET_IPV6)
$(BUSYBOX_SET_SWAP)
$(BUSYBOX_SET_HEXDUMP)
$(BUSYBOX_SET_PKILL)
$(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
busybox: $(BUSYBOX_DEPS) $(DL_DIR)/$(BUSYBOX_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(BUSYBOX_DIR)
$(UNTAR)/$(BUSYBOX_SOURCE)
$(CHDIR)/$(BUSYBOX_DIR); \
$(call apply_patches, $(BUSYBOX_PATCH))
$(BUSYBOX_INSTALL_CONFIG)
$(BUSYBOX_MODIFY_CONFIG)
$(CHDIR)/$(BUSYBOX_DIR); \
$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) busybox; \
$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) install-noclobber
$(BUSYBOX_ADD_TO_SHELLS)
$(REMOVE)/$(BUSYBOX_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
OPENVPN_VER = 2.5.0
OPENVPN_DIR = openvpn-$(OPENVPN_VER)
OPENVPN_SOURCE = openvpn-$(OPENVPN_VER).tar.xz
OPENVPN_SITE = http://build.openvpn.net/downloads/releases
$(DL_DIR)/$(OPENVPN_SOURCE):
$(DOWNLOAD) $(OPENVPN_SITE)/$(OPENVPN_SOURCE)
OPENVPN_DEPS = lzo openssl
openvpn: $(OPENVPN_DEPS) $(DL_DIR)/$(OPENVPN_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(OPENVPN_DIR)
$(UNTAR)/$(OPENVPN_SOURCE)
$(CHDIR)/$(OPENVPN_DIR); \
$(CONFIGURE) \
IFCONFIG="/sbin/ifconfig" \
NETSTAT="/bin/netstat" \
ROUTE="/sbin/route" \
IPROUTE="/sbin/ip" \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--docdir=$(REMOVE_docdir) \
--infodir=$(REMOVE_infodir) \
--enable-shared \
--disable-static \
--enable-small \
--enable-management \
--disable-debug \
--disable-selinux \
--disable-plugins \
--disable-pkcs11 \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(OPENVPN_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
OPENSSH_VER = 8.4p1
OPENSSH_DIR = openssh-$(OPENSSH_VER)
OPENSSH_SOURCE = openssh-$(OPENSSH_VER).tar.gz
OPENSSH_SITE = https://artfiles.org/openbsd/OpenSSH/portable
$(DL_DIR)/$(OPENSSH_SOURCE):
$(DOWNLOAD) $(OPENSSH_SITE)/$(OPENSSH_SOURCE)
OPENSSH_DEPS = openssl zlib
openssh: $(OPENSSH_DEPS) $(DL_DIR)/$(OPENSSH_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(OPENSSH_DIR)
$(UNTAR)/$(OPENSSH_SOURCE)
$(CHDIR)/$(OPENSSH_DIR); \
export ac_cv_search_dlopen=no; \
./configure \
$(CONFIGURE_OPTS) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--docdir=$(REMOVE_docdir) \
--infodir=$(REMOVE_infodir) \
--sysconfdir=$(sysconfdir)/ssh \
--libexecdir=$(sbindir) \
--with-pid-dir=/tmp \
--with-privsep-path=/var/empty \
--with-cppflags="-pipe $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_ABI) -I$(TARGET_includedir)" \
--with-ldflags="-L$(TARGET_libdir)" \
--disable-strip \
--disable-lastlog \
--disable-utmp \
--disable-utmpx \
--disable-wtmp \
--disable-wtmpx \
--disable-pututline \
--disable-pututxline \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(OPENSSH_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
TZDATA_VER = 2020d
TZDATA_DIR = tzdata$(TZDATA_VER)
TZDATA_SOURCE = tzdata$(TZDATA_VER).tar.gz
TZDATA_SITE = ftp://ftp.iana.org/tz/releases
$(DL_DIR)/$(TZDATA_SOURCE):
$(DOWNLOAD) $(TZDATA_SITE)/$(TZDATA_SOURCE)
TZDATA_DEPS = host-zic
TZDATA_ZONELIST = \
africa antarctica asia australasia europe northamerica \
southamerica etcetera backward
ETC_LOCALTIME = $(if $(filter $(PERSISTENT_VAR_PARTITION), yes),/var/etc/localtime,/etc/localtime)
tzdata: $(TZDATA_DEPS) $(DL_DIR)/$(TZDATA_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(TZDATA_DIR)
$(MKDIR)/$(TZDATA_DIR)
$(CHDIR)/$(TZDATA_DIR); \
tar -xf $(DL_DIR)/$(TZDATA_SOURCE); \
unset ${!LC_*}; LANG=POSIX; LC_ALL=POSIX; export LANG LC_ALL; \
$(HOST_ZIC) -d zoneinfo.tmp $(TZDATA_ZONELIST); \
mkdir zoneinfo; \
sed -n '/zone=/{s/.*zone="\(.*\)".*$$/\1/; p}' $(TARGET_FILES)/tzdata/timezone.xml | sort -u | \
while read x; do \
find zoneinfo.tmp -type f -name $$x | sort | \
while read y; do \
$(INSTALL_DATA) $$y zoneinfo/$$x; \
done; \
test -e zoneinfo/$$x || echo "WARNING: timezone $$x not found."; \
done; \
mkdir -p $(TARGET_datadir); \
rm -rf $(TARGET_datadir)/zoneinfo; \
mv zoneinfo/ $(TARGET_datadir)/
$(INSTALL_DATA) -D $(TARGET_FILES)/tzdata/timezone.xml $(TARGET_sysconfdir)/timezone.xml
$(INSTALL_DATA) $(TARGET_datadir)/zoneinfo/CET $(TARGET_DIR)$(ETC_LOCALTIME)
$(REMOVE)/$(TZDATA_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
MTD-UTILS_VER = 2.0.2
MTD-UTILS_DIR = mtd-utils-$(MTD-UTILS_VER)
MTD-UTILS_SOURCE = mtd-utils-$(MTD-UTILS_VER).tar.bz2
MTD-UTILS_SITE = ftp://ftp.infradead.org/pub/mtd-utils
$(DL_DIR)/$(MTD-UTILS_SOURCE):
$(DOWNLOAD) $(MTD-UTILS_SITE)/$(MTD-UTILS_SOURCE)
MTD-UTILS_DEPS = zlib lzo e2fsprogs
mtd-utils: $(MTD-UTILS_DEPS) $(DL_DIR)/$(MTD-UTILS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(MTD-UTILS_DIR)
$(UNTAR)/$(MTD-UTILS_SOURCE)
$(CHDIR)/$(MTD-UTILS_DIR); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--enable-silent-rules \
--disable-tests \
--without-xattr \
; \
$(MAKE)
ifeq ($(BOXSERIES), hd2)
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(MTD-UTILS_DIR)/nanddump $(TARGET_sbindir)
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(MTD-UTILS_DIR)/nandtest $(TARGET_sbindir)
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(MTD-UTILS_DIR)/nandwrite $(TARGET_sbindir)
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(MTD-UTILS_DIR)/mtd_debug $(TARGET_sbindir)
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(MTD-UTILS_DIR)/mkfs.jffs2 $(TARGET_sbindir)
endif
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(MTD-UTILS_DIR)/flash_erase $(TARGET_sbindir)
$(REMOVE)/$(MTD-UTILS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
IPERF_VER = 3.1.3
IPERF_DIR = iperf-$(IPERF_VER)
IPERF_SOURCE = iperf-$(IPERF_VER)-source.tar.gz
IPERF_SITE = https://iperf.fr/download/source
$(DL_DIR)/$(IPERF_SOURCE):
$(DOWNLOAD) $(IPERF_SITE)/$(IPERF_SOURCE)
IPERF_PATCH = iperf-disable-profiling.patch
iperf: $(DL_DIR)/$(IPERF_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(IPERF_DIR)
$(UNTAR)/$(IPERF_SOURCE)
$(CHDIR)/$(IPERF_DIR); \
$(call apply_patches, $(IPERF_PATCH)); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(IPERF_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
PARTED_VER = 3.2
PARTED_DIR = parted-$(PARTED_VER)
PARTED_SOURCE = parted-$(PARTED_VER).tar.xz
PARTED_SITE = $(GNU_MIRROR)/parted
$(DL_DIR)/$(PARTED_SOURCE):
$(DOWNLOAD) $(PARTED_SITE)/$(PARTED_SOURCE)
PARTED_PATCH = parted-device-mapper.patch
PARTED_PATCH += parted-sysmacros.patch
PARTED_PATCH += parted-iconv.patch
PARTED_DEPS = e2fsprogs
parted: $(PARTED_DEPS) $(DL_DIR)/$(PARTED_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(PARTED_DIR)
$(UNTAR)/$(PARTED_SOURCE)
$(CHDIR)/$(PARTED_DIR); \
$(call apply_patches, $(PARTED_PATCH)); \
autoreconf -fi; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--infodir=$(REMOVE_infodir) \
--enable-silent-rules \
--enable-shared \
--disable-static \
--disable-debug \
--disable-pc98 \
--disable-nls \
--disable-device-mapper \
--without-readline \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REWRITE_LIBTOOL_LA)
$(REWRITE_PKGCONF_PC)
$(REMOVE)/$(PARTED_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
HDPARM_VER = 9.58
HDPARM_DIR = hdparm-$(HDPARM_VER)
HDPARM_SOURCE = hdparm-$(HDPARM_VER).tar.gz
HDPARM_SITE = https://sourceforge.net/projects/hdparm/files/hdparm
$(DL_DIR)/$(HDPARM_SOURCE):
$(DOWNLOAD) $(HDPARM_SITE)/$(HDPARM_SOURCE)
hdparm: $(DL_DIR)/$(HDPARM_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(HDPARM_DIR)
$(UNTAR)/$(HDPARM_SOURCE)
$(CHDIR)/$(HDPARM_DIR); \
$(MAKE_ENV) \
$(MAKE); \
$(INSTALL_EXEC) -D hdparm $(TARGET_sbindir)/hdparm
$(REMOVE)/$(HDPARM_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
HD-IDLE_VER = 1.05
HD-IDLE_DIR = hd-idle
HD-IDLE_SOURCE = hd-idle-$(HD-IDLE_VER).tgz
HD-IDLE_SITE = https://sourceforge.net/projects/hd-idle/files
$(DL_DIR)/$(HD-IDLE_SOURCE):
$(DOWNLOAD) $(HD-IDLE_SITE)/$(HD-IDLE_SOURCE)
hd-idle: $(DL_DIR)/$(HD-IDLE_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(HD-IDLE_DIR)
$(UNTAR)/$(HD-IDLE_SOURCE)
$(CHDIR)/$(HD-IDLE_DIR); \
$(MAKE_ENV) \
$(MAKE); \
$(INSTALL_EXEC) -D hd-idle $(TARGET_sbindir)/hd-idle
$(REMOVE)/$(HD-IDLE_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
COREUTILS_VER = 8.30
COREUTILS_DIR = coreutils-$(COREUTILS_VER)
COREUTILS_SOURCE = coreutils-$(COREUTILS_VER).tar.xz
COREUTILS_SITE = $(GNU_MIRROR)/coreutils
$(DL_DIR)/$(COREUTILS_SOURCE):
$(DOWNLOAD) $(COREUTILS_SITE)/$(COREUTILS_SOURCE)
COREUTILS_PATCH = coreutils-fix-build.patch
COREUTILS_BIN = touch
coreutils: $(DL_DIR)/$(COREUTILS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(COREUTILS_DIR)
$(UNTAR)/$(COREUTILS_SOURCE)
$(CHDIR)/$(COREUTILS_DIR); \
$(call apply_patches, $(COREUTILS_PATCH)); \
autoreconf -fi; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(base_prefix) \
--bindir=/bin.$(@F) \
--libexecdir=$(REMOVE_libexecdir) \
--datarootdir=$(REMOVE_datarootdir) \
--enable-silent-rules \
--disable-xattr \
--disable-libcap \
--disable-acl \
--without-gmp \
--without-selinux \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
for bin in $(COREUTILS_BIN); do \
rm -f $(TARGET_bindir)/$$bin; \
$(INSTALL_EXEC) -D $(TARGET_DIR)/bin.$(@F)/$$bin $(TARGET_bindir)/$$bin; \
done
$(REMOVE)/$(COREUTILS_DIR) \
$(TARGET_DIR)/bin.$(@F)
$(TOUCH)
# -----------------------------------------------------------------------------
LESS_VER = 530
LESS_DIR = less-$(LESS_VER)
LESS_SOURCE = less-$(LESS_VER).tar.gz
LESS_SITE = http://www.greenwoodsoftware.com/less
$(DL_DIR)/$(LESS_SOURCE):
$(DOWNLOAD) $(LESS_SITE)/$(LESS_SOURCE)
LESS_DEPS = ncurses
less: $(LESS_DEPS) $(DL_DIR)/$(LESS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(LESS_DIR)
$(UNTAR)/$(LESS_SOURCE)
$(CHDIR)/$(LESS_DIR); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(LESS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
NTP_VER = 4.2.8p15
NTP_DIR = ntp-$(NTP_VER)
NTP_SOURCE = ntp-$(NTP_VER).tar.gz
NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(basename $(NTP_VER))
$(DL_DIR)/$(NTP_SOURCE):
$(DOWNLOAD) $(NTP_SITE)/$(NTP_SOURCE)
NTP_DEPS = openssl
ntp: $(NTP_DEPS) $(DL_DIR)/$(NTP_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(NTP_DIR)
$(UNTAR)/$(NTP_SOURCE)
$(CHDIR)/$(NTP_DIR); \
$(APPLY_PATCHES); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--disable-debugging \
--with-shared \
--with-crypto \
--with-yielding-select=yes \
--without-ntpsnmpd \
; \
$(MAKE); \
$(INSTALL_EXEC) -D ntpdate/ntpdate $(TARGET_sbindir)/ntpdate
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/ntpdate.init $(TARGET_sysconfdir)/init.d/ntpdate
$(REMOVE)/$(NTP_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
DJMOUNT_VER = 0.71
DJMOUNT_DIR = djmount-$(DJMOUNT_VER)
DJMOUNT_SOURCE = djmount-$(DJMOUNT_VER).tar.gz
DJMOUNT_SITE = https://sourceforge.net/projects/djmount/files/djmount/$(DJMOUNT_VER)
$(DL_DIR)/$(DJMOUNT_SOURCE):
$(DOWNLOAD) $(DJMOUNT_SITE)/$(DJMOUNT_SOURCE)
DJMOUNT_PATCH = djmount-fix-hang-with-asset-upnp.patch
DJMOUNT_PATCH += djmount-fix-incorrect-range-when-retrieving-content-via-HTTP.patch
DJMOUNT_PATCH += djmount-fix-new-autotools.diff
DJMOUNT_PATCH += djmount-fix-newer-gcc.patch
DJMOUNT_PATCH += djmount-fixed-crash-when-using-UTF-8-charset.patch
DJMOUNT_PATCH += djmount-fixed-crash.patch
DJMOUNT_PATCH += djmount-support-fstab-mounting.diff
DJMOUNT_PATCH += djmount-support-seeking-in-large-2gb-files.patch
DJMOUNT_DEPS = libfuse
djmount: $(DJMOUNT_DEPS) $(DL_DIR)/$(DJMOUNT_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(DJMOUNT_DIR)
$(UNTAR)/$(DJMOUNT_SOURCE)
$(CHDIR)/$(DJMOUNT_DIR); \
$(call apply_patches, $(DJMOUNT_PATCH)); \
touch libupnp/config.aux/config.rpath; \
autoreconf -fi; \
$(CONFIGURE) -C \
--prefix=$(prefix) \
--disable-debug \
; \
make; \
make install DESTDIR=$(TARGET_DIR)
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/djmount.init $(TARGET_sysconfdir)/init.d/djmount
$(UPDATE-RC.D) djmount defaults 75 25
$(REMOVE)/$(DJMOUNT_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
USHARE_VER = 1.1a
USHARE_DIR = ushare-uShare_v$(USHARE_VER)
USHARE_SOURCE = uShare_v$(USHARE_VER).tar.gz
USHARE_SITE = https://github.com/GeeXboX/ushare/archive
$(DL_DIR)/$(USHARE_SOURCE):
$(DOWNLOAD) $(USHARE_SITE)/$(USHARE_SOURCE)
USHARE_PATCH = ushare.diff
USHARE_PATCH += ushare-fix-building-with-gcc-5.x.patch
USHARE_PATCH += ushare-disable-iconv-check.patch
USHARE_DEPS = libupnp
ushare: $(USHARE_DEPS) $(DL_DIR)/$(USHARE_SOURCE)| $(TARGET_DIR)
$(REMOVE)/$(USHARE_DIR)
$(UNTAR)/$(USHARE_SOURCE)
$(CHDIR)/$(USHARE_DIR); \
$(call apply_patches, $(USHARE_PATCH)); \
$(MAKE_ENV) \
./configure \
--prefix=$(prefix) \
--sysconfdir=$(sysconfdir) \
--disable-dlna \
--disable-nls \
--cross-compile \
--cross-prefix=$(TARGET_CROSS) \
; \
ln -sf ../config.h src/; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(INSTALL_DATA) -D $(TARGET_FILES)/configs/ushare.conf $(TARGET_sysconfdir)/ushare.conf
$(SED) 's|%(BOXTYPE)|$(BOXTYPE)|; s|%(BOXMODEL)|$(BOXMODEL)|' $(TARGET_sysconfdir)/ushare.conf
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/ushare.init $(TARGET_sysconfdir)/init.d/ushare
$(UPDATE-RC.D) ushare defaults 75 25
$(REMOVE)/$(USHARE_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
SMARTMONTOOLS_VER = 7.1
SMARTMONTOOLS_DIR = smartmontools-$(SMARTMONTOOLS_VER)
SMARTMONTOOLS_SOURCE = smartmontools-$(SMARTMONTOOLS_VER).tar.gz
SMARTMONTOOLS_SITE = https://sourceforge.net/projects/smartmontools/files/smartmontools/$(SMARTMONTOOLS_VER)
$(DL_DIR)/$(SMARTMONTOOLS_SOURCE):
$(DOWNLOAD) $(SMARTMONTOOLS_SITE)/$(SMARTMONTOOLS_SOURCE)
smartmontools: $(DL_DIR)/$(SMARTMONTOOLS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(SMARTMONTOOLS_DIR)
$(UNTAR)/$(SMARTMONTOOLS_SOURCE)
$(CHDIR)/$(SMARTMONTOOLS_DIR); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
; \
$(MAKE); \
$(INSTALL_EXEC) -D smartctl $(TARGET_sbindir)/smartctl
$(REMOVE)/$(SMARTMONTOOLS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
INADYN_VER = 2.6
INADYN_DIR = inadyn-$(INADYN_VER)
INADYN_SOURCE = inadyn-$(INADYN_VER).tar.xz
INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VER)
$(DL_DIR)/$(INADYN_SOURCE):
$(DOWNLOAD) $(INADYN_SITE)/$(INADYN_SOURCE)
INADYN_DEPS = openssl confuse libite
inadyn: $(INADYN_DEPS) $(DL_DIR)/$(INADYN_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(INADYN_DIR)
$(UNTAR)/$(INADYN_SOURCE)
$(CHDIR)/$(INADYN_DIR); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--libdir=$(TARGET_libdir) \
--includedir=$(TARGET_includedir) \
--mandir=$(REMOVE_mandir) \
--docdir=$(REMOVE_docdir) \
--enable-openssl \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(INSTALL_DATA) -D $(TARGET_FILES)/configs/inadyn.conf $(TARGET_localstatedir)/etc/inadyn.conf
ln -sf /var/etc/inadyn.conf $(TARGET_sysconfdir)/inadyn.conf
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/inadyn.init $(TARGET_sysconfdir)/init.d/inadyn
$(UPDATE-RC.D) inadyn defaults 75 25
$(REMOVE)/$(INADYN_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
VSFTPD_VER = 3.0.3
VSFTPD_DIR = vsftpd-$(VSFTPD_VER)
VSFTPD_SOURCE = vsftpd-$(VSFTPD_VER).tar.gz
VSFTPD_SITE = https://security.appspot.com/downloads
$(DL_DIR)/$(VSFTPD_SOURCE):
$(DOWNLOAD) $(VSFTPD_SITE)/$(VSFTPD_SOURCE)
VSFTPD_PATCH = vsftpd-fix-CVE-2015-1419.patch
VSFTPD_PATCH += vsftpd-disable-capabilities.patch
VSFTPD_PATCH += vsftpd-fixchroot.patch
VSFTPD_PATCH += vsftpd-login-blank-password.patch
VSFTPD_DEPS = openssl
vsftpd: $(VSFTPD_DEPS) $(DL_DIR)/$(VSFTPD_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(VSFTPD_DIR)
$(UNTAR)/$(VSFTPD_SOURCE)
$(CHDIR)/$(VSFTPD_DIR); \
$(call apply_patches, $(VSFTPD_PATCH)); \
$(SED) 's/.*VSF_BUILD_PAM/#undef VSF_BUILD_PAM/' builddefs.h; \
$(SED) 's/.*VSF_BUILD_SSL/#define VSF_BUILD_SSL/' builddefs.h; \
$(MAKE) clean; \
$(MAKE) $(MAKE_ENV) LIBS="-lcrypt -lcrypto -lssl"; \
$(INSTALL_EXEC) -D vsftpd $(TARGET_sbindir)/vsftpd
mkdir -p $(TARGET_datadir)/empty
$(INSTALL_DATA) -D $(TARGET_FILES)/configs/vsftpd.conf $(TARGET_sysconfdir)/vsftpd.conf
$(INSTALL_DATA) -D $(TARGET_FILES)/configs/vsftpd.chroot_list $(TARGET_sysconfdir)/vsftpd.chroot_list
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/vsftpd.init $(TARGET_sysconfdir)/init.d/vsftpd
$(UPDATE-RC.D) vsftpd defaults 75 25
$(REMOVE)/$(VSFTPD_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
PROCPS-NG_VER = 3.3.16
PROCPS-NG_DIR = procps-ng-$(PROCPS-NG_VER)
PROCPS-NG_SOURCE = procps-ng-$(PROCPS-NG_VER).tar.xz
PROCPS-NG_SITE = http://sourceforge.net/projects/procps-ng/files/Production
$(DL_DIR)/$(PROCPS-NG_SOURCE):
$(DOWNLOAD) $(PROCPS-NG_SITE)/$(PROCPS-NG_SOURCE)
PROCPS-NG_PATCH = procps-ng-no-tests-docs.patch
PROCPS-NG_DEPS = ncurses
PROCPS-NG_BIN = ps top
procps-ng: $(PROCPS-NG_DEPS) $(DL_DIR)/$(PROCPS-NG_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(PROCPS-NG_DIR)
$(UNTAR)/$(PROCPS-NG_SOURCE)
$(CHDIR)/$(PROCPS-NG_DIR); \
$(call apply_patches, $(PROCPS-NG_PATCH)); \
export ac_cv_func_malloc_0_nonnull=yes; \
export ac_cv_func_realloc_0_nonnull=yes; \
autoreconf -fi; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(base_prefix) \
--bindir=/bin.$(@F) \
--sbindir=/sbin.$(@F) \
--includedir=$(includedir) \
--libdir=$(libdir) \
--datarootdir=$(REMOVE_datarootdir) \
--without-systemd \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
for bin in $(PROCPS-NG_BIN); do \
rm -f $(TARGET_bindir)/$$bin; \
$(INSTALL_EXEC) -D $(TARGET_DIR)/bin.$(@F)/$$bin $(TARGET_bindir)/$$bin; \
done
$(REWRITE_LIBTOOL_LA)
$(REWRITE_PKGCONF_PC)
$(REMOVE)/$(PROCPS-NG_DIR) \
$(TARGET_DIR)/bin.$(@F) \
$(TARGET_DIR)/sbin.$(@F)
$(TOUCH)
# -----------------------------------------------------------------------------
NANO_VER = 5.4
NANO_DIR = nano-$(NANO_VER)
NANO_SOURCE = nano-$(NANO_VER).tar.gz
NANO_SITE = $(GNU_MIRROR)/nano
$(DL_DIR)/$(NANO_SOURCE):
$(DOWNLOAD) $(NANO_SITE)/$(NANO_SOURCE)
NANO_DEPS = ncurses
nano: $(NANO_DEPS) $(DL_DIR)/$(NANO_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(NANO_DIR)
$(UNTAR)/$(NANO_SOURCE)
$(CHDIR)/$(NANO_DIR); \
export ac_cv_prog_NCURSESW_CONFIG=false; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--datarootdir=$(REMOVE_datarootdir) \
--disable-nls \
--disable-libmagic \
--enable-tiny \
--without-slang \
--with-wordbounds \
; \
$(MAKE) CURSES_LIB="-lncurses"; \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(NANO_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
MINICOM_VER = 2.7.1
MINICOM_DIR = minicom-$(MINICOM_VER)
MINICOM_SOURCE = minicom-$(MINICOM_VER).tar.gz
MINICOM_SITE = http://fossies.org/linux/misc
$(DL_DIR)/$(MINICOM_SOURCE):
$(DOWNLOAD) $(MINICOM_SITE)/$(MINICOM_SOURCE)
MINICOM_PATCH = minicom-fix-h-v-return-value-is-not-0.patch
MINICOM_DEPS = ncurses
minicom: $(MINICOM_DEPS) $(DL_DIR)/$(MINICOM_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(MINICOM_DIR)
$(UNTAR)/$(MINICOM_SOURCE)
$(CHDIR)/$(MINICOM_DIR); \
$(call apply_patches, $(MINICOM_PATCH)); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--disable-nls \
; \
$(MAKE); \
$(INSTALL_EXEC) src/minicom $(TARGET_bindir)
$(REMOVE)/$(MINICOM_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
BASH_VER = 5.0
BASH_DIR = bash-$(BASH_VER)
BASH_SOURCE = bash-$(BASH_VER).tar.gz
BASH_SITE = $(GNU_MIRROR)/bash
$(DL_DIR)/$(BASH_SOURCE):
$(DOWNLOAD) $(BASH_SITE)/$(BASH_SOURCE)
BASH_PATCH = $(PATCHES)/bash
define BASH_ADD_TO_SHELLS
grep -qsE '^/bin/bash$$' $(TARGET_sysconfdir)/shells \
|| echo "/bin/bash" >> $(TARGET_sysconfdir)/shells
endef
bash: $(DL_DIR)/$(BASH_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(BASH_DIR)
$(UNTAR)/$(BASH_SOURCE)
$(CHDIR)/$(BASH_DIR); \
$(call apply_patches, $(BASH_PATCH), 0); \
$(CONFIGURE) \
--prefix=$(prefix) \
--datarootdir=$(REMOVE_datarootdir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REWRITE_PKGCONF_PC)
-rm $(addprefix $(TARGET_libdir)/bash/, loadables.h Makefile.inc)
$(BASH_ADD_TO_SHELLS)
$(REMOVE)/$(BASH_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
# for coolstream: formatting ext4 failes with newer versions then 1.43.8
E2FSPROGS_VER = $(if $(filter $(BOXTYPE), coolstream),1.43.8,1.45.6)
E2FSPROGS_DIR = e2fsprogs-$(E2FSPROGS_VER)
E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VER).tar.gz
E2FSPROGS_SITE = https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/v$(E2FSPROGS_VER)
$(DL_DIR)/$(E2FSPROGS_SOURCE):
$(DOWNLOAD) $(E2FSPROGS_SITE)/$(E2FSPROGS_SOURCE)
e2fsprogs: $(DL_DIR)/$(E2FSPROGS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(E2FSPROGS_DIR)
$(UNTAR)/$(E2FSPROGS_SOURCE)
$(CHDIR)/$(E2FSPROGS_DIR); \
autoreconf -fi; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--sysconfdir=$(sysconfdir) \
--datarootdir=$(REMOVE_datarootdir) \
--disable-nls \
--disable-profile \
--disable-e2initrd-helper \
--disable-backtrace \
--disable-bmap-stats \
--disable-debugfs \
--disable-fuse2fs \
--disable-imager \
--disable-mmp \
--disable-rpath \
--disable-tdb \
--disable-uuidd \
--disable-blkid-debug \
--disable-jbd-debug \
--disable-testio-debug \
--disable-defrag \
--enable-elf-shlibs \
--enable-fsck \
--enable-symlink-install \
--enable-verbose-makecmds \
--enable-symlink-build \
--with-gnu-ld \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR); \
cd lib/uuid/; \
$(MAKE) install DESTDIR=$(TARGET_DIR)
-rm $(addprefix $(TARGET_bin)/, chattr compile_et lsattr mk_cmds uuidgen)
-rm $(addprefix $(TARGET_sbindir)/, dumpe2fs e2freefrag e2mmpstatus e2undo e4crypt filefrag logsave)
$(REWRITE_PKGCONF_PC)
$(REMOVE)/$(E2FSPROGS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
NTFS-3G_VER = 2017.3.23
NTFS-3G_DIR = ntfs-3g_ntfsprogs-$(NTFS-3G_VER)
NTFS-3G_SOURCE = ntfs-3g_ntfsprogs-$(NTFS-3G_VER).tgz
NTFS-3G_SITE = https://tuxera.com/opensource
$(DL_DIR)/$(NTFS-3G_SOURCE):
$(DOWNLOAD) $(NTFS-3G_SITE)/$(NTFS-3G_SOURCE)
ntfs-3g: $(DL_DIR)/$(NTFS-3G_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(NTFS-3G_DIR)
$(UNTAR)/$(NTFS-3G_SOURCE)
$(CHDIR)/$(NTFS-3G_DIR); \
$(CONFIGURE) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--docdir=$(REMOVE_docdir) \
--disable-ntfsprogs \
--disable-ldconfig \
--disable-library \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
-rm $(addprefix $(TARGET_bindir)/,lowntfs-3g ntfs-3g.probe)
-rm $(addprefix $(TARGET_sbindir)/,mount.lowntfs-3g)
ln -sf ntfs-3g $(TARGET_sbindir)/mount.ntfs
$(REMOVE)/$(NTFS-3G_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
AUTOFS_VER = 5.1.6
AUTOFS_DIR = autofs-$(AUTOFS_VER)
AUTOFS_SOURCE = autofs-$(AUTOFS_VER).tar.xz
AUTOFS_SITE = $(KERNEL_MIRROR)/linux/daemons/autofs/v5
$(DL_DIR)/$(AUTOFS_SOURCE):
$(DOWNLOAD) $(AUTOFS_SITE)/$(AUTOFS_SOURCE)
# cd $(PATCHES)\autofs
# wget -N https://mirrors.edge.kernel.org/pub/linux/daemons/autofs/v5/patches-5.1.6/patch_order_5.1.5
# for p in $(cat patch_order_5.1.5); do test -f $p || wget https://mirrors.edge.kernel.org/pub/linux/daemons/autofs/v5/patches-5.1.6/$p; done
AUTOFS_PATCH = force-STRIP-to-emtpy.patch
#AUTOFS_PATCH += $(shell cat $(PATCHES)/autofs/patch_order_$(AUTOFS_VER))
AUTOFS_DEPS = libtirpc
autofs: $(AUTOFS_DEPS) $(DL_DIR)/$(AUTOFS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(AUTOFS_DIR)
$(UNTAR)/$(AUTOFS_SOURCE)
$(CHDIR)/$(AUTOFS_DIR); \
$(call apply_patches, $(addprefix $(@F)/,$(AUTOFS_PATCH))); \
$(SED) "s|nfs/nfs.h|linux/nfs.h|" include/rpc_subs.h; \
export ac_cv_linux_procfs=yes; \
export ac_cv_path_KRB5_CONFIG=no; \
export ac_cv_path_MODPROBE=/sbin/modprobe; \
export ac_cv_path_RANLIB=$(TARGET_RANLIB); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--datarootdir=$(REMOVE_datarootdir) \
--enable-ignore-busy \
--disable-mount-locking \
--without-openldap \
--without-sasl \
--with-path=$(PATH) \
--with-libtirpc \
--with-hesiod=no \
--with-confdir=/etc \
--with-mapdir=/etc \
--with-fifodir=/var/run \
--with-flagdir=/var/run \
; \
$(MAKE) SUBDIRS="lib daemon modules" DONTSTRIP=1; \
$(MAKE) SUBDIRS="lib daemon modules" install DESTDIR=$(TARGET_DIR)
$(INSTALL_COPY) $(TARGET_FILES)/autofs/* $(TARGET_DIR)/
$(UPDATE-RC.D) autofs defaults 75 25
$(REMOVE)/$(AUTOFS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
SAMBA_TARGET = $(if $(filter $(BOXSERIES), hd1), samba33, samba36)
samba: $(SAMBA_TARGET)
$(TOUCH)
# -----------------------------------------------------------------------------
SAMBA33_VER = 3.3.16
SAMBA33_DIR = samba-$(SAMBA33_VER)
SAMBA33_SOURCE = samba-$(SAMBA33_VER).tar.gz
SAMBA33_SITE = https://download.samba.org/pub/samba
$(DL_DIR)/$(SAMBA33_SOURCE):
$(DOWNLOAD) $(SAMBA33_SITE)/$(SAMBA33_SOURCE)
SAMBA33_PATCH = samba33-build-only-what-we-need.patch
SAMBA33_PATCH += samba33-configure.in-make-getgrouplist_ok-test-cross-compile.patch
SAMBA33_DEPS = zlib
samba33: $(SAMBA33_DEPS) $(DL_DIR)/$(SAMBA33_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(SAMBA33_DIR)
$(UNTAR)/$(SAMBA33_SOURCE)
$(CHDIR)/$(SAMBA33_DIR); \
$(call apply_patches, $(SAMBA33_PATCH)); \
$(CHDIR)/$(SAMBA33_DIR)/source; \
./autogen.sh; \
export CONFIG_SITE=$(CONFIGS)/samba33-config.site; \
$(CONFIGURE) \
--prefix=$(prefix)/ \
--datadir=/var/samba \
--datarootdir=$(REMOVE_datarootdir) \
--localstatedir=/var/samba \
--sysconfdir=/etc/samba \
--with-configdir=/etc/samba \
--with-privatedir=/etc/samba \
--with-modulesdir=$(REMOVE_libdir)/samba \
--with-sys-quotas=no \
--with-piddir=/var/run \
--enable-static \
--disable-shared \
--without-cifsmount \
--without-acl-support \
--without-ads \
--without-cluster-support \
--without-dnsupdate \
--without-krb5 \
--without-ldap \
--without-libnetapi \
--without-libtalloc \
--without-libtdb \
--without-libsmbsharemodes \
--without-libsmbclient \
--without-libaddns \
--without-pam \
--without-winbind \
--disable-shared-libs \
--disable-avahi \
--disable-cups \
--disable-iprint \
--disable-pie \
--disable-relro \
--disable-swat \
; \
$(MAKE1) all; \
$(MAKE) install DESTDIR=$(TARGET_DIR)
mkdir -p $(TARGET_localstatedir)/samba/locks
$(INSTALL_DATA) $(TARGET_FILES)/configs/smb3.conf $(TARGET_sysconfdir)/samba/smb.conf
$(INSTALL_EXEC) $(TARGET_FILES)/scripts/samba3.init $(TARGET_sysconfdir)/init.d/samba
$(UPDATE-RC.D) samba defaults 75 25
rm -rf $(TARGET_bindir)/testparm
rm -rf $(TARGET_bindir)/findsmb
rm -rf $(TARGET_bindir)/smbtar
rm -rf $(TARGET_bindir)/smbclient
rm -rf $(TARGET_bindir)/smbpasswd
$(REMOVE)/$(SAMBA33_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
SAMBA36_VER = 3.6.25
SAMBA36_DIR = samba-$(SAMBA36_VER)
SAMBA36_SOURCE = samba-$(SAMBA36_VER).tar.gz
SAMBA36_SITE = https://download.samba.org/pub/samba/stable
$(DL_DIR)/$(SAMBA36_SOURCE):
$(DOWNLOAD) $(SAMBA36_SITE)/$(SAMBA36_SOURCE)
SAMBA36_PATCH1 = samba36-build-only-what-we-need.patch
SAMBA36_PATCH1 += samba36-remove_printer_support.patch
SAMBA36_PATCH1 += samba36-remove_ad_support.patch
SAMBA36_PATCH1 += samba36-remove_services.patch
SAMBA36_PATCH1 += samba36-remove_winreg_support.patch
SAMBA36_PATCH1 += samba36-remove_registry_backend.patch
SAMBA36_PATCH1 += samba36-strip_srvsvc.patch
SAMBA36_PATCH0 = samba36-CVE-2016-2112-v3-6.patch
SAMBA36_PATCH0 += samba36-CVE-2016-2115-v3-6.patch
SAMBA36_PATCH0 += samba36-CVE-2017-7494-v3-6.patch
SAMBA36_DEPS = zlib
samba36: $(SAMBA36_DEPS) $(DL_DIR)/$(SAMBA36_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(SAMBA36_DIR)
$(UNTAR)/$(SAMBA36_SOURCE)
$(CHDIR)/$(SAMBA36_DIR); \
$(call apply_patches, $(SAMBA36_PATCH1), 1); \
$(call apply_patches, $(SAMBA36_PATCH0), 0); \
$(CHDIR)/$(SAMBA36_DIR)/source3; \
./autogen.sh; \
export CONFIG_SITE=$(CONFIGS)/samba36-config.site; \
$(CONFIGURE) \
--prefix=$(prefix)/ \
--datadir=/var/samba \
--datarootdir=$(REMOVE_datarootdir) \
--localstatedir=/var/samba \
--sysconfdir=/etc/samba \
--with-configdir=/etc/samba \
--with-privatedir=/etc/samba \
--with-modulesdir=$(REMOVE_libdir)/samba \
--with-piddir=/var/run \
--with-sys-quotas=no \
--enable-static \
--disable-shared \
--without-acl-support \
--without-ads \
--without-cluster-support \
--without-dmapi \
--without-dnsupdate \
--without-krb5 \
--without-ldap \
--without-libnetapi \
--without-libsmbsharemodes \
--without-libsmbclient \
--without-libaddns \
--without-pam \
--without-winbind \
--disable-shared-libs \
--disable-avahi \
--disable-cups \
--disable-iprint \
--disable-pie \
--disable-relro \
--disable-swat \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGET_DIR)
mkdir -p $(TARGET_localstatedir)/samba/locks
$(INSTALL_DATA) $(TARGET_FILES)/configs/smb3.conf $(TARGET_sysconfdir)/samba/smb.conf
$(INSTALL_EXEC) $(TARGET_FILES)/scripts/samba3.init $(TARGET_sysconfdir)/init.d/samba
$(UPDATE-RC.D) samba defaults 75 25
rm -rf $(TARGET_bindir)/testparm
rm -rf $(TARGET_bindir)/findsmb
rm -rf $(TARGET_bindir)/smbtar
rm -rf $(TARGET_bindir)/smbclient
rm -rf $(TARGET_bindir)/smbpasswd
$(REMOVE)/$(SAMBA36_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
DROPBEAR_VER = 2019.78
DROPBEAR_DIR = dropbear-$(DROPBEAR_VER)
DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VER).tar.bz2
DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases
$(DL_DIR)/$(DROPBEAR_SOURCE):
$(DOWNLOAD) $(DROPBEAR_SITE)/$(DROPBEAR_SOURCE)
DROPBEAR_DEPS = zlib
dropbear: $(DROPBEAR_DEPS) $(DL_DIR)/$(DROPBEAR_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(DROPBEAR_DIR)
$(UNTAR)/$(DROPBEAR_SOURCE)
$(CHDIR)/$(DROPBEAR_DIR); \
$(CONFIGURE) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--disable-lastlog \
--disable-pututxline \
--disable-wtmp \
--disable-wtmpx \
--disable-loginfunc \
--disable-pam \
--disable-harden \
--enable-bundled-libtom \
; \
# Ensure that dropbear doesn't use crypt() when it's not available; \
echo '#if !HAVE_CRYPT' >> localoptions.h; \
echo '#define DROPBEAR_SVR_PASSWORD_AUTH 0' >> localoptions.h; \
echo '#endif' >> localoptions.h; \
# disable SMALL_CODE define; \
echo '#define DROPBEAR_SMALL_CODE 0' >> localoptions.h; \
# fix PATH define; \
echo '#define DEFAULT_PATH "/usr/sbin:/usr/bin:/var/bin"' >> localoptions.h; \
$(MAKE) PROGRAMS="dropbear dbclient dropbearkey scp" SCPPROGRESS=1; \
$(MAKE) PROGRAMS="dropbear dbclient dropbearkey scp" install DESTDIR=$(TARGET_DIR)
mkdir -p $(TARGET_sysconfdir)/dropbear
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/dropbear.init $(TARGET_sysconfdir)/init.d/dropbear
$(UPDATE-RC.D) dropbear defaults 75 25
$(REMOVE)/$(DROPBEAR_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
SG3_UTILS_VER = 1.45
SG3_UTILS_DIR = sg3_utils-$(SG3_UTILS_VER)
SG3_UTILS_SOURCE = sg3_utils-$(SG3_UTILS_VER).tar.xz
SG3_UTILS_SITE = http://sg.danny.cz/sg/p
$(DL_DIR)/$(SG3_UTILS_SOURCE):
$(DOWNLOAD) $(SG3_UTILS_SITE)/$(SG3_UTILS_SOURCE)
SG3_UTILS_BIN = sg_start
sg3_utils: $(DL_DIR)/$(SG3_UTILS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(SG3_UTILS_DIR)
$(UNTAR)/$(SG3_UTILS_SOURCE)
$(CHDIR)/$(SG3_UTILS_DIR); \
$(CONFIGURE) \
--prefix=$(prefix) \
--bindir=/bin.$(@F) \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
for bin in $(SG3_UTILS_BIN); do \
rm -f $(TARGET_bindir)/$$bin; \
$(INSTALL_EXEC) -D $(TARGET_DIR)/bin.$(@F)/$$bin $(TARGET_bindir)/$$bin; \
done
$(REWRITE_LIBTOOL_LA)
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/sdX.init $(TARGET_sysconfdir)/init.d/sdX
$(UPDATE-RC.D) sdX stop 97 0 6 .
$(REMOVE)/$(SG3_UTILS_DIR) \
$(TARGET_DIR)/bin.$(@F)
$(TOUCH)
# -----------------------------------------------------------------------------
FBSHOT_VER = 0.3
FBSHOT_DIR = fbshot-$(FBSHOT_VER)
FBSHOT_SOURCE = fbshot-$(FBSHOT_VER).tar.gz
FBSHOT_SITE = http://distro.ibiblio.org/amigolinux/download/Utils/fbshot
$(DL_DIR)/$(FBSHOT_SOURCE):
$(DOWNLOAD) $(FBSHOT_SITE)/$(FBSHOT_SOURCE)
FBSHOT_PATCH = fbshot-32bit_cs_fb.diff
FBSHOT_PATCH += fbshot_cs_hd2.diff
FBSHOT_DEPS = libpng
fbshot: $(FBSHOT_DEPS) $(DL_DIR)/$(FBSHOT_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(FBSHOT_DIR)
$(UNTAR)/$(FBSHOT_SOURCE)
$(CHDIR)/$(FBSHOT_DIR); \
$(call apply_patches, $(FBSHOT_PATCH)); \
$(SED) 's| gcc | $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) |' Makefile; \
$(SED) '/strip fbshot/d' Makefile; \
$(MAKE) all; \
$(INSTALL_EXEC) -D fbshot $(TARGET_bindir)/fbshot
$(REMOVE)/$(FBSHOT_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
LCD4LINUX_VER = git
LCD4LINUX_DIR = lcd4linux.$(LCD4LINUX_VER)
LCD4LINUX_SOURCE = lcd4linux.$(LCD4LINUX_VER)
LCD4LINUX_SITE = https://github.com/TangoCash
LCD4LINUX_DEPS = ncurses libgd libdpf
lcd4linux: $(LCD4LINUX_DEPS) | $(TARGET_DIR)
$(REMOVE)/$(LCD4LINUX_DIR)
$(GET-GIT-SOURCE) $(LCD4LINUX_SITE)/$(LCD4LINUX_SOURCE) $(DL_DIR)/$(LCD4LINUX_SOURCE)
$(CPDIR)/$(LCD4LINUX_SOURCE)
$(CHDIR)/$(LCD4LINUX_DIR); \
./bootstrap; \
$(CONFIGURE) \
--libdir=$(TARGET_libdir) \
--includedir=$(TARGET_includedir) \
--bindir=$(TARGET_bindir) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--docdir=$(REMOVE_docdir) \
--infodir=$(REMOVE_infodir) \
--with-ncurses=$(TARGET_libdir) \
--with-drivers='DPF, SamsungSPF, PNG' \
--with-plugins='all,!dbus,!mpris_dbus,!asterisk,!isdn,!pop3,!ppp,!seti,!huawei,!imon,!kvv,!sample,!w1retap,!wireless,!xmms,!gps,!mpd,!mysql,!qnaplog,!iconv' \
; \
$(MAKE) vcs_version; \
$(MAKE) all; \
$(MAKE) install
$(INSTALL_COPY) $(TARGET_FILES)/lcd4linux/* $(TARGET_DIR)/
#$(MAKE) samsunglcd4linux
$(REMOVE)/$(LCD4LINUX_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
SAMSUNGLCD4LINUX_VER = git
SAMSUNGLCD4LINUX_DIR = samsunglcd4linux.$(LCD4LINUX_VER)
SAMSUNGLCD4LINUX_SOURCE = samsunglcd4linux.$(LCD4LINUX_VER)
SAMSUNGLCD4LINUX_SITE = https://github.com/horsti58
samsunglcd4linux: | $(TARGET_DIR)
$(REMOVE)/$(SAMSUNGLCD4LINUX_DIR)
$(GET-GIT-SOURCE) $(SAMSUNGLCD4LINUX_SITE)/$(SAMSUNGLCD4LINUX_SOURCE) $(DL_DIR)/$(SAMSUNGLCD4LINUX_SOURCE)
$(CPDIR)/$(SAMSUNGLCD4LINUX_SOURCE)
$(CHDIR)/$(SAMSUNGLCD4LINUX_DIR)/ni; \
$(INSTALL) -m 0600 etc/lcd4linux.conf $(TARGET_sysconfdir); \
$(INSTALL_COPY) share/* $(TARGET_datadir)
$(REMOVE)/$(SAMSUNGLCD4LINUX_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
WPA_SUPPLICANT_VER = 0.7.3
WPA_SUPPLICANT_DIR = wpa_supplicant-$(WPA_SUPPLICANT_VER)
WPA_SUPPLICANT_SOURCE = wpa_supplicant-$(WPA_SUPPLICANT_VER).tar.gz
WPA_SUPPLICANT_SITE = https://w1.fi/releases
$(DL_DIR)/$(WPA_SUPPLICANT_SOURCE):
$(DOWNLOAD) $(WPA_SUPPLICANT_SITE)/$(WPA_SUPPLICANT_SOURCE)
WPA_SUPPLICANT_DEPS = openssl
wpa_supplicant: $(WPA_SUPPLICANT_DEPS) $(DL_DIR)/$(WPA_SUPPLICANT_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(WPA_SUPPLICANT_DIR)
$(UNTAR)/$(WPA_SUPPLICANT_SOURCE)
$(CHDIR)/$(WPA_SUPPLICANT_DIR)/wpa_supplicant; \
$(INSTALL_DATA) $(CONFIGS)/wpa_supplicant.config .config; \
$(MAKE_ENV) \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR) BINDIR=$(sbindir)
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/pre-wlan0.sh $(TARGET_sysconfdir)/network/pre-wlan0.sh
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/post-wlan0.sh $(TARGET_sysconfdir)/network/post-wlan0.sh
$(REMOVE)/$(WPA_SUPPLICANT_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
XUPNPD_VER = git
XUPNPD_DIR = xupnpd.$(XUPNPD_VER)
XUPNPD_SOURCE = xupnpd.$(XUPNPD_VER)
XUPNPD_SITE = https://github.com/clark15b
XUPNPD_PATCH = xupnpd-dynamic-lua.patch
XUPNPD_PATCH += xupnpd-fix-memleak.patch
XUPNPD_PATCH += xupnpd-fix-webif-backlinks.diff
XUPNPD_PATCH += xupnpd-add-configuration-files.diff
XUPNPD_DEPS = lua openssl
xupnpd: $(XUPNPD_DEPS) | $(TARGET_DIR)
$(REMOVE)/$(XUPNPD_DIR)
$(GET-GIT-SOURCE) $(XUPNPD_SITE)/$(XUPNPD_SOURCE) $(DL_DIR)/$(XUPNPD_SOURCE)
$(CPDIR)/$(XUPNPD_SOURCE)
$(CHDIR)/$(XUPNPD_DIR); \
git checkout 25d6d44; \
$(call apply_patches, $(XUPNPD_PATCH))
$(CHDIR)/$(XUPNPD_DIR)/src; \
$(MAKE_ENV) \
$(MAKE) embedded TARGET=$(TARGET) CC=$(TARGET_CC) STRIP=$(TARGET_STRIP) LUAFLAGS="$(TARGET_LDFLAGS) -I$(TARGET_includedir)"; \
$(INSTALL_EXEC) -D xupnpd $(TARGET_bindir)/; \
mkdir -p $(TARGET_datadir)/xupnpd/config; \
$(INSTALL_COPY) plugins profiles ui www *.lua $(TARGET_datadir)/xupnpd/
rm $(TARGET_datadir)/xupnpd/plugins/staff/xupnpd_18plus.lua
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_18plus.lua $(TARGET_datadir)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_cczwei.lua $(TARGET_datadir)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_neutrino.lua $(TARGET_datadir)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_vimeo.lua $(TARGET_datadir)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_youtube.lua $(TARGET_datadir)/xupnpd/plugins/
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/xupnpd.init $(TARGET_sysconfdir)/init.d/xupnpd
$(UPDATE-RC.D) xupnpd defaults 75 25
$(INSTALL_COPY) $(TARGET_FILES)/xupnpd/* $(TARGET_DIR)/
$(REMOVE)/$(XUPNPD_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
DOSFSTOOLS_VER = 4.1
DOSFSTOOLS_DIR = dosfstools-$(DOSFSTOOLS_VER)
DOSFSTOOLS_SOURCE = dosfstools-$(DOSFSTOOLS_VER).tar.xz
DOSFSTOOLS_SITE = https://github.com/dosfstools/dosfstools/releases/download/v$(DOSFSTOOLS_VER)
$(DL_DIR)/$(DOSFSTOOLS_SOURCE):
$(DOWNLOAD) $(DOSFSTOOLS_SITE)/$(DOSFSTOOLS_SOURCE)
DOSFSTOOLS_PATCH = switch-to-AC_CHECK_LIB-for-iconv-library-linking.patch
DOSFSTOOLS_CFLAGS = $(TARGET_CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fomit-frame-pointer
dosfstools: $(DL_DIR)/$(DOSFSTOOLS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(DOSFSTOOLS_DIR)
$(UNTAR)/$(DOSFSTOOLS_SOURCE)
$(CHDIR)/$(DOSFSTOOLS_DIR); \
$(call apply_patches, $(addprefix $(@F)/,$(DOSFSTOOLS_PATCH))); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--docdir=$(REMOVE_docdir) \
--without-udev \
--enable-compat-symlinks \
CFLAGS="$(DOSFSTOOLS_CFLAGS)" \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(DOSFSTOOLS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
NFS-UTILS_VER = 2.2.1
NFS-UTILS_DIR = nfs-utils-$(NFS-UTILS_VER)
NFS-UTILS_SOURCE = nfs-utils-$(NFS-UTILS_VER).tar.bz2
NFS-UTILS_SITE = https://sourceforge.net/projects/nfs/files/nfs-utils/$(NFS-UTILS_VER)
$(DL_DIR)/$(NFS-UTILS_SOURCE):
$(DOWNLOAD) $(NFS-UTILS_SITE)/$(NFS-UTILS_SOURCE)
NFS-UTILS_PATCH = nfs-utils_01-Patch-taken-from-Gentoo.patch
NFS-UTILS_PATCH += nfs-utils_02-Switch-legacy-index-in-favour-of-strchr.patch
NFS-UTILS_PATCH += nfs-utils_03-Let-the-configure-script-find-getrpcbynumber-in-libt.patch
NFS-UTILS_PATCH += nfs-utils_04-mountd-Add-check-for-struct-file_handle.patch
NFS-UTILS_DEPS = rpcbind
NFS-UTILS_CONF = $(if $(filter $(BOXSERIES), hd1),--disable-ipv6,--enable-ipv6)
nfs-utils: $(NFS-UTILS_DEPS) $(DL_DIR)/$(NFS-UTILS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(NFS-UTILS_DIR)
$(UNTAR)/$(NFS-UTILS_SOURCE)
$(CHDIR)/$(NFS-UTILS_DIR); \
$(call apply_patches, $(NFS-UTILS_PATCH)); \
export knfsd_cv_bsd_signals=no; \
autoreconf -fi; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--docdir=$(REMOVE_docdir) \
--mandir=$(REMOVE_mandir) \
--enable-maintainer-mode \
--disable-nfsv4 \
--disable-nfsv41 \
--disable-gss \
--disable-uuid \
$(NFS-UTILS_CONF) \
--without-tcp-wrappers \
--with-statedir=/var/lib/nfs \
--with-rpcgen=internal \
--without-systemd \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
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)
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/nfsd.init $(TARGET_sysconfdir)/init.d/nfsd
$(UPDATE-RC.D) nfsd defaults 75 25
$(REMOVE)/$(NFS-UTILS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
RPCBIND_VER = 1.2.5
RPCBIND_DIR = rpcbind-$(RPCBIND_VER)
RPCBIND_SOURCE = rpcbind-$(RPCBIND_VER).tar.bz2
RPCBIND_SITE = https://sourceforge.net/projects/rpcbind/files/rpcbind/$(RPCBIND_VER)
$(DL_DIR)/$(RPCBIND_SOURCE):
$(DOWNLOAD) $(RPCBIND_SITE)/$(RPCBIND_SOURCE)
RPCBIND_PATCH = rpcbind-0001-Remove-yellow-pages-support.patch
RPCBIND_PATCH += rpcbind-0002-add_option_to_fix_port_number.patch
RPCBIND_DEPS = libtirpc
rpcbind: $(RPCBIND_DEPS) $(DL_DIR)/$(RPCBIND_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(RPCBIND_DIR)
$(UNTAR)/$(RPCBIND_SOURCE)
$(CHDIR)/$(RPCBIND_DIR); \
$(call apply_patches, $(RPCBIND_PATCH)); \
autoreconf -fi; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--enable-silent-rules \
--with-rpcuser=root \
--with-systemdsystemunitdir=no \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
rm -rf $(TARGET_bindir)/rpcgen
$(REMOVE)/$(RPCBIND_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
FUSE-EXFAT_VER = 1.3.0
FUSE-EXFAT_DIR = fuse-exfat-$(FUSE-EXFAT_VER)
FUSE-EXFAT_SOURCE = fuse-exfat-$(FUSE-EXFAT_VER).tar.gz
FUSE-EXFAT_SITE = https://github.com/relan/exfat/releases/download/v$(FUSE-EXFAT_VER)
$(DL_DIR)/$(FUSE-EXFAT_SOURCE):
$(DOWNLOAD) $(FUSE-EXFAT_SITE)/$(FUSE-EXFAT_SOURCE)
FUSE-EXFAT_DEPS = libfuse
fuse-exfat: $(FUSE-EXFAT_DEPS) $(DL_DIR)/$(FUSE-EXFAT_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(FUSE-EXFAT_DIR)
$(UNTAR)/$(FUSE-EXFAT_SOURCE)
$(CHDIR)/$(FUSE-EXFAT_DIR); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--docdir=$(REMOVE_docdir) \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(FUSE-EXFAT_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
EXFAT-UTILS_VER = 1.3.0
EXFAT-UTILS_DIR = exfat-utils-$(EXFAT-UTILS_VER)
EXFAT-UTILS_SOURCE = exfat-utils-$(EXFAT-UTILS_VER).tar.gz
EXFAT-UTILS_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT-UTILS_VER)
$(DL_DIR)/$(EXFAT-UTILS_SOURCE):
$(DOWNLOAD) $(EXFAT-UTILS_SITE)/$(EXFAT-UTILS_SOURCE)
EXFAT-UTILS_DEPS = fuse-exfat
exfat-utils: $(EXFAT-UTILS_DEPS) $(DL_DIR)/$(EXFAT-UTILS_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(EXFAT-UTILS_DIR)
$(UNTAR)/$(EXFAT-UTILS_SOURCE)
$(CHDIR)/$(EXFAT-UTILS_DIR); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--docdir=$(REMOVE_docdir) \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(EXFAT-UTILS_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
STREAMRIPPER_DEPS = libvorbisidec libmad glib2
streamripper: $(STREAMRIPPER_DEPS) | $(TARGET_DIR)
$(REMOVE)/$(NI-STREAMRIPPER)
tar -C $(SOURCE_DIR) -cp $(NI-STREAMRIPPER) --exclude-vcs | tar -C $(BUILD_DIR) -x
$(CHDIR)/$(NI-STREAMRIPPER); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix= \
--includedir=$(TARGET_includedir) \
--datarootdir=$(REMOVE_datarootdir) \
--with-included-argv=yes \
--with-included-libmad=no \
; \
$(MAKE); \
$(INSTALL_EXEC) -D streamripper $(TARGET_bindir)/streamripper
$(INSTALL_EXEC) $(TARGET_FILES)/scripts/streamripper.sh $(TARGET_bindir)/
$(TOUCH)
# -----------------------------------------------------------------------------
GETTEXT_VER = 0.19.8.1
GETTEXT_DIR = gettext-$(GETTEXT_VER)
GETTEXT_SOURCE = gettext-$(GETTEXT_VER).tar.xz
GETTEXT_SITE = $(GNU_MIRROR)/gettext
$(DL_DIR)/$(GETTEXT_SOURCE):
$(DOWNLOAD) $(GETTEXT_SITE)/$(GETTEXT_SOURCE)
gettext: $(DL_DIR)/$(GETTEXT_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(GETTEXT_DIR)
$(UNTAR)/$(GETTEXT_SOURCE)
$(CHDIR)/$(GETTEXT_DIR)/gettext-runtime; \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--bindir=$(REMOVE_bindir) \
--datarootdir=$(REMOVE_datarootdir) \
--disable-libasprintf \
--disable-acl \
--disable-openmp \
--disable-java \
--disable-native-java \
--disable-csharp \
--disable-relocatable \
--without-emacs \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REWRITE_LIBTOOL_LA)
$(REMOVE)/$(GETTEXT_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
MC_VER = 4.8.25
MC_DIR = mc-$(MC_VER)
MC_SOURCE = mc-$(MC_VER).tar.xz
MC_SITE = ftp.midnight-commander.org
$(DL_DIR)/$(MC_SOURCE):
$(DOWNLOAD) $(MC_SITE)/$(MC_SOURCE)
MC_DEPS = glib2 ncurses
mc: $(MC_DEPS) $(DL_DIR)/$(MC_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(MC_DIR)
$(UNTAR)/$(MC_SOURCE)
$(CHDIR)/$(MC_DIR); \
$(APPLY_PATCHES); \
autoreconf -fi; \
$(CONFIGURE) \
--prefix=$(prefix) \
--sysconfdir=$(sysconfdir) \
--mandir=$(REMOVE_mandir) \
--enable-maintainer-mode \
--enable-silent-rules \
\
--disable-charset \
--disable-nls \
--disable-vfs-extfs \
--disable-vfs-fish \
--disable-vfs-sfs \
--disable-vfs-sftp \
--with-screen=ncurses \
--without-diff-viewer \
--without-gpm-mouse \
--without-x \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGET_DIR)
rm -rf $(TARGET_datadir)/mc/examples
find $(TARGET_datadir)/mc/skins -type f ! -name default.ini | xargs --no-run-if-empty rm
$(REMOVE)/$(MC_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
WGET_VER = 1.20.3
WGET_DIR = wget-$(WGET_VER)
WGET_SOURCE = wget-$(WGET_VER).tar.gz
WGET_SITE = $(GNU_MIRROR)/wget
$(DL_DIR)/$(WGET_SOURCE):
$(DOWNLOAD) $(WGET_SITE)/$(WGET_SOURCE)
WGET_PATCH = set-check_cert-false-by-default.patch
WGET_PATCH += change_DEFAULT_LOGFILE.patch
WGET_DEPS = openssl
WGET_CFLAGS = $(TARGET_CFLAGS) -DOPENSSL_NO_ENGINE
wget: $(WGET_DEPS) $(DL_DIR)/$(WGET_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(WGET_DIR)
$(UNTAR)/$(WGET_SOURCE)
$(CHDIR)/$(WGET_DIR); \
$(call apply_patches, $(addprefix $(@F)/,$(WGET_PATCH))); \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--datarootdir=$(REMOVE_datarootdir) \
--sysconfdir=$(REMOVE_sysconfdir) \
--with-gnu-ld \
--with-ssl=openssl \
--disable-debug \
CFLAGS="$(WGET_CFLAGS)" \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(WGET_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
ofgwrite: $(SOURCE_DIR)/$(NI-OFGWRITE) | $(TARGET_DIR)
$(REMOVE)/$(NI-OFGWRITE)
tar -C $(SOURCE_DIR) -cp $(NI-OFGWRITE) --exclude-vcs | tar -C $(BUILD_DIR) -x
$(CHDIR)/$(NI-OFGWRITE); \
$(MAKE_ENV) \
$(MAKE)
$(INSTALL_EXEC) $(BUILD_DIR)/$(NI-OFGWRITE)/ofgwrite_bin $(TARGET_bindir)
$(INSTALL_EXEC) $(BUILD_DIR)/$(NI-OFGWRITE)/ofgwrite_caller $(TARGET_bindir)
$(INSTALL_EXEC) $(BUILD_DIR)/$(NI-OFGWRITE)/ofgwrite $(TARGET_bindir)
$(SED) 's|prefix=.*|prefix=$(prefix)|' $(TARGET_bindir)/ofgwrite
$(REMOVE)/$(NI-OFGWRITE)
$(TOUCH)
# -----------------------------------------------------------------------------
AIO-GRAB_VER = git
AIO-GRAB_DIR = aio-grab.$(AIO-GRAB_VER)
AIO-GRAB_SOURCE = aio-grab.$(AIO-GRAB_VER)
AIO-GRAB_SITE = https://github.com/oe-alliance
AIO-GRAB_DEPS = zlib libpng libjpeg-turbo
aio-grab: $(AIO-GRAB_DEPS) | $(TARGET_DIR)
$(REMOVE)/$(AIO-GRAB_DIR)
$(GET-GIT-SOURCE) $(AIO-GRAB_SITE)/$(AIO-GRAB_SOURCE) $(DL_DIR)/$(AIO-GRAB_SOURCE)
$(CPDIR)/$(AIO-GRAB_SOURCE)
$(CHDIR)/$(AIO-GRAB_DIR); \
aclocal --force -I m4; \
libtoolize --copy --ltdl --force; \
autoconf --force; \
automake --add-missing --copy --force-missing --foreign; \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix=$(prefix) \
--enable-silent-rules \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(AIO-GRAB_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
DVBSNOOP_VER = git
DVBSNOOP_DIR = dvbsnoop.$(DVBSNOOP_VER)
DVBSNOOP_SOURCE = dvbsnoop.$(DVBSNOOP_VER)
DVBSNOOP_SITE = https://github.com/Duckbox-Developers
dvbsnoop: | $(TARGET_DIR)
$(REMOVE)/$(DVBSNOOP_DIR)
$(GET-GIT-SOURCE) $(DVBSNOOP_SITE)/$(DVBSNOOP_SOURCE) $(DL_DIR)/$(DVBSNOOP_SOURCE)
$(CPDIR)/$(DVBSNOOP_SOURCE)
$(CHDIR)/$(DVBSNOOP_DIR); \
$(CONFIGURE) \
--enable-silent-rules \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(DVBSNOOP_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
ETHTOOL_VER = 5.9
ETHTOOL_DIR = ethtool-$(ETHTOOL_VER)
ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VER).tar.xz
ETHTOOL_SITE = $(KERNEL_MIRROR)/software/network/ethtool
$(DL_DIR)/$(ETHTOOL_SOURCE):
$(DOWNLOAD) $(ETHTOOL_SITE)/$(ETHTOOL_SOURCE)
ethtool: $(DL_DIR)/$(ETHTOOL_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(ETHTOOL_DIR)
$(UNTAR)/$(ETHTOOL_SOURCE)
$(CHDIR)/$(ETHTOOL_DIR); \
$(CONFIGURE) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--libdir=$(TARGET_libdir) \
--disable-pretty-dump \
--disable-netlink \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(ETHTOOL_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
GPTFDISK_VER = 1.0.4
GPTFDISK_DIR = gptfdisk-$(GPTFDISK_VER)
GPTFDISK_SOURCE = gptfdisk-$(GPTFDISK_VER).tar.gz
GPTFDISK_SITE = https://sourceforge.net/projects/gptfdisk/files/gptfdisk/$(GPTFDISK_VER)
$(DL_DIR)/$(GPTFDISK_SOURCE):
$(DOWNLOAD) $(GPTFDISK_SITE)/$(GPTFDISK_SOURCE)
GPTFDISK_PATCH = gptfdisk-ldlibs.patch
GPTFDISK_DEPS = popt e2fsprogs
gptfdisk: $(GPTFDISK_DEPS) $(DL_DIR)/$(GPTFDISK_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(GPTFDISK_DIR)
$(UNTAR)/$(GPTFDISK_SOURCE)
$(CHDIR)/$(GPTFDISK_DIR); \
$(call apply_patches, $(GPTFDISK_PATCH)); \
$(SED) 's|^CC=.*|CC=$(TARGET_CC)|' Makefile; \
$(SED) 's|^CXX=.*|CXX=$(TARGET_CXX)|' Makefile; \
$(MAKE_ENV) \
$(MAKE) sgdisk; \
$(INSTALL_EXEC) -D sgdisk $(TARGET_sbindir)/sgdisk
$(REMOVE)/$(GPTFDISK_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
RSYNC_VER = 3.1.3
RSYNC_DIR = rsync-$(RSYNC_VER)
RSYNC_SOURCE = rsync-$(RSYNC_VER).tar.gz
RSYNC_SITE = https://download.samba.org/pub/rsync/src/
$(DL_DIR)/$(RSYNC_SOURCE):
$(DOWNLOAD) $(RSYNC_SITE)/$(RSYNC_SOURCE)
RSYNC_DEPS = zlib popt
rsync: $(RSYNC_DEPS) $(DL_DIR)/$(RSYNC_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(RSYNC_DIR)
$(UNTAR)/$(RSYNC_SOURCE)
$(CHDIR)/$(RSYNC_DIR); \
$(CONFIGURE) \
--prefix=$(prefix) \
--mandir=$(REMOVE_mandir) \
--disable-debug \
--disable-locale \
--disable-acl-support \
--with-included-zlib=no \
--with-included-popt=no \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
$(REMOVE)/$(RSYNC_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
SYSVINIT_VER = 2.98
SYSVINIT_DIR = sysvinit-$(SYSVINIT_VER)
SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VER).tar.xz
SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit
$(DL_DIR)/$(SYSVINIT_SOURCE):
$(DOWNLOAD) $(SYSVINIT_SITE)/$(SYSVINIT_SOURCE)
define SYSVINIT_INSTALL
for sbin in halt init shutdown killall5 runlevel; do \
$(INSTALL_EXEC) -D $(BUILD_DIR)/$(SYSVINIT_DIR)/src/$$sbin $(TARGET_base_sbindir)/$$sbin || exit 1; \
done
ln -sf /sbin/halt $(TARGET_base_sbindir)/reboot
ln -sf /sbin/halt $(TARGET_base_sbindir)/poweroff
ln -sf /sbin/killall5 $(TARGET_base_sbindir)/pidof
endef
sysvinit: $(DL_DIR)/$(SYSVINIT_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(SYSVINIT_DIR)
$(UNTAR)/$(SYSVINIT_SOURCE)
$(CHDIR)/$(SYSVINIT_DIR); \
$(APPLY_PATCHES); \
$(MAKE_ENV) \
$(MAKE) -C src SULOGINLIBS=-lcrypt
$(SYSVINIT_INSTALL)
$(REMOVE)/$(SYSVINIT_DIR)
$(TOUCH)
# -----------------------------------------------------------------------------
CA-BUNDLE_SOURCE = cacert.pem
CA-BUNDLE_SITE = https://curl.haxx.se/ca
$(DL_DIR)/$(CA-BUNDLE_SOURCE):
$(DOWNLOAD) $(CA-BUNDLE_SITE)/$(CA-BUNDLE_SOURCE)
CA-BUNDLE = ca-certificates.crt
CA-BUNDLE_DIR = /etc/ssl/certs
ca-bundle: $(DL_DIR)/$(CA-BUNDLE_SOURCE) | $(TARGET_DIR)
$(CD) $(DL_DIR); \
curl --remote-name --time-cond $(CA-BUNDLE_SOURCE) $(CA-BUNDLE_SITE)/$(CA-BUNDLE_SOURCE) || true
$(INSTALL_DATA) -D $(DL_DIR)/$(CA-BUNDLE_SOURCE) $(TARGET_DIR)/$(CA-BUNDLE_DIR)/$(CA-BUNDLE)
$(TOUCH)