Browse Source

- add support for AX/Mut@nt HD51

master
gixxpunk 7 years ago
parent
commit
3a8f1232cc
  1. 3
      Makefile
  2. 3
      README.md
  3. 1127
      archive-configs/busybox-ax.config
  4. 578
      archive-configs/ct-ng-axtech_ax.config
  5. 4399
      archive-configs/kernel-4.10-ax.config
  6. 22
      archive-patches/alsa-lib-1.1.4.1-link_fix.patch
  7. 13
      archive-patches/alsa-lib-1.1.4.1.patch
  8. 11
      archive-patches/gst-gmediarender-0.0.6.patch
  9. 15
      archive-patches/gst-libav-1.11.1-disable-yasm-for-libav-when-disable-yasm.patch
  10. 12
      archive-patches/gst-plugins-bad-1.11.1-dvbapi5-fix-old-kernel.patch
  11. 13
      archive-patches/gst-plugins-bad-1.11.1-hls-use-max-playlist-quality.patch
  12. 12
      archive-patches/gst-plugins-bad-1.11.1-mpegtsdemux-only-wait-for-PCR-when-PCR-pid.patch
  13. 51
      archive-patches/gst-plugins-bad-1.11.1-rtmp-fix-seeking-and-potential-segfault.patch
  14. 21
      archive-patches/gst-plugins-base-1.11.1-riff-media-added-fourcc-to-all-ffmpeg-mpeg4-video-ca.patch
  15. 13
      archive-patches/gst-plugins-base-1.11.1-riff-media-added-fourcc-to-all-mpeg4-video-caps.patch
  16. 43
      archive-patches/gst-plugins-base-1.11.1-subparse-avoid-false-negatives-dealing-with-UTF-8.patch
  17. 36
      archive-patches/gst-plugins-base-1.11.1-taglist-not-send-to-down-stream-if-all-the-frame-cor.patch
  18. 21
      archive-patches/gst-plugins-fluendo-0.10.71-mpegdemux.patch
  19. 21
      archive-patches/gstreamer-1.11.1-fix-crash-with-gst-inspect.patch
  20. 34
      archive-patches/gstreamer-1.11.1-revert-use-new-gst-adapter-get-buffer.patch
  21. 46
      archive-patches/nettle-3.1.patch
  22. 5
      archive-server/get-image.php
  23. 5
      archive-server/get-kernel.php
  24. 4
      config.example
  25. 4
      make/archives.mk
  26. 71
      make/bootstrap.mk
  27. 26
      make/crosstool.mk
  28. 67
      make/environment.mk
  29. 758
      make/gstreamer.mk
  30. 60
      make/images.mk
  31. 37
      make/kernel-axt.mk
  32. 97
      make/neutrino.mk
  33. 11
      make/ni.mk
  34. 2
      make/plugins.mk
  35. 5
      make/rootfs.mk
  36. 7
      make/static.mk
  37. 26
      make/system-libs.mk
  38. 14
      make/system-tools.mk
  39. 0
      skel-root/axtech/ax/bin/.gitignore
  40. 0
      skel-root/axtech/ax/dev/.gitignore
  41. 5
      skel-root/axtech/ax/etc/exports
  42. 48
      skel-root/axtech/ax/etc/fb.modes
  43. 13
      skel-root/axtech/ax/etc/filesystems
  44. 3
      skel-root/axtech/ax/etc/fstab
  45. 17
      skel-root/axtech/ax/etc/group
  46. 1
      skel-root/axtech/ax/etc/hosts
  47. 5
      skel-root/axtech/ax/etc/inetd.conf
  48. 0
      skel-root/axtech/ax/etc/init.d/.gitignore
  49. 20
      skel-root/axtech/ax/etc/init.d/coredump
  50. 18
      skel-root/axtech/ax/etc/init.d/crond
  51. 307
      skel-root/axtech/ax/etc/init.d/emu
  52. 195
      skel-root/axtech/ax/etc/init.d/fstab
  53. 69
      skel-root/axtech/ax/etc/init.d/functions
  54. 21
      skel-root/axtech/ax/etc/init.d/globals
  55. 17
      skel-root/axtech/ax/etc/init.d/hostname
  56. 24
      skel-root/axtech/ax/etc/init.d/inetd
  57. 21
      skel-root/axtech/ax/etc/init.d/networking
  58. 17
      skel-root/axtech/ax/etc/init.d/ntpdate
  59. 75
      skel-root/axtech/ax/etc/init.d/oscamfix
  60. 25
      skel-root/axtech/ax/etc/init.d/rcK
  61. 100
      skel-root/axtech/ax/etc/init.d/rcS
  62. 16
      skel-root/axtech/ax/etc/init.d/sdX
  63. 29
      skel-root/axtech/ax/etc/init.d/start_neutrino
  64. 23
      skel-root/axtech/ax/etc/init.d/syslogd
  65. 10
      skel-root/axtech/ax/etc/inittab
  66. 12
      skel-root/axtech/ax/etc/issue.net
  67. 60
      skel-root/axtech/ax/etc/mdev.conf
  68. 1
      skel-root/axtech/ax/etc/mtab
  69. 0
      skel-root/axtech/ax/etc/network/if-down.d/.gitignore
  70. 0
      skel-root/axtech/ax/etc/network/if-post-down.d/.gitignore
  71. 0
      skel-root/axtech/ax/etc/network/if-post-up.d/.gitignore
  72. 0
      skel-root/axtech/ax/etc/network/if-pre-up.d/.gitignore
  73. 0
      skel-root/axtech/ax/etc/network/if-up.d/.gitignore
  74. 4
      skel-root/axtech/ax/etc/network/interfaces
  75. 8
      skel-root/axtech/ax/etc/network/post-wlan0.sh
  76. 11
      skel-root/axtech/ax/etc/network/pre-wlan0.sh
  77. 47
      skel-root/axtech/ax/etc/nsswitch.conf
  78. 5
      skel-root/axtech/ax/etc/passwd
  79. 17
      skel-root/axtech/ax/etc/profile
  80. 1
      skel-root/axtech/ax/etc/profile.local
  81. 34
      skel-root/axtech/ax/etc/protocols
  82. 544
      skel-root/axtech/ax/etc/services
  83. 2
      skel-root/axtech/ax/etc/shells
  84. 0
      skel-root/axtech/ax/lib/firmware/.gitignore
  85. 8
      skel-root/axtech/ax/lib/mdev/common/mdev-log-only
  86. 10
      skel-root/axtech/ax/lib/mdev/common/mdev-modprobe
  87. 6
      skel-root/axtech/ax/lib/mdev/common/mdev-module
  88. 24
      skel-root/axtech/ax/lib/mdev/fs/mdev-mmcblk
  89. 113
      skel-root/axtech/ax/lib/mdev/fs/mdev-mount
  90. 19
      skel-root/axtech/ax/lib/mdev/net/mdev-wlan
  91. 31
      skel-root/axtech/ax/lib/mdev/usb/coldplug-setenv
  92. 119
      skel-root/axtech/ax/lib/mdev/usb/mdev-usb
  93. 0
      skel-root/axtech/ax/media/.gitignore
  94. 0
      skel-root/axtech/ax/mnt/.gitignore
  95. 0
      skel-root/axtech/ax/proc/.gitignore
  96. 32
      skel-root/axtech/ax/sbin/service
  97. 48
      skel-root/axtech/ax/share/udhcpc/default.script
  98. 0
      skel-root/axtech/ax/srv/.gitignore
  99. 0
      skel-root/axtech/ax/sys/.gitignore
  100. 0
      skel-root/axtech/ax/tmp/.gitignore

3
Makefile

@ -79,7 +79,7 @@ include make/crosstool.mk
include make/bootstrap.mk
include make/clean.mk
include make/update.mk
include make/kernel-cst.mk
include make/kernel-$(BOXTYPE_SC).mk
include make/static.mk
include make/system-libs.mk
include make/system-libs-extra.mk
@ -92,6 +92,7 @@ include make/plugins-extra.mk
include make/images.mk
include make/image-update.mk
include make/rootfs.mk
include make/gstreamer.mk
include make/ni.mk

3
README.md

@ -8,7 +8,8 @@
apt-get install \
git subversion cvs automake build-essential ccache cmake patch bison flex texinfo autopoint \
libtool libtool-bin python curl gawk gzip bzip2 lzma gperf gettext help2man bc \
libglib2.0-dev libncurses5-dev libncursesw5-dev liblzo2-dev uuid-dev libssl-dev libcurl4-openssl-dev
libglib2.0-dev libncurses5-dev libncursesw5-dev liblzo2-dev uuid-dev libssl-dev libcurl4-openssl-dev intltool
```
# 1) Buildsystem initialisieren #

1127
archive-configs/busybox-ax.config

File diff suppressed because it is too large

578
archive-configs/ct-ng-axtech_ax.config

@ -0,0 +1,578 @@
#
# Automatically generated file; DO NOT EDIT.
# Crosstool-NG Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_stat_flavor_GNU=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_63_or_newer=y
CT_CONFIGURE_has_autoreconf_2_63_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_cvs=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
# CT_ALLOW_BUILD_AS_ROOT is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${NI_BASE_DIR}/download"
CT_SAVE_TARBALLS=y
CT_WORK_DIR="${CT_TOP_DIR}/targets"
CT_BUILD_TOP_DIR="${CT_WORK_DIR}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_PREFIX_DIR="${NI_BASE_DIR}/cross/arm/ax"
CT_RM_RF_PREFIX_DIR=y
# CT_REMOVE_DOCS is not set
# CT_BUILD_MANUALS is not set
CT_PREFIX_DIR_RO=y
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=20
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=8
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
CT_LOG_INFO=y
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="INFO"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
#
# Target options
#
CT_ARCH="arm"
# CT_ARCH_alpha is not set
CT_ARCH_arm=y
# CT_ARCH_avr is not set
# CT_ARCH_m68k is not set
# CT_ARCH_microblaze is not set
# CT_ARCH_mips is not set
# CT_ARCH_nios2 is not set
# CT_ARCH_powerpc is not set
# CT_ARCH_s390 is not set
# CT_ARCH_sh is not set
# CT_ARCH_sparc is not set
# CT_ARCH_x86 is not set
# CT_ARCH_xtensa is not set
CT_ARCH_SUFFIX=""
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_SUPPORTS_WITH_FPU=y
CT_ARCH_SUPPORTS_SOFTFP=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_ARCH="armv7ve"
CT_ARCH_CPU="cortex-a15"
CT_ARCH_TUNE="cortex-a15"
CT_ARCH_FPU="neon-vfpv4"
# CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y
# CT_ARCH_FLOAT_SOFTFP is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="hard"
#
# arm other options
#
CT_ARCH_ARM_MODE="arm"
CT_ARCH_ARM_MODE_ARM=y
# CT_ARCH_ARM_MODE_THUMB is not set
# CT_ARCH_ARM_INTERWORKING is not set
CT_ARCH_ARM_EABI=y
CT_ARCH_ARM_TUPLE_USE_EABIHF=y
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sys-root"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="cortex"
CT_TARGET_ALIAS_SED_EXPR="s/-cortex-/-/"
CT_TARGET_ALIAS="arm-linux"
#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
CT_TOOLCHAIN_ENABLE_NLS=y
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
CT_KERNEL="linux"
CT_KERNEL_VERSION="4.10.8"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
# CT_KERNEL_LINUX_CUSTOM is not set
CT_KERNEL_V_4_10=y
# CT_KERNEL_V_4_9 is not set
# CT_KERNEL_V_4_8 is not set
# CT_KERNEL_V_4_7 is not set
# CT_KERNEL_V_4_6 is not set
# CT_KERNEL_V_4_5 is not set
# CT_KERNEL_V_4_4 is not set
# CT_KERNEL_V_4_3 is not set
# CT_KERNEL_V_4_2 is not set
# CT_KERNEL_V_4_1 is not set
# CT_KERNEL_V_4_0 is not set
# CT_KERNEL_V_3_19 is not set
# CT_KERNEL_V_3_18 is not set
# CT_KERNEL_V_3_17 is not set
# CT_KERNEL_V_3_16 is not set
# CT_KERNEL_V_3_15 is not set
# CT_KERNEL_V_3_14 is not set
# CT_KERNEL_V_3_13 is not set
# CT_KERNEL_V_3_12 is not set
# CT_KERNEL_V_3_11 is not set
# CT_KERNEL_V_3_10 is not set
# CT_KERNEL_V_3_9 is not set
# CT_KERNEL_V_3_8 is not set
# CT_KERNEL_V_3_7 is not set
# CT_KERNEL_V_3_6 is not set
# CT_KERNEL_V_3_5 is not set
# CT_KERNEL_V_3_4 is not set
# CT_KERNEL_V_3_3 is not set
# CT_KERNEL_V_3_2 is not set
# CT_KERNEL_V_3_1 is not set
# CT_KERNEL_V_3_0 is not set
# CT_KERNEL_V_2_6_39 is not set
# CT_KERNEL_V_2_6_38 is not set
# CT_KERNEL_V_2_6_37 is not set
# CT_KERNEL_V_2_6_36 is not set
# CT_KERNEL_V_2_6_35 is not set
# CT_KERNEL_V_2_6_34 is not set
# CT_KERNEL_V_2_6_33 is not set
# CT_KERNEL_V_2_6_32 is not set
#
# Common kernel options
#
CT_SHARED_LIBS=y
#
# linux other options
#
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
CT_KERNEL_LINUX_INSTALL_CHECK=y
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS="binutils"
CT_BINUTILS_binutils=y
#
# GNU binutils
#
# CT_BINUTILS_CUSTOM is not set
CT_BINUTILS_VERSION="2.28"
# CT_BINUTILS_SHOW_LINARO is not set
CT_BINUTILS_V_2_28=y
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
# CT_BINUTILS_V_2_25_1 is not set
# CT_BINUTILS_V_2_24 is not set
# CT_BINUTILS_V_2_23_2 is not set
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_2_26_or_later=y
CT_BINUTILS_2_25_1_or_later=y
CT_BINUTILS_2_25_or_later=y
CT_BINUTILS_2_24_or_later=y
CT_BINUTILS_2_23_2_or_later=y
CT_BINUTILS_HAS_HASH_STYLE=y
CT_BINUTILS_HAS_GOLD=y
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_HAS_PLUGINS=y
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
# CT_BINUTILS_LINKER_GOLD_LD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
CT_BINUTILS_FOR_TARGET=y
CT_BINUTILS_FOR_TARGET_IBERTY=y
CT_BINUTILS_FOR_TARGET_BFD=y
#
# binutils other options
#
#
# C-library
#
CT_LIBC="glibc"
CT_LIBC_VERSION="2.23"
CT_LIBC_glibc=y
# CT_LIBC_musl is not set
# CT_LIBC_uClibc is not set
CT_THREADS="nptl"
# CT_LIBC_GLIBC_CUSTOM is not set
# CT_CC_GLIBC_SHOW_LINARO is not set
# CT_LIBC_GLIBC_V_2_25 is not set
# CT_LIBC_GLIBC_V_2_24 is not set
CT_LIBC_GLIBC_V_2_23=y
# CT_LIBC_GLIBC_V_2_22 is not set
# CT_LIBC_GLIBC_V_2_21 is not set
# CT_LIBC_GLIBC_V_2_20 is not set
# CT_LIBC_GLIBC_V_2_19 is not set
# CT_LIBC_GLIBC_V_2_18 is not set
# CT_LIBC_GLIBC_V_2_17 is not set
# CT_LIBC_GLIBC_V_2_16_0 is not set
# CT_LIBC_GLIBC_V_2_15 is not set
# CT_LIBC_GLIBC_V_2_14_1 is not set
# CT_LIBC_GLIBC_V_2_14 is not set
# CT_LIBC_GLIBC_V_2_13 is not set
# CT_LIBC_GLIBC_V_2_12_1 is not set
CT_LIBC_GLIBC_2_23_or_later=y
CT_LIBC_GLIBC_2_20_or_later=y
CT_LIBC_GLIBC_2_17_or_later=y
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
#
# glibc other options
#
CT_LIBC_GLIBC_NEEDS_PORTS=y
CT_LIBC_glibc_family=y
CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_LIBC_GLIBC_CONFIGPARMS=""
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
# CT_LIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_LIBC_DISABLE_VERSIONING is not set
CT_LIBC_OLDEST_ABI=""
CT_LIBC_GLIBC_FORCE_UNWIND=y
CT_LIBC_ADDONS_LIST=""
# CT_LIBC_LOCALES is not set
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_LIBC_GLIBC_MIN_KERNEL="4.10.8"
#
# C compiler
#
CT_CC="gcc"
CT_CC_CORE_PASSES_NEEDED=y
CT_CC_CORE_PASS_1_NEEDED=y
CT_CC_CORE_PASS_2_NEEDED=y
CT_CC_gcc=y
# CT_CC_GCC_CUSTOM is not set
CT_CC_GCC_VERSION="linaro-4.9-2017.01"
CT_CC_GCC_SHOW_LINARO=y
# CT_CC_GCC_V_7_1_0 is not set
# CT_CC_GCC_V_linaro_6_3 is not set
# CT_CC_GCC_V_6_3_0 is not set
# CT_CC_GCC_V_linaro_5_4 is not set
# CT_CC_GCC_V_5_4_0 is not set
CT_CC_GCC_V_linaro_4_9=y
# CT_CC_GCC_V_4_9_4 is not set
# CT_CC_GCC_V_linaro_4_8 is not set
# CT_CC_GCC_V_4_8_5 is not set
CT_CC_GCC_4_8_or_later=y
CT_CC_GCC_4_9=y
CT_CC_GCC_4_9_or_later=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--with-float=hard"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--with-float=hard"
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOAT_AUTO=y
# CT_CC_GCC_DEC_FLOAT_BID is not set
# CT_CC_GCC_DEC_FLOAT_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_JAVA=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JAVA is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
#
# Debug facilities
#
# CT_DEBUG_duma is not set
# CT_DEBUG_gdb is not set
# CT_DEBUG_ltrace is not set
# CT_DEBUG_strace is not set
#
# Companion libraries
#
CT_COMPLIBS_NEEDED=y
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_CLOOG_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_COMPLIBS=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_CLOOG=y
CT_MPC=y
CT_NCURSES=y
# CT_ZLIB is not set
CT_LIBICONV_V_1_15=y
# CT_LIBICONV_V_1_14 is not set
CT_LIBICONV_VERSION="1.15"
CT_GETTEXT_V_0_19_8_1=y
# CT_GETTEXT_V_0_19_7 is not set
CT_GETTEXT_VERSION="0.19.8.1"
CT_GMP_V_6_1_2=y
# CT_GMP_V_6_1_0 is not set
# CT_GMP_V_6_0_0 is not set
# CT_GMP_V_5_1_3 is not set
# CT_GMP_V_5_1_1 is not set
# CT_GMP_V_5_0_2 is not set
# CT_GMP_V_5_0_1 is not set
# CT_GMP_V_4_3_2 is not set
# CT_GMP_V_4_3_1 is not set
# CT_GMP_V_4_3_0 is not set
CT_GMP_5_0_2_or_later=y
CT_GMP_VERSION="6.1.2"
CT_MPFR_V_3_1_5=y
# CT_MPFR_V_3_1_3 is not set
# CT_MPFR_V_3_1_2 is not set
# CT_MPFR_V_3_1_0 is not set
# CT_MPFR_V_3_0_1 is not set
# CT_MPFR_V_3_0_0 is not set
# CT_MPFR_V_2_4_2 is not set
# CT_MPFR_V_2_4_1 is not set
# CT_MPFR_V_2_4_0 is not set
CT_MPFR_VERSION="3.1.5"
CT_ISL_V_0_15=y
# CT_ISL_V_0_14 is not set
# CT_ISL_V_0_12_2 is not set
CT_ISL_V_0_15_or_later=y
CT_ISL_V_0_14_or_later=y
CT_ISL_V_0_12_or_later=y
CT_ISL_VERSION="0.15"
CT_CLOOG_V_0_18_4=y
CT_CLOOG_VERSION="0.18.4"
CT_CLOOG_0_18_4_or_later=y
CT_CLOOG_0_18_or_later=y
CT_MPC_V_1_0_3=y
# CT_MPC_V_1_0_2 is not set
# CT_MPC_V_1_0_1 is not set
# CT_MPC_V_1_0 is not set
# CT_MPC_V_0_9 is not set
# CT_MPC_V_0_8_2 is not set
# CT_MPC_V_0_8_1 is not set
# CT_MPC_V_0_7 is not set
CT_MPC_VERSION="1.0.3"
CT_NCURSES_V_6_0=y
CT_NCURSES_VERSION="6.0"
# CT_NCURSES_NEW_ABI is not set
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
#
# Companion libraries common options
#
# CT_COMPLIBS_CHECK is not set
#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_autoconf is not set
# CT_COMP_TOOLS_automake is not set
# CT_COMP_TOOLS_libtool is not set
# CT_COMP_TOOLS_m4 is not set
# CT_COMP_TOOLS_make is not set
#
# Test suite
#
# CT_TEST_SUITE_GCC is not set

4399
archive-configs/kernel-4.10-ax.config

File diff suppressed because it is too large

22
archive-patches/alsa-lib-1.1.4.1-link_fix.patch

@ -0,0 +1,22 @@
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -421,7 +421,7 @@ clean-libLTLIBRARIES:
rm -f $${locs}; \
}
libasound.la: $(libasound_la_OBJECTS) $(libasound_la_DEPENDENCIES) $(EXTRA_libasound_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libasound_la_LINK) -rpath $(libdir) $(libasound_la_OBJECTS) $(libasound_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(libasound_la_LINK) -rpath $(DESTDIR)$(libdir) $(libasound_la_OBJECTS) $(libasound_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
--- a/src/pcm/scopes/Makefile.in
+++ b/src/pcm/scopes/Makefile.in
@@ -348,7 +348,7 @@ clean-pkglibLTLIBRARIES:
rm -f $${locs}; \
}
scope-level.la: $(scope_level_la_OBJECTS) $(scope_level_la_DEPENDENCIES) $(EXTRA_scope_level_la_DEPENDENCIES)
- $(AM_V_CCLD)$(scope_level_la_LINK) -rpath $(pkglibdir) $(scope_level_la_OBJECTS) $(scope_level_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(scope_level_la_LINK) -rpath $(DESTDIR)$(pkglibdir) $(scope_level_la_OBJECTS) $(scope_level_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)

13
archive-patches/alsa-lib-1.1.4.1.patch

@ -0,0 +1,13 @@
--- a/utils/alsa.pc.in
+++ b/utils/alsa.pc.in
@@ -1,7 +1,7 @@
prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
Name: alsa
Description: Advanced Linux Sound Architecture (ALSA) - Library

11
archive-patches/gst-gmediarender-0.0.6.patch

@ -0,0 +1,11 @@
--- gmediarender-0.0.6/src/output_gstreamer.c
+++ gmediarender-0.0.6/src/output_gstreamer.c
@@ -315,7 +315,7 @@
scan_mime_list();
- play = gst_element_factory_make("playbin", "play");
+ play = gst_element_factory_make("playbin2", "play");
bus = gst_pipeline_get_bus(GST_PIPELINE(play));
gst_bus_add_watch(bus, my_bus_callback, NULL);

15
archive-patches/gst-libav-1.11.1-disable-yasm-for-libav-when-disable-yasm.patch

@ -0,0 +1,15 @@
--- a/configure.ac
+++ b/configure.ac
@@ -375,6 +375,12 @@
emblibav_configure_args="$emblibav_configure_args --enable-gpl"
fi
+ AC_ARG_ENABLE(yasm,
+ [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])])
+ if test "x$enable_yasm" = "xno"; then
+ emblibav_configure_args="$emblibav_configure_args --disable-yasm"
+ fi
+
# if we are cross-compiling, tell libav so
case $host in
*android*)

12
archive-patches/gst-plugins-bad-1.11.1-dvbapi5-fix-old-kernel.patch

@ -0,0 +1,12 @@
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -305,7 +305,9 @@
{APSK_16, "16APSK", "16apsk"},
{APSK_32, "32APSK", "32apsk"},
{DQPSK, "DQPSK", "dqpsk"},
+#if HAVE_V5_MINOR(7)
{QAM_4_NR, "QAM 4 NR", "qam-4-nr"},
+#endif
{0, NULL, NULL},
};

13
archive-patches/gst-plugins-bad-1.11.1-hls-use-max-playlist-quality.patch

@ -0,0 +1,13 @@
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -595,6 +595,10 @@
return FALSE;
}
+ /* use max playlist quality if connection speed not set */
+ if (demux->connection_speed == 0)
+ demux->connection_speed = 4294967;
+
/* select the initial variant stream */
if (demux->connection_speed == 0) {
variant = hlsdemux->master->default_variant;

12
archive-patches/gst-plugins-bad-1.11.1-mpegtsdemux-only-wait-for-PCR-when-PCR-pid.patch

@ -0,0 +1,12 @@
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -1678,7 +1678,7 @@
stream->first_pts = GST_CLOCK_TIME_NONE;
stream->raw_pts = -1;
stream->raw_dts = -1;
- stream->pending_ts = TRUE;
+ stream->pending_ts = program->pcr_pid < 0x1fff;
stream->nb_out_buffers = 0;
stream->gap_ref_buffers = 0;
stream->gap_ref_pts = GST_CLOCK_TIME_NONE;

51
archive-patches/gst-plugins-bad-1.11.1-rtmp-fix-seeking-and-potential-segfault.patch

@ -0,0 +1,51 @@
--- a/ext/rtmp/gstrtmpsrc.c
+++ b/ext/rtmp/gstrtmpsrc.c
@@ -88,7 +88,6 @@
GValue * value, GParamSpec * pspec);
static void gst_rtmp_src_finalize (GObject * object);
-static gboolean gst_rtmp_src_unlock (GstBaseSrc * src);
static gboolean gst_rtmp_src_stop (GstBaseSrc * src);
static gboolean gst_rtmp_src_start (GstBaseSrc * src);
static gboolean gst_rtmp_src_is_seekable (GstBaseSrc * src);
@@ -144,7 +143,6 @@
gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_rtmp_src_start);
gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_rtmp_src_stop);
- gstbasesrc_class->unlock = GST_DEBUG_FUNCPTR (gst_rtmp_src_unlock);
gstbasesrc_class->is_seekable = GST_DEBUG_FUNCPTR (gst_rtmp_src_is_seekable);
gstbasesrc_class->prepare_seek_segment =
GST_DEBUG_FUNCPTR (gst_rtmp_src_prepare_seek_segment);
@@ -625,23 +623,6 @@
#undef STR2AVAL
static gboolean
-gst_rtmp_src_unlock (GstBaseSrc * basesrc)
-{
- GstRTMPSrc *rtmpsrc = GST_RTMP_SRC (basesrc);
-
- GST_DEBUG_OBJECT (rtmpsrc, "unlock");
-
- /* This closes the socket, which means that any pending socket calls
- * error out. */
- if (rtmpsrc->rtmp) {
- RTMP_Close (rtmpsrc->rtmp);
- }
-
- return TRUE;
-}
-
-
-static gboolean
gst_rtmp_src_stop (GstBaseSrc * basesrc)
{
GstRTMPSrc *src;
@@ -649,6 +630,7 @@
src = GST_RTMP_SRC (basesrc);
if (src->rtmp) {
+ RTMP_Close (src->rtmp);
RTMP_Free (src->rtmp);
src->rtmp = NULL;
}

21
archive-patches/gst-plugins-base-1.11.1-riff-media-added-fourcc-to-all-ffmpeg-mpeg4-video-ca.patch

@ -0,0 +1,21 @@
--- a/gst-libs/gst/riff/riff-media.c
+++ b/gst-libs/gst/riff/riff-media.c
@@ -466,12 +466,18 @@
case GST_MAKE_FOURCC ('F', 'M', 'P', '4'):
case GST_MAKE_FOURCC ('U', 'M', 'P', '4'):
case GST_MAKE_FOURCC ('F', 'F', 'D', 'S'):
+ {
+ gchar *fstr = g_strdup_printf ("%" GST_FOURCC_FORMAT,
+ GST_FOURCC_ARGS (codec_fcc));
caps = gst_caps_new_simple ("video/mpeg",
"mpegversion", G_TYPE_INT, 4,
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
+ gst_caps_set_simple (caps, "fourcc", G_TYPE_STRING, fstr, NULL);
+ g_free (fstr);
if (codec_name)
*codec_name = g_strdup ("FFmpeg MPEG-4");
break;
+ }
case GST_MAKE_FOURCC ('3', 'I', 'V', '1'):
case GST_MAKE_FOURCC ('3', 'I', 'V', '2'):

13
archive-patches/gst-plugins-base-1.11.1-riff-media-added-fourcc-to-all-mpeg4-video-caps.patch

@ -0,0 +1,13 @@
--- a/gst-libs/gst/riff/riff-media.c
+++ b/gst-libs/gst/riff/riff-media.c
@@ -497,6 +497,10 @@
caps = gst_caps_new_simple ("video/mpeg",
"mpegversion", G_TYPE_INT, 4,
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
+ {gchar *fstr = g_strdup_printf ("%" GST_FOURCC_FORMAT,
+ GST_FOURCC_ARGS (codec_fcc));
+ gst_caps_set_simple (caps, "fourcc", G_TYPE_STRING, fstr, NULL);
+ g_free (fstr);}
if (codec_name)
*codec_name = g_strdup ("MPEG-4");
break;

43
archive-patches/gst-plugins-base-1.11.1-subparse-avoid-false-negatives-dealing-with-UTF-8.patch

@ -0,0 +1,43 @@
--- a/gst/subparse/gstsubparse.c
+++ b/gst/subparse/gstsubparse.c
@@ -443,6 +443,9 @@
const gchar *encoding;
GError *err = NULL;
gchar *ret = NULL;
+ gsize nuls = 0;
+ gsize valid_utf8_len;
+ const gchar *invalid_utf8_start;
*consumed = 0;
@@ -463,11 +466,27 @@
/* Otherwise check if it's UTF8 */
if (self->valid_utf8) {
- if (g_utf8_validate (str, len, NULL)) {
+ /* Trim NUL terminator(s) if present */
+ while (len > 0 && str[len - 1] == '\0') {
+ len--;
+ nuls++;
+ }
+
+ /* Consume whole byte run if all valid UTF-8 */
+ if (g_utf8_validate (str, len, &invalid_utf8_start)) {
GST_LOG_OBJECT (self, "valid UTF-8, no conversion needed");
- *consumed = len;
+ *consumed = len + nuls;
return g_strndup (str, len);
}
+
+ /* Consume initial data as far as we have at least 1 valid code point */
+ valid_utf8_len = invalid_utf8_start - str;
+ if (valid_utf8_len) {
+ GST_WARNING_OBJECT (self, "At least some of the data was invalid UTF-8");
+ *consumed = valid_utf8_len;
+ return g_strndup (str, valid_utf8_len);
+ }
+
GST_INFO_OBJECT (self, "invalid UTF-8!");
self->valid_utf8 = FALSE;
}

36
archive-patches/gst-plugins-base-1.11.1-taglist-not-send-to-down-stream-if-all-the-frame-cor.patch

@ -0,0 +1,36 @@
--- a/gst-libs/gst/audio/gstaudiodecoder.c
+++ b/gst-libs/gst/audio/gstaudiodecoder.c
@@ -2289,6 +2289,15 @@
("no valid frames found"));
}
+ /* send taglist if no valid frame is decoded util EOS */
+ if (dec->priv->taglist && dec->priv->taglist_changed) {
+ GST_DEBUG_OBJECT (dec, "codec tag %" GST_PTR_FORMAT, dec->priv->taglist);
+ if (!gst_tag_list_is_empty (dec->priv->taglist))
+ gst_audio_decoder_push_event (dec,
+ gst_event_new_tag (gst_tag_list_ref (dec->priv->taglist)));
+ dec->priv->taglist_changed = FALSE;
+ }
+
/* Forward EOS because no buffer or serialized event will come after
* EOS and nothing could trigger another _finish_frame() call. */
if (dec->priv->pending_events)
--- a/gst-libs/gst/video/gstvideodecoder.c
+++ b/gst-libs/gst/video/gstvideodecoder.c
@@ -1188,6 +1188,14 @@
* parent class' ::sink_event() until a later time.
*/
forward_immediate = TRUE;
+
+ /* send taglist if no valid frame is decoded util EOS */
+ if (decoder->priv->tags && decoder->priv->tags_changed) {
+ gst_video_decoder_push_event (decoder,
+ gst_event_new_tag (gst_tag_list_ref (decoder->priv->tags)));
+ decoder->priv->tags_changed = FALSE;
+ }
+
break;
}
case GST_EVENT_GAP:

21
archive-patches/gst-plugins-fluendo-0.10.71-mpegdemux.patch

@ -0,0 +1,21 @@
--- gst-fluendo-mpegdemux-0.10.69/src/gstmpegdefs.h
+++ gst-fluendo-mpegdemux-0.10.69/src/gstmpegdefs.h
@@ -156,6 +156,7 @@
#define ST_BD_AUDIO_AC3_TRUE_HD 0x83
#define ST_BD_AUDIO_AC3_PLUS 0x84
#define ST_BD_AUDIO_DTS_HD 0x85
+#define ST_BD_AUDIO_DTS_HD_MASTER_AUDIO 0x86
#define ST_BD_AUDIO_EAC3 0x87
#define ST_BD_PGS_SUBPICTURE 0x90
#define ST_BD_IGS 0x91
--- gst-fluendo-mpegdemux-0.10.69/src/gstmpegtsdemux.c
+++ gst-fluendo-mpegdemux-0.10.69/src/gstmpegtsdemux.c
@@ -850,6 +850,8 @@
break;
case ST_BD_AUDIO_DTS:
case ST_PS_AUDIO_DTS:
+ case ST_BD_AUDIO_DTS_HD:
+ case ST_BD_AUDIO_DTS_HD_MASTER_AUDIO:
template = klass->audio_template;
name = g_strdup_printf ("audio_%04x", stream->PID);
caps = gst_caps_new_simple ("audio/x-dts", NULL);

21
archive-patches/gstreamer-1.11.1-fix-crash-with-gst-inspect.patch

@ -0,0 +1,21 @@
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -1548,7 +1548,7 @@
g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
g_option_context_add_group (ctx, gst_init_get_option_group ());
if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
- g_printerr ("Error initializing: %s\n", err->message);
+ g_printerr ("Error initializing: %s\n", err ? err->message : "(null)");
g_clear_error (&err);
g_option_context_free (ctx);
return -1;
-------
g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
g_option_context_add_group (ctx, gst_init_get_option_group ());
if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
- g_printerr ("Error initializing: %s\n", err->message);
+ g_printerr ("Error initializing: %s\n", err ? err->message : "(null)");
return -1;
}
g_option_context_free (ctx);

34
archive-patches/gstreamer-1.11.1-revert-use-new-gst-adapter-get-buffer.patch

@ -0,0 +1,34 @@
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -3040,6 +3040,7 @@
GstBuffer *tmpbuf = NULL;
guint fsize = 1;
gint skip = -1;
+ const guint8 *data;
guint min_size, av;
GstClockTime pts, dts;
@@ -3246,7 +3247,11 @@
}
/* always pass all available data */
- tmpbuf = gst_adapter_get_buffer (parse->priv->adapter, av);
+ data = gst_adapter_map (parse->priv->adapter, av);
+ /* arrange for actual data to be copied if subclass tries to,
+ * since what is passed is tied to the adapter */
+ tmpbuf = gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY |
+ GST_MEMORY_FLAG_NO_SHARE, (gpointer) data, av, 0, av, NULL, NULL);
/* already inform subclass what timestamps we have planned,
* at least if provided by time-based upstream */
@@ -3261,6 +3266,9 @@
ret = gst_base_parse_handle_buffer (parse, tmpbuf, &skip, &flush);
tmpbuf = NULL;
+ /* probably already implicitly unmapped due to adapter operation,
+ * but for good measure ... */
+ gst_adapter_unmap (parse->priv->adapter);
if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) {
goto done;
}

46
archive-patches/nettle-3.1.patch

@ -0,0 +1,46 @@
From 46edf01cc98db9f9feec984897836dfdd26bdc8d Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Wed, 12 Aug 2015 23:27:27 +0300
Subject: [PATCH] Add target to only build tests (not run them)
Not sending upstream as this is only a start of a solution to
installable tests: It's useful for us already as is.
Upstream-Status: Inappropriate [not a complete solution]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
Makefile.in | 3 +++
testsuite/Makefile.in | 2 ++
2 files changed, 5 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 08efb7d..7909342 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -55,6 +55,9 @@ clean distclean mostlyclean maintainer-clean tags:
echo "Making $@ in $$d" ; (cd $$d && $(MAKE) $@); done
$(MAKE) $@-here
+buildtest:
+ echo "Making $@ in testsuite" ; (cd testsuite && $(MAKE) $@)
+
check-here:
true
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index 6bc1907..bb65bf0 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -116,6 +116,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
# data.
VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes
+buildtest: $(TS_ALL)
+
# The PATH update is for locating dlls on w*ndows.
check: $(TS_ALL)
LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" srcdir="$(srcdir)" \
--
2.1.4

5
archive-server/get-image.php

@ -34,6 +34,11 @@ if ($boxtype == "coolstream" || $boxtype == "cst")
# CST
$boxtype_sc = "cst";
}
elseif ($boxtype == "axtech" || $boxtype == "axt")
{
# AX Tech
$boxtype_sc = "axt";
}
# release/ni320-YYYYMMDDHHMM-cst-kronos.img
$directory = $image_type;

5
archive-server/get-kernel.php

@ -33,6 +33,11 @@ if ($boxtype == "coolstream" || $boxtype == "cst")
$kernel_name = "vmlinux.ub.gz";
}
}
elseif ($boxtype == "axtech" || $boxtype == "axt")
{
# AX Tech
$boxtype_sc = "axt";
}
# release/kernel-cst-kronos-vmlinux.ub.gz
$directory = $image_type;

4
config.example

@ -4,11 +4,15 @@
#MAINTAINER = NI-Team
# Choose one (1) of the following BOXMODELs. O n e !
# Coolstream
#BOXMODEL = nevis
#BOXMODEL = apollo
#BOXMODEL = shiner
#BOXMODEL = kronos
#BOXMODEL = kronos_v2
# AX Technologies
#BOXMODEL = hd51
# Create debug-image. Not useful in real life.
#DEBUG = yes

4
make/archives.mk

@ -371,3 +371,7 @@ $(ARCHIVE)/gettext-$(GETTEXT_VERSION).tar.xz:
WGET_VER=1.19.1
$(ARCHIVE)/wget-$(WGET_VER).tar.gz:
$(WGET) http://ftp.gnu.org/gnu/wget/wget-$(WGET_VER).tar.gz
MTOOLS_VER=4.0.18
$(ARCHIVE)/mtools-$(MTOOLS_VER).tar.gz:
$(WGET) ftp://ftp.gnu.org/gnu/mtools/mtools-$(MTOOLS_VER).tar.gz

71
make/bootstrap.mk

@ -3,7 +3,7 @@
BOOTSTRAP = targetprefix $(D) $(BUILD_TMP) $(CROSS_DIR) $(STAGING_DIR) $(IMAGE_DIR) $(UPDATE_DIR) $(HOSTPREFIX)/bin includes-and-libs modules host-preqs
BOOTSTRAP += $(TARGETLIB)/libc.so.6
ifeq ($(BOXSERIES), hd2)
ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd2 ax))
BOOTSTRAP += static blobs
endif
@ -11,7 +11,7 @@ PLAT_INCS = $(TARGETLIB)/firmware
PLAT_LIBS = $(TARGETLIB) $(STATICLIB)
bootstrap: $(BOOTSTRAP)
@echo -e "$(TERM_YELLOW)Bootstrapped for $(shell echo $(BOXMODEL) | sed 's/.*/\u&/')$(TERM_NORMAL)"
@echo -e "$(TERM_YELLOW)Bootstrapped for $(shell echo $(BOXTYPE) | sed 's/.*/\u&/') $(BOXMODEL)$(TERM_NORMAL)"
skeleton: | $(TARGETPREFIX)
cp --remove-destination -a $(SKEL_ROOT)/* $(TARGETPREFIX)/
@ -52,12 +52,16 @@ $(STATICLIB):
mkdir -p $@
$(TARGETLIB)/firmware: | $(TARGETPREFIX)
ifeq ($(BOXTYPE), coolstream)
mkdir -p $@
cp -a $(SOURCE_DIR)/$(NI_DRIVERS-BIN)/$(DRIVERS_DIR)/firmware/* $@/
endif
$(TARGETLIB): | $(TARGETPREFIX)
mkdir -p $@
ifeq ($(BOXTYPE), coolstream)
cp -a $(SOURCE_DIR)/$(NI_DRIVERS-BIN)/$(DRIVERS_DIR)/libs/* $@
endif
$(TARGETLIB)/modules: | $(TARGETPREFIX)
mkdir -p $@
@ -72,12 +76,14 @@ $(TARGETLIB)/libc.so.6: | $(TARGETPREFIX)
$(TARGETPREFIX)/var/update: | $(TARGETPREFIX)
mkdir -p $@
ifeq ($(BOXTYPE), coolstream)
cp -a $(SOURCE_DIR)/$(NI_DRIVERS-BIN)/$(DRIVERS_DIR)/uldr.bin $@/
ifeq ($(BOXMODEL), kronos_v2)
cp -a $(SOURCE_DIR)/$(NI_DRIVERS-BIN)/$(DRIVERS_DIR)/u-boot.bin.link $@/u-boot.bin
else
cp -a $(SOURCE_DIR)/$(NI_DRIVERS-BIN)/$(DRIVERS_DIR)/u-boot.bin $@/
endif
endif
includes-and-libs: $(PLAT_INCS) $(PLAT_LIBS)
@ -94,7 +100,7 @@ ccache: find-ccache $(CCACHE) $(HOSTPREFIX)/bin
@ln -sf $(CCACHE) $(HOSTPREFIX)/bin/$(TARGET)-g++
# build all needed host-binaries
host-preqs: pkg-config mkfs.jffs2 sumtool mkimage zic ccache
host-preqs: pkg-config mkfs.jffs2 mkfs.fat sumtool mkimage zic parted_host mtools resize2fs ccache
pkg-config-preqs:
@PATH=$(subst $(HOSTPREFIX)/bin:,,$(PATH)); \
@ -112,6 +118,7 @@ $(HOSTPREFIX)/bin/pkg-config: $(ARCHIVE)/pkg-config-$(PKGCONF_VER).tar.gz | $(HO
cp -a pkg-config $(HOSTPREFIX)/bin; \
ln -sf pkg-config $(HOSTPREFIX)/bin/arm-cx2450x-linux-gnueabi-pkg-config
ln -sf pkg-config $(HOSTPREFIX)/bin/arm-cortex-linux-uclibcgnueabi-pkg-config
ln -sf pkg-config $(HOSTPREFIX)/bin/arm-cortex-linux-gnueabihf-pkg-config
$(REMOVE)/pkg-config-$(PKGCONF_VER)
mkfs.jffs2: $(HOSTPREFIX)/bin/mkfs.jffs2
@ -154,6 +161,64 @@ $(HOSTPREFIX)/bin/zic: $(ARCHIVE)/tzdata$(TZDATA_VER).tar.gz $(ARCHIVE)/tzcode$(
install -D -m 0755 $(BUILD_TMP)/tzcode/zic $(HOSTPREFIX)/bin/
$(REMOVE)/tzcode
parted_host: $(HOSTPREFIX)/bin/parted
$(HOSTPREFIX)/bin/parted: $(ARCHIVE)/parted-$(PARTED_VER).tar.xz | $(HOSTPREFIX)/bin
$(UNTAR)/parted-$(PARTED_VER).tar.xz
cd $(BUILD_TMP)/parted-$(PARTED_VER) && \
$(PATCH)/parted-3.2-devmapper-1.patch && \
./configure \
--enable-silent-rules \
--enable-static \
--disable-shared \
--disable-device-mapper \
--without-readline && \
$(MAKE)
install -D -m 0755 $(BUILD_TMP)/parted-$(PARTED_VER)/parted/parted $(HOSTPREFIX)/bin/
$(REMOVE)/parted-$(PARTED_VER)
mkfs.fat: $(HOSTPREFIX)/bin/mkfs.fat
$(HOSTPREFIX)/bin/mkfs.fat: $(ARCHIVE)/dosfstools-$(DOSFSTOOLS_VER).tar.xz | $(HOSTPREFIX)/bin
$(UNTAR)/dosfstools-$(DOSFSTOOLS_VER).tar.xz
set -e; cd $(BUILD_TMP)/dosfstools-$(DOSFSTOOLS_VER); \
./configure \
--without-udev \
; \
$(MAKE)
install -D -m 0755 $(BUILD_TMP)/dosfstools-$(DOSFSTOOLS_VER)/src/mkfs.fat $(HOSTPREFIX)/bin/
ln -sf mkfs.fat $(HOSTPREFIX)/bin/mkfs.vfat
ln -sf mkfs.fat $(HOSTPREFIX)/bin/mkfs.msdos
ln -sf mkfs.fat $(HOSTPREFIX)/bin/mkdosfs
$(REMOVE)/dosfstools-$(DOSFSTOOLS_VER)
mtools: $(HOSTPREFIX)/bin/mtools
$(HOSTPREFIX)/bin/mtools: $(ARCHIVE)/mtools-$(MTOOLS_VER).tar.gz | $(HOSTPREFIX)/bin
$(UNTAR)/mtools-$(MTOOLS_VER).tar.gz
set -e; cd $(BUILD_TMP)/mtools-$(MTOOLS_VER); \
./configure; \
$(MAKE)
install -D -m 0755 $(BUILD_TMP)/mtools-$(MTOOLS_VER)/mtools $(HOSTPREFIX)/bin/
ln -sf mtools $(HOSTPREFIX)/bin/mcopy
$(REMOVE)/mtools-$(MTOOLS_VER)
resize2fs: $(HOSTPREFIX)/bin/resize2fs
$(HOSTPREFIX)/bin/resize2fs: $(ARCHIVE)/e2fsprogs-$(E2FSPROGS_VER).tar.gz | $(HOSTPREFIX)/bin
$(UNTAR)/e2fsprogs-$(E2FSPROGS_VER).tar.gz
cd $(BUILD_TMP)/e2fsprogs-$(E2FSPROGS_VER) && \
./configure; \
$(MAKE)
install -D -m 0755 $(BUILD_TMP)/e2fsprogs-$(E2FSPROGS_VER)/resize/resize2fs $(HOSTPREFIX)/bin/
install -D -m 0755 $(BUILD_TMP)/e2fsprogs-$(E2FSPROGS_VER)/misc/mke2fs $(HOSTPREFIX)/bin/
ln -sf mke2fs $(HOSTPREFIX)/bin/mkfs.ext2
ln -sf mke2fs $(HOSTPREFIX)/bin/mkfs.ext3
ln -sf mke2fs $(HOSTPREFIX)/bin/mkfs.ext4
ln -sf mke2fs $(HOSTPREFIX)/bin/mkfs.ext4dev
install -D -m 0755 $(BUILD_TMP)/e2fsprogs-$(E2FSPROGS_VER)/e2fsck/e2fsck $(HOSTPREFIX)/bin/
ln -sf e2fsck $(HOSTPREFIX)/bin/fsck.ext2
ln -sf e2fsck $(HOSTPREFIX)/bin/fsck.ext3
ln -sf e2fsck $(HOSTPREFIX)/bin/fsck.ext4
ln -sf e2fsck $(HOSTPREFIX)/bin/fsck.ext4dev
$(REMOVE)/e2fsprogs-$(E2FSPROGS_VER)
# hack to make sure they are always copied
PHONY += $(TARGETLIB)/firmware
PHONY += $(TARGETLIB)

26
make/crosstool.mk

@ -5,12 +5,15 @@ crosstool: crosstool-$(BOXARCH)-$(BOXSERIES)
crosstools:
make crosstool-arm-hd1 BOXSERIES=hd1
make crosstool-arm-hd2 BOXSERIES=hd2
make crosstool-arm-ax BOXSERIES=ax
crosstools-renew:
make ccache-clean BOXSERIES=hd1
rm -rf $(BASE_DIR)/cross/$(BOXARCH)/hd1
make ccache-clean BOXSERIES=hd2
rm -rf $(BASE_DIR)/cross/$(BOXARCH)/hd2
make ccache-clean BOXSERIES=ax
rm -rf $(BASE_DIR)/cross/$(BOXARCH)/ax
rm -rf $(HOSTPREFIX)/bin/arm-*
rm -rf $(HOSTPREFIX)/bin/pkg-config
rm -rf $(BASE_DIR)/static
@ -83,6 +86,29 @@ crosstool-arm-hd2: CROSS_DIR-check $(ARCHIVE)/gcc-linaro-$(GCC_VER).tar.xz $(SOU
rm -f $(CROSS_DIR)/$(TARGET)/sys-root/lib/libstdc++.so.6.0.20-gdb.py
$(REMOVE)/crosstool-ng
crosstool-arm-ax: CROSS_DIR-check
make $(BUILD_TMP)
$(REMOVE)/crosstool-ng
cd $(BUILD_TMP) && \
git clone https://github.com/crosstool-ng/crosstool-ng && \
cd crosstool-ng && \
git checkout 1dbb06f2 && \
unset CONFIG_SITE LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \
cd $(BUILD_TMP)/crosstool-ng && \
cp -a $(CONFIGS)/ct-ng-axtech_ax.config .config && \
sed -i "s@^CT_PARALLEL_JOBS=.*@CT_PARALLEL_JOBS=$(NUM_CPUS)@" .config && \
export NI_BASE_DIR=$(BASE_DIR) && \
export CT_BASE_DIR=$(CROSS_BASE); \
export LD_LIBRARY_PATH=; \
test -f ./configure || ./bootstrap && \
./configure --enable-local; MAKELEVEL=0 make; chmod 0755 ct-ng && \
./ct-ng oldconfig && \
./ct-ng build
chmod -R +w $(CROSS_DIR)
test -e $(CROSS_DIR)/$(TARGET)/lib || ln -sf sys-root/lib $(CROSS_DIR)/$(TARGET)/
rm -f $(CROSS_DIR)/$(TARGET)/sys-root/lib/libstdc++.so.6.0.20-gdb.py
$(REMOVE)/crosstool-ng
PHONY += crosstool $(CROSS_DIR)
CROSS_DIR-check:

67
make/environment.mk

@ -13,12 +13,8 @@ SHELL := /bin/bash
BASE_DIR := $(shell pwd)
# assign box environment
BOXTYPE ?= coolstream
BOXSERIES ?=
BOXFAMILY ?=
BOXMODEL ?=
ifeq ($(BOXTYPE), coolstream)
# - Coolstream ----------------------------------------------------------------
# BOXTYPE coolstream
# / \
@ -28,17 +24,32 @@ ifeq ($(BOXTYPE), coolstream)
# / / | | \
# BOXMODEL nevis apollo shiner kronos kronos_v2
BOXTYPE_SC = cst
BOXARCH = arm
# - AX Technologies -----------------------------------------------------------
# BOXTYPE axtech
# |
# BOXSERIES ax
# |
# BOXFAMILY ax
# |
# BOXMODEL hd51
# -----------------------------------------------------------------------------
# assign by given BOXSERIES
ifneq ($(BOXSERIES),)
ifeq ($(BOXSERIES), hd1)
BOXTYPE = coolstream
BOXFAMILY = nevis
BOXMODEL = nevis
else ifeq ($(BOXSERIES), hd2)
BOXTYPE = coolstream
BOXFAMILY = apollo
BOXMODEL = apollo
else ifeq ($(BOXSERIES), ax)
BOXTYPE = axtech
BOXFAMILY = ax
BOXMODEL = hd51
else
$(error $(BOXTYPE) BOXSERIES $(BOXSERIES) not supported)
endif
@ -46,14 +57,21 @@ ifneq ($(BOXSERIES),)
# assign by given BOXFAMILY
else ifneq ($(BOXFAMILY),)
ifeq ($(BOXFAMILY), nevis)
BOXTYPE = coolstream
BOXSERIES = hd1
BOXMODEL = nevis
else ifeq ($(BOXFAMILY), apollo)
BOXTYPE = coolstream
BOXSERIES = hd2
BOXMODEL = apollo
else ifeq ($(BOXFAMILY), kronos)
BOXTYPE = coolstream
BOXSERIES = hd2
BOXMODEL = kronos
else ifeq ($(BOXFAMILY), ax)
BOXTYPE = axtech
BOXSERIES = ax
BOXMODEL = hd51
else
$(error $(BOXTYPE) BOXFAMILY $(BOXFAMILY) not supported)
endif
@ -61,22 +79,33 @@ else ifneq ($(BOXFAMILY),)
# assign by given BOXMODEL
else ifneq ($(BOXMODEL),)
ifeq ($(BOXMODEL), nevis)
BOXTYPE = coolstream
BOXSERIES = hd1
BOXFAMILY = nevis
else ifeq ($(BOXMODEL), $(filter $(BOXMODEL), apollo shiner))
BOXTYPE = coolstream
BOXSERIES = hd2
BOXFAMILY = apollo
else ifeq ($(BOXMODEL), $(filter $(BOXMODEL), kronos kronos_v2))
BOXTYPE = coolstream
BOXSERIES = hd2
BOXFAMILY = kronos
else ifeq ($(BOXMODEL), hd51)
BOXTYPE = axtech
BOXSERIES = ax
BOXFAMILY = ax
else
$(error $(BOXTYPE) BOXMODEL $(BOXMODEL) not supported)
endif
endif
else
$(error BOXTYPE $(BOXTYPE) not supported)
ifeq ($(BOXTYPE), coolstream)
BOXTYPE_SC = cst
BOXARCH = arm
else ifeq ($(BOXTYPE), axtech)
BOXTYPE_SC = axt
BOXARCH = arm
endif
ifndef BOXTYPE
@ -175,6 +204,19 @@ ifeq ($(BOXSERIES), hd2)
endif
endif
ifeq ($(BOXSERIES), ax)
KVERSION = 4.10.12
KVERSION_FULL = $(KVERSION)
KBRANCH = ni/4.10.x
DRIVERS_DIR = hd51
CORTEX-STRINGS = -lcortex-strings
TARGET = arm-cortex-linux-gnueabihf
TARGET_O_CFLAGS = -O2
TARGET_MARCH_CFLAGS = -march=armv7ve -mcpu=cortex-a15 -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard
TARGET_EXTRA_CFLAGS = -Wno-deprecated-declarations
TARGET_EXTRA_LDFLAGS =
endif
TARGET_CFLAGS = -pipe $(TARGET_O_CFLAGS) $(TARGET_MARCH_CFLAGS) $(TARGET_EXTRA_CFLAGS) -g -I$(TARGETINCLUDE)
TARGET_CPPFLAGS = $(TARGET_CFLAGS)
TARGET_CXXFLAGS = $(TARGET_CFLAGS)
@ -191,6 +233,10 @@ TERM_YELLOW_BOLD= \033[40;1;33m
TERM_NORMAL = \033[0m
N_HD_SOURCE ?= $(SOURCE_DIR)/$(FLAVOUR)
USE_LIBSTB-HAL = no
ifneq ($(BOXTYPE), coolstream)
USE_LIBSTB-HAL = yes
endif
PATH := $(HOSTPREFIX)/bin:$(CROSS_DIR)/bin:$(HELPERS_DIR):$(PATH)
@ -246,6 +292,9 @@ BITBUCKET_SSH = git@bitbucket.org
NI_GIT = $(BITBUCKET_SSH):neutrino-images
NI_NEUTRINO = ni-neutrino-hd
NI_NEUTRINO_BRANCH ?= ni/tuxbox
ifeq ($(USE_LIBSTB-HAL), yes)
NI_NEUTRINO_BRANCH := ni/mp/tuxbox
endif
BUILD-GENERIC-PC = build-generic-pc
NI_BUILD-GENERIC-PC = ni-build-generic-pc

758
make/gstreamer.mk

@ -0,0 +1,758 @@
# makefile to build gstreamer and all it's dependencies
#
# gstreamer
#
GSTREAMER_VER = 1.11.1
GSTREAMER_SOURCE = gstreamer-$(GSTREAMER_VER).tar.xz
$(ARCHIVE)/$(GSTREAMER_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/gstreamer/$(GSTREAMER_SOURCE)
$(D)/gstreamer: $(D)/libglib $(D)/libxml2 $(D)/glib_networking $(ARCHIVE)/$(GSTREAMER_SOURCE)
$(UNTAR)/$(GSTREAMER_SOURCE)
set -e; cd $(BUILD_TMP)/gstreamer-$(GSTREAMER_VER); \
$(PATCH)/gstreamer-$(GSTREAMER_VER)-fix-crash-with-gst-inspect.patch; \
$(PATCH)/gstreamer-$(GSTREAMER_VER)-revert-use-new-gst-adapter-get-buffer.patch; \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--libexecdir=/lib \
--datarootdir=/.remove \
--enable-silent-rules \
--disable-dependency-tracking \
--disable-check \
--disable-gst-debug \
--disable-examples \
--disable-benchmarks \
--disable-tests \
--disable-debug \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
--enable-introspection=no \
ac_cv_header_valgrind_valgrind_h=no \
ac_cv_header_sys_poll_h=no \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-base-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-controller-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-net-1.0.pc
$(REWRITE_LIBTOOL)/libgstreamer-1.0.la
$(REWRITE_LIBTOOL)/libgstbase-1.0.la
$(REWRITE_LIBTOOL)/libgstcontroller-1.0.la
$(REWRITE_LIBTOOL)/libgstnet-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstbase-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstcontroller-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstnet-1.0.la
$(REMOVE)/gstreamer-$(GSTREAMER_VER)
touch $@
#
# gst_plugins_base
#
GST_PLUGINS_BASE_VER = $(GSTREAMER_VER)
GST_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST_PLUGINS_BASE_VER).tar.xz
$(ARCHIVE)/$(GST_PLUGINS_BASE_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/gst-plugins-base/$(GST_PLUGINS_BASE_SOURCE)
$(D)/gst_plugins_base: $(D)/libglib $(D)/orc $(D)/gstreamer $(D)/alsa_lib $(D)/libogg $(D)/libvorbisidec $(ARCHIVE)/$(GST_PLUGINS_BASE_SOURCE)
$(UNTAR)/$(GST_PLUGINS_BASE_SOURCE)
set -e; cd $(BUILD_TMP)/gst-plugins-base-$(GST_PLUGINS_BASE_VER); \
$(PATCH)/gst-plugins-base-$(GST_PLUGINS_BASE_VER)-riff-media-added-fourcc-to-all-mpeg4-video-caps.patch; \
$(PATCH)/gst-plugins-base-$(GST_PLUGINS_BASE_VER)-riff-media-added-fourcc-to-all-ffmpeg-mpeg4-video-ca.patch; \
$(PATCH)/gst-plugins-base-$(GST_PLUGINS_BASE_VER)-subparse-avoid-false-negatives-dealing-with-UTF-8.patch; \
$(PATCH)/gst-plugins-base-$(GST_PLUGINS_BASE_VER)-taglist-not-send-to-down-stream-if-all-the-frame-cor.patch; \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--datarootdir=/.remove \
--enable-silent-rules \
--disable-libvisual \
--disable-valgrind \
--disable-debug \
--disable-examples \
--disable-debug \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-allocators-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-app-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-audio-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-fft-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-pbutils-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-riff-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-rtp-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-rtsp-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-sdp-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-tag-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-video-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-plugins-base-1.0.pc
$(REWRITE_LIBTOOL)/libgstallocators-1.0.la
$(REWRITE_LIBTOOL)/libgstapp-1.0.la
$(REWRITE_LIBTOOL)/libgstaudio-1.0.la
$(REWRITE_LIBTOOL)/libgstfft-1.0.la
$(REWRITE_LIBTOOL)/libgstpbutils-1.0.la
$(REWRITE_LIBTOOL)/libgstriff-1.0.la
$(REWRITE_LIBTOOL)/libgstrtp-1.0.la
$(REWRITE_LIBTOOL)/libgstrtsp-1.0.la
$(REWRITE_LIBTOOL)/libgstsdp-1.0.la
$(REWRITE_LIBTOOL)/libgsttag-1.0.la
$(REWRITE_LIBTOOL)/libgstvideo-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstallocators-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstapp-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstaudio-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstfft-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstpbutils-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstriff-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstrtp-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstrtsp-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstsdp-1.0.la
$(REWRITE_LIBTOOLDEP)/libgsttag-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstvideo-1.0.la
$(REMOVE)/gst-plugins-base-$(GST_PLUGINS_BASE_VER)
touch $@
#
# gst_plugins_good
#
GST_PLUGINS_GOOD_VER = $(GSTREAMER_VER)
GST_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST_PLUGINS_GOOD_VER).tar.xz
$(ARCHIVE)/$(GST_PLUGINS_GOOD_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/gst-plugins-good/$(GST_PLUGINS_GOOD_SOURCE)
$(D)/gst_plugins_good: $(D)/gstreamer $(D)/gst_plugins_base $(D)/libsoup $(D)/libFLAC $(ARCHIVE)/$(GST_PLUGINS_GOOD_SOURCE)
$(UNTAR)/$(GST_PLUGINS_GOOD_SOURCE)
set -e; cd $(BUILD_TMP)/gst-plugins-good-$(GST_PLUGINS_GOOD_VER); \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--datarootdir=/.remove \
--enable-silent-rules \
--enable-oss \
--enable-gst_v4l2 \
--without-libv4l2 \
--disable-examples \
--disable-debug \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REMOVE)/gst-plugins-good-$(GST_PLUGINS_GOOD_VER)
touch $@
#
# gst_plugins_bad
#
GST_PLUGINS_BAD_VER = $(GSTREAMER_VER)
GST_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST_PLUGINS_BAD_VER).tar.xz
$(ARCHIVE)/$(GST_PLUGINS_BAD_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/gst-plugins-bad/$(GST_PLUGINS_BAD_SOURCE)
$(D)/gst_plugins_bad: $(D)/gstreamer $(D)/gst_plugins_base $(ARCHIVE)/$(GST_PLUGINS_BAD_SOURCE)
$(UNTAR)/$(GST_PLUGINS_BAD_SOURCE)
set -e; cd $(BUILD_TMP)/gst-plugins-bad-$(GST_PLUGINS_BAD_VER); \
$(PATCH)/gst-plugins-bad-$(GST_PLUGINS_BAD_VER)-hls-use-max-playlist-quality.patch; \
$(PATCH)/gst-plugins-bad-$(GST_PLUGINS_BAD_VER)-rtmp-fix-seeking-and-potential-segfault.patch; \
$(PATCH)/gst-plugins-bad-$(GST_PLUGINS_BAD_VER)-mpegtsdemux-only-wait-for-PCR-when-PCR-pid.patch; \
$(PATCH)/gst-plugins-bad-$(GST_PLUGINS_BAD_VER)-dvbapi5-fix-old-kernel.patch; \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--build=$(BUILD) \
--host=$(TARGET) \
--prefix= \
--datarootdir=/.remove \
--enable-silent-rules \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
--disable-fatal-warnings \
--enable-dvb \
--enable-shm \
--enable-fbdev \
--enable-decklink \
--enable-dts \
--enable-mpegdemux \
--disable-acm \
--disable-android_media \
--disable-apple_media \
--disable-avc \
--disable-chromaprint \
--disable-cocoa \
--disable-daala \
--disable-dc1394 \
--disable-direct3d \
--disable-directsound \
--disable-gme \
--disable-gsm \
--disable-kate \
--disable-ladspa \
--disable-lv2 \
--disable-mplex \
--disable-musepack \
--disable-ofa \
--disable-openjpeg \
--disable-opensles \
--disable-resindvd \
--disable-soundtouch \
--disable-spandsp \
--disable-spc \
--disable-srtp \
--disable-teletextdec \
--disable-vcd \
--disable-vdpau \
--disable-voaacenc \
--disable-voamrwbenc \
--disable-wasapi \
--disable-wayland \
--disable-wildmidi \
--disable-winscreencap \
--disable-x265 \
--disable-zbar \
--disable-examples \
--disable-debug \
--enable-orc \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-codecparsers-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-bad-audio-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-bad-base-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-bad-video-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-insertbin-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-mpegts-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-player-1.0.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gstreamer-plugins-bad-1.0.pc
$(REWRITE_LIBTOOL)/libgstbasecamerabinsrc-1.0.la
$(REWRITE_LIBTOOL)/libgstcodecparsers-1.0.la
$(REWRITE_LIBTOOL)/libgstphotography-1.0.la
$(REWRITE_LIBTOOL)/libgstadaptivedemux-1.0.la
$(REWRITE_LIBTOOL)/libgstbadbase-1.0.la
$(REWRITE_LIBTOOL)/libgstbadaudio-1.0.la
$(REWRITE_LIBTOOL)/libgstbadvideo-1.0.la
$(REWRITE_LIBTOOL)/libgstinsertbin-1.0.la
$(REWRITE_LIBTOOL)/libgstmpegts-1.0.la
$(REWRITE_LIBTOOL)/libgstplayer-1.0.la
$(REWRITE_LIBTOOL)/libgsturidownloader-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstbadaudio-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstadaptivedemux-1.0.la
$(REWRITE_LIBTOOLDEP)/libgstbadvideo-1.0.la
$(REMOVE)/gst-plugins-bad-$(GST_PLUGINS_BAD_VER)
touch $@
#
# gst_plugins_ugly
#
GST_PLUGINS_UGLY_VER = $(GSTREAMER_VER)
GST_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST_PLUGINS_UGLY_VER).tar.xz
$(ARCHIVE)/$(GST_PLUGINS_UGLY_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/gst-plugins-ugly/$(GST_PLUGINS_UGLY_SOURCE)
$(D)/gst_plugins_ugly: $(D)/gstreamer $(D)/gst_plugins_base $(ARCHIVE)/$(GST_PLUGINS_UGLY_SOURCE)
$(UNTAR)/$(GST_PLUGINS_UGLY_SOURCE)
set -e; cd $(BUILD_TMP)/gst-plugins-ugly-$(GST_PLUGINS_UGLY_VER); \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--datarootdir=/.remove \
--enable-silent-rules \
--disable-fatal-warnings \
--disable-amrnb \
--disable-amrwb \
--disable-sidplay \
--disable-twolame \
--disable-debug \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
--enable-orc \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REMOVE)/gst-plugins-ugly-$(GST_PLUGINS_UGLY_VER)
touch $@
#
# gst_libav
#
GST_LIBAV_VER = $(GSTREAMER_VER)
GST_LIBAV_SOURCE = gst-libav-$(GST_LIBAV_VER).tar.xz
$(ARCHIVE)/$(GST_LIBAV_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/gst-libav/$(GST_LIBAV_SOURCE)
$(D)/gst_libav: $(D)/gstreamer $(D)/gst_plugins_base $(ARCHIVE)/$(GST_LIBAV_SOURCE)
$(UNTAR)/$(GST_LIBAV_SOURCE)
set -e; cd $(BUILD_TMP)/gst-libav-$(GST_LIBAV_VER); \
$(PATCH)/gst-libav-$(GST_LIBAV_VER)-disable-yasm-for-libav-when-disable-yasm.patch; \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--enable-silent-rules \
--disable-fatal-warnings \
\
--with-libav-extra-configure=" \
--enable-gpl \
--enable-static \
--enable-pic \
--disable-protocols \
--disable-devices \
--disable-network \
--disable-hwaccels \
--disable-filters \
--disable-doc \
--enable-optimizations \
--enable-cross-compile \
--target-os=linux \
--arch=$(BOXARCH) \
--cross-prefix=$(TARGET)- \
\
--disable-muxers \
--disable-encoders \
--disable-decoders \
--enable-decoder=ogg \
--enable-decoder=vorbis \
--enable-decoder=flac \
\
--disable-demuxers \
--enable-demuxer=ogg \
--enable-demuxer=vorbis \
--enable-demuxer=flac \
--enable-demuxer=mpegts \
\
--disable-debug \
--disable-bsfs \
--enable-pthreads \
--enable-bzlib" \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REMOVE)/gst-libav-$(GST_LIBAV_VER)
touch $@
#
# gst_plugins_fluendo
#
GST_PLUGINS_FLUENDO_VER = 0.10.71
GST_PLUGINS_FLUENDO_SOURCE = gst-fluendo-mpegdemux-$(GST_PLUGINS_FLUENDO_VER).tar.gz
$(ARCHIVE)/$(GST_PLUGINS_FLUENDO_SOURCE):
$(WGET) http://core.fluendo.com/gstreamer/src/gst-fluendo-mpegdemux/$(GST_PLUGINS_FLUENDO_SOURCE)
$(D)/gst_plugins_fluendo: $(D)/gstreamer $(D)/gst_plugins_base $(ARCHIVE)/$(GST_PLUGINS_FLUENDO_SOURCE)
$(UNTAR)/$(GST_PLUGINS_FLUENDO_SOURCE)
set -e; cd $(BUILD_TMP)/gst-fluendo-mpegdemux-$(GST_PLUGINS_FLUENDO_VER); \
$(PATCH)/gst-plugins-fluendo-$(GST_PLUGINS_FLUENDO_VER)-mpegdemux.patch; \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--enable-silent-rules \
--with-check=no \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REMOVE)/gst-fluendo-mpegdemux-$(GST_PLUGINS_FLUENDO_VER)
touch $@
#
# gmediarender
#
GST_GMEDIARENDER_VER = 0.0.6
GST_GMEDIARENDER_SOURCE = gmediarender-$(GST_GMEDIARENDER_VER).tar.bz2
$(ARCHIVE)/$(GST_GMEDIARENDER_SOURCE):
$(WGET) http://savannah.nongnu.org/download/gmrender/$(GST_GMEDIARENDER_SOURCE)
$(D)/gst_gmediarender: $(D)/gst_plugins_dvbmediasink $(D)/libupnp $(ARCHIVE)/$(GST_GMEDIARENDER_SOURCE)
$(UNTAR)/$(GST_GMEDIARENDER_SOURCE)
set -e; cd $(BUILD_TMP)/gmediarender-$(GST_GMEDIARENDER_VER); \
$(PATCH)/gst-gmediarender-$(GST_GMEDIARENDER_VER).patch; \
./autogen.sh --noconfigure; \
$(CONFIGURE) \
--prefix= \
--enable-silent-rules \
--with-libupnp=$(TARGETPREFIX) \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REMOVE)/gmediarender-$(GST_GMEDIARENDER_VER)
touch $@
#
# orc
#
ORC_VER = 0.4.24
ORC_SOURCE = orc-$(ORC_VER).tar.xz
$(ARCHIVE)/$(ORC_SOURCE):
$(WGET) https://gstreamer.freedesktop.org/src/orc/$(ORC_SOURCE)
$(D)/orc: $(ARCHIVE)/$(ORC_SOURCE)
$(UNTAR)/$(ORC_SOURCE)
set -e; cd $(BUILD_TMP)/orc-$(ORC_VER); \
$(CONFIGURE) \
--datarootdir=/.remove \
--prefix= \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/orc-0.4.pc
$(REWRITE_LIBTOOL)/liborc-0.4.la
$(REWRITE_LIBTOOL)/liborc-test-0.4.la
$(REWRITE_LIBTOOLDEP)/liborc-test-0.4.la
rm -f $(addprefix $(TARGETPREFIX)/bin/,orc-bugreport orcc)
$(REMOVE)/orc-$(ORC_VER)
touch $@
#
# libdca
#
LIBDCA_VER = 0.0.5
LIBDCA_SOURCE = libdca-$(LIBDCA_VER).tar.bz2
$(ARCHIVE)/$(LIBDCA_SOURCE):
$(WGET) http://download.videolan.org/pub/videolan/libdca/$(LIBDCA_VER)/$(LIBDCA_SOURCE)
$(D)/libdca: $(ARCHIVE)/$(LIBDCA_SOURCE)
$(UNTAR)/$(LIBDCA_SOURCE)
set -e; cd $(BUILD_TMP)/libdca-$(LIBDCA_VER); \
$(CONFIGURE) \
--prefix= \
--mandir=/.remove \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libdca.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libdts.pc
$(REWRITE_LIBTOOL)/libdca.la
rm -f $(addprefix $(TARGETPREFIX)/bin/,extract_dca extract_dts)
$(REMOVE)/libdca-$(LIBDCA_VER)
touch $@
#
# gst_plugin_subsink
#
GST_PLUGIN_SUBSINK_VER = 1.0
$(D)/gst_plugin_subsink: $(D)/gstreamer $(D)/gst_plugins_base $(D)/gst_plugins_good $(D)/gst_plugins_bad $(D)/gst_plugins_ugly
set -e; if [ -d $(ARCHIVE)/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink.git ]; \
then cd $(ARCHIVE)/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink.git; git pull; \
else cd $(ARCHIVE); git clone git://github.com/christophecvr/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink.git gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink.git; \
fi
cp -ra $(ARCHIVE)/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink.git $(BUILD_TMP)/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink
set -e; cd $(BUILD_TMP)/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink; \
aclocal --force -I m4; \
libtoolize --copy --ltdl --force; \
autoconf --force; \
autoheader --force; \
automake --add-missing --copy --force-missing --foreign; \
$(CONFIGURE) \
--prefix= \
--enable-silent-rules \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REMOVE)/gstreamer$(GST_PLUGIN_SUBSINK_VER)-plugin-subsink
touch $@
#
# gst_plugins_dvbmediasink
#
GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER = 1.0
$(D)/gst_plugins_multibox_dvbmediasink: $(D)/gstreamer $(D)/gst_plugins_base $(D)/gst_plugins_good $(D)/gst_plugins_bad $(D)/gst_plugins_ugly $(D)/gst_plugin_subsink $(D)/libdca
set -e; if [ -d $(ARCHIVE)/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink.git ]; \
then cd $(ARCHIVE)/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink.git; git pull; \
else cd $(ARCHIVE); git clone -b experimental git://github.com/christophecvr/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink.git gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink.git; \
fi
cp -ra $(ARCHIVE)/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink.git $(BUILD_TMP)/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink
set -e; cd $(BUILD_TMP)/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink; \
aclocal --force -I m4; \
libtoolize --copy --ltdl --force; \
autoconf --force; \
autoheader --force; \
automake --add-missing --copy --force-missing --foreign; \
$(CONFIGURE) \
--prefix= \
--enable-silent-rules \
--with-wma \
--with-wmv \
--with-pcm \
--with-eac3 \
--with-dtsdownmix \
--with-mpeg4v2 \
--with-gstversion=1.0 \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REMOVE)/gstreamer$(GST_PLUGINS_MULTIBOX_DVBMEDIASINK_VER)-plugin-multibox-dvbmediasink
touch $@
#
# gst_plugins_dvbmediasink
#
GST_PLUGINS_DVBMEDIASINK_VER = 1.0
$(D)/gst_plugins_dvbmediasink: $(D)/gstreamer $(D)/gst_plugins_base $(D)/gst_plugins_good $(D)/gst_plugins_bad $(D)/gst_plugins_ugly $(D)/gst_plugin_subsink $(D)/libdca
set -e; if [ -d $(ARCHIVE)/gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink.git ]; \
then cd $(ARCHIVE)/gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink.git; git pull; \
else cd $(ARCHIVE); git clone -b gst-1.0 https://github.com/OpenPLi/gst-plugin-dvbmediasink.git gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink.git; \
fi
cp -ra $(ARCHIVE)/gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink.git $(BUILD_TMP)/gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink
set -e; cd $(BUILD_TMP)/gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink; \
aclocal --force -I m4; \
libtoolize --copy --ltdl --force; \
autoconf --force; \
autoheader --force; \
automake --add-missing --copy --force-missing --foreign; \
$(CONFIGURE) \
--prefix= \
--enable-silent-rules \
--with-h265 \
--with-vb8 \
--with-vb9 \
--with-opus \
--with-dts \
--with-wma \
--with-wmv \
--with-pcm \
--with-eac3 \
--with-dtsdownmix \
--with-mpeg4v2 \
--with-gstversion=1.0 \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
for i in `cd $(TARGETPREFIX)/lib/gstreamer-1.0; echo *.la`; do \
$(REWRITE_LIBTOOL)/gstreamer-1.0/$$i; done
$(REMOVE)/gstreamer$(GST_PLUGINS_DVBMEDIASINK_VER)-plugin-dvbmediasink
touch $@
##########################################################################################################
#
# nettle
#
NETTLE_VER = 3.1
NETTLE_SOURCE = nettle-$(NETTLE_VER).tar.gz
$(ARCHIVE)/$(NETTLE_SOURCE):
$(WGET) https://ftp.gnu.org/gnu/nettle/$(NETTLE_SOURCE)
$(D)/nettle: $(D)/gmp $(ARCHIVE)/$(NETTLE_SOURCE)
$(UNTAR)/$(NETTLE_SOURCE)
set -e; cd $(BUILD_TMP)/nettle-$(NETTLE_VER); \
$(PATCH)/nettle-$(NETTLE_VER).patch; \
$(CONFIGURE) \
--prefix= \
--disable-documentation \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/hogweed.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/nettle.pc
rm -f $(addprefix $(TARGETPREFIX)/bin/,sexp-conv nettle-hash nettle-pbkdf2 nettle-lfib-stream pkcs1-conv)
$(REMOVE)/nettle-$(NETTLE_VER)
touch $@
#
# gmp
#
GMP_VER_MAJOR = 6.0.0
GMP_VER_MINOR = a
GMP_VER = $(GMP_VER_MAJOR)$(GMP_VER_MINOR)
GMP_SOURCE = gmp-$(GMP_VER).tar.xz
$(ARCHIVE)/$(GMP_SOURCE):
$(WGET) ftp://ftp.gmplib.org/pub/gmp-$(GMP_VER_MAJOR)/$(GMP_SOURCE)
$(D)/gmp: $(ARCHIVE)/$(GMP_SOURCE)
$(UNTAR)/$(GMP_SOURCE)
set -e; cd $(BUILD_TMP)/gmp-$(GMP_VER_MAJOR); \
$(CONFIGURE) \
--prefix= \
--infodir=/.remove \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_LIBTOOL)/libgmp.la
$(REMOVE)/gmp-$(GMP_VER_MAJOR)
touch $@
#
# gnutls
#
GNUTLS_VER_MAJOR = 3.4
GNUTLS_VER_MINOR = 3
GNUTLS_VER = $(GNUTLS_VER_MAJOR).$(GNUTLS_VER_MINOR)
GNUTLS_SOURCE = gnutls-$(GNUTLS_VER).tar.xz
$(ARCHIVE)/$(GNUTLS_SOURCE):
$(WGET) ftp://ftp.gnutls.org/gcrypt/gnutls/v$(GNUTLS_VER_MAJOR)/$(GNUTLS_SOURCE)
$(D)/gnutls: $(D)/nettle $(ARCHIVE)/$(GNUTLS_SOURCE)
$(UNTAR)/$(GNUTLS_SOURCE)
set -e; cd $(BUILD_TMP)/gnutls-$(GNUTLS_VER); \
$(CONFIGURE) \
--prefix= \
--mandir=/.remove \
--infodir=/.remove \
--datarootdir=/.remove \
--disable-rpath \
--with-included-libtasn1 \
--enable-local-libopts \
--with-libpthread-prefix=$(TARGETPREFIX) \
--with-libz-prefix=$(TARGETPREFIX) \
--disable-guile \
--disable-crywrap \
--without-p11-kit \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gnutls.pc
$(REWRITE_LIBTOOL)/libgnutls.la
$(REWRITE_LIBTOOL)/libgnutlsxx.la
$(REWRITE_LIBTOOLDEP)/libgnutlsxx.la
rm -f $(addprefix $(TARGETPREFIX)/bin/,psktool gnutls-cli-debug certtool srptool ocsptool gnutls-serv gnutls-cli)
$(REMOVE)/gnutls-$(GNUTLS_VER)
touch $@
#
# glib-networking
#
GLIB_NETWORKING_VER_MAJOR = 2.54
GLIB_NETWORKING_VER_MINOR = 0
GLIB_NETWORKING_VER = $(GLIB_NETWORKING_VER_MAJOR).$(GLIB_NETWORKING_VER_MINOR)
GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VER).tar.xz
$(ARCHIVE)/$(GLIB_NETWORKING_SOURCE):
$(WGET) https://ftp.acc.umu.se/pub/GNOME/sources/glib-networking/$(GLIB_NETWORKING_VER_MAJOR)/$(GLIB_NETWORKING_SOURCE)
$(D)/glib_networking: $(D)/gnutls $(D)/libglib $(ARCHIVE)/$(GLIB_NETWORKING_SOURCE)
$(UNTAR)/$(GLIB_NETWORKING_SOURCE)
set -e; cd $(BUILD_TMP)/glib-networking-$(GLIB_NETWORKING_VER); \
$(CONFIGURE) \
--prefix= \
--datadir=/.remove \
--datarootdir=/.remove \
--localedir=/.remove \
; \
$(MAKE); \
$(MAKE) install prefix=$(TARGETPREFIX)
$(REMOVE)/glib-networking-$(GLIB_NETWORKING_VER)
touch $@
#
# alsa_lib
#
ALSA_LIB_VER = 1.1.4.1
ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VER).tar.bz2
$(ARCHIVE)/$(ALSA_LIB_SOURCE):
$(WGET) ftp://ftp.alsa-project.org/pub/lib/$(ALSA_LIB_SOURCE)
$(D)/alsa_lib: $(ARCHIVE)/$(ALSA_LIB_SOURCE)
$(UNTAR)/$(ALSA_LIB_SOURCE)
set -e; cd $(BUILD_TMP)/alsa-lib-$(ALSA_LIB_VER); \
$(PATCH)/alsa-lib-$(ALSA_LIB_VER)-link_fix.patch; \
$(PATCH)/alsa-lib-$(ALSA_LIB_VER).patch; \
$(CONFIGURE) \
--prefix= \
--datarootdir=/.remove \
--with-alsa-devdir=/dev/snd/ \
--with-plugindir=/lib/alsa \
--without-debug \
--with-debug=no \
--with-versioned=no \
--enable-symbolic-functions \
--disable-aload \
--disable-rawmidi \
--disable-resmgr \
--disable-old-symbols \
--disable-alisp \
--disable-hwdep \
--disable-python \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/alsa.pc
$(REWRITE_LIBTOOL)/libasound.la
$(REMOVE)/alsa-lib-$(ALSA_LIB_VER)
touch $@
#
# libsoup
#
LIBSOUP_VER_MAJOR = 2.50
LIBSOUP_VER_MINOR = 0
LIBSOUP_VER = $(LIBSOUP_VER_MAJOR).$(LIBSOUP_VER_MINOR)
LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VER).tar.xz
$(ARCHIVE)/$(LIBSOUP_SOURCE):
$(WGET) https://download.gnome.org/sources/libsoup/$(LIBSOUP_VER_MAJOR)/$(LIBSOUP_SOURCE)
$(D)/libsoup: $(D)/sqlite $(D)/libxml2 $(D)/libglib $(ARCHIVE)/$(LIBSOUP_SOURCE)
$(UNTAR)/$(LIBSOUP_SOURCE)
set -e; cd $(BUILD_TMP)/libsoup-$(LIBSOUP_VER); \
$(CONFIGURE) \
--prefix= \
--datarootdir=/.remove \
--disable-more-warnings \
--without-gnome \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
; \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGETPREFIX) itlocaledir=$$(TARGETPREFIX)/.remove
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libsoup-2.4.pc
$(REWRITE_LIBTOOL)/libsoup-2.4.la
$(REMOVE)/libsoup-$(LIBSOUP_VER)
touch $@
#
# sqlite
#
SQLITE_VER = 3160100
SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VER).tar.gz
$(ARCHIVE)/$(SQLITE_SOURCE):
$(WGET) http://www.sqlite.org/2017/$(SQLITE_SOURCE)
$(D)/sqlite: $(ARCHIVE)/$(SQLITE_SOURCE)
$(UNTAR)/$(SQLITE_SOURCE)
set -e; cd $(BUILD_TMP)/sqlite-autoconf-$(SQLITE_VER); \
$(CONFIGURE) \
--prefix= \
--mandir=/.remove \
; \
$(MAKE) all; \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/sqlite3.pc
$(REWRITE_LIBTOOL)/libsqlite3.la
rm -f $(addprefix $(TARGETPREFIX)/bin/,sqlite3)
$(REMOVE)/sqlite-autoconf-$(SQLITE_VER)
touch $@

60
make/images.mk

@ -94,6 +94,9 @@ endif
ifeq ($(BOXMODEL), kronos_v2)
make flash-image ERASE_SIZE=0x20000 BOXNAME="Link, Trinity Duo"
endif
ifeq ($(BOXMODEL), hd51)
make flash-image-axt
endif
flash-image: IMAGE_NAME=$(IMAGE_PREFIX)-$(IMAGE_SUFFIX)
flash-image: IMAGE_DESC="$(BOXNAME) [$(IMAGE_SUFFIX)][$(BOXSERIES)] $(shell echo $(IMAGE_TYPE_STRING) | sed 's/.*/\u&/')"
@ -131,3 +134,60 @@ ifdef IMAGE_TO_CHECK
false; \
fi
endif
### AX-TECH
# general
AX_IMAGE_NAME = disc
AX_BOOT_IMAGE = boot.img
AX_IMAGE_LINK = $(AX_IMAGE_NAME).ext4
AX_IMAGE_ROOTFS_SIZE = 294912
# emmc image
EMMC_IMAGE_SIZE = 3817472
EMMC_IMAGE = $(BUILD_TMP)/$(AX_IMAGE_NAME).img
# partition sizes
GPT_OFFSET = 0
GPT_SIZE = 1024
BOOT_PARTITION_OFFSET = $(shell expr $(GPT_OFFSET) \+ $(GPT_SIZE))
BOOT_PARTITION_SIZE = 3072
KERNEL_PARTITION_OFFSET = $(shell expr $(BOOT_PARTITION_OFFSET) \+ $(BOOT_PARTITION_SIZE))
KERNEL_PARTITION_SIZE = 8192
ROOTFS_PARTITION_OFFSET = $(shell expr $(KERNEL_PARTITION_OFFSET) \+ $(KERNEL_PARTITION_SIZE))
ROOTFS_PARTITION_SIZE = 1048576
STORAGE_PARTITION_OFFSET = $(shell expr $(ROOTFS_PARTITION_OFFSET) \+ $(ROOTFS_PARTITION_SIZE))
flash-image-axt:
# Create a sparse image block
dd if=/dev/zero of=$(BUILD_TMP)/$(AX_IMAGE_LINK) seek=$(AX_IMAGE_ROOTFS_SIZE) count=0 bs=1024
mkfs.ext4 -F $(BUILD_TMP)/$(AX_IMAGE_LINK) -d $(BOX)
# Error codes 0-3 indicate successfull operation of fsck (no errors or errors corrected)
fsck.ext4 -pvfD $(BUILD_TMP)/$(AX_IMAGE_LINK) || [ $? -le 3 ]
dd if=/dev/zero of=$(EMMC_IMAGE) bs=1024 count=0 seek=$(EMMC_IMAGE_SIZE)
parted -s $(EMMC_IMAGE) mklabel gpt
parted -s $(EMMC_IMAGE) unit KiB mkpart boot fat16 $(BOOT_PARTITION_OFFSET) $(shell expr $(BOOT_PARTITION_OFFSET) \+ $(BOOT_PARTITION_SIZE))
parted -s $(EMMC_IMAGE) unit KiB mkpart kernel1 $(KERNEL_PARTITION_OFFSET) $(shell expr $(KERNEL_PARTITION_OFFSET) \+ $(KERNEL_PARTITION_SIZE))
parted -s $(EMMC_IMAGE) unit KiB mkpart rootfs1 ext2 $(ROOTFS_PARTITION_OFFSET) $(shell expr $(ROOTFS_PARTITION_OFFSET) \+ $(ROOTFS_PARTITION_SIZE))
parted -s $(EMMC_IMAGE) unit KiB mkpart storage ext2 $(STORAGE_PARTITION_OFFSET) $(shell expr $(EMMC_IMAGE_SIZE) \- 1024)
dd if=/dev/zero of=$(BUILD_TMP)/$(AX_BOOT_IMAGE) bs=1024 count=$(BOOT_PARTITION_SIZE)
mkfs.msdos -S 512 $(BUILD_TMP)/$(AX_BOOT_IMAGE)
echo "boot emmcflash0.kernel1 'root=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=12'" > $(BUILD_TMP)/STARTUP_1
mcopy -i $(BUILD_TMP)/$(AX_BOOT_IMAGE) -v $(BUILD_TMP)/STARTUP_1 ::
dd conv=notrunc if=$(BUILD_TMP)/$(AX_BOOT_IMAGE) of=$(EMMC_IMAGE) bs=1024 seek=$(BOOT_PARTITION_OFFSET)
dd conv=notrunc if=$(ZIMAGE_DTB) of=$(EMMC_IMAGE) bs=1024 seek=$(KERNEL_PARTITION_OFFSET)
resize2fs $(BUILD_TMP)/$(AX_IMAGE_LINK) $(ROOTFS_PARTITION_SIZE)k
# Truncate on purpose
dd if=$(BUILD_TMP)/$(AX_IMAGE_LINK) of=$(EMMC_IMAGE) bs=1024 seek=$(ROOTFS_PARTITION_OFFSET) count=$(AX_IMAGE_ROOTFS_SIZE)
# Create final USB-image
mkdir -p $(IMAGE_DIR)/$(BOXMODEL)
cp $(ZIMAGE_DTB) $(IMAGE_DIR)/$(BOXMODEL)/kernel.bin
cp $(EMMC_IMAGE) $(IMAGE_DIR)/$(BOXMODEL)
cd $(BOX); \
tar -cvf $(IMAGE_DIR)/$(BOXMODEL)/rootfs.tar -C $(BOX) . > /dev/null 2>&1; \
bzip2 $(IMAGE_DIR)/$(BOXMODEL)/rootfs.tar
echo $(IMAGE_VERSION) > $(IMAGE_DIR)/$(BOXMODEL)/imageversion
cd $(IMAGE_DIR); \
zip -r $(IMAGE_PREFIX)-$(IMAGE_SUFFIX)_usb.zip $(BOXMODEL)/*
# cleanup
rm -rf $(IMAGE_DIR)/$(BOXMODEL)

37
make/kernel-axt.mk

@ -0,0 +1,37 @@
# makefile to build axtech kernel
DTB_VER = bcm7445-bcm97445svmb.dtb
DTB = $(BUILD_TMP)/linux-$(KVERSION)/arch/arm/boot/dts/$(DTB_VER)
ZIMAGE = $(BUILD_TMP)/linux-$(KVERSION)/arch/arm/boot/zImage
ZIMAGE_DTB = $(BUILD_TMP)/linux-$(KVERSION)/arch/arm/boot/zImage_DTB
MODULES_DIR = $(BUILD_TMP)/linux-$(KVERSION)-modules/lib/modules/$(KVERSION_FULL)
TARGETMODULES = $(TARGETLIB)/modules/$(KVERSION_FULL)
$(D)/kernel-axt: $(SOURCE_DIR)/$(NI_LINUX-KERNEL) | $(TARGETPREFIX)
cd $(SOURCE_DIR)/$(NI_LINUX-KERNEL) && \
git checkout $(KBRANCH) && \
tar -C $(SOURCE_DIR) -cp $(NI_LINUX-KERNEL) --exclude-vcs | tar -C $(BUILD_TMP) -x
cd $(BUILD_TMP) && \
mv $(NI_LINUX-KERNEL) linux-$(KVERSION) && \
cd $(BUILD_TMP)/linux-$(KVERSION) && \
touch .scmversion && \
cp $(CONFIGS)/kernel-4.10-$(BOXFAMILY).config $(BUILD_TMP)/linux-$(KVERSION)/.config && \
mkdir -p $(BUILD_TMP)/linux-$(KVERSION)-modules && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules silentoldconfig && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules $(DTB_VER) && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules zImage && \
cat $(ZIMAGE) $(DTB) > $(ZIMAGE_DTB) && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules modules && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules modules_install && \
touch $@
kernel-axt-modules: $(D)/kernel-axt
cp -a $(MODULES_DIR)/kernel $(TARGETMODULES)
cp -a $(MODULES_DIR)/modules.builtin $(TARGETMODULES)
cp -a $(MODULES_DIR)/modules.order $(TARGETMODULES)
make depmod-axt
depmod-axt:
PATH=$(PATH):/sbin:/usr/sbin depmod -b $(TARGETPREFIX) $(KVERSION_FULL)

97
make/neutrino.mk

@ -2,9 +2,18 @@
NEUTRINO_DEPS = libcurl freetype libjpeg giflib ffmpeg openthreads openssl libdvbsi ntp libsigc++ luaposix pugixml libfribidi
ifeq ($(HAS_LIBCS), yes)
ifeq ($(BOXTYPE)-$(HAS_LIBCS), coolstream-yes)
NEUTRINO_DEPS += libcoolstream
endif
ifeq ($(USE_LIBSTB-HAL), yes)
NEUTRINO_DEPS += libstb-hal
endif
# todo: check which sink-plugin works best
ifeq ($(BOXSERIES), ax)
NEUTRINO_DEPS += $(D)/gst_plugins_dvbmediasink
#NEUTRINO_DEPS += $(D)/gst_plugins_multibox_dvbmediasink
endif
# uncomment next line to build neutrino without --enable-ffmpegdec
#NEUTRINO_DEPS += libvorbisidec libid3tag libmad libFLAC
@ -16,6 +25,13 @@ endif
ifeq ($(BOXSERIES), hd2)
N_CFLAGS += -DFB_HW_ACCELERATION
endif
ifeq ($(BOXSERIES), ax)
N_CFLAGS += $(shell $(PKG_CONFIG) --cflags --libs gstreamer-1.0)
N_CFLAGS += $(shell $(PKG_CONFIG) --cflags --libs gstreamer-audio-1.0)
N_CFLAGS += $(shell $(PKG_CONFIG) --cflags --libs gstreamer-video-1.0)
N_CFLAGS += $(shell $(PKG_CONFIG) --cflags --libs glib-2.0)
endif
ifeq ($(DEBUG), yes)
N_CFLAGS += -ggdb3 -rdynamic -I$(TARGETINCLUDE)
else
@ -38,8 +54,40 @@ ifeq ($(DEBUG), yes)
endif
endif
N_CONFIGURE_LIBSTB-HAL =
ifeq ($(USE_LIBSTB-HAL), yes)
N_CONFIGURE_LIBSTB-HAL += \
--with-stb-hal-includes=$(LH_OBJDIR)/include \
--with-stb-hal-build=$(LH_OBJDIR)
endif
N_CONFIGURE_ADDITIONS =
ifeq ($(BOXSERIES), ax)
N_CONFIGURE_ADDITIONS += \
--enable-reschange
endif
N_BUILDENV = \
CC=$(TARGET)-gcc \
CXX=$(TARGET)-g++ \
LD=$(TARGET)-ld \
NM=$(TARGET)-nm \
AR=$(TARGET)-ar \
AS=$(TARGET)-as \
LDD=$(TARGET)-ldd \
RANLIB=$(TARGET)-ranlib \
STRIP=$(TARGET)-strip \
OBJCOPY=$(TARGET)-objcopy \
OBJDUMP=$(TARGET)-objdump \
READELF=$(TARGET)-readelf \
CFLAGS="$(N_CFLAGS)" \
CPPFLAGS="$(N_CFLAGS)" \
CXXFLAGS="$(N_CFLAGS)" \
LDFLAGS="$(N_LDFLAGS)"
# finally we can build outside of the source directory
N_OBJDIR = $(BUILD_TMP)/$(FLAVOUR)
LH_OBJDIR = $(BUILD_TMP)/libstb-hal
$(N_OBJDIR)/config.status: $(NEUTRINO_DEPS) $(MAKE_DIR)/neutrino.mk
test -d $(N_OBJDIR) || mkdir -p $(N_OBJDIR)
@ -55,22 +103,7 @@ endif
test -e version.h || touch version.h && \
export PKG_CONFIG=$(PKG_CONFIG) && \
export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) && \
CC=$(TARGET)-gcc \
CXX=$(TARGET)-g++ \
LD=$(TARGET)-ld \
NM=$(TARGET)-nm \
AR=$(TARGET)-ar \
AS=$(TARGET)-as \
LDD=$(TARGET)-ldd \
RANLIB=$(TARGET)-ranlib \
STRIP=$(TARGET)-strip \
OBJCOPY=$(TARGET)-objcopy \
OBJDUMP=$(TARGET)-objdump \
READELF=$(TARGET)-readelf \
CFLAGS="$(N_CFLAGS)" \
CPPFLAGS="$(N_CFLAGS)" \
CXXFLAGS="$(N_CFLAGS)" \
LDFLAGS="$(N_LDFLAGS)" \
$(N_BUILDENV) \
$(N_HD_SOURCE)/configure \
--host=$(TARGET) \
--build=$(BUILD) \
@ -79,6 +112,7 @@ endif
--enable-maintainer-mode \
--enable-silent-rules \
\
$(N_CONFIGURE_ADDITIONS) \
--enable-ffmpegdec \
--enable-flac \
--enable-fribidi \
@ -88,12 +122,34 @@ endif
--enable-pip \
--enable-pugixml \
\
$(N_CONFIGURE_LIBSTB-HAL) \
--with-tremor \
--with-target=cdk \
--with-targetprefix= \
--with-boxtype=$(BOXTYPE) \
--with-boxmodel=$(BOXSERIES)
$(LH_OBJDIR)/config.status: $(NEUTRINO_DEPS)
# let's use tango's libstb-hal until we have ported the relevant stuff
rm -rf $(LH_OBJDIR)
git clone https://github.com/TangoCash/libstb-hal-cst-next.git $(LH_OBJDIR)
pushd $(LH_OBJDIR) && \
./autogen.sh && \
\
export PKG_CONFIG=$(PKG_CONFIG) && \
export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) && \
$(N_BUILDENV) \
./configure \
--host=$(TARGET) \
--build=$(BUILD) \
--prefix= \
--enable-maintainer-mode \
--enable-silent-rules \
--enable-shared=no \
\
--with-target=cdk \
--with-boxtype=armbox
NEUTRINO_INST_DIR ?= $(TARGETPREFIX)
$(D)/neutrino: $(N_OBJDIR)/config.status
PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
@ -102,6 +158,13 @@ $(D)/neutrino: $(N_OBJDIR)/config.status
make $(TARGETPREFIX)/.version
touch $@
$(D)/libstb-hal: $(LH_OBJDIR)/config.status
PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
$(MAKE) -C $(LH_OBJDIR) all DESTDIR=$(TARGETPREFIX)
$(MAKE) -C $(LH_OBJDIR) install DESTDIR=$(NEUTRINO_INST_DIR)
$(REWRITE_LIBTOOL)/libstb-hal.la
touch $@
neutrino-bin:
ifeq ($(CLEAN), yes)
$(MAKE) neutrino-clean

11
make/ni.mk

@ -30,7 +30,7 @@ ni-neutrino-full-updates:
# -----------------------------------------------------------------------------
BOXMODEL_IMAGE = apollo kronos kronos_v2
BOXMODEL_IMAGE = apollo kronos kronos_v2 hd51
ifneq ($(DEBUG), yes)
BOXMODEL_IMAGE += nevis
endif
@ -76,8 +76,8 @@ ni-image:
make -j$(NUM_CPUS) wget
make -j$(NUM_CPUS) iconv
make -j$(NUM_CPUS) streamripper
ifeq ($(BOXSERIES), hd2)
make plugins-hd2
ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd2 ax))
make plugins-add
make -j$(NUM_CPUS) less
make -j$(NUM_CPUS) parted
make -j$(NUM_CPUS) openvpn
@ -88,13 +88,16 @@ ifeq ($(BOXSERIES), hd2)
make -j$(NUM_CPUS) minicom
make -j$(NUM_CPUS) mc
endif
ifeq ($(BOXSERIES), ax)
make -j$(NUM_CPUS) ofgwrite
endif
ifeq ($(DEBUG), yes)
make -j$(NUM_CPUS) strace
make -j$(NUM_CPUS) valgrind
make -j$(NUM_CPUS) gdb
endif
endif
make -j$(NUM_CPUS) kernel-cst-modules
make -j$(NUM_CPUS) kernel-$(BOXTYPE_SC)-modules
make autofs5
ifeq ($(PERSONALIZE), yes)
make personalize

2
make/plugins.mk

@ -73,7 +73,7 @@ plugins-all: \
doscam-webif-skin \
playlists
plugins-hd2: channellogos
plugins-add: channellogos
################
### plugins ###

5
make/rootfs.mk

@ -19,7 +19,11 @@ $(TARGETPREFIX)/.version:
echo "commit="$$COMMIT >> $@
echo "builddate="`date` >> $@
echo "creator=$(MAINTAINER)" >> $@
ifeq ($(USE_LIBSTB-HAL), yes)
echo "imagename=NI-Neutrino-MP" >> $@
else
echo "imagename=NI-Neutrino-HD" >> $@
endif
echo "homepage=www.neutrino-images.de" >> $@
update.urls: $(TARGETPREFIX)/var/etc/update.urls
@ -41,6 +45,7 @@ cleanup: $(BOX)
rm -rf $(BOX)/lib/pkgconfig
rm -f $(BOX)/lib/libvorbisenc*
rm -rf $(BOX)/lib/sigc++*
rm -rf $(BOX)/lib/glib-2.0
find $(BOX) \( -name .gitignore -o -name .gitkeep \) -type f -print0 | xargs --no-run-if-empty -0 rm -f
find $(BOX)/lib \( -name '*.a' -o -name '*.la' \) -print0 | xargs --no-run-if-empty -0 rm -f
@echo -e "$(TERM_YELLOW)"

7
make/static.mk

@ -2,6 +2,11 @@
static: cortex-strings
CORTEX-STRINGS_CONF =
ifneq ($(BOXSERIES), ax)
CORTEX-STRINGS_CONF = --without-neon
endif
cortex-strings: $(STATICLIB)/libcortex-strings.la
$(STATICLIB)/libcortex-strings.la: $(ARCHIVE)/cortex-strings-$(CORTEX-STRINGS_VER).tar.bz2 | $(TARGETPREFIX)
$(UNTAR)/cortex-strings-$(CORTEX-STRINGS_VER).tar.bz2
@ -16,7 +21,7 @@ $(STATICLIB)/libcortex-strings.la: $(ARCHIVE)/cortex-strings-$(CORTEX-STRINGS_VE
--prefix= \
--disable-shared \
--enable-static \
--without-neon && \
$(CORTEX-STRINGS_CONF) && \
$(MAKE) && \
$(MAKE) install DESTDIR=$(STATIC_DIR) && \
$(REWRITE_LIBTOOL_STATIC)/libcortex-strings.la

26
make/system-libs.mk

@ -131,6 +131,11 @@ $(D)/libcurl: $(D)/zlib $(D)/openssl $(ARCHIVE)/curl-$(LIBCURL_VER).tar.bz2 | $(
$(REMOVE)/curl-$(LIBCURL_VER)
touch $@
LIBPNG_CONF =
ifneq ($(BOXSERIES), ax)
LIBPNG_CONF = --disable-arm-neon
endif
$(D)/libpng: $(ARCHIVE)/libpng-$(LIBPNG_VER).tar.xz $(D)/zlib | $(TARGETPREFIX)
$(UNTAR)/libpng-$(LIBPNG_VER).tar.xz
pushd $(BUILD_TMP)/libpng-$(LIBPNG_VER) && \
@ -140,7 +145,7 @@ $(D)/libpng: $(ARCHIVE)/libpng-$(LIBPNG_VER).tar.xz $(D)/zlib | $(TARGETPREFIX)
--bindir=$(HOSTPREFIX)/bin \
--mandir=$(BUILD_TMP)/.remove \
--enable-silent-rules \
--disable-arm-neon \
$(LIBPNG_CONF) \
--disable-static && \
ECHO=echo $(MAKE) all && \
make install
@ -261,7 +266,6 @@ FFMPEG_CONFIGURE_GENERIC = \
\
--disable-altivec \
--disable-mmx \
--disable-neon \
\
--disable-parsers \
--enable-parser=aac \
@ -357,23 +361,36 @@ FFMPEG_CONFIGURE_GENERIC = \
--enable-shared \
\
--target-os=linux \
--arch=arm \
--arch=$(BOXARCH) \
--extra-ldflags="$(TARGET_LDFLAGS)"
ifeq ($(BOXSERIES), hd2)
FFMPEG_CONFIGURE = \
--disable-neon \
--enable-decoder=h264 \
--enable-decoder=vc1 \
--enable-hardcoded-tables \
--cpu=cortex-a9 \
--extra-cflags="-Wno-deprecated-declarations -I$(TARGETINCLUDE) -mfpu=vfpv3-d16 -mfloat-abi=hard"
else
endif
ifeq ($(BOXSERIES), hd1)
FFMPEG_CONFIGURE = \
--disable-neon \
--enable-small \
--cpu=armv6 \
--extra-cflags="-Wno-deprecated-declarations -I$(TARGETINCLUDE)"
endif
ifeq ($(BOXSERIES), ax)
FFMPEG_CONFIGURE = \
--enable-decoder=h264 \
--enable-decoder=vc1 \
--enable-hardcoded-tables \
--cpu=cortex-a15 \
--extra-cflags="-Wno-deprecated-declarations -I$(TARGETINCLUDE) -mfpu=neon-vfpv4 -mfloat-abi=hard"
endif
$(D)/ffmpeg: $(FFMPEG_DEPS) | $(TARGETPREFIX)
$(REMOVE)/$(NI_FFMPEG)
cd $(SOURCE_DIR)/$(NI_FFMPEG) && \
@ -814,6 +831,7 @@ $(D)/libxml2: $(ARCHIVE)/libxml2-$(LIBXML2_VER).tar.gz | $(TARGETPREFIX)
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libxml-2.0.pc
$(REWRITE_PKGCONF) $(HOSTPREFIX)/bin/xml2-config
rm -rf $(TARGETLIB)/xml2Conf.sh
rm -rf $(TARGETLIB)/cmake
$(REMOVE)/libxml2-$(LIBXML2_VER)
touch $@

14
make/system-tools.mk

@ -547,6 +547,7 @@ $(D)/samba-hd1: $(D)/zlib $(ARCHIVE)/samba-$(SAMBA33_VER).tar.gz | $(TARGETPREFI
$(REMOVE)/samba-$(SAMBA33_VER)
touch $@
$(D)/samba-ax \
$(D)/samba-hd2: $(D)/zlib $(ARCHIVE)/samba-$(SAMBA36_VER).tar.gz | $(TARGETPREFIX)
$(UNTAR)/samba-$(SAMBA36_VER).tar.gz
cd $(BUILD_TMP)/samba-$(SAMBA36_VER) && \
@ -966,3 +967,16 @@ $(D)/iconv: $(ARCHIVE)/libiconv-$(LIBICONV_VER).tar.gz | $(TARGETPREFIX)
cp -a $(BUILD_TMP)/libiconv-$(LIBICONV_VER)/tmp/bin/iconv $(TARGETPREFIX)/bin
$(REMOVE)/libiconv-$(LIBICONV_VER)
touch $@
$(D)/ofgwrite: | $(TARGETPREFIX)
$(REMOVE)/ofgwrite
cd $(BUILD_TMP); \
git clone git://github.com/oe-alliance/ofgwrite.git ofgwrite; \
cd ofgwrite; \
$(BUILDENV) \
$(MAKE) && \
install -m 755 $(BUILD_TMP)/ofgwrite/ofgwrite_bin $(TARGETPREFIX)/bin
install -m 755 $(BUILD_TMP)/ofgwrite/ofgwrite $(TARGETPREFIX)/bin
sed -i "s,/usr/bin/,/bin/," $(TARGETPREFIX)/bin/ofgwrite
$(REMOVE)/ofgwrite
touch $@

0
skel-root/axtech/ax/bin/.gitignore

0
skel-root/axtech/ax/dev/.gitignore

5
skel-root/axtech/ax/etc/exports

@ -0,0 +1,5 @@
# /var/etc/exports: the access control list for filesystems which may be exported to NFS clients.
#
# Example for client mount: "mount -t nfs -o nolock,soft 192.168.0.6:/media/sda1/movies /tmp/movies"
#
/media/sda1/movies 192.168.0.0/16(rw,no_root_squash,no_subtree_check)

48
skel-root/axtech/ax/etc/fb.modes

@ -0,0 +1,48 @@
#
# fb.modes file describing various video modes
# for frame buffer driver
#
#
mode "720x480i"
geometry 720 480 720 960 32
timings 37037 12 0 9 0 126 36
endmode
mode "720x576i"
geometry 720 576 720 1152 32
timings 37037 5 0 5 0 139 44
endmode
mode "720x480p"
geometry 720 480 720 960 32
timings 37037 16 0 9 0 122 36
endmode
mode "720x576p"
geometry 720 576 720 1152 32
timings 37037 12 0 5 0 132 44
endmode
mode "1280x720p-60"
geometry 1280 720 1280 1440 32
timings 13468 70 0 5 0 300 25
endmode
mode "1280x720p-50"
geometry 1280 720 1280 1440 32
timings 13468 400 0 5 0 300 25
endmode
mode "1920x1080i-60"
geometry 1920 1080 1920 2160 32
timings 13468 22 0 45 0 118 20
endmode
mode "1920x1080i-50"
geometry 1920 1080 1920 2160 32
timings 13468 242 0 45 0 118 20
endmode

13
skel-root/axtech/ax/etc/filesystems

@ -0,0 +1,13 @@
ext4
ext3
ext2
nodev proc
nodev devpts
ntfs
fuseblk
vfat
exfat
exfat_fuse
udf
iso9660
*

3
skel-root/axtech/ax/etc/fstab

@ -0,0 +1,3 @@
# /var/etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>

17
skel-root/axtech/ax/etc/group

@ -0,0 +1,17 @@
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
wheel:x:10:root
utmp:x:43:
staff:x:50:
haldaemon:x:68:
dbus:x:81:
netdev:x:82:
users:x:100:
default:x:1000:
nobody:x:65533:nobody
nogroup:x:65534:nogroup

1
skel-root/axtech/ax/etc/hosts

@ -0,0 +1 @@
127.0.0.1 localhost

5
skel-root/axtech/ax/etc/inetd.conf

@ -0,0 +1,5 @@
# /etc/inetd.conf: Internet superserver configuration database
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
telnet stream tcp nowait root /sbin/telnetd /sbin/telnetd

0
skel-root/axtech/ax/etc/init.d/.gitignore

20
skel-root/axtech/ax/etc/init.d/coredump

@ -0,0 +1,20 @@
#!/bin/sh
. /etc/init.d/globals
case $1 in
start)
if [ -e /var/etc/.coredump ]; then
read dumpdir < /var/etc/.coredump
fi
dumpdir=${dumpdir:-/tmp}
mkdir -p ${dumpdir}
# change default core pattern
echo "${dumpdir}/core.%e.%p.%t" > /proc/sys/kernel/core_pattern
SHOWINFO "dumps stored in ${dumpdir}"
;;
*)
echo "[${BASENAME}] Usage: $0 {start}"
;;
esac

18
skel-root/axtech/ax/etc/init.d/crond

@ -0,0 +1,18 @@
#!/bin/sh
. /etc/init.d/globals
case $1 in
start)
if [ -e /var/etc/.crond ]; then
crond
fi
;;
stop)
trap "" INT
kill -INT $(pidof crond)
;;
*)
echo "[$BASENAME] Usage: $0 {start|stop}"
;;
esac

307
skel-root/axtech/ax/etc/init.d/emu

@ -0,0 +1,307 @@
#!/bin/sh
. /etc/init.d/globals
# Emu-Fileflags
FLAGDIR="/var/etc"
F_MGCAM=".mgcamd"
F_NEWCS=".newcs"
F_OSEMU=".osemu"
F_DOSCAM=".doscam"
F_OSCAM=".oscam"
F_NCAM=".ncam"
F_GBOX=".gbox"
F_CS2GBOX=".cs2gbox"
MGCAM_Action()
{
case $1 in
"start" )
SHOWINFO "start mgcamd"
{ /var/bin/mgcamd; pzapit -rz; } &
;;
"stop" )
SHOWINFO "stop mgcamd"
kill $( cat /tmp/mgcamd.pid )
sleep 1
rm -rf /tmp/mgstat.info
rm -rf /tmp/mgshare.info
rm -rf /tmp/ecm.info
rm -rf /tmp/pid.info
rm -rf /tmp/ca_cache.list
rm -rf /tmp/cccam.info
rm -rf /tmp/ecm.info
rm -rf /tmp/mg.info
;;
* )
MGCAM_Action "stop"
sleep 1
MGCAM_Action "start"
;;
esac
}
NEWCS_Action()
{
case $1 in
"start" )
SHOWINFO "start newcs"
/var/bin/newcs
sleep 10
;;
"stop" )
SHOWINFO "stop newcs"
kill $( cat /tmp/newcs.pid )
sleep 1
rm -rf /tmp/cccam.info
rm -rf /tmp/ecm.info
rm -rf /tmp/pid.info
;;
* )
NEWCS_Action "stop"
sleep 1
NEWCS_Action "start"
;;
esac
}
OSEMU_Action()
{
case $1 in
"start" )
SHOWINFO "start osemu"
if [ -x /var/bin/osemu.sh ]; then
/var/bin/osemu.sh &
else
/var/bin/osemu -a user:password -p 11000 -b
fi
;;
"stop" )
SHOWINFO "stop osemu"
killall osemu
sleep 1
;;
* )
OSEMU_Action "stop"
sleep 1
OSEMU_Action "start"
;;
esac
}
DOSCAM_Action()
{
case $1 in
"start" )
if [ -e /var/etc/.coredump ]; then
ulimit -c unlimited
fi
SHOWINFO "start oscamfix"
/etc/init.d/oscamfix start doscam
SHOWINFO "start doscam"
/var/bin/doscam -b -w0
if [ -e $FLAGDIR/$F_MGCAM ]; then
sleep 15
fi
;;
"stop" )
SHOWINFO "stop oscamfix"
/etc/init.d/oscamfix stop doscam
SHOWINFO "stop doscam"
killall doscam
sleep 1
rm -rf /tmp/doscam.*
rm -rf /tmp/ecm.info
;;
* )
DOSCAM_Action "stop"
sleep 1
DOSCAM_Action "start"
;;
esac
}
OSCAM_Action()
{
case $1 in
"start" )
SHOWINFO "start oscamfix"
/etc/init.d/oscamfix start oscam
SHOWINFO "start oscam"
/var/bin/oscam -b
if [ -e $FLAGDIR/$F_MGCAM ]; then
sleep 15
fi
;;
"stop" )
SHOWINFO "stop oscamfix"
/etc/init.d/oscamfix stop oscam
SHOWINFO "stop oscam"
killall oscam
sleep 1
rm -rf /tmp/oscam.*
rm -rf /tmp/ecm.info
;;
* )
OSCAM_Action "stop"
sleep 1
OSCAM_Action "start"
;;
esac
}
NCAM_Action()
{
case $1 in
"start" )
SHOWINFO "start oscamfix"
/etc/init.d/oscamfix start ncam
SHOWINFO "start ncam"
/var/bin/ncam -b
if [ -e $FLAGDIR/$F_MGCAM ]; then
sleep 15
fi
;;
"stop" )
SHOWINFO "stop oscamfix"
/etc/init.d/oscamfix stop ncam
SHOWINFO "stop ncam"
killall ncam
sleep 1
rm -rf /tmp/ncam.*
rm -rf /tmp/ecm.info
;;
* )
NCAM_Action "stop"
sleep 1
NCAM_Action "start"
;;
esac
}
GBOX_Action()
{
case $1 in
"start" )
SHOWINFO "start gbox"
/var/bin/gbox &
sleep 10
;;
"stop" )
SHOWINFO "stop gbox"
touch /tmp/gbox.kill
sleep 1
rm -rf /tmp/pid.info
rm -rf /tmp/ecm.info
rm -rf /tmp/gbox.pid
rm -rf /tmp/gbox.ver
rm -rf /tmp/gbox.kill
;;
* )
GBOX_Action "stop"
sleep 1
GBOX_Action "start"
;;
esac
}
CS2GBOX_Action()
{
case $1 in
"start" )
SHOWINFO "start cs2gbox"
/var/bin/cs2gbox &
sleep 3
;;
"stop" )
SHOWINFO "stop cs2gbox"
killall -9 cs2gbox
sleep 1
rm -rf /tmp/csonline.txt
;;
* )
CS2GBOX_Action "stop"
sleep 1
CS2GBOX_Action "start"
;;
esac
}
EMU_Action()
{
case $1 in
"cs2gbox")
CS2GBOX_Action $ACTION
;;
"gbox")
GBOX_Action $ACTION
;;
"osemu")
OSEMU_Action $ACTION
;;
"doscam")
DOSCAM_Action $ACTION
;;
"oscam")
OSCAM_Action $ACTION
;;
"ncam")
NCAM_Action $ACTION
;;
"newcs")
NEWCS_Action $ACTION
;;
"mgcamd")
MGCAM_Action $ACTION
;;
*)
if [ -e $FLAGDIR/$F_CS2GBOX ]; then
CS2GBOX_Action $ACTION
fi
if [ -e $FLAGDIR/$F_GBOX ]; then
GBOX_Action $ACTION
fi
if [ -e $FLAGDIR/$F_OSEMU ]; then
OSEMU_Action $ACTION
fi
if [ -e $FLAGDIR/$F_DOSCAM ]; then
DOSCAM_Action $ACTION
fi
if [ -e $FLAGDIR/$F_OSCAM ]; then
OSCAM_Action $ACTION
fi
if [ -e $FLAGDIR/$F_NCAM ]; then
NCAM_Action $ACTION
fi
if [ -e $FLAGDIR/$F_NEWCS ]; then
NEWCS_Action $ACTION
fi
if [ -e $FLAGDIR/$F_MGCAM ]; then
MGCAM_Action $ACTION
fi
;;
esac
}
case $1 in
"start")
ACTION="start"
EMU_Action $2
;;
"stop")
ACTION="stop"
EMU_Action $2
;;
*)
ACTION="restart"
EMU_Action $2
;;
esac

195
skel-root/axtech/ax/etc/init.d/fstab

@ -0,0 +1,195 @@
#!/bin/sh
. /etc/init.d/globals
SRVFLAG=/var/etc/.srv
MTAB=/etc/mtab
FSTAB=/etc/fstab
if [ -e /var/etc/fstab ]; then
FSTAB=/var/etc/fstab
fi
is_mount()
{
RET=1
test -f $MTAB || return $RET
while read _DEV _MTPT _FSTYPE _OPTS _REST
do
case "$_FSTYPE" in
"tmpfs") continue ;;
esac
case "$1" in
"$_DEV"|"$_MTPT") RET=0; break ;;
esac
done < $MTAB
return $RET
}
mount_local()
{
SHOWINFO "mount all local stuff from $FSTAB"
test -f $FSTAB || return
while read DEV MTPT FSTYPE OPTS REST
do
case "$DEV" in
""|\#*)
continue
;;
esac
case "$OPTS" in
noauto|*,noauto|noauto,*|*,noauto,*)
continue
;;
esac
case "$FSTYPE" in
swap)
#SHOWINFO "enable all swaps from $FSTAB"
#swapon -a
SHOWINFO "ignoring all swaps from $FSTAB"
continue
;;
nfs|cifs)
continue
;;
*)
test -d $MTPT || mkdir -p $MTPT;
SHOWINFO "trying to mount $DEV to $MTPT"
if OUT=$(mount $MTPT 2>&1 >/dev/null)
then
RET=$?
LOGINFO "mount: $MTPT - success ($RET)"
else
RET=$?
LOGWARN "mount: $MTPT - failed ($RET)"
echo "$OUT" | LOGWARN
fi
;;
esac
done < $FSTAB
}
mount_netfs()
{
SHOWINFO "mount all netfs stuff from $FSTAB"
test -f $FSTAB || return
rm -f $SRVFLAG
while read DEV MTPT FSTYPE OPTS REST
do
case "$DEV" in
""|\#*)
continue
;;
esac
case "$OPTS" in
noauto|*,noauto|noauto,*|*,noauto,*)
continue
;;
esac
case "$FSTYPE" in
nfs|cifs)
if ! is_mount $MTPT; then
test -d $MTPT || mkdir -p $MTPT;
SHOWINFO "trying to mount $DEV to $MTPT"
(
try=51
while(true); do
if OUT=$(mount $MTPT 2>&1 >/dev/null); then
RET=$?
LOGINFO "mount: $MTPT - success ($RET)"
test -e $SRVFLAG || touch $SRVFLAG
break
else
RET=$?
LOGWARN "mount: $MTPT - failed ($RET)"
echo "$OUT" | LOGWARN
if [ ${try:1:1} -eq ${try:0:1} ]; then
LOGWARN "mount: $MTPT - cancel!"
break
fi
try=$((try+1))
LOGWARN "mount: $MTPT - try ${try:1:1} in 30 seconds ..."
sleep 30
fi
done
) &
else
SHOWINFO "already mounted $MTPT"
test -e $SRVFLAG || touch $SRVFLAG
fi
;;
*)
continue
;;
esac
done < $FSTAB
}
umount_netfs()
{
SHOWINFO "unmount all netfs stuff from $MTAB"
test -f $MTAB || return
rm -f $SRVFLAG
while read DEV MTPT FSTYPE OPTS REST
do
case "$OPTS" in
noauto|*,noauto|noauto,*|*,noauto,*)
continue
;;
esac
case "$FSTYPE" in
nfs|cifs)
SHOWINFO "trying to unmount $DEV from $MTPT"
(
if OUT=$(umount -f $MTPT 2>&1 >/dev/null); then
RET=$?
LOGINFO "umount: $MTPT - success ($RET)"
else
RET=$?
LOGWARN "umount: $MTPT - failed ($RET)"
echo "$OUT" | LOGWARN
test -e $SRVFLAG || touch $SRVFLAG
fi
) &
;;
*)
continue
;;
esac
done < $MTAB
}
if [ -e /tmp/.flash.start ]; then
SHOWINFO "flash.start flag found"
umount_netfs
SHOWINFO "exiting"
exit 0
fi
case "$1" in
"start")
mount_local
mount_netfs
;;
"start_netfs")
mount_netfs
;;
"stop_netfs")
umount_netfs
;;
"stop")
umount_netfs
#SHOWINFO "unmount all sysfs, tmpfs, devpts and usbfs mounts"
#umount -a -t sysfs, tmpfs, devpts, usbfs
#SHOWINFO "disable all swaps"
#swapoff -a
#SHOWINFO "detach jffs2 filesystems"
#umount -l -t jffs2
;;
*)
echo "[$BASENAME] Usage: $0 {start|start_netfs|stop_netfs|stop}"
;;
esac

69
skel-root/axtech/ax/etc/init.d/functions

@ -0,0 +1,69 @@
# functions that are used by init scripts...
. /etc/init.d/globals
run_initscripts() {
if [ "x$1" == xstop ]; then
action="stop"
doing="stopping"
files="/etc/init.d/K[0-9][0-9]* /var/etc/init.d/K[0-9][0-9]*"
else
action="start"
doing="starting"
files="/etc/init.d/S[0-9][0-9]* /var/etc/init.d/S[0-9][0-9]*"
fi
names=$(for file in $files ; do echo ${file##*/} ; done | sort -u)
for name in $names; do
[ "${name:1}" = "[0-9][0-9]*" ] && continue
for file in /etc/init.d/$name /var/etc/init.d/$name; do
if [ -x "$file" ]; then
LOGINFO "$doing $file ..."
"$file" $action
break;
fi
done
done
}
create_node()
{
device=$1
rm -f /dev/${device}
major=`awk "\\$2==\"$device\" {print \\$1}" /proc/devices`
if [ ${major} ]; then
LOGINFO "Creating device node $1"
mknod /dev/${device} c $major 0
fi
}
create_node_dir()
{
device=$1
rm -rf /dev/${device}
mkdir -p /dev/${device}
major=`awk "\\$2==\"$device\" {print \\$1}" /proc/devices`
if [ ${major} ]; then
LOGINFO "Creating device node dir $1"
mknod /dev/${device}/0 c $major 0
fi
}
load_module()
{
kernel=$(uname -r)
module=/lib/modules/${kernel}/$1
shift
params=$@
if [ -e $module ]; then
LOGINFO "Loading ${module##*/} "
insmod $module $params
fi
}

21
skel-root/axtech/ax/etc/init.d/globals

@ -0,0 +1,21 @@
# global variables and functions that are used by our scripts...
HOSTNAME=$(hostname)
BASENAME=${0##*/}
alias LOGINFO='logger -p user.info -t ${BASENAME}[${$}]'
alias LOGWARN='logger -p user.warn -t ${BASENAME}[${$}]'
alias LOGDEBUG='logger -p user.debug -t ${BASENAME}[${$}]'
alias LOGERROR='logger -p user.error -t ${BASENAME}[${$}]'
alias SHOWINFO='echo $(date +"%b %d %H:%M:%S") ${HOSTNAME%%.*} user.info ${BASENAME}[${$}]:'
alias SHOWWARN='echo $(date +"%b %d %H:%M:%S") ${HOSTNAME%%.*} user.warn ${BASENAME}[${$}]:'
alias SHOWDEBUG='echo $(date +"%b %d %H:%M:%S") ${HOSTNAME%%.*} user.debug ${BASENAME}[${$}]:'
alias SHOWERROR='echo $(date +"%b %d %H:%M:%S") ${HOSTNAME%%.*} user.error ${BASENAME}[${$}]:'
NEUTRINO_CONF="/var/tuxbox/config/neutrino.conf"
get_setting()
{
test -e $NEUTRINO_CONF && grep "^${1}=" $NEUTRINO_CONF | cut -d'=' -f2
}

17
skel-root/axtech/ax/etc/init.d/hostname

@ -0,0 +1,17 @@
#!/bin/sh
. /etc/init.d/globals
case $1 in
start)
if [ ! -f /etc/hostname ]; then
hwaddr=$(ifconfig eth0 | awk '/HWaddr/ { split($5,v,":"); print v[4] v[5] v[6] }')
echo "NI-AX-${hwaddr}" > /etc/hostname
fi
hostname -F /etc/hostname
;;
*)
echo "[$BASENAME] Usage: $0 {start}"
;;
esac

24
skel-root/axtech/ax/etc/init.d/inetd

@ -0,0 +1,24 @@
#!/bin/sh
. /etc/init.d/globals
case "$1" in
start)
/sbin/inetd
;;
stop)
read pid < /var/run/inetd.pid || exit 1
kill $pid
;;
reload)
read pid < /var/run/inetd.pid || exit 1
kill -HUP $pid
;;
restart)
$0 stop
$0 start
;;
*)
echo "[$BASENAME] Usage: $0 {start|restart|reload|stop}"
;;
esac

21
skel-root/axtech/ax/etc/init.d/networking

@ -0,0 +1,21 @@
#!/bin/sh
. /etc/init.d/globals
case "$1" in
start)
SHOWINFO "Configuring network ... "
ifup -a
;;
stop)
SOWINFO "Deconfiguring network ... "
ifdown -a
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "[$BASENAME] Usage: $0 {start|restart|force-reload|stop}"
;;
esac

17
skel-root/axtech/ax/etc/init.d/ntpdate

@ -0,0 +1,17 @@
#!/bin/sh
. /etc/init.d/functions
. /etc/init.d/globals
case "$1" in
start)
ntpatboot=$(get_setting network_ntpatboot)
ntpserver=$(get_setting network_ntpserver)
if [ "$ntpatboot" == "true" ]; then
ntpdate ${ntpserver:-0.de.pool.ntp.org}
fi
;;
*)
echo "[$BASENAME] Usage: $0 {start}"
;;
esac

75
skel-root/axtech/ax/etc/init.d/oscamfix

@ -0,0 +1,75 @@
#!/bin/sh
#
# a workaround for the sucking date behavior of oscam
#
. /etc/init.d/globals
BINARY="/var/bin/$2"
FLAGFILE="/var/etc/.$2"
case "$1" in
"start")
DATE_TODAY=$(date +%Y%m%d%H%M)
if [ "${DATE_TODAY:0:8}" = "19700101" ]; then
# try to read date from flagfile
test -e $FLAGFILE && \
DATE_FLAG=$(date -r $FLAGFILE +%Y%m%d%H%M)
# try to read date from binary
DATE_OSCAM=$(strings $BINARY | grep -B1 "is smaller than the build date")
DATE_OSCAM=${DATE_OSCAM:0:11}
_m=$(echo $DATE_OSCAM | cut -d\ -f1)
_d=$(echo $DATE_OSCAM | cut -d\ -f2)
_y=$(echo $DATE_OSCAM | cut -d\ -f3)
c=0
for m in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec; do
c=$(($c+1))
if [ "$m" = "$_m" ]; then
_m=$c
break
fi
done
test ${#_m} -lt 2 && _m=0$_m
test ${#_d} -lt 2 && _d=0$_d
DATE_OSCAM=$_y$_m$_d
# try to read date from versionfile
DATE_IMAGE=$(cat /.version | grep "^version=" | cut -d= -f2)
DATE_IMAGE=${DATE_IMAGE:4}
c=0
for date in "$DATE_FLAG" "$DATE_OSCAM" "$DATE_IMAGE"; do
c=$(($c+1))
while [ ${#date} -lt 12 ]; do
date=$date"0"
done
test $c = 1 && DATE_FLAG=$date
test $c = 2 && DATE_OSCAM=$date
test $c = 3 && DATE_IMAGE=$date
done
SHOWINFO "manipulating date ... "
for date in "$DATE_FLAG" "$DATE_OSCAM" "$DATE_IMAGE"; do
echo $date;
done | sort -r -u | while read date; do
if date -s $date > /dev/null; then
SHOWINFO "done ($date)"
break
else
continue
fi
SHOWWARN "failed"
done
fi
;;
"stop")
test -e $FLAGFILE && touch $FLAGFILE
;;
*)
echo "[$BASENAME] Usage: $0 {start|stop}"
;;
esac

25
skel-root/axtech/ax/etc/init.d/rcK

@ -0,0 +1,25 @@
#!/bin/sh
. /etc/profile
. /etc/init.d/functions
. /etc/init.d/globals
SHOWINFO "start"
if [ -e /tmp/.flash.start ]; then
lcd4l_cmd=stop
lcd4l_msg="Updating STB ..."
else
lcd4l_cmd=off
lcd4l_msg="Shutdown STB ..."
fi
# first stopping lcd4linux
test -d /tmp/lcd/ && echo ${lcd4l_msg} > /tmp/lcd/goodbye
service lcd4linux ${lcd4l_cmd}
# stopping services and daemons in order of the symlink names
LOGINFO "run initscripts stop ..."
run_initscripts stop
SHOWINFO "done"

100
skel-root/axtech/ax/etc/init.d/rcS

@ -0,0 +1,100 @@
#!/bin/sh
. /etc/profile
. /etc/init.d/functions
. /etc/init.d/globals
SHOWINFO "start"
mount -t proc proc /proc
# update
# FIXME
# init system
SHOWINFO "creating and mounting system directories..."
mount -t sysfs sys /sys
mount -t tmpfs tmp /tmp
mount -t tmpfs media /media
mount -t tmpfs mnt /mnt
for dir in epg movies music pictures streaming autofs plugins; do
mkdir -p /mnt/${dir}
done
mount -t tmpfs srv /srv
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mkdir -p /dev/shm/usb
# mount var-partition
# FIXME
# for nfsd
mkdir -p /var/lib/nfs
mount -t tmpfs nfs /var/lib/nfs
# for samba
mkdir -p /var/samba
mount -t tmpfs samba /var/samba
# for wget
mkdir -p /tmp/wget
dmesg -n 1
# set dummy time
date -s "2017-01-01 00:00"
# directory for wireless drivers
mkdir -p /var/run/wpa_supplicant
# automatic restore
# FIXME
# update system
# FIXME
service hostname start
# logging as much as possible
service syslogd start
## mdev coldplug for node permissions
LOGINFO "mdev coldplug ..."
echo >/dev/mdev.seq
echo $(which mdev) > /proc/sys/kernel/hotplug
mdev -s
# mdev -s does not poke usb devices, so we need to do it here.
LOGINFO "scanning /sys/bus/usb/devices/ to help mdev with usb-coldplug"
for i in /sys/bus/usb/devices/*; do
case "${i##*/}" in
*-*:1.0)
LOGINFO "usb device $i found"
echo add >$i/uevent
;;
esac
done
# FIXME?
# load modules / create nodes
load_module extra/hd51_1.ko
load_module extra/hd51_2.ko
load_module extra/hd51_3.ko
load_module extra/hd51_4.ko
service networking start
service ntpdate start
# say hi to everyone
dt -ls01
dt -ls02
dt -c
dt -t"BOOT NI-IMAGE"
# starting services and daemons in order of the symlink names
LOGINFO "run initscripts start ..."
run_initscripts start
service coredump start
SHOWINFO "done"

16
skel-root/axtech/ax/etc/init.d/sdX

@ -0,0 +1,16 @@
#!/bin/sh
. /etc/init.d/globals
case $1 in
stop)
for sdX in /dev/sd[a-z]; do
test -b $sdX || continue
LOGINFO "stopping $sdX"
sg_start --stop $sdX
done
;;
*)
echo "[${BASENAME}] Usage: $0 {stop}"
;;
esac

29
skel-root/axtech/ax/etc/init.d/start_neutrino

@ -0,0 +1,29 @@
#!/bin/sh
touch /tmp/norestart
if [ -e /var/etc/.coredump ]; then
ulimit -c unlimited
fi
until neutrino; do
RET=$?
echo "Neutrino exited with exit code $RET"
dt -t"NEUTRINO: $RET"
if [ -e /tmp/.lcd-usbdev?.? ]; then
echo "0" > /tmp/lcd/mode_logo
echo "Neutrino" > /tmp/lcd/service
echo "Error: $RET" > /tmp/lcd/event
fi
while [ -e /tmp/norestart ]; do # for debugging: stop the restart loop
sleep 1;
done
done
if [ -e /tmp/.reboot ]; then # gets created by neutrino
dt -t" ..REBOOT.."
reboot
fi

23
skel-root/axtech/ax/etc/init.d/syslogd

@ -0,0 +1,23 @@
#!/bin/sh
# you can set options in /etc/profile.locale, variable SYSLOGD_OPTS
#
# without options and without /var/log (!), syslogd will simply
# log to the console. If /var/log/ exists, it will log to /var/log/messages
. /etc/init.d/globals
case "$1" in
start)
/sbin/syslogd $SYSLOGD_OPTS
;;
stop)
killall syslogd
;;
restart)
$0 stop
$0 start
;;
*)
echo "[$BASENAME] Usage: $0 {start|restart|stop}"
;;
esac

10
skel-root/axtech/ax/etc/inittab

@ -0,0 +1,10 @@
# /etc/inittab: init configuration.
::sysinit:/etc/init.d/rcS
::once:/etc/init.d/start_neutrino
::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/init.d/rcK

12
skel-root/axtech/ax/etc/issue.net

@ -0,0 +1,12 @@
### ### ###
### ## ##
#### ## ##
## ## ## ##
## #### ##
## ### ##
## ## ## http://www.neutrino-images.de
#
Kernel: %r %v @%m
Date: %d, %t

60
skel-root/axtech/ax/etc/mdev.conf

@ -0,0 +1,60 @@
# /etc/mdev.conf
# Syntax:
# [-]devicename_regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...]
# [-]$ENVVAR=regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...]
# [-]@maj,min[-min2] user:group mode [=path]|[>path]|[!] [@|$|*cmd args...]
#
# [-]: do not stop on this match, continue reading mdev.conf
# =: move, >: move and create a symlink
# !: do not create device node
# @|$|*: run cmd if $ACTION=remove, @cmd if $ACTION=add, *cmd in all cases
# Support module loading on hotplug
#$MODALIAS=.* root:root 0660 @/bin/busybox modprobe "$MODALIAS"
null root:root 0666
zero root:root 0666
full root:root 0666
random root:root 0666
urandom root:root 0444
# Console device
console root:tty 0600
# TTY devices
ttyS[0-9]* root:root 0660
ttyUSB[0-9]* root:root 0660
# DVB devices
dvb([0-9])\.(.*)([0-9]) root:root 0660 =dvb/adapter%1/%2%3
# Input layer
event[0-9]+ root:root 0640 =input/
mice root:root 0640 =input/
mouse[0-9]+ root:root 0640 =input/
# USB devices
[0-3]-.*:1.0 root:root 0660 */lib/mdev/usb/mdev-usb
# Mass-storage devices
sd[a-z][0-9] root:root 0664 */lib/mdev/fs/mdev-mount
# Disc devices
sr[0-9] root:root 0664 */lib/mdev/fs/mdev-mount
# Memory cards / eMMC-Partitions
mmcblk[0-9]p[0-9] root:root 0664 */lib/mdev/fs/mdev-mmcblk
# WLAN devices
ra[0-9]* root:root 0644 */lib/mdev/net/mdev-wlan
rausb[0-9]* root:root 0644 */lib/mdev/net/mdev-wlan
wlan[0-9]* root:root 0644 */lib/mdev/net/mdev-wlan
# Block devices: group -> disk
mtdblock[0-9] root:root 0600
# Double up flash characters devices
mtd[0-9]+ root:root 0600
mtd[0-9]+ro root:root 0600
# Log all other devices. Right now useful only for debuging.
.* root:root 0600 */lib/mdev/common/mdev-log-only

1
skel-root/axtech/ax/etc/mtab

@ -0,0 +1 @@
/proc/mounts

0
skel-root/axtech/ax/etc/network/if-down.d/.gitignore

0
skel-root/axtech/ax/etc/network/if-post-down.d/.gitignore

0
skel-root/axtech/ax/etc/network/if-post-up.d/.gitignore

0
skel-root/axtech/ax/etc/network/if-pre-up.d/.gitignore

0
skel-root/axtech/ax/etc/network/if-up.d/.gitignore

4
skel-root/axtech/ax/etc/network/interfaces

@ -0,0 +1,4 @@
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

8
skel-root/axtech/ax/etc/network/post-wlan0.sh

@ -0,0 +1,8 @@
#!/bin/sh
. /etc/init.d/globals
SHOWINFO "Stopping wlan0"
/sbin/wpa_cli terminate
sleep 2

11
skel-root/axtech/ax/etc/network/pre-wlan0.sh

@ -0,0 +1,11 @@
#!/bin/sh
. /etc/init.d/globals
SHOWINFO "Starting wlan0"
/sbin/wpa_cli terminate
sleep 2
/sbin/wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 -B
sleep 8

47
skel-root/axtech/ax/etc/nsswitch.conf

@ -0,0 +1,47 @@
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Legal entries are:
#
# nisplus or nis+ Use NIS+ (NIS version 3)
# nis or yp Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files
# db Use the local database (.db) files
# compat Use NIS on compat mode
# hesiod Use Hesiod for user lookups
# [NOTFOUND=return] Stop searching if not found so far
#
# To use db, put the "db" in front of "files" for entries you want to be
# looked up first in the databases
#
# Example:
#passwd: db files nisplus nis
passwd: files
shadow: files
group: files
hosts: files dns
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#bootparams: nisplus [NOTFOUND=return] files
#netgroup: nisplus
#publickey: nisplus
#automount: files nisplus
#aliases: files nisplus

5
skel-root/axtech/ax/etc/passwd

@ -0,0 +1,5 @@
root:gbAdujXVMYE.6:0:0::/root:/bin/sh
sshd:*:65531:65534::/:/bin/false
ftp:*:65532:65534::/:/bin/false
ftpguest:acFuqMq23IVqc:65533:65534::/media:/bin/false
nobody:*:65534:65534::/:/bin/false

17
skel-root/axtech/ax/etc/profile

@ -0,0 +1,17 @@
# /etc/profile: system-wide profile file for the shell
PATH=/sbin:/bin:/usr/bin:/var/bin
TERM=linux
PS1='[\h] \w \$ '
alias l='ls -al'
alias ll='ls -l'
alias dir='ls -lA'
alias ..='cd ..'
alias mc='mc -a'
alias sc='setconsole'
alias sr='setconsole -r'
# Add your own modifications to /var/etc/profile.local!
test -e /var/etc/profile.local && . /var/etc/profile.local

1
skel-root/axtech/ax/etc/profile.local

@ -0,0 +1 @@
# /var/etc/profile.local: your profile modifications for the shell

34
skel-root/axtech/ax/etc/protocols

@ -0,0 +1,34 @@
# /etc/protocols: This file describes the various protocols that are
# available from the TCP/IP subsystem. It should be
# consulted instead of using the numbers in the ARPA
# include files, or, worse, just guessing them.
# Internet (IP) protocols
#
ip 0 IP # internet protocol v4
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # internet group multicast protocol
ggp 3 GGP # gateway-gateway protocol
tcp 6 TCP # transmission control protocol
egp 8 EGP # exterior gateway protocol
pup 12 PUP # PARC universal packet protocol
udp 17 UDP # user datagram protocol
hmp 20 HMP # host monitoring protocol
idp 22 IDP # WhatsThis?
rdp 27 RDP # "reliable datagram" protocol
iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4
# Internet (IPv6) extension headers
#
hopopt 0 HOPOPT # Hop-by-hop optons for IPv6
ipv6 41 IPv6 # IPv6
ipv6-route 43 IPv6-Route # Routing Header for IPv6
ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6
ipv6-crypt 50 IPv6-Crypt # Encryption Header for IPv6
ipv6-auth 51 IPv6-Auth # Authentication Header for IPv6
icmpv6 58 IPv6-ICMP ICMPV6 ipv6-icmp icmp6 # ICMP for IPv6
ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6
ipv6-opts 60 IPv6-Opts # Destination Options for IPv6
iso-ip 80 ISO-IP # ISO Internet Protocol
encap 98 ENCAP # RFC1241 encapsulation
raw 255 RAW # RAW IP interface

544
skel-root/axtech/ax/etc/services

@ -0,0 +1,544 @@
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, officially ports have two entries
# even if the protocol doesn't support UDP operations.
#
# Updated from http://www.iana.org/assignments/port-numbers and other
# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
# New ports will be added on request if they have been officially assigned
# by IANA and used in the real-world or are needed by a debian package.
# If you need a huge list of used numbers please install the nmap package.
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
msp 18/udp
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp fspd
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
tacacs 49/tcp # Login Host Protocol (TACACS)
tacacs 49/udp
re-mail-ck 50/tcp # Remote Mail Checking Protocol
re-mail-ck 50/udp
domain 53/tcp nameserver # name-domain server
domain 53/udp nameserver
mtp 57/tcp # deprecated
tacacs-ds 65/tcp # TACACS-Database Service
tacacs-ds 65/udp
bootps 67/tcp # BOOTP server
bootps 67/udp
bootpc 68/tcp # BOOTP client
bootpc 68/udp
tftp 69/udp
gopher 70/tcp # Internet Gopher
gopher 70/udp
rje 77/tcp netrjs
finger 79/tcp
www 80/tcp http # WorldWideWeb HTTP
www 80/udp # HyperText Transfer Protocol
link 87/tcp ttylink
kerberos 88/tcp kerberos5 krb5 kerberos-sec # Kerberos v5
kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5
supdup 95/tcp
hostnames 101/tcp hostname # usually from sri-nic
iso-tsap 102/tcp tsap # part of ISODE
acr-nema 104/tcp dicom # Digital Imag. & Comm. 300
acr-nema 104/udp dicom # Digital Imag. & Comm. 300
csnet-ns 105/tcp cso-ns # also used by CSO name server
csnet-ns 105/udp cso-ns
rtelnet 107/tcp # Remote Telnet
rtelnet 107/udp
pop2 109/tcp postoffice pop-2 # POP version 2
pop2 109/udp pop-2
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
sunrpc 111/tcp portmapper # RPC 4.0 portmapper
sunrpc 111/udp portmapper
auth 113/tcp authentication tap ident
sftp 115/tcp
uucp-path 117/tcp
nntp 119/tcp readnews untp # USENET News Transfer Protocol
ntp 123/tcp
ntp 123/udp # Network Time Protocol
pwdgen 129/tcp # PWDGEN service
pwdgen 129/udp # PWDGEN service
loc-srv 135/tcp epmap # Location Service
loc-srv 135/udp epmap
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
imap2 143/tcp imap # Interim Mail Access P 2 and 4
imap2 143/udp imap
snmp 161/tcp # Simple Net Mgmt Protocol
snmp 161/udp # Simple Net Mgmt Protocol
snmp-trap 162/tcp snmptrap # Traps for SNMP
snmp-trap 162/udp snmptrap # Traps for SNMP
cmip-man 163/tcp # ISO mgmt over IP (CMOT)
cmip-man 163/udp
cmip-agent 164/tcp
cmip-agent 164/udp
mailq 174/tcp # Mailer transport queue for Zmailer
mailq 174/udp # Mailer transport queue for Zmailer
xdmcp 177/tcp # X Display Mgr. Control Proto
xdmcp 177/udp
nextstep 178/tcp NeXTStep NextStep # NeXTStep window
nextstep 178/udp NeXTStep NextStep # server
bgp 179/tcp # Border Gateway Protocol
bgp 179/udp
prospero 191/tcp # Cliff Neuman's Prospero
prospero 191/udp
irc 194/tcp # Internet Relay Chat
irc 194/udp
smux 199/tcp # SNMP Unix Multiplexer
smux 199/udp
at-rtmp 201/tcp # AppleTalk routing
at-rtmp 201/udp
at-nbp 202/tcp # AppleTalk name binding
at-nbp 202/udp
at-echo 204/tcp # AppleTalk echo
at-echo 204/udp
at-zis 206/tcp # AppleTalk zone information
at-zis 206/udp
qmtp 209/tcp # Quick Mail Transfer Protocol
qmtp 209/udp # Quick Mail Transfer Protocol
z3950 210/tcp wais # NISO Z39.50 database
z3950 210/udp wais
ipx 213/tcp # IPX
ipx 213/udp
imap3 220/tcp # Interactive Mail Access
imap3 220/udp # Protocol v3
pawserv 345/tcp # Perf Analysis Workbench
pawserv 345/udp
zserv 346/tcp # Zebra server
zserv 346/udp
fatserv 347/tcp # Fatmen Server
fatserv 347/udp
rpc2portmap 369/tcp
rpc2portmap 369/udp # Coda portmapper
codaauth2 370/tcp
codaauth2 370/udp # Coda authentication server
clearcase 371/tcp Clearcase
clearcase 371/udp Clearcase
ulistserv 372/tcp # UNIX Listserv
ulistserv 372/udp
ldap 389/tcp # Lightweight Directory Access Protocol
ldap 389/udp
imsp 406/tcp # Interactive Mail Support Protocol
imsp 406/udp
https 443/tcp # http protocol over TLS/SSL
https 443/udp
snpp 444/tcp # Simple Network Paging Protocol
snpp 444/udp
microsoft-ds 445/tcp # Microsoft Naked CIFS
microsoft-ds 445/udp
saft 487/tcp # Simple Asynchronous File Transfer
saft 487/udp
isakmp 500/tcp # IPsec - Internet Security Association
isakmp 500/udp # and Key Management Protocol
rtsp 554/tcp # Real Time Stream Control Protocol
rtsp 554/udp # Real Time Stream Control Protocol
nqs 607/tcp # Network Queuing system
nqs 607/udp
npmp-local 610/tcp dqs313_qmaster # npmp-local / DQS
npmp-local 610/udp dqs313_qmaster
npmp-gui 611/tcp dqs313_execd # npmp-gui / DQS
npmp-gui 611/udp dqs313_execd
hmmp-ind 612/tcp dqs313_intercell # HMMP Indication / DQS
hmmp-ind 612/udp dqs313_intercell
ipp 631/tcp # Internet Printing Protocol
ipp 631/udp
#
# UNIX specific services
#
exec 512/tcp
biff 512/udp comsat
login 513/tcp
who 513/udp whod
shell 514/tcp cmd # no passwords used
syslog 514/udp
printer 515/tcp spooler # line printer spooler
talk 517/udp
ntalk 518/udp
route 520/udp router routed # RIP
timed 525/udp timeserver
tempo 526/tcp newdate
courier 530/tcp rpc
conference 531/tcp chat
netnews 532/tcp readnews
netwall 533/udp # for emergency broadcasts
gdomap 538/tcp # GNUstep distributed objects
gdomap 538/udp
uucp 540/tcp uucpd # uucp daemon
klogin 543/tcp # Kerberized `rlogin' (v5)
kshell 544/tcp krcmd # Kerberized `rsh' (v5)
afpovertcp 548/tcp # AFP over TCP
afpovertcp 548/udp
remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
nntps 563/tcp snntp # NNTP over SSL
nntps 563/udp snntp
submission 587/tcp # Submission [RFC2476]
submission 587/udp
ldaps 636/tcp # LDAP over SSL
ldaps 636/udp
tinc 655/tcp # tinc control port
tinc 655/udp
silc 706/tcp
silc 706/udp
kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
#
webster 765/tcp # Network dictionary
webster 765/udp
rsync 873/tcp
rsync 873/udp
ftps-data 989/tcp # FTP over SSL (data)
ftps 990/tcp
telnets 992/tcp # Telnet over SSL
telnets 992/udp
imaps 993/tcp # IMAP over SSL
imaps 993/udp
ircs 994/tcp # IRC over SSL
ircs 994/udp
pop3s 995/tcp # POP-3 over SSL
pop3s 995/udp
#
# From ``Assigned Numbers'':
#
#> The Registered Ports are not controlled by the IANA and on most systems
#> can be used by ordinary user processes or programs executed by ordinary
#> users.
#
#> Ports are used in the TCP [45,106] to name the ends of logical
#> connections which carry long term conversations. For the purpose of
#> providing services to unknown callers, a service contact port is
#> defined. This list specifies the port used by the server process as its
#> contact port. While the IANA can not control uses of these ports it
#> does register or list uses of these ports as a convienence to the
#> community.
#
socks 1080/tcp # socks proxy server
socks 1080/udp
proofd 1093/tcp
proofd 1093/udp
rootd 1094/tcp
rootd 1094/udp
openvpn 1194/tcp
openvpn 1194/udp
rmiregistry 1099/tcp # Java RMI Registry
rmiregistry 1099/udp
kazaa 1214/tcp
kazaa 1214/udp
nessus 1241/tcp # Nessus vulnerability
nessus 1241/udp # assessment scanner
lotusnote 1352/tcp lotusnotes # Lotus Note
lotusnote 1352/udp lotusnotes
ms-sql-s 1433/tcp # Microsoft SQL Server
ms-sql-s 1433/udp
ms-sql-m 1434/tcp # Microsoft SQL Monitor
ms-sql-m 1434/udp
ingreslock 1524/tcp
ingreslock 1524/udp
prospero-np 1525/tcp # Prospero non-privileged
prospero-np 1525/udp
datametrics 1645/tcp old-radius
datametrics 1645/udp old-radius
sa-msg-port 1646/tcp old-radacct
sa-msg-port 1646/udp old-radacct
kermit 1649/tcp
kermit 1649/udp
l2f 1701/tcp l2tp
l2f 1701/udp l2tp
radius 1812/tcp
radius 1812/udp
radius-acct 1813/tcp radacct # Radius Accounting
radius-acct 1813/udp radacct
unix-status 1957/tcp # remstats unix-status server
log-server 1958/tcp # remstats log server
remoteping 1959/tcp # remstats remoteping server
nfsd 2049/tcp nfs # NFS server daemon
nfsd 2049/udp nfs # NFS server daemon
rtcm-sc104 2101/tcp # RTCM SC-104 IANA 1/29/99
rtcm-sc104 2101/udp
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp
venus 2430/tcp # codacon port
venus 2430/udp # Venus callback/wbc interface
venus-se 2431/tcp # tcp side effects
venus-se 2431/udp # udp sftp side effect
codasrv 2432/tcp # not used
codasrv 2432/udp # server port
codasrv-se 2433/tcp # tcp side effects
codasrv-se 2433/udp # udp sftp side effect
mon 2583/tcp # MON
mon 2583/udp
dict 2628/tcp # Dictionary server
dict 2628/udp
gpsd 2947/tcp
gpsd 2947/udp
gds_db 3050/tcp # InterBase server
gds_db 3050/udp
icpv2 3130/tcp icp # Internet Cache Protocol
icpv2 3130/udp icp
mysql 3306/tcp
mysql 3306/udp
nut 3493/tcp # Network UPS Tools
nut 3493/udp
distcc 3632/tcp # distributed compiler
distcc 3632/udp
daap 3689/tcp # Digital Audio Access Protocol
daap 3689/udp
svn 3690/tcp subversion # Subversion protocol
svn 3690/udp subversion
iax 4569/tcp # Inter-Asterisk eXchange
iax 4569/udp
radmin-port 4899/tcp # RAdmin Port
radmin-port 4899/udp
rfe 5002/udp # Radio Free Ethernet
rfe 5002/tcp
sip 5060/tcp # Session Initiation Protocol
sip 5060/udp
sip-tls 5061/tcp
sip-tls 5061/udp
xmpp-client 5222/tcp jabber-client # Jabber Client Connection
xmpp-client 5222/udp jabber-client
xmpp-server 5269/tcp jabber-server # Jabber Server Connection
xmpp-server 5269/udp jabber-server
cfengine 5308/tcp
cfengine 5308/udp
postgresql 5432/tcp postgres # PostgreSQL Database
postgresql 5432/udp postgres
x11 6000/tcp x11-0 # X Window System
x11 6000/udp x11-0
x11-1 6001/tcp
x11-1 6001/udp
x11-2 6002/tcp
x11-2 6002/udp
x11-3 6003/tcp
x11-3 6003/udp
x11-4 6004/tcp
x11-4 6004/udp
x11-5 6005/tcp
x11-5 6005/udp
x11-6 6006/tcp
x11-6 6006/udp
x11-7 6007/tcp
x11-7 6007/udp
gnutella-svc 6346/tcp # gnutella
gnutella-svc 6346/udp
gnutella-rtr 6347/tcp # gnutella
gnutella-rtr 6347/udp
afs3-fileserver 7000/tcp bbs # file server itself
afs3-fileserver 7000/udp bbs
afs3-callback 7001/tcp # callbacks to cache managers
afs3-callback 7001/udp
afs3-prserver 7002/tcp # users & groups database
afs3-prserver 7002/udp
afs3-vlserver 7003/tcp # volume location database
afs3-vlserver 7003/udp
afs3-kaserver 7004/tcp # AFS/Kerberos authentication
afs3-kaserver 7004/udp
afs3-volser 7005/tcp # volume managment server
afs3-volser 7005/udp
afs3-errors 7006/tcp # error interpretation service
afs3-errors 7006/udp
afs3-bos 7007/tcp # basic overseer process
afs3-bos 7007/udp
afs3-update 7008/tcp # server-to-server updater
afs3-update 7008/udp
afs3-rmtsys 7009/tcp # remote cache manager service
afs3-rmtsys 7009/udp
font-service 7100/tcp xfs # X Font Service
font-service 7100/udp xfs
bacula-dir 9101/tcp # Bacula Director
bacula-dir 9101/udp
bacula-fd 9102/tcp # Bacula File Daemon
bacula-fd 9102/udp
bacula-sd 9103/tcp # Bacula Storage Daemon
bacula-sd 9103/udp
amanda 10080/tcp # amanda backup services
amanda 10080/udp
hkp 11371/tcp # OpenPGP HTTP Keyserver
hkp 11371/udp # OpenPGP HTTP Keyserver
bprd 13720/tcp # VERITAS NetBackup
bprd 13720/udp
bpdbm 13721/tcp # VERITAS NetBackup
bpdbm 13721/udp
bpjava-msvc 13722/tcp # BP Java MSVC Protocol
bpjava-msvc 13722/udp
vnetd 13724/tcp # Veritas Network Utility
vnetd 13724/udp
bpcd 13782/tcp # VERITAS NetBackup
bpcd 13782/udp
vopied 13783/tcp # VERITAS NetBackup
vopied 13783/udp
wnn6 22273/tcp # wnn6
wnn6 22273/udp
#
# Datagram Delivery Protocol services
#
rtmp 1/ddp # Routing Table Maintenance Protocol
nbp 2/ddp # Name Binding Protocol
echo 4/ddp # AppleTalk Echo Protocol
zip 6/ddp # Zone Information Protocol
#=========================================================================
# The remaining port numbers are not as allocated by IANA.
#=========================================================================
# Kerberos (Project Athena/MIT) services
# Note that these are for Kerberos v4, and are unofficial. Sites running
# v4 should uncomment these and comment out the v5 entries above.
#
kerberos4 750/udp kerberos-iv kdc # Kerberos (server)
kerberos4 750/tcp kerberos-iv kdc
kerberos_master 751/udp # Kerberos authentication
kerberos_master 751/tcp
passwd_server 752/udp # Kerberos passwd server
krb_prop 754/tcp krb5_prop hprop # Kerberos slave propagation
krbupdate 760/tcp kreg # Kerberos registration
kpasswd 761/tcp kpwd # Kerberos "passwd"
swat 901/tcp # swat
kpop 1109/tcp # Pop with Kerberos
knetd 2053/tcp # Kerberos de-multiplexor
zephyr-srv 2102/udp # Zephyr server
zephyr-clt 2103/udp # Zephyr serv-hm connection
zephyr-hm 2104/udp # Zephyr hostmanager
eklogin 2105/tcp # Kerberos encrypted rlogin
# Hmmm. Are we using Kv4 or Kv5 now? Worrying.
# The following is probably Kerberos v5 --- ajt@debian.org (11/02/2000)
kx 2111/tcp # X over Kerberos
iprop 2121/tcp # incremental propagation
#
# Unofficial but necessary (for NetBSD) services
#
supfilesrv 871/tcp # SUP server
supfiledbg 1127/tcp # SUP debugging
#
# Services added for the Debian GNU/Linux distribution
#
linuxconf 98/tcp # LinuxConf
poppassd 106/tcp # Eudora
poppassd 106/udp
ssmtp 465/tcp smtps # SMTP over SSL
moira_db 775/tcp # Moira database
moira_update 777/tcp # Moira update protocol
moira_ureg 779/udp # Moira user registration
spamd 783/tcp # spamassassin daemon
omirr 808/tcp omirrd # online mirror
omirr 808/udp omirrd
customs 1001/tcp # pmake customs server
customs 1001/udp
skkserv 1178/tcp # skk jisho server port
predict 1210/udp # predict -- satellite tracking
rmtcfg 1236/tcp # Gracilis Packeten remote config server
wipld 1300/tcp # Wipl network monitor
xtel 1313/tcp # french minitel
xtelw 1314/tcp # french minitel
support 1529/tcp # GNATS
sieve 2000/tcp # Sieve mail filter daemon
cfinger 2003/tcp # GNU Finger
ndtp 2010/tcp # Network dictionary transfer protocol
frox 2121/tcp # frox: caching ftp proxy
ninstall 2150/tcp # ninstall service
ninstall 2150/udp
zebrasrv 2600/tcp # zebra service
zebra 2601/tcp # zebra vty
ripd 2602/tcp # ripd vty (zebra)
ripngd 2603/tcp # ripngd vty (zebra)
ospfd 2604/tcp # ospfd vty (zebra)
bgpd 2605/tcp # bgpd vty (zebra)
ospf6d 2606/tcp # ospf6d vty (zebra)
ospfapi 2607/tcp # OSPF-API
isisd 2608/tcp # ISISd vty (zebra)
afbackup 2988/tcp # Afbackup system
afbackup 2988/udp
afmbackup 2989/tcp # Afmbackup system
afmbackup 2989/udp
xtell 4224/tcp # xtell server
fax 4557/tcp # FAX transmission service (old)
hylafax 4559/tcp # HylaFAX client-server protocol (new)
distmp3 4600/tcp # distmp3host daemon
munin 4949/tcp lrrd # Munin
enbd-cstatd 5051/tcp # ENBD client statd
enbd-sstatd 5052/tcp # ENBD server statd
pcrd 5151/tcp # PCR-1000 Daemon
noclog 5354/tcp # noclogd with TCP (nocol)
noclog 5354/udp # noclogd with UDP (nocol)
hostmon 5355/tcp # hostmon uses TCP (nocol)
hostmon 5355/udp # hostmon uses UDP (nocol)
rplay 5555/udp # RPlay audio service
rplay 5555/tcp
rptp 5556/udp # Remote Play Transfer Protocol
rptp 5556/tcp
nsca 5667/tcp # Nagios Agent - NSCA
mrtd 5674/tcp # MRT Routing Daemon
bgpsim 5675/tcp # MRT Routing Simulator
canna 5680/tcp # cannaserver
sane-port 6566/tcp sane saned # SANE network scanner daemon
ircd 6667/tcp # Internet Relay Chat
zope-ftp 8021/tcp # zope management by ftp
webcache 8080/tcp # WWW caching service
tproxy 8081/tcp # Transparent Proxy
omniorb 8088/tcp # OmniORB
omniorb 8088/udp
clc-build-daemon 8990/tcp # Common lisp build daemon
xinetd 9098/tcp
mandelspawn 9359/udp mandelbrot # network mandelbrot
zope 9673/tcp # zope server
kamanda 10081/tcp # amanda backup services (Kerberos)
kamanda 10081/udp
amandaidx 10082/tcp # amanda backup services
amidxtape 10083/tcp # amanda backup services
smsqp 11201/tcp # Alamin SMS gateway
smsqp 11201/udp
xpilot 15345/tcp # XPilot Contact Port
xpilot 15345/udp
sgi-cmsd 17001/udp # Cluster membership services daemon
sgi-crsd 17002/udp
sgi-gcd 17003/udp # SGI Group membership daemon
sgi-cad 17004/tcp # Cluster Admin daemon
isdnlog 20011/tcp # isdn logging system
isdnlog 20011/udp
vboxd 20012/tcp # voice box system
vboxd 20012/udp
binkp 24554/tcp # binkp fidonet protocol
asp 27374/tcp # Address Search Protocol
asp 27374/udp
dircproxy 57000/tcp # Detachable IRC Proxy
tfido 60177/tcp # fidonet EMSI over telnet
fido 60179/tcp # fidonet EMSI over TCP
# Local services
streamsec 31335/tcp
streamavpes 31336/tcp
streamps 31337/tcp
streampes 31338/tcp
streamts 31339/tcp
udpstreampes 31340/tcp
udpstreampes 31341/udp
streamtsfile 31342/tcp
streames 31343/tcp

2
skel-root/axtech/ax/etc/shells

@ -0,0 +1,2 @@
/bin/sh
/bin/bash

0
skel-root/axtech/ax/lib/firmware/.gitignore

8
skel-root/axtech/ax/lib/mdev/common/mdev-log-only

@ -0,0 +1,8 @@
#!/bin/sh
# log only when requested
[ $# -eq 0 ] && exit 0
. /etc/init.d/globals
env | egrep -v '^(HOME|PATH|PWD|CONFIG_.*)=') | LOGDEBUG

10
skel-root/axtech/ax/lib/mdev/common/mdev-modprobe

@ -0,0 +1,10 @@
#!/bin/sh
[ "$ACTION" = remove ] && action='-r -a'
. /etc/init.d/globals
for module in "$@"; do
modprobe $action $module &&
LOGINFO "${ACTION:-scan} module $module succeed"
done

6
skel-root/axtech/ax/lib/mdev/common/mdev-module

@ -0,0 +1,6 @@
#!/bin/sh
. /etc/init.d/globals
LOGINFO "${ACTION:-scan} module chain $@"
/lib/mdev/common/mdev-modprobe "$@"

24
skel-root/axtech/ax/lib/mdev/fs/mdev-mmcblk

@ -0,0 +1,24 @@
#!/bin/sh
. /etc/init.d/globals
MOUNTBASE=/media
MOUNTPOINT="$MOUNTBASE/$MDEV"
ROOTDEV=$(readlink /dev/root)
# do not add or remove root device again...
[ "$ROOTDEV" = "$MDEV" ] && exit 0
if [ -e /tmp/.nomdevmount ]; then
LOGINFO "no action on $MDEV -- /tmp/.nomdevmount exists"
exit 0
fi
case "$ACTION" in
add)
LOGINFO "[$ACTION] do nothing on /dev/$MDEV"
;;
remove)
LOGINFO "[$ACTION] do nothing on $MOUNTBASE/$MDEV"
;;
esac

113
skel-root/axtech/ax/lib/mdev/fs/mdev-mount

@ -0,0 +1,113 @@
#!/bin/sh
# based on script from http://gitorious.org/neutrino-hd/buildsystem-cs
. /etc/init.d/globals
MOUNTBASE=/media
MOUNTPOINT="$MOUNTBASE/$MDEV"
ROOTDEV=$(readlink /dev/root)
# do not add or remove root device again...
[ "$ROOTDEV" = "$MDEV" ] && exit 0
if [ -e /tmp/.nomdevmount ]; then
LOGINFO "no action on $MDEV -- /tmp/.nomdevmount exists"
exit 0
fi
create_symlinks() {
DEVBASE=${MDEV:0:3} # first 3 characters
PARTNUM=${MDEV:3} # characters 4-
if [ -e /sys/block/$DEVBASE/device/model ]; then # don't read if blockdevice not present
read MODEL < /sys/block/$DEVBASE/device/model
fi
MODEL=${MODEL// /_} # replace ' ' with '_'
OLDPWD=$PWD
cd $MOUNTBASE
if which blkid > /dev/null; then
BLKID=$(blkid /dev/$MDEV)
eval ${BLKID#*:}
fi
if [ -n "$LABEL" ]; then
LABEL=${LABEL// /_} # replace ' ' with '_'
rm -f "$LABEL"
ln -s $MDEV "$LABEL"
fi
if [ -n "$UUID" ]; then
LINK="${TYPE}${TYPE:+-}${UUID}"
rm -f "${LINK}"
ln -s $MDEV "${LINK}"
fi
if [ -n "$MODEL" ]; then
LINK="${MODEL}${PARTNUM:+-}${PARTNUM}"
rm -f "${LINK}"
ln -s $MDEV "${LINK}"
fi
cd $OLDPWD
}
remove_symlinks() {
OLDPWD=$PWD
cd $MOUNTBASE
for i in *; do
[ -L "$i" ] || continue
TARGET=$(readlink "$i")
if [ "$TARGET" = "$MDEV" ]; then
rm "$i"
fi
done
cd $OLDPWD
}
case "$ACTION" in
add)
if [ ${#MDEV} = 3 ]; then # sda, sdb, sdc => whole drive
PARTS=$(sed -n "/ ${MDEV}[0-9]$/{s/ *[0-9]* *[0-9]* * [0-9]* //;p}" /proc/partitions)
if [ -n "$PARTS" ]; then
LOGINFO "drive has partitions $PARTS, not trying to mount $MDEV"
exit 0
fi
fi
if grep -q "/dev/$MDEV" /proc/mounts; then
LOGINFO "/dev/$MDEV already mounted - not mounting again"
exit 0
fi
LOGINFO "[$ACTION] mounting /dev/$MDEV to $MOUNTPOINT"
# remove old mountpoint symlinks we might have for this device
rm -f $MOUNTPOINT
mkdir -p $MOUNTPOINT
for i in 1 2 3 4 5 6 7 8 9; do # retry 9 times for slow devices
# LOGINFO "mounting /dev/$MDEV to $MOUNTPOINT try $i"
OUT1=$(mount -t auto /dev/$MDEV $MOUNTPOINT 2>&1 >/dev/null)
RET1=$?
[ $RET1 = 0 ] && break
sleep 1
done
if [ $RET1 = 0 ]; then
create_symlinks
else
LOGWARN "mount /dev/$MDEV $MOUNTPOINT failed with $RET1"
LOGWARN " $OUT1"
rmdir $MOUNTPOINT
fi
if [ -x /bin/mdev_helper ]; then
/bin/mdev_helper
fi
;;
remove)
LOGINFO "[$ACTION] unmounting $MOUNTBASE/$MDEV"
grep -q "^/dev/$MDEV " /proc/mounts || exit 0 # not mounted...
umount -lf $MOUNTBASE/$MDEV
RET=$?
if [ $RET = 0 ]; then
rmdir $MOUNTPOINT
remove_symlinks
else
LOGWARN "umount $MOUNTBASE/$MDEV failed with $RET"
fi
if [ -x /bin/mdev_helper ]; then
/bin/mdev_helper
fi
;;
esac

19
skel-root/axtech/ax/lib/mdev/net/mdev-wlan

@ -0,0 +1,19 @@
#!/bin/sh
. /etc/init.d/globals
case "$ACTION" in
add|"")
if [ -s /etc/wpa_supplicant.conf ]; then
LOGINFO "trying to bring $MDEV up"
ifup $MDEV
else
LOGWARN "/etc/wpa_supplicant.conf missing or empty, not trying to bring $MDEV up"
fi
;;
remove)
LOGINFO "trying to bring $MDEV down"
ifdown $MDEV
;;
esac

31
skel-root/axtech/ax/lib/mdev/usb/coldplug-setenv

@ -0,0 +1,31 @@
#!/bin/false
for path in $(find /sys/devices -name "$MDEV" 2>/dev/null); do
DEVPATH=${path#/sys}
done
MODALIAS=$(cat /sys${DEVPATH}/modalias 2>/dev/null)
parse_interface () {
printf '%d/%d/%d' $(sed 's/.*dp[0-F]\{2\}//;s/[iscp]\+/ 0x/g')
}
parse_type () {
printf '%d/%d/%d' $(sed 's/.*d[0-9]\{4\}//;s/ic.*//;s/[dscp]\+/ 0x/g')
}
parse_product () {
sed 's!^usb:\(.*\)dc.*!\1!;s![vpd]!/!g;s!/0\{1,3\}!/!g;s!^/!!;y!ABCDEF!abcdef!'
}
TYPE=$(echo $MODALIAS | parse_type)
PRODUCT=$(echo $MODALIAS | parse_product)
INTERFACE=$(echo $MODALIAS | parse_interface)
for var in DEVPATH MODALIAS TYPE PRODUCT INTERFACE; do
if [ -z "$(eval "echo \$${var}")" ]; then
LOGERROR "Could not set uevent environment variable $var"
exit 1
fi
done
unset path var
unset -f parse_type parse_interface parse_product

119
skel-root/axtech/ax/lib/mdev/usb/mdev-usb

@ -0,0 +1,119 @@
#!/bin/sh
. /etc/init.d/globals
# setup environment for coldplug events
[ -z "$ACTION" ] && . /lib/mdev/usb/coldplug-setenv
# get proper product and manufacturer description (only works for ACTION=add)
[ -z "$DEVPATH" ] && LOGERROR 'uevent environment variable DEVPATH is unset' && exit 1
if [ -d /sys${DEVPATH} ]; then
cd /sys${DEVPATH}/..
for f in product manufacturer id[PV]*; do
[ -r $f ] && eval "$f='$(cat $f)'"
done
cd $MDEV
fi
# get $idVendor and $idProduct from $MODALIAS if necessary
idVendor=${idVendor:-${MODALIAS:5:4}}
idProduct=${idProduct:-${MODALIAS:10:4}}
# set $idVendor and $idProduct lower case and w/o leading zeros
idVendor=$(echo ${idVendor} | sed 's/^[0]*//' | tr [:upper:] [:lower:])
idProduct=$(echo ${idProduct} | sed 's/^[0]*//' | tr [:upper:] [:lower:])
channel=${MDEV%:1.0}
LOGINFO "${ACTION} $channel ${manufacturer:-$idVendor} ${product:-$idProduct}"
# for debug
#LOGINFO "ACTION=${ACTION}"
#LOGINFO "MDEV=${MDEV}"
#LOGINFO "DEVPATH=${DEVPATH}"
#LOGINFO "INTERFACE=${INTERFACE}"
#LOGINFO "MODALIAS=${MODALIAS}"
#LOGINFO "PRODUCT=${product} idProduct=${idProduct}"
#LOGINFO "MANUFACTURER=${manufacturer} idVendor=${idVendor}"
# http://en.wikipedia.org/wiki/Universal_Serial_Bus#Device_classes
# http://www.usb.org/developers/defined_class
[ 0 -eq "${TYPE%%/*}" ] && TYPE=$INTERFACE
LOGINFO "type ${TYPE}"
case $TYPE in
1/*/*)
LOGINFO "$channel USB Audio Interface"
;;
2/*/*)
LOGINFO "$channel Communications and CDC Control"
;;
3/*/*)
LOGINFO "$channel HID (Human Interface Device)"
# precheck vendor id for unsupported DPF in bootloader mode
if [ "$idVendor" == "1908" ]; then
service extdisplay ${ACTION} ${MDEV} ${idVendor} ${idProduct}
fi
;;
5/*/*)
LOGINFO "$channel Physical Interface"
;;
6/*/*)
LOGINFO "$channel Image Interface"
;;
7/*/*)
LOGINFO "$channel Printer Interface"
;;
8/*/*)
LOGINFO "$channel Mass Storage Interface"
# precheck vendor id for supported SPFs
if [ "$idVendor" == "4e8" ]; then
service extdisplay ${ACTION} ${MDEV} ${idVendor} ${idProduct}
fi
;;
9/*/*)
LOGINFO "$channel HUB Device"
;;
10/*/*)
LOGINFO "$channel CDC Data Interface"
;;
11/*/*)
LOGINFO "$channel Smart Card Interface"
;;
13/*/*)
LOGINFO "$channel Content Security Interface"
;;
14/*/*)
LOGINFO "$channel Video Interface"
;;
15/*/*)
LOGINFO "$channel Personal Healthcare Interface"
;;
16/*/*)
LOGINFO "$channel usb Audio/Video Devices Interface"
;;
17/*/*)
LOGINFO "$channel Billboard Device Class"
;;
220/*/*)
LOGINFO "$channel Diagnostic Device"
;;
224/*/*)
LOGINFO "$channel Wireless Controller Interface"
;;
239/*/*)
LOGINFO "$channel Miscellaneous"
;;
254/*/*)
LOGINFO "$channel Application Specific"
;;
255/*/*)
LOGINFO "$channel Vendor Specific"
# pre-check vendor id for supported DPFs and SPFs
if [ "$idVendor" = "1908" -o "$idVendor" == "4e8" ]; then
service extdisplay ${ACTION} ${MDEV} ${idVendor} ${idProduct}
fi
;;
*)
LOGINFO "FALLBACK: $channel device $MODALIAS"
;;
esac
/lib/mdev/common/mdev-modprobe $MODALIAS

0
skel-root/axtech/ax/media/.gitignore

0
skel-root/axtech/ax/mnt/.gitignore

0
skel-root/axtech/ax/proc/.gitignore

32
skel-root/axtech/ax/sbin/service

@ -0,0 +1,32 @@
#!/bin/sh
. /etc/init.d/globals
SERVICE="$1"
ACTION="$2"
usage() {
echo "usage: service <name> <action>"
echo " start or stop a given service (init script)"
echo " action depends on the init script"
echo
exit 1
}
test -z "$ACTION" && usage;
for i in /etc/init.d/$SERVICE /var/etc/init.d/$SERVICE; do
if [ -x "$i" ]; then
LOGINFO "running $i $ACTION"
"$i" "$ACTION"
exit $?
fi
done
echo "$SERVICE not found in /etc/init.d/ and /var/etc/init.d/"
SERVICES=$(for i in /etc/init.d/[^SK]* /var/etc/init.d/[^SK]*; do
echo "${i##*/}";
done | sort -u | grep -v '^\(functions\|globals\|rcK\|rcS\|start\|start_neutrino\|\[\^SK\]\*\)$')
echo "available services:"
echo $SERVICES | xargs -n 1 echo " "
exit 1

48
skel-root/axtech/ax/share/udhcpc/default.script

@ -0,0 +1,48 @@
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
RESOLV_CONF="/etc/resolv.conf"
[ -n "$1" ] || { echo "Error: should be called from udhcpc"; exit 1; }
NETMASK=""
[ -n "$subnet" ] && NETMASK="netmask $subnet"
BROADCAST=""
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
case "$1" in
deconfig)
echo "Setting IP address 0.0.0.0 on $interface"
ifconfig $interface 0.0.0.0
;;
renew|bound)
echo "Setting IP address $ip on $interface"
ifconfig $interface $ip $NETMASK $BROADCAST
if [ -n "$router" ] ; then
echo "Deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
metric=0
for i in $router ; do
echo "Adding router $i"
route add default gw $i dev $interface metric $((metric++))
done
fi
echo "Recreating $RESOLV_CONF"
echo -n > $RESOLV_CONF-$$
[ -n "$domain" ] && echo "search $domain" >> $RESOLV_CONF-$$
for i in $dns ; do
echo " Adding DNS server $i"
echo "nameserver $i" >> $RESOLV_CONF-$$
done
cat $RESOLV_CONF-$$ > $RESOLV_CONF
rm $RESOLV_CONF-$$
;;
esac
exit 0

0
skel-root/axtech/ax/srv/.gitignore

0
skel-root/axtech/ax/sys/.gitignore

0
skel-root/axtech/ax/tmp/.gitignore

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save