diff --git a/br-ext-chip-fullhan/Config.in b/br-ext-chip-fullhan/Config.in index 1aada009..654067ee 100644 --- a/br-ext-chip-fullhan/Config.in +++ b/br-ext-chip-fullhan/Config.in @@ -4,6 +4,7 @@ source "$BR2_EXTERNAL_FULLHAN_PATH/package/aura-httpd/Config.in" source "$BR2_EXTERNAL_FULLHAN_PATH/package/fwprintenv-ng/Config.in" source "$BR2_EXTERNAL_FULLHAN_PATH/package/ipctool/Config.in" source "$BR2_EXTERNAL_FULLHAN_PATH/package/libevent-mini/Config.in" +source "$BR2_EXTERNAL_FULLHAN_PATH/package/libhv/Config.in" source "$BR2_EXTERNAL_FULLHAN_PATH/package/libsrt/Config.in" source "$BR2_EXTERNAL_FULLHAN_PATH/package/majestic/Config.in" source "$BR2_EXTERNAL_FULLHAN_PATH/package/node-exporter/Config.in" diff --git a/br-ext-chip-fullhan/external.mk b/br-ext-chip-fullhan/external.mk index 7d88b7ac..05679c54 100644 --- a/br-ext-chip-fullhan/external.mk +++ b/br-ext-chip-fullhan/external.mk @@ -4,6 +4,7 @@ include $(BR2_EXTERNAL_FULLHAN_PATH)/package/aura-httpd/aura-httpd.mk include $(BR2_EXTERNAL_FULLHAN_PATH)/package/fwprintenv-ng/fwprintenv-ng.mk include $(BR2_EXTERNAL_FULLHAN_PATH)/package/ipctool/ipctool.mk include $(BR2_EXTERNAL_FULLHAN_PATH)/package/libevent-mini/libevent-mini.mk +include $(BR2_EXTERNAL_FULLHAN_PATH)/package/libhv/libhv.mk include $(BR2_EXTERNAL_FULLHAN_PATH)/package/libsrt/libsrt.mk include $(BR2_EXTERNAL_FULLHAN_PATH)/package/majestic/majestic.mk include $(BR2_EXTERNAL_FULLHAN_PATH)/package/node-exporter/node-exporter.mk diff --git a/br-ext-chip-fullhan/package/libhv b/br-ext-chip-fullhan/package/libhv new file mode 120000 index 00000000..ac60ccf1 --- /dev/null +++ b/br-ext-chip-fullhan/package/libhv @@ -0,0 +1 @@ +../../general/package/libhv \ No newline at end of file diff --git a/br-ext-chip-hisilicon/Config.in b/br-ext-chip-hisilicon/Config.in index 32f0179a..266fa965 100644 --- a/br-ext-chip-hisilicon/Config.in +++ b/br-ext-chip-hisilicon/Config.in @@ -7,6 +7,7 @@ source "$BR2_EXTERNAL_HISILICON_PATH/package/hisi_gpio/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/hisilicon-osdrv4/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/ipctool/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/libevent-mini/Config.in" +source "$BR2_EXTERNAL_HISILICON_PATH/package/libhv/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/libsrt/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/majestic/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/node-exporter/Config.in" diff --git a/br-ext-chip-hisilicon/external.mk b/br-ext-chip-hisilicon/external.mk index ecc18f93..772d1918 100644 --- a/br-ext-chip-hisilicon/external.mk +++ b/br-ext-chip-hisilicon/external.mk @@ -7,6 +7,7 @@ include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisi_gpio/hisi_gpio.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv4/hisilicon-osdrv4.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/ipctool/ipctool.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/libevent-mini/libevent-mini.mk +include $(BR2_EXTERNAL_HISILICON_PATH)/package/libhvt/libhv.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/libsrt/libsrt.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/majestic/majestic.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/node-exporter/node-exporter.mk diff --git a/br-ext-chip-hisilicon/package/libhv b/br-ext-chip-hisilicon/package/libhv new file mode 120000 index 00000000..ac60ccf1 --- /dev/null +++ b/br-ext-chip-hisilicon/package/libhv @@ -0,0 +1 @@ +../../general/package/libhv \ No newline at end of file diff --git a/br-ext-chip-novatek/Config.in b/br-ext-chip-novatek/Config.in index c75c17be..72790b77 100644 --- a/br-ext-chip-novatek/Config.in +++ b/br-ext-chip-novatek/Config.in @@ -4,6 +4,7 @@ source "$BR2_EXTERNAL_NOVATEK_PATH/package/aura-httpd/Config.in" source "$BR2_EXTERNAL_NOVATEK_PATH/package/fwprintenv-ng/Config.in" source "$BR2_EXTERNAL_NOVATEK_PATH/package/ipctool/Config.in" source "$BR2_EXTERNAL_NOVATEK_PATH/package/libevent-mini/Config.in" +source "$BR2_EXTERNAL_NOVATEK_PATH/package/libhv/Config.in" source "$BR2_EXTERNAL_NOVATEK_PATH/package/libsrt/Config.in" source "$BR2_EXTERNAL_NOVATEK_PATH/package/majestic/Config.in" source "$BR2_EXTERNAL_NOVATEK_PATH/package/node-exporter/Config.in" diff --git a/br-ext-chip-novatek/external.mk b/br-ext-chip-novatek/external.mk index 3e528883..6f00968a 100644 --- a/br-ext-chip-novatek/external.mk +++ b/br-ext-chip-novatek/external.mk @@ -4,6 +4,7 @@ include $(BR2_EXTERNAL_NOVATEK_PATH)/package/aura-httpd/aura-httpd.mk include $(BR2_EXTERNAL_NOVATEK_PATH)/package/fwprintenv-ng/fwprintenv-ng.mk include $(BR2_EXTERNAL_NOVATEK_PATH)/package/ipctool/ipctool.mk include $(BR2_EXTERNAL_NOVATEK_PATH)/package/libevent-mini/libevent-mini.mk +include $(BR2_EXTERNAL_NOVATEK_PATH)/package/libhv/libhv.mk include $(BR2_EXTERNAL_NOVATEK_PATH)/package/libsrt/libsrt.mk include $(BR2_EXTERNAL_NOVATEK_PATH)/package/majestic/majestic.mk include $(BR2_EXTERNAL_NOVATEK_PATH)/package/node-exporter/node-exporter.mk diff --git a/br-ext-chip-novatek/package/libhv b/br-ext-chip-novatek/package/libhv new file mode 120000 index 00000000..ac60ccf1 --- /dev/null +++ b/br-ext-chip-novatek/package/libhv @@ -0,0 +1 @@ +../../general/package/libhv \ No newline at end of file diff --git a/br-ext-chip-sigmastar/Config.in b/br-ext-chip-sigmastar/Config.in index ab81a6ac..810cfebe 100644 --- a/br-ext-chip-sigmastar/Config.in +++ b/br-ext-chip-sigmastar/Config.in @@ -5,6 +5,7 @@ source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/fwprintenv-ng/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/gdbserver-lite/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/ipctool/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/libevent-mini/Config.in" +source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/libhv/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/libsrt/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/node-exporter/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/sigmastar-osdrv-ssc335/Config.in" diff --git a/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_blackbird_defconfig b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_blackbird_defconfig index bcaceba6..ea030488 100644 --- a/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_blackbird_defconfig +++ b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_blackbird_defconfig @@ -82,4 +82,5 @@ BR2_PACKAGE_VTUND_LITE=y # BlackBird BR2_PACKAGE_GESFTPSERVER=y +# BR2_PACKAGE_LIBHV is not set BR2_PACKAGE_LIBSRT=y diff --git a/br-ext-chip-sigmastar/external.mk b/br-ext-chip-sigmastar/external.mk index 925b7b52..eb056f9f 100644 --- a/br-ext-chip-sigmastar/external.mk +++ b/br-ext-chip-sigmastar/external.mk @@ -5,6 +5,7 @@ include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/fwprintenv-ng/fwprintenv-ng.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/gdbserver-lite/gdbserver-lite.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/ipctool/ipctool.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/libevent-mini/libevent-mini.mk +include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/libhv/libhv.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/libsrt/libsrt.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/node-exporter/node-exporter.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk diff --git a/br-ext-chip-sigmastar/package/libhv b/br-ext-chip-sigmastar/package/libhv new file mode 120000 index 00000000..ac60ccf1 --- /dev/null +++ b/br-ext-chip-sigmastar/package/libhv @@ -0,0 +1 @@ +../../general/package/libhv \ No newline at end of file diff --git a/br-ext-chip-xiongmai/Config.in b/br-ext-chip-xiongmai/Config.in index dfab9308..c21e0bf2 100644 --- a/br-ext-chip-xiongmai/Config.in +++ b/br-ext-chip-xiongmai/Config.in @@ -4,6 +4,7 @@ source "$BR2_EXTERNAL_XIONGMAI_PATH/package/aura-httpd/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/fwprintenv-ng/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/ipctool/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/libevent-mini/Config.in" +source "$BR2_EXTERNAL_XIONGMAI_PATH/package/libhv/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/libsrt/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/majestic/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/node-exporter/Config.in" diff --git a/br-ext-chip-xiongmai/external.mk b/br-ext-chip-xiongmai/external.mk index 45b952f2..13656fb5 100644 --- a/br-ext-chip-xiongmai/external.mk +++ b/br-ext-chip-xiongmai/external.mk @@ -4,6 +4,7 @@ include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/aura-httpd/aura-httpd.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/fwprintenv-ng/fwprintenv-ng.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/ipctool/ipctool.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/libevent-mini/libevent-mini.mk +include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/libhv/libhv.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/libsrt/libsrt.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/majestic/majestic.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/node-exporter/node-exporter.mk diff --git a/br-ext-chip-xiongmai/package/libhv b/br-ext-chip-xiongmai/package/libhv new file mode 120000 index 00000000..ac60ccf1 --- /dev/null +++ b/br-ext-chip-xiongmai/package/libhv @@ -0,0 +1 @@ +../../general/package/libhv \ No newline at end of file diff --git a/docs/config_examples.md b/docs/config_examples.md new file mode 100644 index 00000000..ffbcf9f6 --- /dev/null +++ b/docs/config_examples.md @@ -0,0 +1,30 @@ +## OpenIPC v2.1 (Buildroot based..) + +Alternative firmware for IP cameras based on the HiSilicon (and other) SoC's + +More information about the project is available in our [Wiki](https://github.com/OpenIPC/openipc-2.1/wiki) and [Site](https://openipc.org) + +[![CI status](https://img.shields.io/github/downloads/OpenIPC/openipc-2.1/total.svg)](https://github.com/OpenIPC/openipc-2.1/releases) +![GitHub repo size](https://img.shields.io/github/repo-size/OpenIPC/openipc-2.1) +![GitHub issues](https://img.shields.io/github/issues/OpenIPC/openipc-2.1) +![GitHub pull requests](https://img.shields.io/github/issues-pr/OpenIPC/openipc-2.1) +[![License](https://img.shields.io/github/license/OpenIPC/openipc-2.1)](https://opensource.org/licenses/MIT) + +----- + +### Debugger compile + +``` +BR2_PTHREAD_DEBUG=y +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_HOST_GDB_NOPYTHON=y +BR2_GDB_VERSION_9_2=y +BR2_GDB_VERSION="9.2" +BR2_PACKAGE_GDB=y +BR2_PACKAGE_GDB_SERVER=y +BR2_PACKAGE_GDB_DEBUGGER=y +BR2_PACKAGE_NCURSES=y +BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO="" +BR2_PACKAGE_STRACE=y +``` + diff --git a/general/package/libhv/01_dirty_method.patch b/general/package/libhv/01_dirty_method.patch new file mode 100644 index 00000000..a1948656 --- /dev/null +++ b/general/package/libhv/01_dirty_method.patch @@ -0,0 +1,13 @@ +--- a/configure 2021-05-26 12:50:08.000000000 +0300 ++++ b/configure 2021-07-04 17:41:38.750908046 +0300 +@@ -114,8 +114,8 @@ + fi + CC_VERSION=`$CC --version 2>&1 | head -n 1` + +-echo "CC = $CC" +-echo "CXX = $CXX" ++echo "CC = $CC" && shini_write "config.mk" "" "CC" "$CC" ++echo "CXX = $CXX" && shini_write "config.mk" "" "CXX" "$CXX" + echo "$CC_VERSION" + + # Checks for os diff --git a/general/package/libhv/Config.in b/general/package/libhv/Config.in new file mode 100644 index 00000000..dc308d5e --- /dev/null +++ b/general/package/libhv/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LIBHV + bool "libhv" + help + Like libevent, libev, and libuv, libhv provides event-loop with + non-blocking IO and timer, but simpler api and richer protocols. + + https://github.com/ithewei/libhv diff --git a/general/package/libhv/libhv.mk b/general/package/libhv/libhv.mk new file mode 100644 index 00000000..ca2f98cd --- /dev/null +++ b/general/package/libhv/libhv.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# libhv +# +################################################################################ + +LIBHV_VERSION = 1.1.1 +LIBHV_SITE = $(call github,ithewei,libhv,v$(LIBHV_VERSION)) +LIBHV_LICENSE = BSDv3-Clause +LIBHV_LICENSE_FILES = LICENSE + + +LIBHV_CONF_OPTS += \ + --prefix=/usr \ + --without-http-server \ + --without-http-client \ + --without-evpp \ + --disable-ipv6 \ + --disable-windump + + +define LIBHV_CONFIGURE_CMDS + (cd $(@D); rm -rf config.cache; \ + $(TARGET_CONFIGURE_ARGS) \ + $(TARGET_CONFIGURE_OPTS) \ + ./configure $(LIBHV_CONF_OPTS)) +endef + + +define LIBHV_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define LIBHV_INSTALL_TARGET_CMDS + $(INSTALL) -D $(@D)/lib/libhv.so $(TARGET_DIR)/usr/lib/libhv.so +endef + + +$(eval $(generic-package)) diff --git a/general/package/libsrt/Config.in b/general/package/libsrt/Config.in index 77afa91a..a3c28e88 100644 --- a/general/package/libsrt/Config.in +++ b/general/package/libsrt/Config.in @@ -1,11 +1,14 @@ config BR2_PACKAGE_LIBSRT bool "libsrt" help - Tool for easily creating Virtual Tunnels over TCP/IP networks - with traffic shaping, compression, and encryption. + Secure Reliable Transport (SRT) is an open source transport technology + that optimizes streaming performance across unpredictable networks, + such as the Internet. - It supports IP, PPP, SLIP, Ethernet and other tunnel types. + SRT is applied to contribution and distribution endpoints as part of + a video stream workflow to deliver the best quality and lowest latency + video at all times. + + https://github.com/Haivision/srt - No LZO/SSL/ZLIB version - http://vtun.sourceforge.net/ diff --git a/general/package/libsrt/libsrt.mk b/general/package/libsrt/libsrt.mk index 645f8228..ba34a1ef 100644 --- a/general/package/libsrt/libsrt.mk +++ b/general/package/libsrt/libsrt.mk @@ -4,14 +4,37 @@ # ################################################################################ -LIBSRT_VERSION = e932e8fbdda4a053023985a6f9c076cf09810e98 -LIBSRT_SITE = $(call github,Haivision,srt,$(LIBSRT_VERSION)) +LIBSRT_VERSION = 1.4.3 +LIBSRT_SITE = $(call github,Haivision,srt,v$(LIBSRT_VERSION)) LIBSRT_LICENSE = MPLv2.0 LIBSRT_LICENSE_FILES = LICENSE -LIBSRT_CONF_OPTS += --disable-encryption --disable-apps -LIBSRT_MAKE_OPTS += VERBOSE=1 +LIBSRT_CONF_OPTS += \ + --prefix=/usr \ + --disable-static \ + --disable-logging \ + --disable-encryption \ + --disable-apps -$(eval $(autotools-package)) +define LIBSRT_CONFIGURE_CMDS + (cd $(@D); rm -rf config.cache; \ + $(TARGET_CONFIGURE_ARGS) \ + $(TARGET_CONFIGURE_OPTS) \ + ./configure $(LIBSRT_CONF_OPTS)) +endef + + +define LIBSRT_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define LIBSRT_INSTALL_TARGET_CMDS + $(INSTALL) -D $(@D)/libsrt.so.$(LIBSRT_VERSION) $(TARGET_DIR)/usr/lib/libsrt.so.$(LIBSRT_VERSION) + ln -sf $(TARGET_DIR)/usr/lib/libsrt.so.$(LIBSRT_VERSION) $(TARGET_DIR)/usr/lib/libsrt.so + ln -sf $(TARGET_DIR)/usr/lib/libsrt.so.$(LIBSRT_VERSION) $(TARGET_DIR)/usr/lib/libsrt.so.1.4 +endef + + +$(eval $(generic-package))