Browse Source

Merge pull request #35 from gorgone/next

s3.TUP Integrating of Freetz-NG toolchains (v0.13.0)
pull/41/head
Gorgone 5 years ago
committed by GitHub
parent
commit
b77f955ed8
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 686
      support/crosstool/templates/fritzOS-musl-LAB_mips
  2. 7
      support/crosstool/templates/fritzOS-uClibc-69x_mips
  3. 7
      support/crosstool/templates/fritzOS-uClibc-71x_mips
  4. 276
      support/functions/_plugin_update_toolchain
  5. 1
      support/functions/_sys_check
  6. 16
      support/os/debian_ubuntu.install
  7. 17
      support/os/manjaro.install
  8. 33
      support/os/redhat_centos_fedora.install
  9. 27
      support/os/suse.install

686
support/crosstool/templates/fritzOS-musl-LAB_mips

@ -0,0 +1,686 @@
#toolchain template: FRITZ!OS musl Labor
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_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_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_CONFIG_VERSION_CURRENT="3"
CT_CONFIG_VERSION="3"
CT_MODULES=y
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
# CT_ALLOW_BUILD_AS_ROOT is not set
# CT_DEBUG_CT is not set
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
CT_INSTALL_LICENSES=y
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
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=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
# 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_NONE is not set
CT_PATCH_ORDER="bundled"
CT_PARALLEL_JOBS=0
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}"
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
CT_ARCH_MIPS=y
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_RISCV 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="mips"
CT_ARCH_CHOICE_KSYM="MIPS"
CT_ARCH_TUNE=""
CT_ARCH_MIPS_SHOW=y
CT_ARCH_MIPS_PKG_KSYM=""
CT_ARCH_mips_o32=y
CT_ARCH_mips_ABI="32"
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_BE=y
CT_ARCH_BE=y
# CT_ARCH_LE is not set
CT_ARCH_ENDIAN="big"
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
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_ARCH="mips1"
# CT_ARCH_FLOAT_AUTO is not set
# CT_ARCH_FLOAT_HW is not set
CT_ARCH_FLOAT_SW=y
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="soft"
CT_FORCE_SYSROOT=y
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
CT_TARGET_VENDOR="fritzos"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
# CT_TOOLCHAIN_ENABLE_NLS is not set
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
CT_LINUX_V_5_5=y
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
# CT_LINUX_V_2_6_32 is not set
# CT_LINUX_NO_VERSIONS is not set
CT_LINUX_VERSION="5.5.5"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
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
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
CT_SHARED_LIBS=y
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
# CT_BINUTILS_V_2_34 is not set
CT_BINUTILS_V_2_33=y
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
# CT_BINUTILS_NO_VERSIONS is not set
CT_BINUTILS_VERSION="2.33.1"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_25=y
CT_BINUTILS_2_25_or_later=y
CT_BINUTILS_later_than_2_23=y
CT_BINUTILS_2_23_or_later=y
CT_BINUTILS_HAS_HASH_STYLE=y
CT_BINUTILS_HAS_GOLD=y
CT_BINUTILS_HAS_PLUGINS=y
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
CT_BINUTILS_FOR_TARGET=y
CT_BINUTILS_FOR_TARGET_IBERTY=y
CT_BINUTILS_FOR_TARGET_BFD=y
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# CT_LIBC_BIONIC is not set
# CT_LIBC_GLIBC is not set
CT_LIBC_MUSL=y
# CT_LIBC_UCLIBC is not set
CT_LIBC="musl"
CT_LIBC_CHOICE_KSYM="MUSL"
CT_THREADS="musl"
CT_LIBC_MUSL_SHOW=y
CT_LIBC_MUSL_PKG_KSYM="MUSL"
CT_MUSL_DIR_NAME="musl"
CT_MUSL_PKG_NAME="musl"
CT_MUSL_SRC_RELEASE=y
# CT_MUSL_SRC_DEVEL is not set
# CT_MUSL_SRC_CUSTOM is not set
CT_MUSL_PATCH_GLOBAL=y
# CT_MUSL_PATCH_BUNDLED is not set
# CT_MUSL_PATCH_LOCAL is not set
# CT_MUSL_PATCH_BUNDLED_LOCAL is not set
# CT_MUSL_PATCH_LOCAL_BUNDLED is not set
# CT_MUSL_PATCH_NONE is not set
CT_MUSL_PATCH_ORDER="global"
# CT_MUSL_V_1_1_24 is not set
CT_MUSL_V_1_1_23=y
# CT_MUSL_V_1_1_22 is not set
# CT_MUSL_V_1_1_21 is not set
# CT_MUSL_V_1_1_20 is not set
# CT_MUSL_V_1_1_19 is not set
# CT_MUSL_V_1_1_18 is not set
# CT_MUSL_V_1_1_17 is not set
# CT_MUSL_V_1_1_16 is not set
# CT_MUSL_NO_VERSIONS is not set
CT_MUSL_VERSION="1.1.23"
CT_MUSL_MIRRORS="http://www.musl-libc.org/releases"
CT_MUSL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MUSL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MUSL_ARCHIVE_FORMATS=".tar.gz"
CT_MUSL_SIGNATURE_FORMAT="packed/.asc"
# CT_LIBC_MUSL_DEBUG is not set
# CT_LIBC_MUSL_WARNINGS is not set
# CT_LIBC_MUSL_OPTIMIZE_NONE is not set
CT_LIBC_MUSL_OPTIMIZE_AUTO=y
# CT_LIBC_MUSL_OPTIMIZE_SPEED is not set
# CT_LIBC_MUSL_OPTIMIZE_SIZE is not set
CT_LIBC_MUSL_OPTIMIZE="auto"
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
CT_CC_CORE_PASSES_NEEDED=y
CT_CC_CORE_PASS_1_NEEDED=y
CT_CC_CORE_PASS_2_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_9=y
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
# CT_GCC_NO_VERSIONS is not set
CT_GCC_VERSION="9.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_later_than_4_8=y
CT_GCC_4_8_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
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_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_GCC_HAS_ARCH_OPTIONS=y
CT_CC_GCC_mips_llsc=m
CT_CC_GCC_mips_synci=m
CT_CC_GCC_mips_plt=y
CT_ALL_CC_CHOICES="GCC"
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN 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=""
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
# CT_EXPAT_SRC_CUSTOM is not set
CT_EXPAT_PATCH_GLOBAL=y
# CT_EXPAT_PATCH_BUNDLED is not set
# CT_EXPAT_PATCH_LOCAL is not set
# CT_EXPAT_PATCH_BUNDLED_LOCAL is not set
# CT_EXPAT_PATCH_LOCAL_BUNDLED is not set
# CT_EXPAT_PATCH_NONE is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_2=y
# CT_EXPAT_NO_VERSIONS is not set
CT_EXPAT_VERSION="2.2.9"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
# CT_COMP_LIBS_GETTEXT is not set
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
# CT_GMP_NO_VERSIONS is not set
CT_GMP_VERSION="6.2.0"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_later_than_5_1_0=y
CT_GMP_5_1_0_or_later=y
CT_GMP_later_than_5_0_0=y
CT_GMP_5_0_0_or_later=y
CT_GMP_REQUIRE_5_0_0_or_later=y
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_22=y
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_NO_VERSIONS is not set
CT_ISL_VERSION="0.22"
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
CT_ISL_REQUIRE_0_15_or_later=y
CT_ISL_later_than_0_14=y
CT_ISL_0_14_or_later=y
CT_ISL_REQUIRE_0_14_or_later=y
CT_ISL_later_than_0_13=y
CT_ISL_0_13_or_later=y
CT_ISL_later_than_0_12=y
CT_ISL_0_12_or_later=y
CT_ISL_REQUIRE_0_12_or_later=y
CT_COMP_LIBS_LIBELF=y
CT_COMP_LIBS_LIBELF_PKG_KSYM="LIBELF"
CT_LIBELF_DIR_NAME="libelf"
CT_LIBELF_PKG_NAME="libelf"
CT_LIBELF_SRC_RELEASE=y
# CT_LIBELF_SRC_DEVEL is not set
# CT_LIBELF_SRC_CUSTOM is not set
CT_LIBELF_PATCH_GLOBAL=y
# CT_LIBELF_PATCH_BUNDLED is not set
# CT_LIBELF_PATCH_LOCAL is not set
# CT_LIBELF_PATCH_BUNDLED_LOCAL is not set
# CT_LIBELF_PATCH_LOCAL_BUNDLED is not set
# CT_LIBELF_PATCH_NONE is not set
CT_LIBELF_PATCH_ORDER="global"
CT_LIBELF_V_0_8=y
# CT_LIBELF_NO_VERSIONS is not set
CT_LIBELF_VERSION="0.8.13"
CT_LIBELF_MIRRORS="http://www.mr511.de/software https://fossies.org/linux/misc/old"
CT_LIBELF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBELF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBELF_ARCHIVE_FORMATS=".tar.gz"
CT_LIBELF_SIGNATURE_FORMAT=""
# CT_COMP_LIBS_LIBICONV is not set
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_1=y
# CT_MPC_V_1_0 is not set
# CT_MPC_NO_VERSIONS is not set
CT_MPC_VERSION="1.1.0"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_1_1_0_or_later=y
CT_MPC_1_1_0_or_older=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_0=y
# CT_MPFR_V_3_1 is not set
# CT_MPFR_NO_VERSIONS is not set
CT_MPFR_VERSION="4.0.2"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_MPFR_later_than_3_0_0=y
CT_MPFR_3_0_0_or_later=y
CT_MPFR_REQUIRE_3_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
# CT_NCURSES_NO_VERSIONS is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="ftp://invisible-island.net/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
# 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=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_11=y
# CT_ZLIB_NO_VERSIONS is not set
CT_ZLIB_VERSION="1.2.11"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP ISL LIBELF LIBICONV MPC MPFR NCURSES ZLIB"
# CT_LIBICONV_NEEDED is not set
# CT_GETTEXT_NEEDED is not set
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_ZLIB_NEEDED=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_ZLIB=y
# 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_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
# CT_COMP_TOOLS_MAKE is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# CT_TEST_SUITE_GCC is not set

7
support/crosstool/templates/fritzOS-uClibc-69x_mips

@ -0,0 +1,7 @@
#toolchain template: FRITZ!OS uClibc Release 6.9x
FREETZ_USER_LEVEL_EXPERT=y
FREETZ_SHOW_ADVANCED=y
FREETZ_SHOW_EXPERT=y
FREETZ_TYPE_FIRMWARE_06_9X=y
FREETZ_TYPE_FIRMWARE_FINAL=y
FREETZ_BUILD_TOOLCHAIN=y

7
support/crosstool/templates/fritzOS-uClibc-71x_mips

@ -0,0 +1,7 @@
#toolchain template: FRITZ!OS uClibc Release 7.1x
FREETZ_USER_LEVEL_EXPERT=y
FREETZ_SHOW_ADVANCED=y
FREETZ_SHOW_EXPERT=y
FREETZ_TYPE_FIRMWARE_07_1X=y
FREETZ_TYPE_FIRMWARE_FINAL=y
FREETZ_BUILD_TOOLCHAIN=y

276
support/functions/_plugin_update_toolchain

@ -3,13 +3,15 @@
#simplebuild_plugin tcupdate
tcupdate(){
pversion="0.12.8";
pversion="0.13.0";
pname="s3.TUP";
pdesc="Plugin $pname v$pversion";
configname="$configdir/plugin_update_toolchain.config";
ctdir="$sdir/crosstool";
ctsrcdir="$ctdir/source";
ctsrcdir="$ctdir/crosstool-ng";
cttpldir="$ctdir/templates";
fngsrcdir="$ctdir/freetz-ng";
cpus="$(getconf _NPROCESSORS_ONLN)";
CMDTC="$1";
OPTION1="$2";
@ -18,6 +20,7 @@ tcupdate(){
tc="$CMDTC";
#check/install prerequisites
[ -d "$ctdir/source" ] && mv -f "$ctdir/source" "$ctsrcdir"; #rename folder for compatibility with pre 0.13.x releases
clear && _check_pkg;
#backup config
@ -64,7 +67,7 @@ tcupdate(){
else
CTNG_START_BUILD=0;
sp=$(printf '%*s' 9);
CTNG_ROOT_BUILD_ERROR="\nERROR -> The execution of crosstool-NG was aborted because it must not run as root!\n\n""$sp""If you are aware of the danger of running crosstool-NG as root and you\n""$sp""know what you are doing, you can force it with the following command:\n\n";
CTNG_ROOT_BUILD_ERROR="\nERROR -> The cross toolchain build process was aborted because it must not run as root!\n\n""$sp""If you are aware of the danger of building toolchains as root and you\n""$sp""know what you are doing, you can force it with the following command:\n\n";
CTNG_ROOT_BUILD_CMD="$sp""./s3 tcupdate --config \"CTNG_BUILD_AS_ROOT\" \"1\"\n";
fi;
@ -91,6 +94,9 @@ tcupdate(){
elif [ "$CMDTC" == "-ctng" ] || [ "$CMDTC" == "--crosstool-ng" ];then #croostool-NG menu
_ctng_menu "$OPTION1";
bye;
elif [ "$CMDTC" == "-fng" ] || [ "$CMDTC" == "--freetz-ng" ];then #croostool-NG menu
_fng_menu "$OPTION1";
bye;
elif [ -z "$CMDTC" ];then
unset menu_close;
while [ ! $menu_close ]
@ -102,8 +108,9 @@ tcupdate(){
if [ "$tcempty" == "0" ];then
for i in "${INST_TCLIST[@]}";do
if [ ! "$i" == "native" ];then
source "$tccfgdir/$i";
[ -f "$tcdir/$i/build.log.bz2" ] && tcdate=" ct-ng."$(date -r "$tcdir/$i/build.log.bz2" "+%F %T") || tcdate="";
source "$tccfgdir/$i" && tcdate="";
[ -f "$tcdir/$i/build.log.bz2" ] && tcdate=" ct-ng."$(date -r "$tcdir/$i/build.log.bz2" "+%F %T");
[ -f "$tcdir/$i/freetz-ng.log.bz2" ] && tcdate=" freetz-ng."$(date -r "$tcdir/$i/freetz-ng.log.bz2" "+%F %T");
MENU_OPTIONS+=("$_toolchainname" "$_description\Z2$tcdate\Zn" "toolchain folder:$tcdir/$i | config file:$tccfgdir/$i");
counter;
fi;
@ -307,13 +314,8 @@ _create_tc(){
case $ret in
0) #Start - Build cross toolchain
#Setup crosstool-NG automatically if not installed
if [ ! -f "$ctsrcdir/ct-ng" ]; then
clear;
echo -e "$r_l""\nCHECK -> crosstool-NG is not setup correctly. Try to fix it automatically...\n""$re_";
_paktc_timer 5;
_ctng_setup "$CTNG_START_BUILD";
fi;
#Setup crosstool-NG and Freetz-NG automatically if not installed
_check_crosstool_setup;
#Build cross toolchains
icount=$(echo $opts | wc -w);i=0;
@ -327,48 +329,87 @@ _create_tc(){
echo -e "$pdesc - creating cross toolchain log - $(date +"%F %T")" | tee -a "$logfile";
echo -e "$y_l$sp\nbuild ($i/$icount): command list for cross toolchain $tpl:\n$sp" | tee -a "$logfile";
#copy template and patching them
echo "rm \"$ctsrcdir/.config\"* 2>/dev/null;cp --no-preserve=mode,ownership -f \"$cttpldir/$tpl\" \"$ctsrcdir/.config\";" | tee -a "$logfile";
rm "$ctsrcdir/.config"* 2>/dev/null;cp --no-preserve=mode,ownership -f "$cttpldir/$tpl" "$ctsrcdir/.config";
#copy template
[ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ] && tpltargetdir="$ctsrcdir";
[ $(_get_template_type "$cttpldir/$tpl") == "FNG" ] && tpltargetdir="$fngsrcdir";
echo "rm \"$tpltargetdir/.config\"* 2>/dev/null;cp -f \"$cttpldir/$tpl\" \"$tpltargetdir/.config\";" | tee -a "$logfile";
rm "$tpltargetdir/.config"* 2>/dev/null;cp -f "$cttpldir/$tpl" "$tpltargetdir/.config";
#patch template
if [ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ];then
#CT_LOCAL_TARBALLS_DIR aka cache folder for downloads
echo "sed -i \"s#.*CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR=\"$dldir\"#g\" \"$ctsrcdir/.config\";" | tee -a "$logfile";
sed -i "s#.*CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR=\"$dldir\"#g" "$ctsrcdir/.config";
echo "sed -i \"s#.*CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR=\"$dldir\"#g\" \"$tpltargetdir/.config\";" | tee -a "$logfile";
sed -i "s#.*CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR=\"$dldir\"#g" "$tpltargetdir/.config";
#CT_PREFIX_DIR aka folder that contains the final toolchain
echo "sed -i \"s#.*CT_PREFIX_DIR=.*#CT_PREFIX_DIR=\"$tcdir/$tpl\"#g\" \"$ctsrcdir/.config\";" | tee -a "$logfile";
sed -i "s#.*CT_PREFIX_DIR=.*#CT_PREFIX_DIR=\"$tcdir/$tpl\"#g" "$ctsrcdir/.config";
echo "sed -i \"s#.*CT_PREFIX_DIR=.*#CT_PREFIX_DIR=\"$tcdir/$tpl\"#g\" \"$tpltargetdir/.config\";" | tee -a "$logfile";
sed -i "s#.*CT_PREFIX_DIR=.*#CT_PREFIX_DIR=\"$tcdir/$tpl\"#g" "$tpltargetdir/.config";
#CT_PARALLEL_JOBS aka parallel task count for building
echo "echo -e \"\nCT_PARALLEL_JOBS=$cpus\" >>\"$tpltargetdir/.config\";" | tee -a "$logfile";
echo -e "\nCT_PARALLEL_JOBS=$cpus" >>"$tpltargetdir/.config";
#CT_ALLOW_BUILD_AS_ROOT aka force build as root
_check_root && [ "$CTNG_BUILD_AS_ROOT" == "1" ] && echo "echo -e \"\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\" >>\"$ctsrcdir/.config\";" | tee -a "$logfile";
_check_root && [ "$CTNG_BUILD_AS_ROOT" == "1" ] && echo -e "\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y" >>"$ctsrcdir/.config";
_check_root && [ "$CTNG_BUILD_AS_ROOT" == "1" ] && echo "echo -e \"\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\" >>\"$tpltargetdir/.config\";" | tee -a "$logfile";
_check_root && [ "$CTNG_BUILD_AS_ROOT" == "1" ] && echo -e "\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y" >>"$tpltargetdir/.config";
elif [ $(_get_template_type "$cttpldir/$tpl") == "FNG" ];then
#FREETZ_JLEVEL aka parallel task count for building
echo "echo -e \"\FREETZ_JLEVEL=$cpus\" >>\"$tpltargetdir/.config\";" | tee -a "$logfile";
echo -e "\nFREETZ_JLEVEL=$cpus" >>"$tpltargetdir/.config";
fi;
#run build
bcl=$(printf '%s\n' "${CTNG_BUILD_tasks[@]}");
echo -e "cd \"$ctsrcdir\";\n$(_replace_tokens "$bcl")\n$sp""$re_" | tee -a "$logfile";
[ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ] && bcl=$(printf '%s\n' "${CTNG_BUILD_tasks[@]}");
[ $(_get_template_type "$cttpldir/$tpl") == "FNG" ] && bcl=$(printf '%s\n' "${FNG_BUILD_tasks[@]}");
echo -e "cd \"$tpltargetdir\";\n$(_replace_tokens "$bcl")\n$sp""$re_" | tee -a "$logfile";
sleep 2;
if [ $CTNG_START_BUILD -eq 1 ];then
cd "$ctsrcdir";
#print out crosstool-NG version
echo -e "$g_l\n$(./ct-ng | grep 'crosstool-NG version' &2>/dev/null | tail -1)\n""$re_" | tee -a "$logfile";
cd "$tpltargetdir";
#print out crosstool version
[ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ] && echo -e "$g_l\n$(./ct-ng | grep 'crosstool-NG version' &2>/dev/null | tail -1)\n""$re_" | tee -a "$logfile";
[ $(_get_template_type "$cttpldir/$tpl") == "FNG" ] && echo -e "$g_l\n$(tools/freetz-revision 2>&1 | tail -1)\n""$re_" | tee -a "$logfile";
#generate build command list
unset buildtasks;
if [ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ];then
for task in "${CTNG_BUILD_tasks[@]}";do
task=$(_replace_tokens "$task"); #replace tokens
buildtasks+=("$task");
done;
elif [ $(_get_template_type "$cttpldir/$tpl") == "FNG" ];then
[[ ! $(umask) == 0022 ]] && umask 0022;
for task in "${FNG_BUILD_tasks[@]}";do
task=$(_replace_tokens "$task"); #replace tokens
buildtasks+=("$task");
done;
fi;
( eval "${buildtasks[@]}" ) 2>&1;
err=$(grep '\[ERROR\]' "$ctsrcdir/build.log" | wc -l)
[ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ] && err=$(grep -c '\[ERROR\]' "$tpltargetdir/build.log");
[ $(_get_template_type "$cttpldir/$tpl") == "FNG" ] && err=$(grep 'Error .*' "$logfile" | grep -vc '(ignored)');
#save build.log in logs
cat "$ctsrcdir/build.log" >>"$logfile";
[ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ] && cat "$tpltargetdir/build.log" >>"$logfile";
if [ ! $err -gt 0 ];then
if [ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ];then
#get target from build.log
target=$(sed -n -e '/target = / s/.*\= *//p' "$ctsrcdir/build.log");
target=$(sed -n -e '/target = / s/.*\= *//p' "$tpltargetdir/build.log");
#get CT_BUILD_TOP_DIR aka temporary toolchain build directory from build.log and delete it to save disk space
buildtopdir=$(sed -n -e '/CT_BUILD_TOP_DIR=\// s/.*\= *//p' "$ctsrcdir/build.log");
buildtopdir=$(sed -n -e '/CT_BUILD_TOP_DIR=\// s/.*\= *//p' "$tpltargetdir/build.log");
[ -d "$buildtopdir" ] && rm -rf "$buildtopdir" 2>/dev/null;
elif [ $(_get_template_type "$cttpldir/$tpl") == "FNG" ];then
#get toolchain and target from logfile
btcbindir=$(grep -i '{ PATH=.*kernel.*' "$logfile" | head -n 1 | awk -F':|"' '{print $2}');
btcdir=$(realpath "$btcbindir/../");
target=$(basename "$btcdir");
#copy toolchain folder
rm -rf "$tcdir/$tpl";
cp -rf "$btcdir" "$tcdir/$tpl";
#compress log file
cp -f "$logfile" "$tcdir/$tpl/freetz-ng.log";
bzip2 -zf9 "$tcdir/$tpl/freetz-ng.log";
fi;
#compress toolchain
_compress "$dldir/Toolchain-$tpl.tar.xz" "$tcdir/$tpl" | "$gui" "$st_" "$bt_" "$title_ - \Z0$pdesc\Zn" "--colors" "--title" " -[ Compress cross toolchain $tpl to Toolchain-$tpl.tar.xz ]- " "$pb_" "$_lines" "$_cols";
@ -389,10 +430,12 @@ _create_tc(){
fi;
done;;
1) #Setup - Setup crosstool-NG
_ctng_setup "$CTNG_START_BUILD";;
_ctng_setup "$CTNG_START_BUILD";
_fng_setup "$CTNG_START_BUILD";;
2) #Edit
tpl=$(echo "$opts" | awk '{printf $2}';);
_ctng_menu "$tpl";;
[ $(_get_template_type "$cttpldir/$tpl") == "CTNG" ] && _ctng_menu "$tpl";
[ $(_get_template_type "$cttpldir/$tpl") == "FNG" ] && _fng_menu "$tpl";;
3) #Exit
menu_close="1";
return;;
@ -453,7 +496,7 @@ _ctng_menu(){
tc="$1";tpl="$tc";unset configtasks;
if [ -f "$cttpldir/$tpl" ];then #copy the existing template to edit it
cp --no-preserve=mode,ownership -f "$cttpldir/$tpl" "$ctsrcdir/.config"
cp -f "$cttpldir/$tpl" "$ctsrcdir/.config"
elif [ -n "$tpl" ];then #create an empty template
[ -f "$ctsrcdir/.config" ] && rm "$ctsrcdir/.config"* 2>/dev/null;
touch "$ctsrcdir/.config";
@ -469,12 +512,33 @@ _ctng_menu(){
done;
( eval "${configtasks[@]}" ) 2>&1;
};
_fng_menu(){
tc="$1";tpl="$tc";unset configtasks;
if [ -f "$cttpldir/$tpl" ];then #copy the existing template to edit it
cp -f "$cttpldir/$tpl" "$fngsrcdir/.config"
elif [ -n "$tpl" ];then #create an empty template
[ -f "$fngsrcdir/.config" ] && rm "$fngsrcdir/.config"* 2>/dev/null;
touch "$fngsrcdir/.config";
else #use existing (self copied) template
[ ! -f "$fngsrcdir/.config" ] && touch "$fngsrcdir/.config";
tc="_test$(( $RANDOM % 100 ))";tpl="$tc";
fi;
cd "$fngsrcdir";
for task in "${FNG_CONFIG_tasks[@]}";do
task=$(_replace_tokens "$task"); #replace tokens
configtasks+=("$task");
done;
( eval "${configtasks[@]}" ) 2>&1;
};
_ctng_setup(){
logfile="$ldir/$(date +%F.%H%M%S)_tup_ctng_setup.log"
logfile="$ldir/$(date +%F.%H%M%S)_tup_ctng_setup.log";
unset setuptasks;
(
bcl=$(printf '%s\n' "${CTNG_SETUP_tasks[@]}");
sp=$(printf '%*s' 80 | tr ' ' '=')
echo -e "$pdesc - installing ctng log - $(date +"%F %T")";
echo -e "$pdesc - installing crosstool-ng log - $(date +"%F %T")";
echo -e "$sp\nbuild command list for crosstool-NG:\n$sp\ncd "$ctsrcdir"\n$(_replace_tokens "$bcl")\n$sp";
sleep 2;
@ -496,6 +560,35 @@ _ctng_setup(){
fi;
) | tee "$logfile" | "$gui" "$st_" "$bt_" "$title_ - \Z0$pdesc\Zn" "--colors" "--title" " -[ Setup crosstool-NG ]- " "$pb_" "$_lines" "$_cols";
};
_fng_setup(){
logfile="$ldir/$(date +%F.%H%M%S)_tup_fng_setup.log";
unset setuptasks;
(
bcl=$(printf '%s\n' "${FNG_SETUP_tasks[@]}");
sp=$(printf '%*s' 80 | tr ' ' '=')
echo -e "$pdesc - installing freetz-ng log - $(date +"%F %T")";
echo -e "$sp\nbuild command list for Freetz-NG:\n$sp\ncd "$fngsrcdir"\n$(_replace_tokens "$bcl")\n$sp";
sleep 2;
if [ $1 -eq 1 ];then
# setup freetz-ng wc
echo "Cleanup source directory "$fngsrcdir/"..."
rm -rf "$fngsrcdir" 2>/dev/null;
mkdir --parents "$fngsrcdir";
cd "$fngsrcdir";
[[ ! $(umask) == 0022 ]] && umask 0022;
#generate setup command list
for task in "${FNG_SETUP_tasks[@]}";do
task=$(_replace_tokens "$task"); #replace tokens
setuptasks+=("$task");
done
( eval "${setuptasks[@]}" ) 2>&1;
else
echo -e "$CTNG_ROOT_BUILD_ERROR$CTNG_ROOT_BUILD_CMD";
sleep 5;
fi;
) | tee "$logfile" | "$gui" "$st_" "$bt_" "$title_ - \Z0$pdesc\Zn" "--colors" "--title" " -[ Setup Freetz-NG ]- " "$pb_" "$_lines" "$_cols";
};
_dl(){
[ -d "$dldir/#tmp" ] && rm --recursive --force "$dldir/#tmp"
mkdir --parents "$dldir/#tmp";
@ -570,6 +663,7 @@ _replace_tokens(){
s#@PREFIX@#$prefixdir#g; \
s#@HOST@#$hostname#g; \
s#@CTNGSOURCE@#$ctsrcdir#g; \
s#@FNGSOURCE@#$fngsrcdir#g; \
s#@VALIDATE@#_check_lib#g; \
s#@COMPRESS@#_compress#g; \
s#@CREATECFG@#_create_toolchaincfg#g; \
@ -594,13 +688,14 @@ _get_template_properties(){
[ -z "$desc" ] && desc="missing description";
#extract template properties
if [ $(_get_template_type "$1") == "CTNG" ];then
arch=$(grep '^CT_ARCH=' "$1" | awk -F'"' '{print $2}');
endian=$(grep '^CT_ARCH_ENDIAN=' "$1" | awk -F'"' '{print $2}');
end=${endian^};
bitness=$(grep '^CT_ARCH_BITNESS=' "$1" | awk -F'=' '{print $2}');
[ "$arch" == "arm" ] && [ "$bitness" == "64" ] && arch="aarch64";
cpu=$(grep '^CT_ARCH_CPU=' "$1" | awk -F'"' '{print $2}');
[ -n "$cpu" ] && cpu=" $cpu";
cpu=$(grep '^CT_ARCH_CPU=' "$1" | awk -F'"' '{print $2}') && [ -n "$cpu" ] && cpu=" $cpu";
aarch=$(grep '^CT_ARCH_ARCH=' "$1" | awk -F'"' '{print $2}') && [ -n "$aarch" ] && aarch=" $aarch";
cc=$(grep '^CT_CC=' "$1" | awk -F'"' '{print $2}');
ccv=$(grep -i "CT_${cc}_VERSION=" "$1" | awk -F'"' '{print $2}');
libc=$(grep '^CT_LIBC=' "$1" | awk -F'"' '{print $2}');
@ -609,13 +704,43 @@ _get_template_properties(){
[ -z "$libcu" ] && libcv=$(grep -i "CT_${libc}_VERSION=" "$1" | awk -F'"' '{print $2}');
kernel=$(grep '^CT_KERNEL=' "$1" | awk -F'"' '{print $2}');
kernelv=$(grep -i "CT_${kernel}_VERSION=" "$1" | awk -F'"' '{print $2}');
elif [ $(_get_template_type "$1") == "FNG" ];then
if [ -d "$fngsrcdir" ];then
cp "$1" "$fngsrcdir/.config";
cd "$fngsrcdir";
[[ ! $(umask) == 0022 ]] && umask 0022;
make olddefconfig >/dev/null;
arch=$(grep '^FREETZ_TARGET_ARCH=' ".config" | awk -F'"' '{print $2}');
bitness=$(grep '^FREETZ_GCC_ABI=' ".config" | awk -F'"' '{print $2}');
[ $(grep -i '^FREETZ_TARGET_ARCH_BE=y' ".config") ] && end="B" || end="L";
[ $(grep -i '^FREETZ_LIB_libuClibc=y' ".config") ] && libc="uClibc";
[ $(grep -i '^FREETZ_LIB_libglibc=y' ".config") ] && libc="glibc";
[ $(grep -i '^FREETZ_LIB_libumusl=y' ".config") ] && libc="musl";
libcv=$(grep -i "^FREETZ_TARGET_${libc}_VERSION=" ".config" | awk -F'"' '{print $2}');
[ $(grep -i '^FREETZ_TARGET_GCC_[0-9]=y' ".config") ] && cc="gcc";
ccv=$(grep -i "^FREETZ_TARGET_${cc}_MAJOR_VERSION=" ".config" | awk -F'"' '{print $2}').$(grep -i "^FREETZ_TARGET_${cc}_MINOR_VERSION=" ".config" | awk -F'"' '{print $2}');
kernel='linux';
kernelv=$(grep -i "^FREETZ_KERNEL_VERSION=" ".config" | awk -F'"' '{print $2}');
rm -f "$fngsrcdir/.config";
else
setup=0;
desc="$desc (run \Zr<Setup>\ZR to show details)";
fi;
fi;
#build template property string
desc="$desc ($arch$cpu $bitness-bit ${end:0:1}E, $libc $libcv, $cc $ccv, $kernel $kernelv)";
[ -z $setup ] && desc="$desc ($arch$cpu$aarch $bitness-bit ${end:0:1}E, $libc $libcv, $cc $ccv, $kernel $kernelv)";
fi;
echo $desc;
[ -n "$desc" ] && exit 0 || exit 1;
};
_get_template_type(){
if [ $(grep -c '^FREETZ_' "$1") -gt 0 ];then
echo "FNG";
else
echo "CTNG";
fi;
};
_get_version(){
r="";
if [ -f "$1" ];then
@ -689,11 +814,12 @@ _check_lib(){
};
_check_pkg(){
pkgs=( git patch curl jq gcc g++ gperf bison flex makeinfo help2man make file cmp \
python3-config autoconf automake libtoolize libtool gawk wget bzip2 xz unzip rsync );
headers=( ncurses );
libs=( libstdc++.so.6 );
python3-config autoconf automake libtoolize libtool gawk wget bzip2 xz unzip rsync \
composite inkscape pkg-config python gettext ruby );
headers=( ncurses libacl.h sys/capability.h readline.h glib-2.0/glib.h );
libs=( libstdc++.so.6 libstdc++.a libc\\.a );
if syscheck "" "" "${pkgs[*]}" "${headers[*]}" "${libs[*]}";then
echo -e "$r_l""\nCHECK -> You need to manually install the following packages to use this plugin properly:\n"$y_l"$prefix apt install$packages\n""$re_" && _paktc_timer 10;
echo -e "$r_l""\nCHECK -> You need to manually install the following packages to use this plugin properly:\n"$y_l"$prefix install$packages\n""$re_" && _paktc_timer 10;
fi;
};
_check_github_api_limits(){
@ -715,8 +841,30 @@ _check_github_api_limits(){
return 1;
fi;
};
_check_crosstool_setup(){
#Setup crosstool-NG automatically if not installed
if [ "$1" == "CTNG" ] || [ -z "$1" ];then
if [ ! -f "$ctsrcdir/ct-ng" ];then
clear;
echo -e "$r_l""\nCHECK -> crosstool-NG is not setup correctly. Try to fix it automatically...\n""$re_";
[ -z "$1" ] && _paktc_timer 5;
_ctng_setup "$CTNG_START_BUILD";
fi;
fi;
#Setup Freetz-NG automatically if not installed
if [ "$1" == "FNG" ] || [ -z "$1" ];then
if [ ! -d "$fngsrcdir/dl" ];then
clear;
echo -e "$r_l""\nCHECK -> Freetz-NG is not setup correctly. Try to fix it automatically...\n""$re_";
[ -z "$1" ] && _paktc_timer 5;
_fng_setup "$CTNG_START_BUILD";
fi;
fi;
};
_check_config(){
nok=0;
[ -z ${FNG_REPO_URL+x} ] && nok=1;
[ -z ${CTNG_CONFIG_tasks+x} ] && nok=1;
[ -z ${CTNG_BUILD_AS_ROOT+x} ] && nok=1;
[ -z ${LIBS+x} ] && nok=1;
@ -758,16 +906,7 @@ _create_config(){
fi;
ctng_config_tasks=( "('./ct-ng menuconfig;')"
"('TPL_SAVE=\$(\$gui --defaultno --output-fd 1 --ok-label \"Yes\" --cancel-label \"No\" --colors \$bt_ \"\$title_ - \Z0\$pdesc\Zn\" --title \"-[ Save Cross Toolchain Template ]-\" --inputbox \"\\\nWould you like to \ZrSAVE\ZR this toolchain template \Zrnow\ZR?\" 10 55 \"@TEMPLATE@\") && cp \"\$ctsrcdir/.config\" \"\$TPL_SAVE\";')"
"('TC_SAVE=\$(\$gui --defaultno --output-fd 1 --ok-label \"Yes\" --cancel-label \"No\" --colors \$bt_ \"\$title_ - \Z0\$pdesc\Zn\" --title \"-[ Build Cross Toolchain ]-\" --inputbox \"\\\nWould you like to \ZrBUILD\ZR this toolchain \Zrnow\ZR?\" 10 55 \"@TOOLCHAIN@\");')"
"('[ -n \"\$TC_SAVE\" ] && BUILD_TC=\$(basename \"\$TC_SAVE\") && BUILD_LOG=\"\$ldir/\$(date +%F.%H%M%S)_tup_crosstoolchain_\$(basename \"\$TC_SAVE\").log\";')"
"('[ -n \"\$TC_SAVE\" ] && sed -i \"s#.*CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR=\\\"\$dldir\\\"#g\" \"\$ctsrcdir/.config\" && sed -i \"s#.*CT_PREFIX_DIR=.*#CT_PREFIX_DIR=\\\"\$TC_SAVE\\\"#g\" \"\$ctsrcdir/.config\";')"
"('[ -n \"\$TC_SAVE\" ] && clear && ./ct-ng show-config && ./ct-ng build;')"
"('[ -n \"\$TC_SAVE\" ] && cat \"\$ctsrcdir/build.log\" >\"\$BUILD_LOG\";')"
"('[ -n \"\$TC_SAVE\" ] && BUILD_ERROR=\$(grep \"\[ERROR\]\" \"\$ctsrcdir/build.log\" | wc -l);')"
"('[ -n \"\$TC_SAVE\" ] && [ ! \$BUILD_ERROR -gt 0 ] && BUILD_TARGET=\$(sed -n -e \"/target = / s/.*\= *//p\" \"\$ctsrcdir/build.log\") && BUILD_DESC=\$(sed -n -e \"/#toolchain template/ s/.*\: *//p\" \"\$cttpldir/\$BUILD_TC\");')"
"('[ -n \"\$TC_SAVE\" ] && _sz && [ ! \$BUILD_ERROR -gt 0 ] && @COMPRESS@ \"\$dldir/Toolchain-\$BUILD_TC.tar.xz\" \"\$TC_SAVE\" | \$gui \$st_ \$bt_ \"\$title_ - \Z0\$pdesc\Zn\" --colors --title \"-[ Compress cross toolchain \$BUILD_TC to Toolchain-\$BUILD_TC.tar.xz ]-\" \$pb_ \$_lines \$_cols;')"
"('[ -n \"\$TC_SAVE\" ] && [ ! \$BUILD_ERROR -gt 0 ] && @CREATECFG@ \"\$tcdir/\$BUILD_TC\" \"\$BUILD_TC\" \"\$BUILD_TARGET\" \"\" \"\" \"\$BUILD_DESC\" \"\" \"\$dldir/Toolchain-\$BUILD_TC.tar.xz\" \"yes\";')" );
"('TPL_SAVE=\$(\$gui --defaultno --output-fd 1 --ok-label \"Yes\" --cancel-label \"No\" --colors \$bt_ \"\$title_ - \Z0\$pdesc\Zn\" --title \"-[ Save Cross Toolchain Template ]-\" --inputbox \"\\\nWould you like to \ZrSAVE\ZR this toolchain template \Zrnow\ZR?\" 10 55 \"@TEMPLATE@\") && cp \"\$ctsrcdir/.config\" \"\$TPL_SAVE\";')" );
ctng_config_tasks_comment="#config command";
ctng_build_tasks=( "('./ct-ng show-config | tee -a \"@LOGFILE@\";')"
@ -780,6 +919,19 @@ _create_config(){
"('make;')" );
ctng_setup_tasks_comment="#setup command";
fng_config_tasks=( "('make menuconfig;')"
"('TPL_SAVE=\$(\$gui --defaultno --output-fd 1 --ok-label \"Yes\" --cancel-label \"No\" --colors \$bt_ \"\$title_ - \Z0\$pdesc\Zn\" --title \"-[ Save Cross Toolchain Template ]-\" --inputbox \"\\\nWould you like to \ZrSAVE\ZR this toolchain template \Zrnow\ZR?\" 10 55 \"@TEMPLATE@\") && cp \"\$fngsrcdir/.config\" \"\$TPL_SAVE\";')" );
fng_config_tasks_comment="#config command";
fng_build_tasks=( "('make olddefconfig | tee -a \"@LOGFILE@\";')"
"('make toolchain-dirclean | tee -a \"@LOGFILE@\";')"
"('make toolchain | tee -a \"@LOGFILE@\";')" );
fng_build_tasks_comment="#build command";
fng_setup_tasks=( "('git clone --progress \"\$FNG_REPO_URL\" \"@FNGSOURCE@\";')"
"('ln -s \"../../downloads\" \"@FNGSOURCE@/dl\";')" );
fng_setup_tasks_comment="#setup command";
lib_comments=( "#Enable/Disable (1|0)"
"#Displayname"
"#Versionnumber"
@ -843,6 +995,26 @@ _create_config(){
((i++));
done;
echo -e '\nFNG_REPO_URL="https://github.com/Freetz-NG/freetz-ng.git"; #Repository to load freetz-ng from' >>"$configname";
i=0;
for ct in "${fng_config_tasks[@]}";
do
echo -e "FNG_CONFIG_tasks"$([ "$i" -gt "0" ] && echo "+")"=$ct; $fng_config_tasks_comment$(($i+1))" >>"$configname";
((i++));
done;
i=0;
for bt in "${fng_build_tasks[@]}";
do
echo -e "FNG_BUILD_tasks"$([ "$i" -gt "0" ] && echo "+")"=$bt; $fng_build_tasks_comment$(($i+1))" >>"$configname";
((i++));
done;
i=0;
for st in "${fng_setup_tasks[@]}";
do
echo -e "FNG_SETUP_tasks"$([ "$i" -gt "0" ] && echo "+")"=$st; $fng_setup_tasks_comment$(($i+1))" >>"$configname";
((i++));
done;
echo -e '\n#LIBRARY update build settings\n#List of ordered libraries. Only libraries in this list are available' >>"$configname";
echo "LIBS=(${lib_keys[@]});" >>"$configname";

1
support/functions/_sys_check

@ -130,6 +130,7 @@ then
done
fi
unset binvars; unset headervars; unset libvars;
[ -z ${3+x} ] && binvars=( dialog grep gawk wget tar bzip2 svn xz upx patch gcc make scp sshpass openssl dos2unix ) || binvars=( $(echo "$3" | tr ' ' '\n') )
[ -z ${4+x} ] && headervars=( crypto.h libusb.h pcsclite.h pthread.h ) || headervars=( $(echo "$4" | tr ' ' '\n') )
[ -z ${5+x} ] && libvars=( libccidtwin.so ) || libvars=( $(echo "$5" | tr ' ' '\n') )

16
support/os/debian_ubuntu.install

@ -30,8 +30,12 @@ do
libtool)
inst="libtool-bin";
;;
composite)
inst="imagemagick";
;;
cmp)
inst="diffutils";
;;
esac;
printf -v pad %40s; e=$e$pad; e=${e:0:15};
echo -e "$w_l select $g_l$e$y_l from: $inst";
@ -59,6 +63,18 @@ do
ncurses)
inst="libncurses-dev";
;;
libacl.h)
inst="libacl1-dev";
;;
sys/capability.h)
inst="libcap-dev";
;;
readline.h)
inst="libreadline-dev";
;;
glib-2.0/glib.h)
inst="libglib2.0-dev";
;;
esac;
printf -v pad %40s; e=$e$pad; e=${e:0:15};
echo -e "$w_l select $g_l$e$y_l from: $inst";

17
support/os/manjaro.install

@ -9,7 +9,7 @@ packages="";
echo -n >"$install_log" &2>/dev/null;
echo -e "$w_l\n INSTALLATION\n ============\n";
source /etc/lsb-release
[ -f /etc/lsb-release ] && source /etc/lsb-release;
manjaro_version=$DISTRIB_RELEASE
# without sudo no user installation allowed
@ -41,6 +41,9 @@ do
libtool|libtoolize)
inst="libtool";
;;
composite)
inst="imagemagick";
;;
cmp)
inst="diffutils";
;;
@ -70,6 +73,18 @@ do
ncurses)
inst="ncurses";
;;
libacl.h)
inst="acl";
;;
sys/capability.h)
inst="libcap";
;;
readline.h)
inst="readline";
;;
glib-2.0/glib.h)
inst="glib2";
;;
esac;
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst";
packages="$packages $inst";

33
support/os/redhat_centos_fedora.install

@ -72,6 +72,7 @@ do
;;
xz)
inst="xz-utils";
[ "$rh_version" -gt 29 ] && inst="xz";
;;
makeinfo)
inst="texinfo";
@ -82,12 +83,18 @@ do
libtool|libtoolize)
inst="libtool";
;;
cmp)
inst="diffutils";
;;
g++)
inst="gcc-c++";
;;
python)
[ "$rh_version" == 8 ] && inst="python3";
;;
composite)
inst="ImageMagick";
;;
cmp)
inst="diffutils";
;;
# the following guys have no official packages
sshpass)
continue;
@ -125,6 +132,18 @@ do
ncurses)
inst="ncurses-devel";
;;
libacl.h)
inst="libacl-devel";
;;
sys/capability.h)
inst="libcap-devel";
;;
readline.h)
inst="readline-devel";
;;
glib-2.0/glib.h)
inst="glib2-devel";
;;
esac;
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst";
packages="$packages $inst";
@ -140,6 +159,12 @@ do
inst="ccid";
[ "$rh_version" -gt 6 ] && inst="pcsc-lite-ccid";
;;
libstdc++.a)
inst="libstdc++-static";
;;
libc\\.a)
inst="glibc-static";
;;
esac;
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst";
packages="$packages $inst";
@ -175,7 +200,7 @@ if ! hash sshpass 2>/dev/null; then
[ "$(arch)" == "i686" ] && sshpass_src=$sshpass86_src;
echo -e "$w_l install$g_l sshpass$y_l\tfrom: $sshpass_src";
echo "+++ $(date): rpm -i $sshpass_src" >> "$install_log";
$prefix rpm -i $sshpass_src >> "$install_log" 2>&1 || failed=1;
$prefix rpm --nosignature -i $sshpass_src >> "$install_log" 2>&1 || failed=1;
fi
[ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log";

27
support/os/suse.install

@ -61,12 +61,18 @@ do
libtool)
inst="libtool-bin";
;;
cmp)
inst="diffutils";
;;
g++)
inst="gcc-c++";
;;
gettext)
inst="gettext-tools";
;;
composite)
inst="ImageMagick";
;;
cmp)
inst="diffutils";
;;
esac;
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst";
packages="$packages $inst";
@ -93,6 +99,18 @@ do
ncurses)
inst="ncurses-devel";
;;
libacl.h)
inst="libacl-devel";
;;
sys/capability.h)
inst="libcap-devel";
;;
readline.h)
inst="readline-devel";
;;
glib-2.0/glib.h)
inst="glib2-devel-32bit";
;;
esac;
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst";
packages="$packages $inst";
@ -110,6 +128,9 @@ do
libstdc++.so.6)
inst="libstdc++6";
;;
libc\\.a)
inst="glibc-static";
;;
esac;
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst";
packages="$packages $inst";

Loading…
Cancel
Save