├── LICENSE ├── README.md ├── oscamsource.url.template ├── s3 └── support ├── configs ├── compiler_option ├── compiler_option.txt ├── config.sh.master ├── max_cpus ├── max_cpus.txt ├── plugin_update_toolchain.config.template ├── sign ├── simplebuild.config ├── upx.txt ├── upx_option └── urls ├── crosstool └── templates │ ├── android_10_arm │ ├── android_11_arm │ ├── android_12_arm │ ├── android_13_arm │ ├── android_14_arm │ ├── android_15_arm │ ├── android_nougat_arm │ ├── android_oreo_arm │ ├── android_pie_arm │ ├── dream_aarch64 │ ├── dream_arm │ ├── dream_mipsel │ ├── fos_g71x_mips │ ├── fos_m72x_mips │ ├── fos_mLAB_mips │ ├── fos_u69x_mips │ ├── fos_u71x_arm │ ├── fos_u71x_mips │ ├── fos_u71x_puma │ ├── fos_uLAB_mips │ ├── igel_x86 │ ├── oe20_armv7 │ ├── oe20_mipsel │ ├── oe20_sh4 │ ├── oe20_sh_multilib │ ├── owrt_ar71xx_mips │ ├── owrt_ath79_mips │ ├── owrt_kirkwood_arm │ ├── owrt_mediatek_armv8 │ ├── owrt_mpc85xx_ppc │ ├── owrt_ramips_mips │ ├── owrt_rpi_armv6 │ ├── owrt_rpi_armv7 │ ├── pogoplug_arm │ ├── qnap_armv5 │ ├── qnap_armv7 │ ├── qnap_x64 │ ├── rpi_aarch64 │ ├── rpi_armv6 │ ├── rpi_armv7 │ ├── rpi_armv8 │ ├── synology_aarch64 │ ├── synology_armv5 │ ├── synology_armv7 │ ├── synology_armv7a │ ├── synology_ppc │ ├── ubnt_aarch64 │ ├── ubnt_mips64 │ ├── vuplus4k_arm │ ├── vuplus4k_armv7 │ └── vuplus4k_armv7a ├── functions ├── _ansi ├── _arrays ├── _cmd_build ├── _compress ├── _git ├── _gui_build ├── _help ├── _logos ├── _misc ├── _patch ├── _plugin_ssh_editor ├── _plugin_update_toolchain ├── _profiles ├── _repo ├── _subversion ├── _sys_check ├── _toolchain ├── _translation ├── _update └── _uploadcam ├── os ├── debian_ubuntu.install ├── manjaro.install ├── redhat_centos_fedora.install └── suse.install ├── patches ├── no.patch └── patch.url.template ├── profiles ├── best.box.profile ├── complete.box.profile └── upload.example.ssh ├── software ├── _vlmcsd └── _zerotier ├── stapi ├── liboscam_stapi.a ├── liboscam_stapi5_OPENBOX.a ├── liboscam_stapi5_UFS916.a ├── liboscam_stapi5_UFS916_0.03.a ├── libwi.a └── libwi2.a ├── toolchains.cfg ├── aarch64_generic ├── android_10_arm ├── android_11_arm ├── android_12_arm ├── android_13_arm ├── android_14_arm ├── android_15_arm ├── android_nougat_arm ├── android_oreo_arm ├── android_pie_arm ├── arm_dream ├── armv7_generic ├── cool ├── cool2 ├── csky ├── dcube ├── dockstar ├── dream_aarch64 ├── dream_arm ├── dream_mipsel ├── dream_one ├── dreambox_fpu ├── fritz3272_3370_3390_6840_7272_7330_7330SL_7360v2_7390_ssl_multi_mips-freetz ├── fritz3490_5490_5491_6890_7430_7490_7560_7580_7583_7583vdsl_7590_7590AX_7690_ssl_multi_mips-freetz ├── fritz4020_7362_ssl_multi_mips-freetz ├── fritz4040_4050_4060_5590_5690Pro_68504g_68505g_7510_7520_7520B_7530_7530AX_ssl_multi_arm-freetz ├── fritz6430_6490_6590_6591_6660_6670_6690_ssl_multi_i686-freetz ├── hd51 ├── igel_x86 ├── ineos ├── mca ├── mips32el_generic ├── mipsel ├── mipsel_s3_ssl098 ├── mipsel_s3_ssl100 ├── mipsel_s3_ssl102 ├── mipsoe20 ├── oe20_armv7 ├── oe20_mipsel ├── oe20_sh4 ├── oe20_sh_multilib ├── openpli40 ├── openwrt1505cc ├── osmio4k ├── owrt_ar71xx_mips ├── owrt_ath79_mips ├── owrt_kirkwood_arm ├── owrt_mediatek_armv8 ├── owrt_mpc85xx_ppc ├── owrt_ramips_mips ├── owrt_rpi_armv6 ├── owrt_rpi_armv7 ├── pogoplug_arm ├── powerpc_generic ├── ppcold ├── qnap_armv5 ├── qnap_armv7 ├── qnap_x64 ├── rasb_hard ├── rpi_aarch64 ├── rpi_armv6 ├── rpi_armv7 ├── rpi_armv8 ├── samsungtv ├── sh4 ├── sh4_generic ├── sh_4 ├── solo4k ├── syn_atom ├── synology_aarch64 ├── synology_armv5 ├── synology_armv7 ├── synology_armv7a ├── synology_ppc ├── ubnt_aarch64 ├── ubnt_mips64 ├── vuplus4k_arm ├── vuplus4k_armv7 └── vuplus4k_armv7a └── translation ├── bg ├── de ├── en ├── es ├── fr ├── it ├── nl ├── pl ├── pt └── tr /README.md: -------------------------------------------------------------------------------- 1 | # s3_releases 2 | 3 | for a simple console cam 4 | perform the following 5 | für eine einfache einfache console cam 6 | folgendes ausführen 7 | 8 | ./s3 checkout 9 | ./s3 native 10 | 11 | unter support/software kann nun andere software cross compiliert werden 12 | in dem beispiel mit _vlmscd ist dokumentiert wie die compilierung zu erfolgen hat 13 | 14 | under support/software other software can now be cross compiled 15 | in the example with _vlmscd is documented how the compilation has to be done 16 | -------------------------------------------------------------------------------- /oscamsource.url.template: -------------------------------------------------------------------------------- 1 | #Save this file as oscamsource.url to influence the source(s) 2 | #from which the oscam-git repository is cloned from 3 | 4 | ### STANDARD OSCAM REPOSITORY ### 5 | # To change the standard oscam repository, uncomment 6 | # the line starting with #trunkurl and point it 7 | # to a different location. 8 | # 9 | #trunkurl="https://domain/own-repo.git" 10 | 11 | ### CUSTOM OSCAM REPOSITORY IDENTIFIERS ### 12 | # To flexible switch the oscam repository, uncomment 13 | # the lines starting with #*IDENT, #*FOO, #*BAR and 14 | # point it to locations of your choice. 15 | # 16 | # You can change the INDENT part of the trunkurlIDENT 17 | # variable according to your needs and it is possible 18 | # to configure multiple custom identifiers (see FOO, BAR). 19 | # 20 | # To have s3 use one of the defined identifier URLs, 21 | # simply add SOURCE=IDENT before the s3 commands. 22 | # 23 | # command: SOURCE=IDENT ./s3 checkout 24 | #trunkurlIDENT="https://domain/ident-repo.git" 25 | # 26 | # command: SOURCE=FOO ./s3 menu 27 | #trunkurlFOO="https://domain/foo-repo.git" 28 | # 29 | # command: SOURCE=BAR ./s3 repoup 30 | #trunkurlBAR="https://domain/bar-repo.git" 31 | -------------------------------------------------------------------------------- /s3: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SIMPLEVERSION="2024.07" 4 | VERSIONCOUNTER="$(git rev-list --count HEAD 2>/dev/null || printf "$(echo "$SIMPLEVERSION" | sed -e 's/\(.\)/\1\+0/g' | bc)_non-git")" 5 | DEVELOPER="Gorgone, WXbet" 6 | OIFS=$IFS 7 | export NCURSES_NO_UTF8_ACS=1 8 | 9 | here_=$(pwd) 10 | realdir=$(readlink -f $0) 11 | cd "$(dirname $realdir)" 12 | 13 | #set dir_vars 14 | workdir="$(pwd)" 15 | sdir="$workdir/support" 16 | osdir="$sdir/os" 17 | ldir="$sdir/logs" 18 | adir="$sdir/archive" 19 | configdir="$sdir/configs" 20 | pdir="$sdir/patches" 21 | profdir="$sdir/profiles" 22 | bdir="$sdir/binaries" 23 | sodir="$sdir/software" 24 | dldir="$sdir/downloads" 25 | fdir="$sdir/functions" 26 | menudir="$sdir/menu_save" 27 | brepo="$sdir/backup_repo" 28 | tcdir="$sdir/toolchains" 29 | tdir="$sdir/translation" 30 | tccfgdir="$sdir/toolchains.cfg" 31 | 32 | # create folders 33 | mkdir -p "$tcdir/native/bin" 2>/dev/null 34 | mkdir -p $sdir/{archive,binaries,downloads,software,logs,patches,backup_repo,menu_save} 2>/dev/null 35 | [ -f $sdir/patches/no.patch ] && rm -f $sdir/patches/no.patch 2>/dev/null 36 | 37 | # some migrations of deprecated directories 38 | for migdir in backup_svn backup_git 39 | do 40 | if [ -d "$sdir/$migdir" ]; then 41 | mv -f "$sdir/$migdir"/{*,.*} "$brepo/" 2>/dev/null 42 | mv "$brepo/last.tar.gz" "$brepo/last${migdir: -3}.tar.gz" 2>/dev/null 43 | ln -fs "$(readlink "$brepo/last${migdir: -3}.tar.gz" | awk -F'/' '{ print $NF }')" "$brepo/last${migdir: -3}.tar.gz" 44 | rm -d "$sdir/$migdir" 45 | fi 46 | done 47 | 48 | # create links 49 | [ ! -d "$ldir" ] && clear && echo -e "\n folder creation error\n\n" && exit 50 | [ -L "$workdir/logs" ] || ln -frs "$ldir" "$workdir/logs" 2>/dev/null 51 | [ -L "$workdir/archive" ] || ln -frs "$adir" "$workdir/archive" 2>/dev/null 52 | [ -L "$workdir/patches" ] || ln -frs "$pdir" "$workdir/patches" 2>/dev/null 53 | [ -L "$workdir/binaries" ] || ln -frs "$bdir" "$workdir/binaries" 2>/dev/null 54 | [ -L "$workdir/software" ] || ln -frs "$sodir" "$workdir/software" 2>/dev/null 55 | [ -L "$workdir/profiles" ] || ln -frs "$profdir" "$workdir/profiles" 2>/dev/null 56 | 57 | #set arrays 58 | array_names_a=( SHORT_PROTOCOLS SHORT_READERS SHORT_CARD_READERS AVAI_TCLIST 59 | MISS_TCLIST SHORT_ADDONS DISABLED_MODULES SHORT_MODULENAMES 60 | ALL_MODULES_LONG ENABLED_MODULES INST_TCLIST SSH_CONF_CONTENT ) 61 | array_names_A=( INTERNAL_MODULES USE_vars USE_vars_disable s3cfg_vars ) 62 | 63 | for a_n in "${array_names_a[@]}" 64 | do 65 | unset $a_n 66 | declare -a $a_n 67 | done 68 | 69 | for a_n in "${array_names_A[@]}" 70 | do 71 | unset $a_n 72 | declare -A $a_n 73 | done 74 | 75 | USE_vars[USE_DIAG]=; 76 | USE_vars[USE_TARGZ]=; 77 | USE_vars[USE_PATCH]=; 78 | USE_vars[USE_STAPI]=; 79 | USE_vars[USE_STAPI5]=; 80 | USE_vars[USE_CONFDIR]=; 81 | USE_vars[USE_EXTRA]=; 82 | USE_vars[USE_STATIC]=; 83 | USE_vars[STATIC_LIBCRYPTO]=; 84 | USE_vars[STATIC_SSL]=; 85 | USE_vars[STATIC_LIBUSB]=; 86 | USE_vars[STATIC_PCSC]=; 87 | USE_vars[STATIC_LIBDVBCSA]=; 88 | USE_vars[USE_OSCAMNAME]=; 89 | 90 | s3cfg_vars[USE_TARGZ]=0 91 | s3cfg_vars[DIRECTMENU]=0 92 | s3cfg_vars[NO_REPO_AUTOUPDATE]=0 93 | s3cfg_vars[USE_VERBOSE]=0 94 | s3cfg_vars[S3_UPDATE_CHECK]=1 95 | s3cfg_vars[S3_URL_CHECK]=1 96 | s3cfg_vars[INSTALL_NATIVE_LIBDVBCSA]=1 97 | s3cfg_vars[PATCH_WEBIF]=1 98 | s3cfg_vars[SAVE_LISTSMARGO]=1 99 | s3cfg_vars[ADD_PROFILE_NAME]=0 100 | s3cfg_vars[NO_REPO_AUTOUPDATE]=0 101 | s3cfg_vars[delete_oscamdebugbinary]=1 102 | 103 | #filled arrays 104 | config_cases=( all addons protocols readers card_readers ); 105 | s3opts=( cedit checkout clean fix_me get_patch help lang_select loadonly\ 106 | menu profiles ssh_profiles repoclean repopatch reporestore repoup syscheck sysinfo tccheck\ 107 | tcrepair tedit update update_me upload version ) # extendable with plugins 108 | 109 | CUSTOM_CONFDIR="not_set" 110 | pf_name="not_set" 111 | 112 | #internal vars 113 | OPENBOX=0 114 | UFS916003=0 115 | _t1e="VG9vbGNoYWluLQ==" 116 | 117 | run="0" 118 | cposx=0 119 | cposy=0 120 | on="_on" 121 | off="_off" 122 | pf="empty" 123 | _verbose="" 124 | menucall="no" 125 | file_exist="0" 126 | loadprofile="no" 127 | s3cfg="$configdir/simplebuild.config" 128 | 129 | # Compiler settings 130 | cc_warn="-W -Wall -Wshadow -Wredundant-decls -Wstrict-prototypes -Wold-style-definition" 131 | #compiling options for minimize cpu load 132 | cc_opts="-ggdb -pipe -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-schedule-insns" 133 | #compiling options for compatibility 134 | #cc_opts="-ggdb -pipe -ffunction-sections -fdata-sections -o nodeadcode" 135 | #compiling options for optimizing 136 | #cc_opts="-ggdb -pipe -ffunction-sections -fdata-sections -o nodeadcode -ffast-math -fomit-frame-pointer -fthread-jumps -foptimize-strlen --no-inline" 137 | 138 | #load default urls 139 | source "$configdir/urls" 140 | 141 | #load custom urls 142 | [ -f "$workdir/oscamsource.url" ] && source "$workdir/oscamsource.url" 143 | 144 | # switch trunkurl based on environment variable SOURCE 145 | # needs an existing oscamsource.url file containing trunkurl="some url" 146 | # e.q. to force s3 to use trunkurlsvn which was defined in oscamsource.url, simply run: SOURCE=svn ./s3 menu 147 | forcedurl="trunkurl$SOURCE" 148 | [ -v trunkurl$SOURCE ] && trunkurl="${!forcedurl}" || unset SOURCE 149 | 150 | #load translationlist 151 | cd "$tdir" 152 | langsupport=(*) 153 | 154 | #load functions and plugins 155 | if [ -d "$fdir" ] 156 | then 157 | cd "$fdir" 158 | x=(*) 159 | for i in "${x[@]}" 160 | do 161 | source "$i" 162 | plugin=$(awk '/^#simplebuild_plugin/ {printf $2}' $i) 163 | [ -z "$plugin" ] || s3opts+=($plugin) 164 | done 165 | else 166 | echo "fail functions" 167 | fi 168 | 169 | #set additional dir_vars 170 | REPO="$(REPOTYPE)" 171 | ID="$(echo "$(REPOIDENT)" | tr ' ' '-')" 172 | repodir="$workdir/oscam-${REPO}${ID}" 173 | ispatched="$workdir/${REPO^^}${ID}-IS-PATCHED" 174 | 175 | #software build support 176 | if [ -d "$sodir" ] 177 | then 178 | cd "$sodir" 179 | x=(*) 180 | for i in "${x[@]}" 181 | do 182 | if [ -f "$i" ]; then 183 | source "$i" 184 | plugin=$(awk '/^#simplebuild_plugin/ {printf $2}' $i) 185 | [ -z "$plugin" ] || s3opts+=($plugin) 186 | fi 187 | done 188 | fi 189 | 190 | #initialize simplebuild 191 | initializeANSI # load colors 192 | auto_langset # echo "info $txt_load_ok"; 193 | read_s3cfg # read simplebuild config 194 | 195 | # check system ######################################################### 196 | syscheck 197 | [ ! "$sanity" == "1" ] && echo "sanity fail" && sleep 5 && bye 198 | ######################################################################## 199 | 200 | _create_native_profile # put native datas to toolchains and configs 201 | _get_config_con "$1" # echo $addons;exit; 202 | _create_module_arrays # fill module arrays 203 | _fill_tc_array # get # AVAI_TCLIST # INST_TCLIST # MISS_TCLIST 204 | _set_dialog_types # fill $gui vars 205 | _systype # check used uname 206 | 207 | if [ -z "$1" ] 208 | then 209 | [ "${s3cfg_vars[DIRECTMENU]}" == "1" ] && _dialog_checkout && exit 210 | _help 211 | exit 212 | 213 | else 214 | for e in "${s3opts[@]}" 215 | do 216 | 217 | if [ "$e" == "$1" ] 218 | then 219 | 220 | case $e in 221 | 222 | fix_me|checkout|update_me|reporestore|upload_cam) 223 | if [ ! -n "$2" ] 224 | then 225 | eval "$e" 226 | else 227 | eval "$e" "$2" 228 | fi 229 | exit;; 230 | 231 | menu) 232 | if [ ! -n "$2" ] 233 | then 234 | _dialog_checkout 235 | else 236 | _dialog_checkout "$2" 237 | fi;; 238 | 239 | loadonly) 240 | if [ ! -n "$2" ] 241 | then 242 | _nl 243 | clear 244 | s3logo 245 | echo -e "$r_l\n $txt_error: toolchain $txt_parameter $txt_missing\n""$w_l" 246 | _help_toolchain 247 | sleep 2 248 | exit 249 | else 250 | for t in "${AVAI_TCLIST[@]}" 251 | do 252 | _tmp="$2" 253 | [ "$t" == "$2" ] && _load_toolchain "$2" && break 254 | done 255 | if [ -f "$tc_dl" ] 256 | then 257 | echo -e "$p_l\n\n toolchain for $_tmp loaded\n" 258 | else 259 | _nl 260 | clear 261 | s3logo 262 | printf "$r_l toolchain missing/error\n" 263 | fi 264 | exit 265 | fi;; 266 | 267 | tccheck) 268 | if [ ! -n "$2" ] 269 | then 270 | _nl 271 | clear 272 | s3logo 273 | printf "$r_l\n $txt_error: toolchain $txt_parameter $txt_missing\n""$w_l" 274 | _help_toolchain 275 | printf "$W" 276 | sleep 2 277 | exit 278 | else 279 | for t in "${AVAI_TCLIST[@]}" 280 | do 281 | [ "$t" == "$2" ] && _toolchain_check "$2" && break 282 | done 283 | _nl 284 | clear 285 | s3logo 286 | printf "$r_l\n toolchain missing/error\n$w_l" 287 | _help_toolchain 288 | echo -e "$W" 289 | sleep 2 290 | exit 291 | fi;; 292 | 293 | tcrepair) 294 | if [ ! -n "$2" ];then 295 | _nl 296 | clear 297 | s3logo 298 | printf "$r_l\n $txt_error: toolchain $txt_parameter $txt_missing\n""$w_l" 299 | _help_toolchain 300 | printf "$W" 301 | sleep 2 302 | exit 303 | else 304 | _nl 305 | clear 306 | _toolchain_repair "$2" 307 | sleep 2 308 | exit 309 | fi;; 310 | 311 | upload) 312 | if [ ! -n "$2" ] 313 | then 314 | _nl 315 | clear 316 | s3logo 317 | echo -e "$r_l\n $txt_error: $txt_parameter $txt_missing""$w_l" 318 | menucall="yes" 319 | ssh_profiles 320 | else 321 | upload_cam "$2" 322 | fi 323 | exit;; 324 | 325 | syscheck) 326 | syscheck silent $2 327 | exit;; 328 | 329 | tedit) 330 | if [ -n "$2" ] 331 | then 332 | for telement in ${INST_TCLIST[@]} 333 | do 334 | if [ "$telement" == "$2" ] 335 | then 336 | tedit $2 337 | exit 338 | fi 339 | done 340 | clear 341 | s3logo 342 | printf "$w_l\n $2 toolchain not installed\n"$W 343 | fi 344 | exit;; 345 | 346 | help) 347 | _help 348 | exit;; 349 | 350 | *) 351 | shift && eval "$e" "$@"; #Remove the first command line argument and pass the remaining ones to the plugin 352 | exit;; 353 | esac 354 | 355 | fi 356 | done 357 | 358 | for t in "${AVAI_TCLIST[@]}" 359 | do 360 | 361 | if [ "$t" == "$1" ] 362 | then 363 | 364 | [ "${2:0:4}" == "here" ] && EXTRA_COPY_DIR=1 || EXTRA_COPY_DIR=0 365 | 366 | if [ "${2:0:3}" == "-p=" ] || [ "${2:0:3}" == "-P=" ] 367 | then 368 | if [ -f "$profdir/${2#*=}" ] 369 | then 370 | pf=$(cat "$profdir/${2#*=}") 371 | pf_name="${2#*=}" 372 | fi 373 | fi 374 | 375 | if [ "${3:0:3}" == "-p=" ] || [ "${3:0:3}" == "-P=" ] 376 | then 377 | if [ -f "$profdir/${2#*=}" ] 378 | then 379 | pf=$(cat "$profdir/${2#*=}") 380 | pf_name="${2#*=}" 381 | fi 382 | fi 383 | 384 | [ "$pf" == "empty" ] && c_m_d="$*" || c_m_d="all_off $pf $*"; # set only active module with profiles 385 | for cmd in $c_m_d 386 | do 387 | 388 | if [ "${cmd:0:3}" == "-c=" ] || [ "${cmd:0:3}" == "-C=" ] 389 | then 390 | CUSTOM_CONFDIR="${cmd#*=}" 391 | fi 392 | 393 | if [ "${cmd:0:11}" == "-oscamname=" ] 394 | then 395 | USE_vars[USE_OSCAMNAME]="USE_OSCAMNAME=${cmd#*=}" 396 | fi 397 | 398 | for cc in "${config_cases[@]}" 399 | do 400 | [ "$cmd" == "$cc$on" ] && all_cc+=($cc$on) && break 401 | [ "$cmd" == "$cc$off" ] && all_cc+=($cc$off) && break 402 | done 403 | 404 | for sm in "${SHORT_MODULENAMES[@]}" 405 | do 406 | [ "$cmd" == "$sm" ] && all_cc+=($(get_module_name "$sm")$on) && break 407 | [ "$cmd" == "$sm$off" ] && all_cc+=($(get_module_name "$sm")$off) && break 408 | done 409 | 410 | for uvar in "${!USE_vars[@]}" 411 | do 412 | [ "$cmd" == "$uvar" ] && USE_vars[$uvar]="$uvar=1" && break 413 | [ "$cmd" == "$uvar$off" ] && USE_vars_disable[$uvar]="$uvar=1" && break 414 | done 415 | 416 | case $cmd in 417 | OPENBOX) OPENBOX=1;; 418 | UFS916003) UFS916003=1;; 419 | USE_VERBOSE) s3cfg_vars[USE_VERBOSE]=1;; 420 | esac 421 | 422 | done 423 | _pre_build "$t" 424 | exit 425 | fi 426 | 427 | done 428 | _help 429 | fi 430 | exit 431 | -------------------------------------------------------------------------------- /support/configs/compiler_option: -------------------------------------------------------------------------------- 1 | -O2 2 | -------------------------------------------------------------------------------- /support/configs/compiler_option.txt: -------------------------------------------------------------------------------- 1 | -O0 optimization for time 2 | -O2 optimization (oscam default) 3 | -O3 optimization (smaller size) 4 | -Os optimization for code size 5 | -------------------------------------------------------------------------------- /support/configs/config.sh.master: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | addons="WEBIF WEBIF_LIVELOG WEBIF_JQUERY WITH_SSL HAVE_DVBAPI WITH_NEUTRINO READ_SDT_CHARSETS IRDETO_GUESSING CS_ANTICASC WITH_DEBUG MODULE_MONITOR WITH_LB CS_CACHEEX CS_CACHEEX_AIO CW_CYCLE_CHECK LCDSUPPORT LEDSUPPORT CLOCKFIX IPV6SUPPORT" 4 | protocols="MODULE_CAMD33 MODULE_CAMD35 MODULE_CAMD35_TCP MODULE_NEWCAMD MODULE_CCCAM MODULE_CCCSHARE MODULE_GBOX MODULE_RADEGAST MODULE_SCAM MODULE_SERIAL MODULE_CONSTCW MODULE_PANDORA MODULE_GHTTP" 5 | readers="READER_NAGRA READER_NAGRA_MERLIN READER_IRDETO READER_CONAX READER_CRYPTOWORKS READER_SECA READER_VIACCESS READER_VIDEOGUARD READER_DRE READER_TONGFANG READER_BULCRYPT READER_GRIFFIN READER_DGCRYPT" 6 | card_readers="CARDREADER_PHOENIX CARDREADER_INTERNAL CARDREADER_SC8IN1 CARDREADER_MP35 CARDREADER_SMARGO CARDREADER_DB2COM CARDREADER_STAPI CARDREADER_STAPI5 CARDREADER_STINGER CARDREADER_DRECAS" 7 | 8 | #just fill for first start 9 | -------------------------------------------------------------------------------- /support/configs/max_cpus: -------------------------------------------------------------------------------- 1 | 16 -------------------------------------------------------------------------------- /support/configs/max_cpus.txt: -------------------------------------------------------------------------------- 1 | put only the count of cpus u want to use in the file !!! 2 | 3 | example: 4 | for 3 of X cpus 5 | echo 3 >max_cpus -------------------------------------------------------------------------------- /support/configs/sign: -------------------------------------------------------------------------------- 1 | x509cert="/path/to/your/certificate.crt"; 2 | privkey="/path/to/your/private.key" 3 | -------------------------------------------------------------------------------- /support/configs/simplebuild.config: -------------------------------------------------------------------------------- 1 | DIRECTMENU=0 2 | NO_REPO_AUTOUPDATE=0 3 | SAVE_LISTSMARGO=0 4 | S3_UPDATE_CHECK=0 5 | S3_URL_CHECK=3 6 | INSTALL_NATIVE_LIBDVBCSA=1 7 | PATCH_WEBIF=1 8 | GIT_CLONE_DEPTH=1 9 | USE_VERBOSE=0 10 | USE_TARGZ=0 11 | delete_oscamdebugbinary=1 12 | -------------------------------------------------------------------------------- /support/configs/upx.txt: -------------------------------------------------------------------------------- 1 | -1 2 | -2 3 | -3 4 | -4 5 | -5 6 | -6 7 | -7 8 | -8 9 | -9 10 | --best 11 | --brute 12 | --ultra-brute 13 | 14 | 15 | -1 #very fast 16 | --ultra-brute #very slow but very strong 17 | -------------------------------------------------------------------------------- /support/configs/upx_option: -------------------------------------------------------------------------------- 1 | upx_c=--best -------------------------------------------------------------------------------- /support/configs/urls: -------------------------------------------------------------------------------- 1 | s3url="https://github.com/gorgone/s3_releases.git"; 2 | trunkurl="https://git.streamboard.tv/common/oscam.git" 3 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_10_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 10 STBs 2 | #toolchain template version: 3 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=29 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="29" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_11_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 11 STBs 2 | #toolchain template version: 3 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=30 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="30" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_12_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 12 STBs 2 | #toolchain template version: 2 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=31 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="31" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_13_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 13 STBs 2 | #toolchain template version: 2 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=33 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="33" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_14_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 14 STBs 2 | #toolchain template version: 1 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=34 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="34" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_15_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 15 STBs 2 | #toolchain template version: 1 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=35 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="35" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_nougat_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 7.x Nougat STBs 2 | #toolchain template version: 4 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=24 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="24" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_oreo_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 8.x Oreo STBs 2 | #toolchain template version: 3 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=26 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="26" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/android_pie_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: Android 9.x Pie STBs 2 | #toolchain template version: 3 3 | #toolchain template cflags: -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=28 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument 4 | #toolchain template updated: 2024-09-08 21:23:47 5 | ANDK_API="28" #https://source.android.com/setup/start/build-numbers?hl=en 6 | ANDK_ABI="armeabi-v7a" 7 | ANDK_ARCH="arm" 8 | ANDK_ARCH_BITNESS="32" 9 | ANDK_HOST="arm-linux-androideabi" 10 | ANDK_SSL_TARGET="android-arm" #android-arm, android-arm64, android-x86, android-x86 11 | -------------------------------------------------------------------------------- /support/crosstool/templates/fos_m72x_mips: -------------------------------------------------------------------------------- 1 | #toolchain template: FRITZ!Box 7590|7490 7.2x 2 | #toolchain template version: 6 3 | #toolchain template updated: 2021-02-16 21:37:12 4 | FREETZ_USER_LEVEL_EXPERT=y 5 | FREETZ_SHOW_ADVANCED=y 6 | FREETZ_SHOW_EXPERT=y 7 | FREETZ_TYPE_7590=y 8 | FREETZ_TYPE_FIRMWARE_07_2X=y 9 | FREETZ_TYPE_FIRMWARE_FINAL=y 10 | FREETZ_BUILD_TOOLCHAIN=y 11 | FREETZ_TOOLCHAIN_CCACHE=n 12 | -------------------------------------------------------------------------------- /support/crosstool/templates/fos_u69x_mips: -------------------------------------------------------------------------------- 1 | #toolchain template: FRITZ!Box 7590|7490 6.9x 2 | #toolchain template version: 3 3 | #toolchain template migrate: fritzOS-uClibc-69x_mips 4 | #toolchain template updated: 2021-02-16 21:37:12 5 | FREETZ_USER_LEVEL_EXPERT=y 6 | FREETZ_SHOW_ADVANCED=y 7 | FREETZ_SHOW_EXPERT=y 8 | FREETZ_TYPE_7590=y 9 | FREETZ_TYPE_FIRMWARE_06_9X=y 10 | FREETZ_TYPE_FIRMWARE_FINAL=y 11 | FREETZ_BUILD_TOOLCHAIN=y 12 | FREETZ_TOOLCHAIN_CCACHE=n 13 | -------------------------------------------------------------------------------- /support/crosstool/templates/fos_u71x_arm: -------------------------------------------------------------------------------- 1 | #toolchain template: FRITZ!Box 7530|7520 7.1x 2 | #toolchain template version: 2 3 | #toolchain template updated: 2021-02-16 21:37:12 4 | FREETZ_USER_LEVEL_EXPERT=y 5 | FREETZ_SHOW_ADVANCED=y 6 | FREETZ_SHOW_EXPERT=y 7 | FREETZ_TYPE_7530=y 8 | FREETZ_TYPE_FIRMWARE_07_1X=y 9 | FREETZ_TYPE_FIRMWARE_FINAL=y 10 | FREETZ_BUILD_TOOLCHAIN=y 11 | FREETZ_TOOLCHAIN_CCACHE=n 12 | -------------------------------------------------------------------------------- /support/crosstool/templates/fos_u71x_mips: -------------------------------------------------------------------------------- 1 | #toolchain template: FRITZ!Box 7590|7490 7.1x 2 | #toolchain template version: 3 3 | #toolchain template migrate: fritzOS-uClibc-71x_mips 4 | #toolchain template updated: 2021-02-16 21:37:12 5 | FREETZ_USER_LEVEL_EXPERT=y 6 | FREETZ_SHOW_ADVANCED=y 7 | FREETZ_SHOW_EXPERT=y 8 | FREETZ_TYPE_7590=y 9 | FREETZ_TYPE_FIRMWARE_07_1X=y 10 | FREETZ_TYPE_FIRMWARE_FINAL=y 11 | FREETZ_BUILD_TOOLCHAIN=y 12 | FREETZ_TOOLCHAIN_CCACHE=n 13 | -------------------------------------------------------------------------------- /support/crosstool/templates/fos_u71x_puma: -------------------------------------------------------------------------------- 1 | #toolchain template: FRITZ!Box 6690|6491|6490|6430 7.1x 2 | #toolchain template version: 2 3 | #toolchain template updated: 2021-02-16 21:37:12 4 | FREETZ_USER_LEVEL_EXPERT=y 5 | FREETZ_SHOW_ADVANCED=y 6 | FREETZ_SHOW_EXPERT=y 7 | FREETZ_TYPE_6430=y 8 | FREETZ_TYPE_FIRMWARE_07_1X=y 9 | FREETZ_TYPE_FIRMWARE_FINAL=y 10 | FREETZ_BUILD_TOOLCHAIN=y 11 | FREETZ_TOOLCHAIN_CCACHE=n 12 | -------------------------------------------------------------------------------- /support/functions/_ansi: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #usage: 4 | #to use colors start with initializeANSI first 5 | #example red color text 6 | #echo -e $r_n"red text"$re_"normal text" 7 | 8 | initializeANSI(){ 9 | 10 | nc='\033[0;' #nc normal color 11 | lc='\033[1;' #lc light color 12 | bc='\033[' #bc backcolor 13 | 14 | # normal 15 | bk_n=$nc'30m' #black 16 | r_n=$nc'31m' #red 17 | g_n=$nc'32m' #green 18 | y_n=$nc'33m' #yellow 19 | b_n=$nc'34m' #blue 20 | p_n=$nc'35m' #pink 21 | c_n=$nc'36m' #cyan 22 | w_n=$nc'37m' #white 23 | 24 | #light 25 | bk_l=$nc'30m' #black 26 | r_l=$lc'31m' #red 27 | g_l=$lc'32m' #green 28 | y_l=$lc'33m' #yellow 29 | b_l=$lc'34m' #blue 30 | p_l=$lc'35m' #pink 31 | c_l=$lc'36m' #cyan 32 | w_l=$lc'37m' #white 33 | 34 | # normal background 35 | bk_nb=$bc'40m' #black 36 | r_nb=$bc'41m' #red 37 | g_nb=$bc'42m' #green 38 | y_nb=$bc'43m' #yellow 39 | b_nb=$bc'44m' #blue 40 | p_nb=$bc'45m' #pink 41 | c_nb=$bc'46m' #cyan 42 | w_nb=$bc'107m' #white 43 | 44 | # light background 45 | dg_lb=$bc'100m' #dark gray 46 | r_lb=$bc'101m' #light red 47 | g_lb=$bc'102m' #light green 48 | y_lb=$bc'103m' #light yellow 49 | b_lb=$bc'104m' #light blue 50 | p_lb=$bc'105m' #light pink 51 | c_lb=$bc'106m' #light cyan 52 | lg_lb=$bc'47m' #light gray 53 | 54 | #reset to normal 55 | re_='\033[0m' #resets all colors 56 | re_f='\033[39m' #resets only foreground color 57 | re_b='\033[49m' #resets only background color 58 | 59 | #sed replace 60 | W=$(echo -e '\033[0m') #normal 61 | Y=$(echo -e '\033[1;33m') #yellow 62 | YH=$(echo -e '\033[1;93m') #yellow 63 | R=$(echo -e '\033[1;31m') #red 64 | G=$(echo -e '\033[1;32m') #green 65 | GH=$(echo -e '\033[1;92m') #green 66 | P=$(echo -e '\033[1;35m') #pink 67 | C=$(echo -e '\033[1;36m') #cyan 68 | WH=$(echo -e '\033[1;37m') #lightgray 69 | } 70 | -------------------------------------------------------------------------------- /support/functions/_arrays: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | _fill_tc_array(){ 4 | unset AVAI_TCLIST 5 | unset INST_TCLIST 6 | tcempty=0 7 | 8 | cd "$tccfgdir" 9 | if [ "$(ls -A "$tccfgdir")" ] 10 | then 11 | AVAI_TCLIST=(*) 12 | else 13 | printf "\n error in _fill_tc_array()\n please report error\n\n" 14 | exit 15 | fi 16 | 17 | cd "$tcdir" 18 | if [ "$(ls -A "$tcdir")" ] 19 | then 20 | tmp_tclist=(*) 21 | for t in "${tmp_tclist[@]}" 22 | do 23 | for a in "${AVAI_TCLIST[@]}" 24 | do 25 | [ "$t" == "$a" ] && INST_TCLIST+=($t) 26 | done 27 | done 28 | else 29 | tcempty=1 30 | fi 31 | 32 | if [ "$tcempty" == "1" ] 33 | then 34 | MISS_TCLIST=$(echo ${AVAI_TCLIST[@]} |sort) 35 | else 36 | MISS_TCLIST=( 37 | $(for el in $(diff_array AVAI_TCLIST[@] INST_TCLIST[@]) 38 | do 39 | echo "$el" 40 | done |sort) 41 | ) 42 | fi 43 | } 44 | 45 | _create_module_arrays(){ 46 | i=0 47 | for e in $(echo "$addons" | sed 's/WEBIF_//g;s/WITH_//g;s/MODULE_//g;s/CS_//g;s/HAVE_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g';) 48 | do 49 | SHORT_ADDONS+=($e) 50 | SHORT_MODULENAMES+=($e) 51 | done 52 | 53 | for e in ${protocols//MODULE_/} 54 | do 55 | SHORT_PROTOCOLS+=($e) 56 | SHORT_MODULENAMES+=($e) 57 | done 58 | 59 | for e in ${readers//READER_/} 60 | do 61 | SHORT_READERS+=($e) 62 | SHORT_MODULENAMES+=($e) 63 | done 64 | 65 | for e in ${card_readers//CARDREADER_/} 66 | do 67 | SHORT_CARD_READERS+=($e) 68 | SHORT_MODULENAMES+=($e) 69 | done 70 | 71 | for e in $addons $protocols $readers $card_readers 72 | do 73 | ALL_MODULES_LONG+=($e) 74 | done 75 | 76 | for e in "${SHORT_MODULENAMES[@]}" 77 | do 78 | INTERNAL_MODULES["$e"]="${ALL_MODULES_LONG[i]}" 79 | ((i++)) 80 | done 81 | } 82 | 83 | diff_array(){ 84 | awk 'BEGIN{RS=ORS=" "}{NR==FNR?a[$0]++:a[$0]--}END{for(k in a)if(a[k])print k}' <(echo -n "${!1}") <(echo -n "${!2}") 85 | } 86 | -------------------------------------------------------------------------------- /support/functions/_cmd_build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | _cmd_build(){ 4 | [ ! -d "${repodir}" ] || [ -f "$workdir/NEED-CHECKOUT" ] && checkout 5 | 6 | if [ "$_toolchainname" == "native" ] 7 | then 8 | log_name="$(date +%F).$(date +%X).$(hostname).log" 9 | 10 | else 11 | log_name="$(date +%F).$(date +%X).$_toolchainname.log" 12 | fi 13 | 14 | source "$tccfgdir/$_toolchainname" 15 | _reset_config 16 | printf $WH 17 | ologo >"$ldir/$log_name" 18 | 19 | #set build defaults 20 | CROSS="$tcdir/$_toolchainname/bin/$_compiler" 21 | SYSROOT="$(realpath -sm $tcdir/$_toolchainname/$_sysroot)" 22 | [ "$_stagingdir" == "1" ] && export STAGING_DIR="$tcdir/$_toolchainname" 23 | [ "$_androidndkdir" == "1" ] && export ANDROID_NDK="$tcdir/$_toolchainname" 24 | [ -f "$configdir/compiler_option" ] && co=$(cat "$configdir/compiler_option") || co="-O2" 25 | 26 | #toolchain defaults 27 | for defa in $default_use 28 | do 29 | USE_vars[$defa]="$defa=1" 30 | done 31 | 32 | #disable by cmd 33 | for e in ${USE_vars[*]} 34 | do 35 | 36 | for d in ${USE_vars_disable[*]} 37 | do 38 | [ "$e" == "$d" ] && USE_vars[${e:0: -2}]=; 39 | done 40 | 41 | if [ $e == "USE_DIAG=1" ]; then 42 | codecheck=$(command -v scan-build) 43 | fi 44 | done 45 | cd "${repodir}" 46 | 47 | #make clean 48 | make distclean > /dev/null 2>&1; 49 | 50 | #patching 51 | if [ "${USE_vars['USE_PATCH']}" == "USE_PATCH=1" ] 52 | then 53 | if [ -f "$ispatched" ] 54 | then 55 | printf "$y_l\n | $r_l WARNING : patch upon patch" 56 | printf "$y_l\n | $r_l UNCLEAN $y_l: restore SVN $G$txt_wait" 57 | quickreporestore $_toolchainname 58 | _apply_consolepatch 59 | else 60 | _apply_consolepatch 61 | fi 62 | fi 63 | 64 | #do enable and disable modules 65 | for am in "${all_cc[@]}" 66 | do 67 | 68 | chose="false" 69 | if [ "${am:${#am} - 3}" == "_on" ] 70 | then 71 | e="${am:0: -3}" 72 | "${repodir}/config.sh" -E "$e" |awk '{printf "\033[1;37m"} {printf " | %s : ", $1} {printf "\033[1;32m"} {printf "%s\n", $2}' 73 | fi 74 | 75 | if [ "${am:${#am} - 4}" == "_off" ] 76 | then 77 | d="${am:0: -4}" 78 | "${repodir}/config.sh" -D "$d" |awk '{printf "\033[1;37m"} {printf " | %s : ", $1} {printf "\033[1;31m"} {printf "%s\n", $2}' 79 | fi 80 | 81 | done 82 | echo -en "\e[1A" 83 | 84 | #fix smargo case 85 | if [ "$(./config.sh -e CARDREADER_SMARGO)" == "Y" ] || [ "${USE_vars[$e]}" == "USE_LIBUSB=1" ] 86 | then 87 | silent=$(./config.sh -E CARDREADER_SMARGO) 88 | check_smargo 89 | else 90 | silent=$(./config.sh -D CARDREADER_SMARGO) 91 | check_smargo 92 | fi 93 | 94 | #fix streamrelay case 95 | check_streamrelay 96 | 97 | #fill use variables and set name addons 98 | USESTRING=; 99 | EXTRA_USE=; 100 | buildtype="" 101 | libcount=0 102 | statcount=0 103 | _usb=; 104 | _pcsc=; 105 | _dvbcsa=; 106 | _stapi=; 107 | _stapi5=; 108 | _make="make" 109 | for e in "${!USE_vars[@]}" 110 | do 111 | for e1 in $_block 112 | do 113 | USE_vars[$e1]=; 114 | done 115 | 116 | uv=${USE_vars[$e]} 117 | if [ ! "$e" == "USE_CONFDIR" ] 118 | then 119 | USESTRING="$uv $USESTRING" 120 | if [ "${#USE_vars[$e]}" -gt "5" ] 121 | then 122 | printf "\n$y_l | set : ${USE_vars[$e]}" 123 | fi 124 | fi 125 | 126 | case "$uv" in 127 | "USE_LIBCRYPTO=1") 128 | ((libcount++));; 129 | "USE_SSL=1") 130 | ((libcount++));; 131 | "USE_LIBUSB=1") 132 | ((libcount++)); 133 | _usb="-libusb";; # set libusb suffix to name 134 | "USE_PCSC=1") 135 | ((libcount++)); 136 | _pcsc_on 137 | _pcsc="-pcsc";; # set pcsc suffix to name 138 | "USE_LIBDVBCSA=1") 139 | ((libcount++)); 140 | _dvbcsa="-libdvbcsa";; # set libdvbcsa suffix to name 141 | "USE_TARGZ=1") 142 | s3cfg_vars[TARGZ]=1;; # overwrite global 143 | "USE_STAPI=1") 144 | _stapi="-stapi" 145 | [ -z "$stapi_lib_custom" ] && STAPI_LIB="STAPI_LIB=$sdir/stapi/liboscam_stapi.a" || STAPI_LIB="STAPI_LIB=$sdir/stapi/${stapi_lib_custom}" 146 | printf "$y_l\n | LIB : ${c_l}$(basename "$STAPI_LIB")${w_l}";; 147 | "USE_STAPI5=1") 148 | _stapi5="-stapi5" 149 | [ "$OPENBOX" == "1" ] && STAPI_LIB="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_OPENBOX.a" && printf "$y_l\n | LIB : "$c_l"liboscam_stapi5_OPENBOX.a"$w_l 150 | [ "$UFS916003" == "1" ] && STAPI_LIB="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916_0.03.a" && printf "$y_l\n | LIB : "$c_l"liboscam_stapi5_UFS916_0.03.a"$w_l 151 | [ "$UFS916003" == "0" ] && [ "$OPENBOX" == "0" ] && STAPI_LIB="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916.a" && printf "$y_l\n | LIB : "$c_l"liboscam_stapi5_UFS916.a"$w_l;; 152 | esac 153 | 154 | done 155 | 156 | #change default oscam CONF_DIR 157 | 158 | CONFDIR="$_oscamconfdir_default" 159 | cdtag="CONF_DIR=$CONFDIR" 160 | 161 | if [ ! -z "$_oscamconfdir_custom" ]; 162 | then 163 | if [ ! "$_oscamconfdir_custom" == "not_set" ]; 164 | then 165 | CONFDIR="$_oscamconfdir_custom" 166 | cdtag="${r_l}custom CONF_DIR=$_oscamconfdir_custom (via toolchain.cfg)" 167 | fi 168 | fi 169 | 170 | if [ ! "$CUSTOM_CONFDIR" == "not_set" ]; 171 | then 172 | CONFDIR="$CUSTOM_CONFDIR" 173 | cdtag="${r_l}custom CONF_DIR=$CUSTOM_CONFDIR (via CUSTOM_CONFDIR)" 174 | fi 175 | 176 | printf "$y_l\n | set : ${cdtag}$w_l" 177 | 178 | #if build with profile 179 | [ ! "$pf" == "empty" ] && printf "\n$y_l | PROFILE : $pf_name" 180 | 181 | #IF REPO is Patched 182 | if [ -f "$ispatched" ] 183 | then 184 | printf "$y_l\n | ISPATCHED :$P YES (integrate patch infomation into WebIf)" 185 | patch_webif 186 | fi 187 | 188 | #prepare extra_* variables 189 | if [ "${USE_vars[USE_EXTRA]}" == "USE_EXTRA=1" ] 190 | then 191 | printf "$y_l\n | EXTRAFLAGS: enabled" 192 | extra="-extra" 193 | else 194 | printf "$y_l\n | EXTRAFLAGS: disabled" 195 | unset extra_use extra_cc extra_ld extra_c 196 | fi 197 | 198 | #dynamic, static, mixed build 199 | set_buildtype 200 | 201 | #max cpu usage 202 | if [ -f "$configdir/max_cpus" ] 203 | then 204 | cpus="$(< "$configdir/max_cpus")" 205 | [ ! "$cpus" -gt "1" ] && cpus="1" 206 | [ "$cpus" -gt "$(CPUS)" ] && cpus="$(CPUS)" 207 | printf "$y_l\n | MAX_CPUS : $txt_use $cpus $txt_of $(CPUS) CPU(s)" 208 | else 209 | cpus="$(CPUS)" 210 | fi 211 | 212 | [ "${s3cfg_vars[USE_VERBOSE]}" == "1" ] && _verbose="V=1" 213 | 214 | #signing case 215 | check_signing 216 | 217 | #build 218 | if [ ${#USE_vars[USE_OSCAMNAME]} -gt 0 ] 219 | then 220 | oscam_name=$(echo ${USE_vars[USE_OSCAMNAME]} |cut -d "=" -f2) 221 | else 222 | _generate_oscam_name "$_toolchainname" "$extra$buildtype" 223 | fi 224 | 225 | if [[ $oscam_name =~ -upx ]] 226 | then 227 | [ -f "$configdir/upx_option" ] && source "$configdir/upx_option" 228 | COMP_LEVEL="COMP_LEVEL=$upx_c" 229 | fi 230 | _nl 231 | USESTRING=${USE_vars[@]} 232 | EXTRA_USE=$extra_use 233 | timer_start 234 | $codecheck $_make -j"$cpus" $_verbose \ 235 | "CONF_DIR=$CONFDIR" \ 236 | "OSCAM_BIN=$bdir/$oscam_name" \ 237 | "CC_OPTS=$co $cc_opts $extra_cc" \ 238 | "CC_WARN=$cc_warn" \ 239 | "EXTRA_LDFLAGS=$extra_ld" \ 240 | "EXTRA_CFLAGS=$extra_c" \ 241 | $EXTRA_USE \ 242 | $COMP_LEVEL \ 243 | "CROSS=$CROSS" $STAPI_LIB $USESTRING $LIBCRYPTO_LIB $SSL_LIB $LIBUSB_LIB $PCSC_LIB $LIBDVBCSA_LIB 2>&1 \ 244 | |tee -a "$ldir/$log_name" \ 245 | |grep --line-buffered -v 'BFD\|^/' \ 246 | |grep --line-buffered '^CC\|^HOSTCC\|^GEN\|^CONF\|^RM\|^UPX\|^SIGN\|UseFlags\| CONF_DIR =\|Binary\|LINK\|STRIP\|BUILD\|Addons\|Protocols\|Readers\|CardRdrs\|^/' \ 247 | |sed -e "s/^|/"$Y" |/g;s/^RM/"$R" REMOVE ----->$W/g;s/^CONF/"$C" CONFIG ----->$W/g;s/^LINK/"$P" LINK ------->$W/g;s/^STRIP/"$P" STRIP ------>$W/g;s/^CC\|^HOSTCC\|^BUILD/"$G" BUILD ------>$W/g;s/^GEN/"$C" GEN -------->/g;s/^UPX/"$GH" UPX -------->$W/g;s/^SIGN/"$YH" SIGN ------->$W/g; 248 | s/WEBIF_//g;s/WITH_//g;s/MODULE_//g;s/CS_//g;s/HAVE_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g;s/= /: /g;" 249 | 250 | #calc buildtime 251 | timer_stop 252 | timer_calc 253 | bt="[ $txt_buildtime $((Tcalc / 60)) min(s) $((Tcalc % 60)) secs ]" 254 | 255 | #save list_smargo 256 | cd "${repodir}/Distribution" 257 | lsmn="$(ls list_smargo* 2> /dev/null)" 258 | 259 | if [ "${s3cfg_vars[SAVE_LISTSMARGO]}" == "1" ] && [ -f "${repodir}/Distribution/$lsmn" ] 260 | then 261 | 262 | if [ "$_toolchainname" == "native" ] 263 | then 264 | printf "$g_n"" SAVE -------> $w_l$lsmn$g_l $txt_as$y_l oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$(hostname)-list_smargo" 265 | mv -f "$lsmn" "$bdir/oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$(hostname)-list_smargo" 266 | tartmp="oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$(hostname)-list_smargo" 267 | else 268 | printf "$g_n"" SAVE -------> $w_l$lsmn$g_l $txt_as$y_l oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$_toolchainname-list_smargo" 269 | mv -f "$lsmn" "$bdir/oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$_toolchainname-list_smargo" 270 | tartmp="oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$_toolchainname-list_smargo" 271 | fi 272 | 273 | fi 274 | 275 | #remove debug binary 276 | if [ "${s3cfg_vars[delete_oscamdebugbinary]}" == "1" ] && [ -f "$bdir/$oscam_name.debug" ] 277 | then 278 | printf "$r_l"" REMOVE -----> $w_l$bdir/$oscam_name.debug" 279 | rm "$bdir/$oscam_name.debug" 280 | fi 281 | 282 | #show build time 283 | printf "$g_n""\n TIME -------> $bt$re_\n\n" 284 | 285 | if [ "${s3cfg_vars[TARGZ]}" == "1" ] 286 | then 287 | printf "$w_l"" ENABLE -----> TARGZ:$y_l $txt_wait\n" 288 | tar_cam "$oscam_name" "$tartmp" 289 | fi 290 | 291 | #link lastlog 292 | ln -frs "$ldir/$log_name" "$workdir/lastbuild.log" 293 | if [ "${USE_vars[USE_DIAG]}" == "USE_DIAG=1" ]; then 294 | grep -v "^CC\|^GEN\|^CONF\|^RM\|^UPX\|^SIGN\|^BUILD\|STRIP\|LINK\|^SIGN\|^+\|^scan-build: R\|^scan-build: U\|HOSTCC\|^|" -i "$workdir/lastbuild.log" \ 295 | |sed $'s/ generated./ generated.\\\n\\\n\\\n/g' >"$workdir/USE_DIAG.log" 296 | fi 297 | 298 | #EXTRA_COPY_DIR 299 | if [ $EXTRA_COPY_DIR -eq 1 ]; then 300 | cd $bdir 301 | cp $oscam_name $here_ 302 | fi 303 | 304 | #build error message 305 | error_on_build=$(grep -c1 error "$ldir/$log_name") 306 | [ "$error_on_build" -gt "0" ] && printf "$r_l\terrors on build found\n$w_l" 307 | printf "$re_$w_l" 308 | exit 309 | } 310 | -------------------------------------------------------------------------------- /support/functions/_compress: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | tar_cam_gui(){ 4 | cd "$bdir" 5 | erg=$(tar zcf $1.tar.gz $1 $2) 6 | 7 | if [ -f "$1.tar.gz" ] 8 | then 9 | printf "\n$1.tar.gz\ncreated\n" 10 | if [ -f "$adir/$1.tar.gz" ] 11 | then 12 | rm -rf "$adir/$1.tar.gz" 13 | mv -f "$1.tar.gz" "$adir" 14 | printf "\n$1.tar.gz\n$txt_to\n$workdir/archive\n" 15 | else 16 | mv -f "$1.tar.gz" "$adir" 17 | printf "\n$1.tar.gz\n$txt_to\n$workdir/archive\n" 18 | fi 19 | else 20 | printf "\nerror\nno $1.tar.gz\ncreated\n" 21 | fi 22 | } 23 | 24 | tar_cam(){ 25 | cd "$bdir" 26 | 27 | if [ -n $2 ] 28 | then 29 | printf "$y_n\n TAR -------->$w_l $1$g_l $txt_as$w_l $1.tar.gz$rs_" 30 | fi 31 | 32 | erg=$(tar zcf $1.tar.gz $1 $2) 33 | 34 | if [ -f "$1.tar.gz" ] 35 | then 36 | printf "$p_n$txt_done$rs_\n" 37 | 38 | if [ -f "$adir/$1.tar.gz" ] 39 | then 40 | rm -rf "$adir/$1.tar.gz" 41 | mv -f "$1.tar.gz" "$adir" 42 | printf "$c_l"" MOVE -------> $p_l$1.tar.gz $g_l$txt_to $y_n$workdir/archive$rs_\n\n" 43 | else 44 | mv -f "$1.tar.gz" "$adir" 45 | printf "$c_l"" MOVE -------> $p_l$1.tar.gz $g_l$txt_to $y_n$workdir/archive$rs_\n\n" 46 | fi 47 | 48 | else 49 | printf "$r_l\nerror\n no $1.tar.gz\n created$rs_\n" 50 | fi 51 | } 52 | 53 | tar_repo(){ 54 | cd "$workdir" 55 | rev="$($(USEGIT) && printf "$(COMMIT)" || printf "$(REVISION)")" 56 | 57 | if [ -f "${repodir}/config.sh" ] 58 | then 59 | cp -f "${repodir}/config.sh" "$configdir/config.sh.master" 60 | [ -f "${repodir}/Makefile" ] && cp -f "${repodir}/Makefile" "$configdir/Makefile.master" 61 | printf "$w_l ${REPO^^} Backup :$c_l " 62 | tar -zcf "$brepo/$rev-${REPO}${ID}.tar.gz" $(basename ${repodir}) 63 | fi 64 | 65 | cd "$brepo" 66 | ln -frs "$brepo/$rev-${REPO}${ID}.tar.gz" "last-${REPO}${ID}.tar.gz" 67 | printf "done$re_\n\n" 68 | } 69 | 70 | untar_repo(){ 71 | cd "$workdir" 72 | [ -d $(basename ${repodir}) ] && rm -rf $(basename ${repodir}); 73 | if [ -z "$1" ] 74 | then 75 | [ -f "$brepo/last-${REPO}${ID}.tar.gz" ] && tar -xf "$brepo/last-${REPO}${ID}.tar.gz" 76 | printf "\e[1A $w_l ${REPO^^} Revision : $c_l$(basename $(readlink -f $brepo/last-${REPO}${ID}.tar.gz) .tar.gz)$w_l\n" 77 | else 78 | if [ -f "$brepo/$1-${REPO}${ID}.tar.gz" ] 79 | then 80 | tar -xf "$brepo/$1-${REPO}${ID}.tar.gz" 81 | cd $brepo 82 | ln -frs "$brepo/$($(USEGIT) && printf "$(COMMIT)" || printf "$(REVISION)")-${REPO}${ID}.tar.gz" "last-${REPO}${ID}.tar.gz" 83 | printf "\e[1A $w_l ${REPO^^} Revision : $c_l$(basename $(readlink -f $brepo/last-${REPO}${ID}.tar.gz) .tar.gz)$w_l\n" 84 | else 85 | if [ -f "$brepo/last-${REPO}${ID}.tar.gz" ] 86 | then 87 | tar -xf "$brepo/last-${REPO}${ID}.tar.gz" 88 | printf "\e[1A $w_l ${REPO^^} Revision : $c_l$(basename $(readlink -f $brepo/last-${REPO}${ID}.tar.gz) .tar.gz)$w_l\n" 89 | else 90 | printf "$w_l ${REPO^^} Backup :$r_l $txt_not_found\n" 91 | sleep 3 92 | checkout 93 | fi 94 | fi 95 | fi 96 | 97 | [ -f "$ispatched" ] && rm -f "$ispatched" 98 | } 99 | -------------------------------------------------------------------------------- /support/functions/_git: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | gitcheckout(){ 4 | echo -en "$c_l" 5 | fc1="$(mktemp)" 6 | clear 7 | ologo 8 | i=0 9 | COUNT=0 10 | 11 | check_url "$trunkurl" || return 12 | 13 | if [ -d "${repodir}" ] 14 | then 15 | rm -rf "${repodir}" 16 | printf "$p_l\n $txt_delete oscam-${REPO} $re_\n" 17 | else 18 | printf "$p_l\n $txt_no oscam-${REPO} $txt_found\n$re_" 19 | fi 20 | 21 | printf "$w_l ${REPO^^} Repository: $g_l$trunkurl$re_" 22 | [ -z "$1" ] && commit='master' || commit="$1" 23 | printf "\n$w_l ${REPO^^} Checkout : $y_l$([ "$commit" != "master" ] && printf "$(REFTYPE "$commit") $commit ..." || printf "$txt_latest ...")\n$re_" 24 | 25 | gitclone "$commit" 26 | 27 | if [ -f "${repodir}/config.sh" ] 28 | then 29 | printf "$w_l ${REPO^^} Revision :$y_l $(REVISION) @ $(COMMIT) @ $(BRANCH) $b_l$mac_$re_\n$w_l ${REPO^^} UserPath :$y_l ${repodir}" 30 | fi 31 | 32 | [ -f "${repodir}/config.h" ]&& reset_="$("${repodir}/config.sh" -R)" 33 | rm -rf "$fc1" 34 | _nl 35 | [ -f "$ispatched" ] && rm -f "$ispatched" 36 | tar_repo 37 | } 38 | 39 | gitup(){ 40 | printf "$c_l" 41 | clear 42 | ologo 43 | i=1 44 | 45 | check_url "$trunkurl" || return 46 | 47 | if [ -d "${repodir}" ] 48 | then 49 | printf "$p_l\n $txt_update oscam-${REPO} $re_\n" 50 | else 51 | checkout 52 | return 53 | fi 54 | 55 | printf "\n$w_l ${REPO^^} Repository : $g_l""$trunkurl\n""$re_" 56 | 57 | #check shallow cloned repo 58 | cd "${repodir}" 59 | if [ ! -f "$(git rev-parse --git-dir)"/shallow ] 60 | then 61 | git reset --hard HEAD 62 | git checkout --quiet master 63 | git pull --quiet 64 | git pull --quiet --tags 65 | else 66 | cd "$workdir" 67 | branch="$(BRANCH)" 68 | rm -rf "${repodir}" 69 | git clone -c advice.detachedHead=false --quiet --depth="${s3cfg_vars[GIT_CLONE_DEPTH]}" --branch "$branch" "$trunkurl" "${repodir}" 70 | fi 71 | 72 | if [ -f "${repodir}/config.sh" ] 73 | then 74 | tput cup 10 2 75 | printf "\n$w_l ${REPO^^} Revision : ""$y_l$(REVISION) @ $(COMMIT) @ $(BRANCH) $b_l$mac_$re_\n$w_l ${REPO^^} UserPath : $y_l""${repodir}\n$re_" 76 | fi 77 | 78 | if [ -f "${repodir}/config.h" ] 79 | then 80 | reset_="$("${repodir}/config.sh" -R)" 81 | fi 82 | tar_repo 83 | } 84 | 85 | _dialog_checkout1_git(){ 86 | rm -rf "${repodir}" 2>/dev/null 87 | [ -z "$1" -o "$1" == "0" ] && commit='master' || commit="$1" 88 | if [ "$commit" != 'master' ] 89 | then 90 | _rev="-r $commit" 91 | sc_text="Revision: $commit" 92 | else 93 | _rev='' 94 | sc_text="$txt_latest" 95 | fi 96 | 97 | cd "$workdir" && gitclone "$commit" 98 | if [ -f "${repodir}/config.sh" ] 99 | then 100 | reset_="$("${repodir}/config.sh" -R)" 101 | printf "Revision: $(REVISION) done..." 102 | [ -f "$ispatched" ] && rm -f "$ispatched" 103 | _get_config_menu 104 | fi 105 | } 106 | 107 | gitclone(){ 108 | if [ -z "${s3cfg_vars[GIT_CLONE_DEPTH]}" ] || [ "${s3cfg_vars[GIT_CLONE_DEPTH]}" == "0" ] || [ "$(REFTYPE "$1")" == 'sha' ] 109 | then 110 | #git full clone repo (slow) 111 | git clone "$trunkurl" "${repodir}" 112 | [ "$1" != "master" ] && cd "${repodir}" && git -c advice.detachedHead=false checkout "$1" 113 | fi 114 | 115 | if [ "${s3cfg_vars[GIT_CLONE_DEPTH]}" -gt "0" ] 116 | then 117 | if [ "$(REFTYPE "$1")" == 'sha' ] 118 | then 119 | #git shallow a existing full cloned repo 120 | cd "${repodir}" 121 | echo "$1" > .git/shallow 122 | git reflog expire --expire=0 123 | git prune 124 | git prune-packed 125 | else 126 | #git shallow clone a repo (slow) 127 | git clone -c advice.detachedHead=false --depth="${s3cfg_vars[GIT_CLONE_DEPTH]}" --branch "$1" "$trunkurl" "${repodir}" 128 | fi 129 | fi 130 | } 131 | 132 | giturl(){ 133 | git config --get remote.origin.url 134 | } 135 | -------------------------------------------------------------------------------- /support/functions/_gui_build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | _gui_build(){ 4 | 5 | #init 6 | oc_size=${#_oscamconfdir_custom} 7 | [ "$oc_size" -gt "4" ] && _oscamconfdir_default="$_oscamconfdir_custom" 8 | 9 | if [ "$_toolchainname" == "native" ] 10 | then 11 | log_name="$(date +%F).$(date +%X).$(hostname).log" 12 | else 13 | log_name="$(date +%F).$(date +%X).$_toolchainname.log" 14 | fi 15 | 16 | ologo >"$ldir/$log_name" 17 | [ -f "$configdir/max_cpus" ] && cpus="$(cat "$configdir/max_cpus")" || cpus="$(CPUS)" 18 | 19 | CROSS="$tcdir/$_toolchainname/bin/$_compiler" 20 | SYSROOT="$(realpath -sm $tcdir/$_toolchainname/$_sysroot)" 21 | _make="make" 22 | 23 | [ "$_stagingdir" == "1" ] && export STAGING_DIR="$tcdir/$_toolchainname" 24 | [ "$_androidndkdir" == "1" ] && export ANDROID_NDK="$tcdir/$_toolchainname" 25 | [ -f "$configdir/compiler_option" ] && co=$(cat "$configdir/compiler_option") || co="-O2" 26 | 27 | #make clean 28 | cd "${repodir}" 29 | make distclean > /dev/null 2>&1 30 | USESTRING_='' 31 | EXTRA_USE='' 32 | buildtype="" 33 | libcount=0 34 | statcount=0 35 | 36 | #fix streamrelay case 37 | check_streamrelay 38 | 39 | #do use_vars 40 | for e2 in $USESTRING 41 | do 42 | [ "USE_$e2" == "USE_PATCH" ] && _apply_menupatch 43 | is_blocked=0 44 | 45 | for e1 in $_block 46 | do 47 | 48 | if [ "$e1" == "USE_$e2" ] 49 | then 50 | is_blocked=1 51 | [ "USE_$e2" == "USE_LIBUSB" ] && silent=$(./config.sh -D CARDREADER_SMARGO) 52 | fi 53 | 54 | done 55 | [ "$is_blocked" == "0" ] && _us="USE_$e2 $_us" 56 | done 57 | 58 | for e in $_us 59 | do 60 | 61 | if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_PATCH" ] && [ ! "$e" == "USE_EXTRA" ] && [ ! "$e" == "USE_STATIC" ] 62 | then 63 | USESTRING_="$e=1 $USESTRING_" 64 | fi 65 | 66 | done 67 | 68 | if [ "${USE_vars[USE_LIBCRYPTO]}" == "USE_LIBCRYPTO=1" ] 69 | then 70 | ((libcount++)) 71 | fi 72 | 73 | if [ "${USE_vars[USE_SSL]}" == "USE_SSL=1" ] 74 | then 75 | ((libcount++)) 76 | fi 77 | 78 | if [ "${USE_vars[USE_LIBUSB]}" == "USE_LIBUSB=1" ] 79 | then 80 | ((libcount++)) 81 | _usb="-libusb" 82 | else 83 | _usb= 84 | fi 85 | 86 | if [ "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ] 87 | then 88 | ((libcount++)) 89 | _pcsc="-pcsc" 90 | else 91 | _pcsc= 92 | fi 93 | 94 | if [ "${USE_vars[USE_LIBDVBCSA]}" == "USE_LIBDVBCSA=1" ] 95 | then 96 | ((libcount++)) 97 | _dvbcsa="-libdvbcsa" 98 | else 99 | _dvbcsa= 100 | fi 101 | 102 | #IF SVN is Patched 103 | if [ -f "$ispatched" ] 104 | then 105 | patch_webif 106 | fi 107 | 108 | #prepare extra_* variables 109 | if [ ! "${USE_vars[USE_EXTRA]}" == "USE_EXTRA=1" ] 110 | then 111 | unset extra_use extra_cc extra_ld extra_c 112 | else 113 | extra="-extra" 114 | fi 115 | 116 | #dynamic, static, mixed build 117 | set_buildtype &>/dev/null 118 | 119 | #todo add switch for verbose 120 | _generate_oscam_name "$_toolchainname" "$extra$buildtype" 121 | targztmp="$(mktemp)" 122 | 123 | if [[ $oscam_name =~ -upx ]] 124 | then 125 | [ -f "$configdir/upx_option" ] && source "$configdir/upx_option" 126 | COMP_LEVEL="COMP_LEVEL=$upx_c" 127 | fi 128 | 129 | if [ ! "${USE_vars[USE_TARGZ]}" == "USE_TARGZ=1" ] 130 | then 131 | s3cfg_vars[USE_TARGZ]=0 132 | fi 133 | check_smargo 134 | 135 | #signing case 136 | check_signing &>/dev/null 137 | 138 | #build 139 | _sz 140 | (ologo; _nl 141 | USESTRING_=${USE_vars[@]} 142 | EXTRA_USE=$extra_use 143 | timer_start 144 | $_make -j"$cpus" \ 145 | "CONF_DIR=$_oscamconfdir_default" "OSCAM_BIN=$bdir/$oscam_name" "CC_OPTS=$co $cc_opts $extra_cc" "CC_WARN=$cc_warn" "EXTRA_LDFLAGS=$extra_ld" "EXTRA_CFLAGS=$extra_c" $EXTRA_USE $COMP_LEVEL "CROSS=$CROSS" $stapivar $USESTRING_ $LIBCRYPTO_LIB $SSL_LIB $LIBUSB_LIB $PCSC_LIB $LIBDVBCSA_LIB 2>&1 \ 146 | |tee "$ldir/$log_name" \ 147 | |grep --line-buffered -v 'BFD\|^/' \ 148 | |grep --line-buffered '^CC\|^HOSTCC\|^GEN\|^CONF\|^RM\|^UPX\|^SIGN\|UseFlags\| CONF_DIR =\|Binary\|LINK\|STRIP\|BUILD\|Addons\|Protocols\|Readers\|CardRdrs\|^/' \ 149 | |sed -u "s/^|/ |/g;/^[[:space:]]*[[:digit:]]* ->/ s/./ | UPX > &/;s/^RM/ | REMOVE>/g;s/^CONF/ | CONFIG>/g;s/^LINK/ | LINK >/g;s/^STRIP/ | STRIP >/g;s/^CC\|^HOSTCC\|^BUILD/ | BUILD >/g;s/^GEN/ | GEN >/g;s/^UPX/ | UPX >/g;s/^SIGN/ | SIGN >/g; 150 | s/WEBIF_//g;s/WITH_//g;s/MODULE_//g;s/CS_//g;s/HAVE_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g;s/= /: /g;" 151 | timer_stop 152 | timer_calc 153 | 154 | #save list_smargo 155 | cd "${repodir}/Distribution" 156 | lsmn="$(ls list_smargo* 2> /dev/null)" 157 | 158 | if [ "${s3cfg_vars[SAVE_LISTSMARGO]}" == "1" ] && [ -f "${repodir}/Distribution/$lsmn" ] 159 | then 160 | 161 | if [ "$_toolchainname" == "native" ] 162 | then 163 | printf "SAVE\t$lsmn $txt_as oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$(hostname)-list_smargo"| tee -a "$ldir/$log_name" 164 | mv -f "$lsmn" "$bdir/oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$(hostname)-list_smargo" 165 | printf "oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$(hostname)-list_smargo" >"$targztmp" 166 | else 167 | printf "SAVE\t$lsmn $txt_as oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$_toolchainname-list_smargo"|tee -a "$ldir/$log_name" 168 | mv -f "$lsmn" "$bdir/oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$_toolchainname-list_smargo" 169 | printf "oscam-${REPO}$(REVISION)$($(USEGIT) && printf "@$(COMMIT)" || printf "")-$_toolchainname-list_smargo" >"$targztmp\n" 170 | fi 171 | 172 | fi 173 | 174 | #show buildtime 175 | printf "\n | TIME >\t[ $txt_buildtime $((Tcalc / 60)) min(s) $((Tcalc % 60)) secs ]\n"| tee -a "$ldir/$log_name" 176 | sleep 1 177 | 178 | #remove debug binary 179 | if [ "${s3cfg_vars[delete_oscamdebugbinary]}" == "1" ] && [ -f "$bdir/$oscam_name.debug" ] 180 | then 181 | rm "$bdir/$oscam_name.debug" 182 | printf "\n $txt_delete $oscam_name.debug\n"|tee -a "$ldir/$log_name" 183 | fi;) | "$gui" "$st_" --colors --title " -[ Build$(REPOIDENT) ]- " "$pb_" "$_lines" "$_cols" 184 | sleep 2 185 | 186 | #tar 187 | if [ "${USE_vars[USE_TARGZ]}" == "USE_TARGZ=1" ] 188 | then 189 | (tar_cam_gui "$oscam_name" "$(cat "$targztmp")") |tee -a "$ldir/$log_name"| "$gui" "$st_" --title " -[ TAR Binary ]- " "$pb_" 10 70 190 | sleep 2 191 | fi 192 | 193 | #link log 194 | ln -frs "$ldir/$log_name" "$workdir/lastbuild.log" 195 | [ -f "$targztmp" ] && rm -rf "$targztmp" 196 | } 197 | -------------------------------------------------------------------------------- /support/functions/_help: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | _help_toolchain(){ 4 | printf "$w_l toolchains :\n ------------$g_n\n" 5 | helpline1 "${AVAI_TCLIST[@]}" 6 | printf "\n" 7 | } 8 | 9 | helpline0(){ 10 | ll=0 11 | printf " "; 12 | for s in $(echo "$@" | xargs -n1 | sort -u | xargs) 13 | do 14 | 15 | if [ ! "$s" == "USE_MCA" ] \ 16 | && [ ! "$s" == "USE_LIBUSB" ] \ 17 | && [ ! "$s" == "USE_CONFDIR" ] 18 | then 19 | ll=$((ll + (${#s} + 4))) 20 | if [ "$ll" -lt "30" ] 21 | then 22 | printf "$s(_off) " 23 | else 24 | printf "$s(_off)\n " 25 | ll="" 26 | fi 27 | fi 28 | 29 | done 30 | } 31 | 32 | helpline1(){ 33 | ll=0 34 | printf " " 35 | for s in $(echo "$@" | xargs -n1 | sort -u | xargs) 36 | do 37 | 38 | ll=$((ll + (${#s} + 4))) 39 | if [ "$ll" -lt "45" ] 40 | then 41 | printf "$s " 42 | else 43 | printf "$s\n " 44 | ll="" 45 | fi 46 | 47 | done 48 | } 49 | 50 | _help(){ 51 | clear 52 | s3logo 53 | printf " --------------------------------------\n" 54 | printf " $txt_help1 $0 menu\n" 55 | printf " $txt_help2\n" 56 | printf " --------------------------------------\n" 57 | printf "$w_l\n toolchains :\n ------------$g_n\n" 58 | helpline1 "${AVAI_TCLIST[@]}\n" 59 | 60 | printf "$w_l\n\n simplebuild options :\n ---------------------$c_n\n" 61 | helpline1 "${s3opts[@]}" 62 | _wait 63 | 64 | printf "\r$w_l\n config_cases :\n --------------$c_n\n" 65 | helpline0 "${config_cases[@]}" 66 | 67 | printf "$w_l\n\n addons :\n --------$p_l\n" 68 | helpline0 "${SHORT_ADDONS[@]}" 69 | _wait 70 | 71 | printf "\n$w_l protocols :\n -----------$y_l\n" 72 | helpline0 "${SHORT_PROTOCOLS[@]}" 73 | 74 | printf "$w_l\n\n readers :\n ---------$r_l\n" 75 | helpline0 "${SHORT_READERS[@]}" 76 | _wait 77 | 78 | printf "\n$w_l card_readers :\n --------------$b_l\n" 79 | helpline0 "${SHORT_CARD_READERS[@]}" 80 | 81 | printf "$w_l\n use_vars :\n --------$w_n\n" 82 | helpline0 "${!USE_vars[@]}" 83 | _wait 84 | _nl 85 | } 86 | -------------------------------------------------------------------------------- /support/functions/_logos: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ologo(){ 4 | echo -en "$w_h"; 5 | printf " %-s\n" " ___ ____ ___" " / _ \\/ ___| / __|__ _ _ __ ___" "| | | \\___ \\| | / _\` | '_ \` _ \ " "| |_| |___) | |_| (_| | | | | | |" " \\___/|____/ \\___\\__,_|_| |_| |_|" " "; 6 | }; 7 | slogo(){ 8 | echo -en "$w_h"; 9 | printf " %-s\n" " _ _ _ " " ___| |_ _ __ ___ __ _ _ __ ___ | |__ ___ __ _ _ __ __| |" "/ __| __| '__/ _ \/ _\` | '_ \` _ \| '_ \ / _ \ / _\` | '__/ _\` |" "\__ \ |_| | | __/ (_| | | | | | | |_) | (_) | (_| | | | (_| |" "|___/\__|_| \___|\__,_|_| |_| |_|_.__/ \___/ \__,_|_| \__,_|" " "; 10 | }; 11 | bye(){ 12 | clear; 13 | s3logo; 14 | exit; 15 | }; 16 | s3logo(){ 17 | echo -e $C" 18 | _________________ 19 | / _____/\\_____ \\ =========================== 20 | \_____ \\ _(__ < $(printf '%-6s %29s' "$w_l"'Version' "$g_l$(version | head -n1 | awk '{print $1}')")$C 21 | / \\ / \\ =========================== 22 | /_______ //______ / $p_l by$y_l Gorgone$p_l 2021$C,$y_l WXbet$p_l 2023$C 23 | \\/ \/ ===========================$C 24 | $(printf "$SOURCE ${txt_repo::4}:" | xargs) $w_l$(basename ${repodir}) $($(REPOURLDIRTY) && printf "$r_l($txt_wc_deviation)")\n$W"; 25 | }; 26 | -------------------------------------------------------------------------------- /support/functions/_patch: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | get_patch(){ _get_patch; } 4 | 5 | _get_patch(){ 6 | cd $pdir 7 | [ -f patch.url ] && source patch.url 8 | clear 9 | printf $C 10 | ologo 11 | printf $WH; 12 | if [ -f patch.url.template -a ! -f patch.url ] 13 | then 14 | printf "${Y}To load custom patches,\nyou have to rename the file ${P}patch.url.template${Y} to ${G}patch.url${Y}\nand adjust accordingly.${W}\n\n" 15 | exit 16 | fi 17 | [ ! -z "$PATCHCOUNT" ] && loop="$(eval echo "{1..$PATCHCOUNT}")" 18 | for c in '' $loop; do 19 | DP="PATCHNAME$c"; PATCHNAME=${!DP} 20 | DU="PATCHURL$c"; PATCHURL=${!DU} 21 | if [ ! -z "$PATCHNAME" -a ! -z "$PATCHURL" ] 22 | then 23 | [ -f $PATCHNAME ] && printf "$Y $PATCHNAME $txt_found\n $txt_delete $P$PATCHNAME" && rm -f $PATCHNAME 24 | printf $W"\n $txt_load $PATCHNAME" 25 | 26 | if [[ `wget -S --spider $PATCHURL 2>&1 | grep 'HTTP/1.1 200 OK'` ]] 27 | then 28 | wget -q -O$PATCHNAME $PATCHURL 29 | [ -f $PATCHNAME ] && printf $G" ok$W\n\n" 30 | else 31 | printf $R"\n\n $PATCHURL\n\n >> $txt_not_found <<$W\n\n" 32 | fi 33 | fi 34 | done 35 | } 36 | 37 | _patch_style(){ 38 | local ret=1 style='-p1' 39 | if [ -e "$1" ]; then 40 | PATCHEDFILES=$(grep -e '^\(---\|+++\) ' -i "$1" | grep -v /dev/null | awk '{print $2}' | sort | uniq) 41 | for f in ${PATCHEDFILES[@]}; do 42 | [[ -e "${repodir}/$f" ]] && { style='-p0'; ret=0; break; } 43 | done 44 | fi 45 | printf -- "$style" 46 | return $ret 47 | } 48 | 49 | _apply_menupatch(){ 50 | [ -f "$ispatched" ] && quickreporestore $_toolchainname 2>/dev/null 51 | cd "$pdir" 52 | (if [ "$(ls -1 "$pdir"/*.patch 2>/dev/null | wc -l)" -gt "0" ] 53 | then 54 | 55 | cd "$pdir" 56 | unset patchlist 57 | patchlist=`ls *.patch | sort -st '/' -k1,1` 58 | patchlog="$(mktemp)" 59 | 60 | for e in ${patchlist[@]} 61 | do 62 | 63 | _w="ok" 64 | cd "${repodir}" 65 | echo -e "\n$e" >> "$patchlog" 66 | PATCHSTYLE=$(_patch_style "$pdir/$e") 67 | printf "PATCH : applying ${PATCHSTYLE:1}-patch $e" 68 | 69 | if grep 'GIT binary patch' "$pdir/$e" &>/dev/null; then 70 | printf "PATCH : binary patch detected, using 'git apply' for $e" 71 | git apply --verbose $PATCHSTYLE < "$pdir/$e" &>>"$patchlog" 72 | else 73 | patch -f $PATCHSTYLE < "$pdir/$e" &>>"$patchlog" 74 | fi 75 | hunks=$(grep -c1 '^Hunk' "$patchlog") 76 | fails=$(grep -c1 'hunks FAILED' "$patchlog") 77 | 78 | if [ "$hunks" -gt "0" ] 79 | then 80 | printf "PATCH : $hunks x HUNK for $e" 81 | _w="hunk" 82 | fi 83 | 84 | if [ "$fails" -gt "0" ] 85 | then 86 | printf "PATCH : $fails x FAILS for $e" 87 | _w="fail" 88 | fi 89 | 90 | done 91 | 92 | case $_w in 93 | ok) 94 | printf "PATCH : done all ok";; 95 | hunk) 96 | printf "PATCH : done with warnings save $e.log" 97 | cp -f $patchlog "$ldir/$e.log" 98 | ln -frs "$ldir/$e.log" "$workdir/lastpatch.log";; 99 | fail) 100 | printf "PATCH : break build save $e.log" 101 | cp -f $patchlog "$ldir/$e.log" 102 | ln -frs "$ldir/$e.log" "$workdir/lastpatch.log";; 103 | esac 104 | 105 | mark_patched 106 | rm -rf "$patchlog" 107 | fi;)|"$gui" "$st_" "$bt_" "$title_" "$pb_" 12 62 108 | sleep 2 109 | } 110 | 111 | _apply_consolepatch(){ 112 | if [ ! -f "$ispatched" ] 113 | then 114 | 115 | cd "$pdir" 116 | if [ "$(ls -1 "$pdir"/*.patch 2>/dev/null | wc -l)" -gt "0" ] 117 | then 118 | 119 | unset patchlist;patchlist=`ls *.patch | sort -st '/' -k1,1` 120 | patchlog="$(mktemp)" 121 | for e in ${patchlist[@]} 122 | do 123 | 124 | _w=0 125 | cd "${repodir}" 126 | echo -e "\n$e" >> "$patchlog" 127 | PATCHSTYLE=$(_patch_style "$pdir/$e") 128 | printf "$y_l\n | PATCH : applying ${PATCHSTYLE:1}-patch $e\n" 129 | 130 | if grep 'GIT binary patch' "$pdir/$e" &>/dev/null; then 131 | printf "$y_l\n | PATCH : binary patch detected, using 'git apply' for $e\n" 132 | git apply --verbose $PATCHSTYLE < "$pdir/$e" &>>"$patchlog" 133 | else 134 | patch -F 10 -f $PATCHSTYLE < "$pdir/$e" &>>"$patchlog" 135 | fi 136 | hunks=$(grep -c1 "^Hunk" "$patchlog") 137 | fails=$(grep -c1 "hunks FAILED" "$patchlog") 138 | 139 | cat $patchlog >"$ldir/$e.log"; 140 | ln -frs "$ldir/$e.log" "$workdir/lastpatch.log"; 141 | 142 | if [ "$hunks" -gt "0" ] 143 | then 144 | printf "$y_l\n | PATCH :$w_l $hunks x HUNK for $e" 145 | _w=1 146 | fi 147 | 148 | if [ "$fails" -gt "0" ] 149 | then 150 | printf "$y_l\n | PATCH :$r_n FAIL (breaking Build) = $fails" 151 | printf "$w_l\n | RESTORE :$c_w LAST ${REPO^^} BACKUP in " 152 | for (( i=6; i>0; i--)) 153 | do 154 | sleep 1 & echo -en "$i\b" 155 | wait 156 | done 157 | reporestore lastrepo; 158 | exit 159 | fi 160 | done 161 | 162 | rm -rf "$patchlog" 163 | 164 | if [ "$_w" -gt "0" ] 165 | then 166 | printf "$y_l\n | PATCH : done with warnings" 167 | else 168 | printf "$y_l\n | PATCH :$g_l done all ok$rs_" 169 | fi 170 | mark_patched 171 | 172 | else 173 | printf "$y_l\n | PATCH : no patch found\n" 174 | fi 175 | fi 176 | } 177 | 178 | mark_patched(){ 179 | patches="$(echo "${patchlist[@]}" | xargs | sed 's/ /\\n\\t\\t/g')" 180 | 181 | #mark oscam-${REPO} as patched 182 | echo "$patches" > "$ispatched" 183 | } 184 | 185 | patch_webif(){ 186 | if [ -f "$ispatched" ] && [ "${s3cfg_vars[PATCH_WEBIF]}" == "1" ] 187 | then 188 | if [ -s "$ispatched" ] 189 | then 190 | #format should be: patchname1.patch\n\t\tpatchname2.patch\n\t\tpatchname3.patch 191 | patches="yes\\n\\t\\t$(cat "$ispatched")" 192 | else 193 | patches='yes' 194 | fi 195 | 196 | #show patch file information in oscam WebIf 197 | sed -i '/^#define S3PATCHED/d' "${repodir}/config.h" 198 | sed -i "/^#endif \/\/OSCAM_CONFIG_H_/s/^/#define S3PATCHED \""$(printf '%q' $patches)"\"\n/" "${repodir}/config.h" 199 | sed -i '/#ifdef S3PATCHED/,+3d' "${repodir}/oscam.c" 200 | sed -i "/fprintf(fp, \"WebifPort:.*/s/$/\n#endif\n\n#ifdef S3PATCHED\n\tfprintf(fp, \"Patched:\\\t\%s\\\n\", S3PATCHED)\;/" "${repodir}/oscam.c" 201 | fi 202 | } 203 | -------------------------------------------------------------------------------- /support/functions/_plugin_ssh_editor: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #simplebuild_plugin ssh_editor 4 | 5 | ssh_editor(){ 6 | if [ ! -n "$1" ] 7 | then 8 | loginname="$(whoami)" 9 | password="$(whoami |rev)" 10 | ip="192.168.1." 11 | port="22" 12 | replace_target="y" 13 | stop_target="y" 14 | targetcam="/usr/bin/oscam_unstable" 15 | toolchain="dream_one" 16 | remote_command="/usr/bin/oscam_unstable -b -r 2 -c /etc/tuxbox/config" 17 | else 18 | [ -f "$profdir/$1" ] && source "$profdir/$1" 19 | fi 20 | 21 | i=0 22 | config_parts=$($gui $st_ --title "-[ SSH Transfer Setup ]-" --form " " 15 65 8 \ 23 | "loginname :" 1 1 "$loginname" 1 18 40 39 \ 24 | "password :" 2 1 "$password" 2 18 40 39 \ 25 | "ip/dyndns :" 3 1 "$ip" 3 18 40 39 \ 26 | "port :" 4 1 "$port" 4 18 6 5 \ 27 | "toolchain :" 5 1 "$toolchain" 5 18 40 39 \ 28 | "targetcam :" 6 1 "$targetcam" 6 18 40 39 \ 29 | "replace_target :" 7 1 "$replace_target" 7 18 2 2 \ 30 | "stop_target :" 8 1 "$stop_target" 8 18 2 2 ) 31 | 32 | return_value=$? 33 | [ "$return_value" == "1" ] && bye 34 | [ ! "$return_value" == "0" ] && ssh_editor 35 | 36 | remote_command_new=$( 37 | $gui $st_ --title " -[ Remote Commands ]- " --inputbox '' 7 60 "$remote_command") 38 | return_value=$? 39 | [ "$return_value" == "1" ] && bye 40 | [ ! "$return_value" == "0" ] && ssh_editor 41 | 42 | config_file_name=$( 43 | $gui $st_ --title " -[ $txt_ssh_profiles $txt_name ]- " --inputbox "$txt_ssh_profiles $txt_name $txt_example_name" 8 60 $(echo $toolchain| rev)) 44 | 45 | return_value=$?; 46 | [ "$return_value" == "1" ] && bye 47 | [ ! "$return_value" == "0" ] && ssh_editor 48 | [ "${#config_file_name}" -lt "1" ] && ssh_editor 49 | 50 | for e in $config_parts 51 | do 52 | 53 | case $i in 54 | 0) printf "loginname=\"$e\"\n" >"$profdir/$config_file_name.ssh";; 55 | 1) printf "password=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 56 | 2) printf "ip=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 57 | 3) printf "port=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 58 | 4) printf "toolchain=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 59 | 5) printf "targetcam=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 60 | 6) printf "replace_target=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 61 | 7) printf "stop_target=\"$e\"\n" >>"$profdir/$config_file_name.ssh";; 62 | esac 63 | 64 | ((i++)) 65 | done 66 | 67 | printf "remote_command=\"$remote_command_new\"\n" >>"$profdir/$config_file_name.ssh" 68 | _list_ssh_profiles 69 | } 70 | 71 | ssh_profiles(){ 72 | _list_ssh_profiles 73 | exit 74 | } 75 | 76 | _list_ssh_profiles(){ 77 | cd $profdir 78 | [ ! $menucall == "yes" ] && clear && printf $c_l && ologo 79 | if [ "$(ls -A $profdir/*.ssh 2>/dev/null)" ] 80 | then 81 | sshprofiles=(*.ssh) 82 | printf $y_l"\n $txt_ssh_profiles $txt_found $txt_for ( ./$(basename $0) upload name.ssh )\n" 83 | printf $w_l" =================================================\n" 84 | i=0 85 | for e in ${sshprofiles[@]} 86 | do 87 | ((i++)); 88 | printf $w_l" ($i) > $e\n" 89 | done 90 | else 91 | printf $y_l"\n $txt_ssh_profiles $txt_found $txt_for ( ./$(basename $0) upload name.ssh )"; 92 | printf $w_l" =================================================\n"; 93 | printf $r_l" > $txt_error: $w_l$txt_ssh_profiles $txt_not_found"; 94 | fi 95 | printf "\n$rs_" 96 | } 97 | -------------------------------------------------------------------------------- /support/functions/_profiles: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | profiles(){ 4 | _list_profiles 5 | exit 6 | } 7 | 8 | _list_profiles(){ 9 | cd "$profdir" 10 | profiles=(*.profile) 11 | if [ ${#profiles[@]} -gt 0 ] 12 | then 13 | printf "$c_l" 14 | clear 15 | slogo 16 | printf "$y_l\n $txt_profiles $txt_found $txt_for ( ./$(basename "$0") \"tcname\" -p=name.profile )\n" 17 | echo -e "$w_l ======================================================\n" 18 | i=0 19 | for e in "${profiles[@]}" 20 | do 21 | ((i++)) 22 | printf "$w_l ($i) > $e\n" 23 | done 24 | fi 25 | printf "\n$rs_" 26 | } 27 | 28 | _save_profile(){ 29 | if [ -f "$menudir/$_toolchainname.save" ] 30 | then 31 | source "$menudir/$_toolchainname.save" 32 | input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " $ip_ "\n SAVE PROFILE\n" 0 0 "$_toolchainname") 33 | echo $enabled $usevars | sed -e 's/CARDREADER_//g;s/READER_//g;s/MODULE_//g;s/HAVE_//g;s/WEBIF_//g;s/WITH_//g;s/CS_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g;' >"$profdir/$input.profile" 34 | fi 35 | } 36 | 37 | _load_profile(){ 38 | if [ "$(ls -A "$profdir")" ] 39 | then 40 | ok=0 41 | loadprofile="no" 42 | USESTRING=; 43 | _create_module_arrays 44 | unset selection 45 | declare -a SELECTION 46 | cd "$profdir" 47 | p_files=(*.profile) 48 | i=0 49 | 50 | for e in "${p_files[@]}" 51 | do 52 | ((i++)) 53 | SELECTION+=($e '<') 54 | done 55 | 56 | pselect=$("$gui" "$st_" "$bt_" "$title_" --no-cancel --title " -[ $txt_select_profile_title ]- " --menu "\n $txt_select_profile\n\n" 0 0 "$i" "${SELECTION[@]}") 57 | [ $? = 255 ] && loadprofile="yes" && _toolchain_build_menu 58 | "$gui" "$st_" "$bt_" "$title_" --yesno "\n$txt_confirm_profile_select\n\n$pselect\n\n" 0 0 59 | response=$? 60 | 61 | case "$response" in 62 | 1) 63 | loadprofile="yes" 64 | _toolchain_build_menu;; 65 | 255) 66 | loadprofile="yes" 67 | _toolchain_build_menu;; 68 | esac 69 | 70 | if [ -f "$profdir/$pselect" ] 71 | then 72 | profile_vars=$(cat "$profdir/$pselect";) 73 | reset_="$("${repodir}/config.sh" -D all)" 74 | 75 | for e in "${!USE_vars[@]}" 76 | do 77 | USE_vars[$e]=; 78 | done 79 | 80 | for e1 in $profile_vars 81 | do 82 | for e2 in "${!USE_vars[@]}" 83 | do 84 | [ "$e1" == "$e2" ] && USE_vars[$e1]="$e1=1" 85 | done 86 | for sm in "${SHORT_MODULENAMES[@]}" 87 | do 88 | if [ "$e1" == "$sm" ] 89 | then 90 | _em_="$_em_ $(get_module_name "$sm")" 91 | fi 92 | done 93 | done 94 | 95 | _set_=$("${repodir}/config.sh" -E $_em_) 96 | USESTRING="$(echo "${USE_vars[@]}"| sed 's@USE_@@g' | sed 's@=1@@g'| tr -s ' ')" 97 | loadprofile="yes" 98 | fi 99 | else 100 | $gui --msgbox "\n$txt_no_profile_found \n " 0 0 101 | fi 102 | loadprofile="no" 103 | } 104 | 105 | _create_native_profile(){ 106 | 107 | [ ! -d "$tcdir/native/bin" ] && mkdir -p "$tcdir/native/bin" 108 | cd "$tcdir/native/bin" 109 | g="$(type -pf gcc)" 110 | gpp="$(type -pf g++)" 111 | stripvar="$(type -pf strip)" 112 | objcopy="$(type -pf objcopy)" 113 | objdump="$(type -pf objdump)" 114 | if [ -f $g ]; then 115 | compiler_link="$($g -dumpmachine)-gcc" 116 | [ -L "$compiler_link" ] || ln -sf "$g" "$compiler_link" 117 | fi 118 | if [ -f $gpp ]; then 119 | gpp_link="$($g -dumpmachine)-g++" 120 | [ -L "$gpp_link" ] || ln -sf "$gpp" "$gpp_link" 121 | fi 122 | if [ -f $stripvar ]; then 123 | strip_link="$($g -dumpmachine)-strip" 124 | [ -L "$strip_link" ] || ln -sf "$stripvar" "$strip_link" 125 | fi 126 | if [ -f $objcopy ]; then 127 | objcopy_link="$($g -dumpmachine)-objcopy" 128 | [ -L "$objcopy_link" ] || ln -sf "$objcopy" "$objcopy_link" 129 | fi 130 | if [ -f $objdump ]; then 131 | objdump_link="$($g -dumpmachine)-objdump" 132 | [ -L "$objdump_link" ] || ln -sf "$objdump" "$objdump_link" 133 | fi 134 | cd "$tccfgdir" 135 | 136 | if [ ! -f native ]; then 137 | cat << EOF > native 138 | _toolchainname="native"; 139 | default_use="USE_LIBCRYPTO"; 140 | _oscamconfdir_default="/usr/local/etc"; 141 | _oscamconfdir_custom="not_set"; 142 | _compiler="$($g -dumpmachine)-"; 143 | _tc_info="Native System Compiler \ 144 | $(gcc --version)"; 145 | _libsearchdir="/lib"; 146 | _menuname="native"; 147 | _sysroot="/usr/include"; 148 | EOF 149 | fi 150 | 151 | cd "$workdir" 152 | 153 | } 154 | -------------------------------------------------------------------------------- /support/functions/_repo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | checkout(){ 4 | $(USEGIT) && gitcheckout $@ || svncheckout $@ 5 | } 6 | 7 | repoclean(){ 8 | clear 9 | echo -en "$c_l" 10 | ologo 11 | 12 | cd "$workdir" 13 | wcfolders="$(find . -maxdepth 1 -type d -name "oscam-${REPO}${ID}" | sed 's|./||')" 14 | bcount=$(echo "$wcfolders" |wc -w) 15 | 16 | if [ "$bcount" -gt "0" ]; then 17 | echo -e "\n$c_l ${bcount}$w_l oscam-${REPO}${ID} $txt_wc ${txt_found}\n ___________________________________$re_\n" 18 | for wc in $wcfolders; do 19 | rm -rf $wc 20 | echo -e "$c_l --> $w_l$txt_delete $txt_wc $wc" 21 | done 22 | _nl 23 | else 24 | echo -e "\n$r_l ${bcount}$w_l oscam-${REPO}${ID} $txt_wc ${txt_found}\n ___________________________________$re_\n" 25 | fi 26 | 27 | cd "$brepo" 28 | bfiles="$(find . -maxdepth 1 -name "*-${REPO}${ID}.tar.gz" |sed 's|./||')" 29 | bcount=$(echo "$bfiles" |wc -w) 30 | 31 | if [ "$bcount" -gt "0" ]; then 32 | echo -e "\n$c_l ${bcount}$w_l ${REPO}${ID} backup ${txt_found}\n _______________________$re_\n" 33 | for b in $bfiles; do 34 | rm -f $b 35 | echo -e "$c_l --> $w_l$txt_delete backup $b" 36 | done 37 | _nl 38 | else 39 | echo -e "\n$r_l ${bcount}$w_l ${REPO}${ID} backup ${txt_found}\n _______________________$re_\n" 40 | fi 41 | [ -f "$ispatched" ] && rm -f "$ispatched"; 42 | } 43 | 44 | reporestore(){ 45 | clear 46 | echo -en "$c_l" 47 | ologo 48 | 49 | if [ "$1" == "list" ] 50 | then 51 | cd "$brepo" 52 | bfiles="$(find . -type f -name "*-${REPO}${ID}.tar.gz" |sed 's|./||' |sed 's|.tar.gz||')" 53 | bcount=$(echo "$bfiles" |wc -w) 54 | 55 | if [ "$bcount" -gt "0" ] 56 | then 57 | echo -e "\n$c_l $bcount$w_l ${REPO}${ID} backups found\n ____________________$re_\n" 58 | for b in $bfiles 59 | do 60 | echo -e "$c_l --> $w_l$b" 61 | done 62 | _nl 63 | else 64 | echo -e "\n$r_l $bcount$w_l ${REPO}${ID} backups found\n ____________________$re_\n" 65 | fi 66 | 67 | exit 68 | fi 69 | 70 | if [ -d "${repodir}" ]; then 71 | rm -rf "${repodir}" 72 | printf "$p_l\n $txt_delete $txt_existing oscam-${REPO}${ID} $re_\n" 73 | else 74 | printf "$p_l\n $txt_no oscam-${REPO}${ID} $txt_found\n$re_" 75 | fi 76 | _nl 77 | untar_repo $1 78 | printf "\e[1A\t\t\t\t\t$y_l""restored\n\n$re_" 79 | [ -L "$workdir/lastbuild.log" ]&& rm "$workdir/lastbuild.log"; 80 | [ -L "$workdir/lastpatch.log" ]&& rm "$workdir/lastpatch.log"; 81 | [ -f "$ispatched" ] && rm -f "$ispatched"; 82 | } 83 | 84 | repoup(){ 85 | $(USEGIT) && gitup $@ || svnup $@ 86 | } 87 | 88 | quickreporestore(){ 89 | printf "$1 \n" 90 | untar_repo $1 91 | } 92 | 93 | repopatch(){ 94 | filter="*" 95 | if [ ! -z "$1" ]; then 96 | if [ "$1" == "-f" -o "$1" == "--force" ]; then 97 | force="$1" 98 | else 99 | filter="$1" 100 | fi 101 | fi 102 | 103 | if [ ! -z "$2" ]; then 104 | if [ "$2" == "-f" -o "$2" == "--force" ]; then 105 | force="$2" 106 | else 107 | filter="$2" 108 | fi 109 | fi 110 | 111 | if [ ! -f "$ispatched" -o ! -z "$force" ] 112 | then 113 | clear 114 | printf $C 115 | ologo 116 | unset patchlist 117 | cd "$pdir" 118 | patchlist=(${filter}.patch) 119 | patchlog="$(mktemp)" 120 | 121 | if [ "$(ls -A "$pdir"/${filter}.patch 2>/dev/null)" ] 122 | then 123 | for p in "${patchlist[@]}" 124 | do 125 | PATCHSTYLE=$(_patch_style "$pdir/$p") 126 | echo -e "\n$C ${PATCHSTYLE:1}-patch : $p $force$W"; echo -e "\n$p" >> "$patchlog" 127 | sleep .5 128 | if grep 'GIT binary patch' "$pdir/$p" &>/dev/null; then 129 | cd "${repodir}" 130 | echo -e $Y" binary patch detected, using 'git apply' <-"$W 131 | export LC_ALL=C; git apply --verbose $PATCHSTYLE < "$pdir/$p" 2>&1 | tee -a "$patchlog" | sed -e "s/^Checking patch/$G checking > $WH/g;s/^Applied patch/$G patching > $WH/g;s/^Hunk/$P Hunk > $Y/g;s/FAILED/$R FAILED/g; ;s/-- saving/$Y -- saving/g;" 132 | else 133 | patch -d${repodir}/ $PATCHSTYLE < "$pdir/$p" | tee -a "$patchlog" | sed -e "s/^patching file/$G patching > $WH/g;s/^Hunk/$P Hunk > $Y/g;s/FAILED/$R FAILED/g; ;s/-- saving/$Y -- saving/g;" 134 | fi 135 | done 136 | 137 | cat $patchlog >"$ldir/$e.log" 138 | ln -frs "$ldir/$e.log" "$workdir/lastpatch.log" 139 | rm -rf "$patchlog" 140 | 141 | mark_patched 142 | else 143 | printf $WH" $txt_no patch $txt_found" 144 | fi 145 | 146 | else 147 | clear 148 | printf $C 149 | ologo 150 | printf $WH" already patched" 151 | fi 152 | echo -e $W 153 | } 154 | 155 | _dialog_checkout(){ 156 | upc="$(mktemp)" 157 | (printf " $txt_verify_syscheck " 158 | [ "$sanity" == "1" ] && printf "ok\n" && sleep 1; 159 | 160 | if [ "${s3cfg_vars[NO_REPO_AUTOUPDATE]}" == "0" ] 161 | then 162 | printf " $txt_verify_svn " 163 | if [ -f "${repodir}/config.sh" ] 164 | then 165 | if check_url "$trunkurl" >/dev/null 166 | then 167 | printf "ok\n" 168 | sleep 1 169 | printf " $txt_update_svn $txt_wait\n" 170 | cd "${repodir}" 171 | $(USEGIT) && git pull --quiet || svn -q update 172 | echo 1 >"$upc" 173 | else 174 | printf "not ok\n" 175 | fi 176 | sleep 1 177 | fi 178 | fi;) | "$gui" "$st_" "$bt_" "$title_" "$pb_" 5 52 179 | 180 | if [ "${s3cfg_vars[NO_REPO_AUTOUPDATE]}" == "0" ] 181 | then 182 | upc1=$(cat "$upc" 2>/dev/null) 183 | rm -f "$upc" 184 | [ ! "$upc1" == "1" ] && check_url "$trunkurl" && _dialog_checkout1 185 | 186 | if [ -f "${repodir}/config.sh" ] 187 | then 188 | reset_="$("${repodir}/config.sh" -R)" 189 | fi 190 | _get_config_menu 191 | fi 192 | 193 | if [ -n "$1" ] 194 | then 195 | if [ -f "$tccfgdir/$1" ] && [ -f "${repodir}/config.sh" ] 196 | then 197 | source "$tccfgdir/$1" 198 | if [ ! -f "$tcdir/$_toolchainname/bin/$_compiler""gcc" ] 199 | then 200 | first="$1" 201 | _toolchain_gui_install 202 | fi 203 | loadprofile="yes" 204 | _toolchain_build_menu "$1" 205 | else 206 | _select_menu 207 | fi 208 | fi 209 | _select_menu 210 | } 211 | 212 | _dialog_checkout1(){ 213 | $(USEGIT) && _dialog_checkout1_git $@ || _dialog_checkout1_svn $@ 214 | } 215 | 216 | REVISION(){ 217 | if [ -d "${repodir}" ] && cd "${repodir}"; then 218 | if grep -q -- '--oscam-revision' "${repodir}/config.sh"; then 219 | ./config.sh --oscam-revision 220 | else 221 | ./config.sh --oscam-version | cut -d '-' -f 2- 222 | fi 223 | fi 224 | }; 225 | 226 | COMMIT(){ 227 | if [ -d "${repodir}" ] && cd "${repodir}"; then 228 | $(USEGIT) && git log 2>/dev/null | sed -n 1p | cut -d ' ' -f2 | cut -c1-8 || printf '' 229 | fi 230 | }; 231 | 232 | BRANCH(){ 233 | if [ -d "${repodir}" ] && cd "${repodir}"; then 234 | if $(USEGIT); then 235 | ref="$(git name-rev --name-only "$(COMMIT)" 2>/dev/null | awk -F'/' '{ print $NF }' | awk -F'~' '{ print $1 }' | awk -F'^' '{ print $1 }')" 236 | if [ "$ref" == "$(REVISION)" ]; then 237 | branch=$(git branch | tail -n1 | tr -d ' *') 238 | [ "$branch" == "(nobranch)" ] && printf 'master' || printf "$branch" 239 | else 240 | printf "$ref" 241 | fi 242 | else 243 | printf "$trunkurl" | awk -F'/' '{ print $NF }' 244 | fi 245 | fi 246 | }; 247 | 248 | USEGIT(){ 249 | echo $trunkurl | grep -qe '^git@\|.git$'; 250 | } 251 | 252 | REFTYPE(){ 253 | if [[ "$1" =~ ^[0-9a-f]{8,40}$ ]]; then 254 | printf 'sha' 255 | elif [ "$1" -eq "$1" ] 2>/dev/null; then 256 | printf 'tag' 257 | else 258 | printf 'branch' 259 | fi 260 | } 261 | 262 | REPOTYPE(){ 263 | $(USEGIT) && printf 'git' || printf 'svn' 264 | } 265 | 266 | REPOURL(){ 267 | if [ -d "${repodir}" ] && cd "${repodir}"; then 268 | if $(USEGIT); then 269 | giturl 270 | else 271 | svnurl 272 | fi 273 | else 274 | printf "$trunkurl" 275 | fi 276 | } 277 | 278 | REPOURLDIRTY(){ 279 | [ "$(REPOURL)" == "$trunkurl" ] && return 1 || return 0 280 | } 281 | 282 | REPOIDENT(){ 283 | if [ -v SOURCE ]; then 284 | printf " $SOURCE" 285 | else 286 | printf "" 287 | fi 288 | } 289 | -------------------------------------------------------------------------------- /support/functions/_subversion: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | svncheckout(){ 4 | echo -en "$c_l" 5 | fc1="$(mktemp)" 6 | clear 7 | ologo 8 | i=0 9 | COUNT=0 10 | 11 | check_url "$trunkurl" || return 12 | 13 | if [ -d "${repodir}" ] 14 | then 15 | rm -rf "${repodir}" 16 | printf "$p_l\n $txt_delete oscam-${REPO} $re_\n" 17 | else 18 | printf "$p_l\n $txt_no oscam-${REPO} $txt_found\n$re_" 19 | fi 20 | 21 | printf "$w_l ${REPO^^} Repository: $g_l$trunkurl$re_" 22 | [ ! -z "$1" ] && [ $(($1)) -gt 6999 ] && opt_="-r$1" && mac_="($txt_selected)" || opt_='' 23 | 24 | printf "\n$w_l ${REPO^^} FileCount : " 25 | svn info -R "$trunkurl" |grep '^URL' |uniq |wc -l >"$fc1" 26 | n=$(cat "$fc1") 27 | printf "$g_l""$txt_found $n" 28 | printf "\n$w_l ${REPO^^} checkout : " 29 | 30 | while read line filename 31 | do 32 | counter=$(( 100*(++i)/n)) 33 | tput cup 10 18 34 | [ "$counter" -lt "100" ] && echo -en "$g_l""$counter%$re_" || echo -e "$g_l""100%$re_" 35 | done < <( svn co "$trunkurl" $opt_ "${repodir}" |sed "s|${repodir}/||g") 36 | 37 | tput cup 10 18; 38 | echo -e "$g_l""100%$re_" 39 | 40 | if [ -f "${repodir}/config.sh" ] 41 | then 42 | tput cup 11 0; 43 | printf "$w_l ${REPO^^} Revision :$y_l $(REVISION) @ $(BRANCH) $b_l$mac_$re_\n$w_l ${REPO^^} UserPath :$y_l ${repodir}" 44 | fi 45 | 46 | [ -f "${repodir}/config.h" ]&& reset_="$("${repodir}/config.sh" -R)" 47 | rm -rf "$fc1" 48 | _nl 49 | [ -f "$ispatched" ] && rm -f "$ispatched" 50 | tar_repo 51 | } 52 | 53 | svnup(){ 54 | printf "$c_l" 55 | clear 56 | ologo 57 | i=1 58 | 59 | check_url "$trunkurl" || return 60 | 61 | if [ -d "${repodir}" ] 62 | then 63 | printf "$p_l\n $txt_update oscam-${REPO} $re_\n" 64 | else 65 | checkout 66 | return 67 | fi 68 | 69 | printf "\n$w_l ${REPO^^} TrunkURL : $g_l""$trunkurl""$re_" 70 | svn co "$trunkurl" "${repodir}" -q 71 | 72 | if [ -f "${repodir}/config.sh" ] 73 | then 74 | tput cup 10 2 75 | printf "\n$w_l ${REPO^^} Revision : ""$y_l$(REVISION) @ $(BRANCH) $b_l$mac_$re_\n$w_l ${REPO^^} UserPath : $y_l""${repodir}\n$re_" 76 | fi 77 | 78 | if [ -f "${repodir}/config.h" ] 79 | then 80 | reset_="$("${repodir}/config.sh" -R)" 81 | fi 82 | } 83 | 84 | _dialog_checkout1_svn(){ 85 | rm -rf "${repodir}" 2>/dev/null 86 | COUNT=0 87 | [ -z "$1" ] && rn=0 || rn="$1" 88 | if [ "$rn" -ge "7000" ] 89 | then 90 | _rev="-r $rn" 91 | sc_text="Revision: $rn" 92 | else 93 | _rev='' 94 | sc_text="$txt_latest" 95 | fi 96 | (printf "$txt_prepare_svn $txt_wait";)| "$gui" "$st_" "$bt_" "$title_" "$pb_" 3 55 97 | nnn="$(svn info $_rev -R "$trunkurl" |grep "^URL: " |uniq |wc -l)" 98 | "$gui" "$st_" "$bt_" "$title_" --title " -[ ${REPO^^} Checkout $sc_text ]- " --gauge " $txt_wait" 6 75 < <(while read line filename;do ((++i));PCT=$(( 100*i/(nnn+1) )) 99 | cat </dev/null 29 | then 30 | einfo=$(type -pf "$e") 31 | printf -v pad %40s 32 | e=$e$pad 33 | e=${e:0:15} 34 | $output "$w_l have\t$g_l$e $y_l$einfo\n" 35 | else 36 | failed=1 37 | printf -v pad %40s 38 | e=$e$pad 39 | e=${e:0:15} 40 | $output "$r_l need\t$w_l$e $r_l$missing\n" 41 | fi 42 | done 43 | 44 | if hash upx 2>/dev/null; then 45 | upxversion=($(upx -V | awk 'NR==1 { verok=$2>=3.91; printf "%.2f %i", $2, verok }')); 46 | $output "$w_l have$g_l upx$y_l\t\t"$w_l"Version$P ${upxversion[0]}"; 47 | if [ ${upxversion[1]} == 1 ] 48 | then 49 | $output "$g_l ok\n" 50 | else 51 | $output "$r_l nok\n" 52 | failed=1 53 | fi 54 | fi 55 | 56 | $output " \n $w_l CHECK for headers\n =================\n" 57 | 58 | for e in "${headervars[@]}" 59 | do 60 | e1=$(find /usr/include/* /usr/local/include/* 2>/dev/null | grep -wm1 "$e") 61 | if [ ${#e1} -gt 8 ] 62 | then 63 | printf -v pad %40s 64 | e=$e$pad 65 | e=${e:0:15} 66 | $output "$w_l have\t$g_l$e$y_l $e1\n" 67 | elif [ "$e" == "dvbcsa.h" -a "${s3cfg_vars[INSTALL_NATIVE_LIBDVBCSA]}" == "0" ] 68 | then 69 | printf -v pad %40s 70 | e=$e$pad 71 | e=${e:0:15} 72 | $output "$r_l need\t$w_l$e$r_l (skipped by config)\n" 73 | else 74 | failed=1 75 | printf -v pad %40s 76 | e=$e$pad 77 | e=${e:0:15} 78 | $output "$r_l need\t$w_l$e$r_l $missing\n" 79 | fi 80 | done 81 | 82 | $output " \n $w_l CHECK for libraries\n ===================\n" 83 | 84 | for e in "${libvars[@]}" 85 | do 86 | e1=$(find /usr/lib* 2>/dev/null | grep -m1 "$e") 87 | if [ ${#e1} -gt 8 ] 88 | then 89 | printf -v pad %40s 90 | e=$e$pad 91 | e=${e:0:15} 92 | $output "$w_l have\t$g_l$e$y_l $e1\n" 93 | else 94 | failed=1 95 | printf -v pad %40s 96 | e=$e$pad 97 | e=${e:0:15} 98 | $output "$r_l need\t$w_l$e$r_l $missing\n"; 99 | fi 100 | done 101 | 102 | if [ "$(uname -m)" == "x86_64" ] 103 | then 104 | $output " \n $w_l CHECK for zlib32\n ================\n" 105 | e="zlib32" 106 | e1="/usr/lib/libz.so" 107 | e2="/usr/lib32/libz.so.1" 108 | if [ -f $e1 ] 109 | then 110 | printf -v pad %40s 111 | e=$e$pad 112 | e=${e:0:15} 113 | $output "$w_l have\t$g_l$e$y_l $e1\n" 114 | elif [ -f $e2 ] 115 | then 116 | printf -v pad %40s 117 | e=$e$pad 118 | e=${e:0:15} 119 | $output "$w_l have\t$g_l$e$y_l $e2\n" 120 | else 121 | failed=1 122 | printf -v pad %40s 123 | e=$e$pad 124 | e=${e:0:15} 125 | $output "$r_l need\t$w_l$e$r_l $missing\n" 126 | fi 127 | fi 128 | 129 | return $failed 130 | } 131 | 132 | # Parameters (all optional): 133 | # $1: installer name (or "auto") 134 | # $2: add architecture (not implemented yet) 135 | # 136 | # Example: 137 | # syscheck debian_os 138 | # call installer 'debian_os' (Do not care about the actual Linux distribution.) 139 | 140 | syscheck(){ 141 | [[ $1 ]] && [ "$1" != "auto" ] && override="$1" 142 | now=$2 143 | if [ -d "$osdir" ] 144 | then 145 | cd "$osdir" 146 | x=(*) 147 | for i in "${x[@]}" 148 | do 149 | source "$i" 150 | done 151 | fi 152 | 153 | unset binvars; unset headervars; unset libvars; 154 | [ -z ${3+x} ] && binvars=( dialog grep gawk wget tar bzip2 git bc xz upx patch gcc g++ make automake autoconf autoconf-archive libtool jq scp sshpass openssl dos2unix curl ) || binvars=( $(echo "$3" | tr ' ' '\n') ) 155 | [ -z ${4+x} ] && headervars=( crypto.h libusb.h pcsclite.h pthread.h opensslconf.h dvbcsa.h ) || headervars=( $(echo "$4" | tr ' ' '\n') ) 156 | [ -z ${5+x} ] && libvars=( libccidtwin.so ) || libvars=( $(echo "$5" | tr ' ' '\n') ) 157 | sanity=1 158 | 159 | if ! prerequisites silent || [ "$now" == "now" ] 160 | then 161 | clear 162 | s3logo 163 | prerequisites 164 | sanity=0 165 | rootuser="$(ps -jf 1 | tail -n 1 | awk '{print $1}')" 166 | if [ "$EUID" -ne 0 ]; then 167 | ! hash "sudo" 2>/dev/null && prefix="su $rootuser -c" || prefix="sudo sh -c" 168 | else 169 | prefix="sh -c" 170 | fi 171 | installer="unknown" 172 | 173 | # Debian and Ubuntu 174 | [ -f /etc/debian_version ] && installer="debian_os" 175 | 176 | # CentOS and Redhat 177 | [ -f /etc/redhat-release ] && installer="redhat_os" 178 | 179 | # Manjaro (/etc/os-release) 180 | [ -f /etc/manjaro-release ] || [ -f /etc/arch-release ] && installer="manjaro_os" 181 | 182 | # SuSE (/etc/SuSE-release is depreciated -> check for YaST2) 183 | [ -d /etc/YaST2 ] && installer="suse_os" 184 | 185 | # Optional override via parameter 186 | #[[ $override ]] && installer=$override; 187 | printf "\n$w_l Selected installer: $P$installer\n" 188 | 189 | if type -t "$installer" >/dev/null 190 | then 191 | $installer && prerequisites silent && sanity=1 192 | else 193 | printf "\n$r_l Needs manual installation.\n" 194 | fi 195 | 196 | printf "$re_\n" 197 | fi 198 | 199 | return $sanity 200 | } 201 | 202 | upx_native_installer(){ 203 | echo -e "$w_l Installing ${g_l}upx$w_l precompiled binary..." | _log "$install_log" 204 | case $(uname -m) in 205 | i386|i686) HOST_ARCH="i386" ;; 206 | aarch64|arm64) HOST_ARCH="arm64" ;; 207 | arm*) HOST_ARCH="arm" ;; 208 | *) HOST_ARCH="amd64" ;; 209 | esac; 210 | rm -rf "/tmp/upx_$HOST_ARCH.tar.xz" 2>/dev/null 211 | UPX_TAG="$(git ls-remote --sort=-version:refname https://github.com/upx/upx.git --tags v*.*.* | grep -v '5.0.0\|alpha\|beta\|\-pre\|\-rc\|\^' | awk -F'/' 'NR==1 {print $NF}')" 212 | echo -e "$w_l ${g_l}upx$w_l version:$y_l $UPX_TAG ($HOST_ARCH)" | _log "$install_log" 213 | UPX_URL="$(curl --silent "https://api.github.com/repos/upx/upx/releases/tags/$UPX_TAG" | jq -r '.assets | .[] | select( (.name | contains("-'$HOST_ARCH'_")) and (.name | endswith(".tar.xz"))) | .browser_download_url' | sed -e 's#\"##g')" 214 | echo -e "$w_l Downloading ${g_l}upx$w_l from $UPX_URL..." | _log "$install_log" 215 | curl --silent -L --output "/tmp/upx_$HOST_ARCH.tar.xz" "$UPX_URL"; 216 | echo -e "$w_l Installing ${g_l}upx$w_l to /usr/local/bin...$re_" | _log "$install_log" 217 | [[ "$prefix" =~ ^su[[:space:]].* ]] && echo -en "$r_l\n (upx installer) Enter $rootuser Password: "; 218 | $prefix " 219 | (cd /usr/local/bin; 220 | tar -xvf "/tmp/upx_$HOST_ARCH.tar.xz" $(tar -tf "/tmp/upx_$HOST_ARCH.tar.xz" | grep 'upx$') --strip-components=1); 221 | " |& _log "$install_log" &>/dev/null 222 | [[ "$prefix" =~ ^su[[:space:]].* ]] && echo 223 | rm -rf "/tmp/upx_$HOST_ARCH.tar.xz" 2>/dev/null 224 | } 225 | 226 | libdvbcsa_native_installer(){ 227 | echo -e "$w_l Installing ${g_l}libdvbcsa$w_l from source..." | _log "$install_log" 228 | FLAGS="$(cat /proc/cpuinfo | grep -im1 flags | awk -F':' '{print $2}')" 229 | FLAGS+="$(cat /proc/cpuinfo | grep -im1 features | awk -F':' '{print $2}')" 230 | echo -e "FLAGS=\"$FLAGS\"\n" |& _log "$install_log" &>/dev/null 231 | 232 | echo "$FLAGS" | grep -qiw 'altivec' && optimization="--enable-altivec" 233 | [ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "avx2" && optimization="--enable-avx2" 234 | [ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "ssse3" && optimization="--enable-ssse3" 235 | [ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "sse2" && optimization="--enable-sse2" 236 | [ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "mmx" && optimization="--enable-mmx" 237 | if [ -z "$optimization" ]; then 238 | if [ -n "$(find "/usr/lib" -name "arm_neon.h" -type f -print -quit)" ]; then 239 | echo "$FLAGS" | grep -qiw "neon\|simd\|asimd" && optimization="--enable-neon"; 240 | fi; 241 | fi; 242 | [ -z "$optimization" ] && optimization="--enable-uint32" 243 | echo -e "$w_l ${g_l}libdvbcsa$w_l optimization autodetection:$y_l $optimization" | _log "$install_log" 244 | 245 | rm -rf /tmp/libdvbcsa 2>/dev/null 246 | echo -e "\ngit clone https://github.com/oe-mirrors/libdvbcsa.git /tmp/libdvbcsa" |& _log "$install_log" &>/dev/null 247 | git clone https://github.com/oe-mirrors/libdvbcsa.git /tmp/libdvbcsa |& _log "$install_log" &>/dev/null 248 | cd /tmp/libdvbcsa 249 | 250 | echo -e "$w_l Building ${g_l}libdvbcsa$w_l..." | _log "$install_log" 251 | echo -e "\n./bootstrap && ./configure $optimization" |& _log "$install_log" &>/dev/null 252 | (./bootstrap && ./configure $optimization) |& _log "$install_log" &>/dev/null 253 | (($?)) && return 1; 254 | 255 | echo -e "\nmake -j$(nproc)" |& _log "$install_log" &>/dev/null 256 | make -j$(nproc) |& _log "$install_log" &>/dev/null || return 1; 257 | 258 | echo -e "$w_l Installing ${g_l}libdvbcsa$w_l...$re_" | _log "$install_log" 259 | echo -e "\n$prefix make install" |& _log "$install_log" &>/dev/null 260 | echo -e "\n$prefix \$(which ldconfig || printf '/sbin/ldconfig') && $prefix \$(which ldconfig || printf '/sbin/ldconfig') -v" |& _log "$install_log" &>/dev/null 261 | [[ "$prefix" =~ ^su[[:space:]].* ]] && echo -en "$r_l\n (libdvbcsa installer) Enter $rootuser Password: "; 262 | $prefix " 263 | make install || return 1; 264 | $(which ldconfig || printf '/sbin/ldconfig') && $(which ldconfig || printf '/sbin/ldconfig') -v; 265 | " |& _log "$install_log" &>/dev/null 266 | [[ "$prefix" =~ ^su[[:space:]].* ]] && echo 267 | rm -rf /tmp/libdvbcsa 2>/dev/null 268 | } 269 | -------------------------------------------------------------------------------- /support/functions/_translation: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | auto_langset(){ 4 | langset="fail" 5 | cd "$tdir" 6 | langsupport=(*) 7 | 8 | if [ -f "$configdir/force_lang" ] 9 | then 10 | lng1=$(head -n 1 "$configdir/force_lang") 11 | for lng in "${langsupport[@]}" 12 | do 13 | 14 | if [ "$lng" == "$lng1" ] 15 | then 16 | source "$tdir/$lng" 17 | langset="ok" 18 | return 19 | fi 20 | 21 | done 22 | fi 23 | 24 | for lng in "${langsupport[@]}" 25 | do 26 | if [ "${LANG:0:2}" == "$lng" ] 27 | then 28 | source "$tdir/$lng" 29 | langset="ok" 30 | return 31 | fi 32 | done 33 | 34 | if [ ! "$langset" == "ok" ] 35 | then 36 | [ -f "$tdir/en" ] && source "$tdir/en" 37 | fi 38 | } 39 | 40 | lang_select(){ 41 | lng="none" 42 | [ -f "$configdir/force_lang" ] && lng=$(head -n 1 "$configdir/force_lang") 43 | 44 | unset MENU_OPTIONS 45 | COUNT=0 46 | 47 | for e in "${langsupport[@]}" 48 | do 49 | 50 | if [ "$lng" == "none" ] 51 | then 52 | [ "${LANG:0:2}" == "$e" ] && _stat="on" || _stat="off" 53 | else 54 | [ "$lng" == "$e" ] && _stat="on" || _stat="off" 55 | fi 56 | 57 | txt=$(head -3 "$tdir/$e" |tail -1) 58 | MENU_OPTIONS+=($e $txt $_stat) 59 | counter 60 | done 61 | 62 | lng=$("$gui" "$st_" "$bt_" "$title_" --title "-[ lang set ...to edit... ]-" "$rl_" "...langset...to...edit..." "${COUNT+7}" 40 0 "${MENU_OPTIONS[@]}") 63 | if [ ! "${LANG:0:2}" == "$lng" ] 64 | then 65 | for lng1 in "${langsupport[@]}" 66 | do 67 | if [ "$lng" == "$lng1" ] 68 | then 69 | echo "$lng" >"$configdir/force_lang" 70 | fi 71 | done 72 | else 73 | [ -f "$configdir/force_lang" ] && rm -rf "$configdir/force_lang" 74 | fi 75 | } 76 | -------------------------------------------------------------------------------- /support/functions/_update: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | update_me(){ 4 | clear;s3logo 5 | printf " s3_git CHECK:\n -------------\n" 6 | local_revision=0 7 | online_revision=0 8 | check_url "$s3url" || return 9 | 10 | if [ ! -d $workdir/.git ]; then 11 | s3local="$dldir/s3_github" 12 | 13 | local_revision=$(gitrevision $s3local) 14 | online_revision=$(gitrevision $s3url) 15 | 16 | if [ ! "$local_revision" == "$online_revision" ] 17 | then 18 | printf " update s3_git\n Local revision: $local_revision\n Online revision: $online_revision\n" 19 | rm -rf "$s3local"; git clone "$s3url" "$s3local" &>/dev/null; cd "$s3local" 20 | printf " updating all files ...\n\n" 21 | yes | cp -rf ./s3 "$workdir/s3" 22 | yes | cp -rf ./support/* "$workdir/support" 23 | else 24 | printf " is up to date\n Online revision: $online_revision\n\n" 25 | fi 26 | else 27 | logfile="$ldir/$(date +%F.%H%M%S)_update_me.log"; 28 | ( 29 | cd $workdir 30 | GIT_OPT='-c color.ui=always --no-pager' 31 | GIT_BRANCH="$(git branch | tail -n1 | tr -d ' *')" 32 | git $GIT_OPT fetch --prune 33 | ahead=$(git rev-list origin/$GIT_BRANCH..HEAD --count) #local commits made or forced pushes on remote branch 34 | behind=$(git rev-list HEAD..origin/$GIT_BRANCH --count) 35 | local_revision=$(git rev-list HEAD --count) 36 | local_commit=$(git --no-pager log HEAD -n1 --oneline) 37 | online_revision=$(git rev-list origin/$GIT_BRANCH --count) 38 | online_commit=$(git --no-pager log origin/$GIT_BRANCH -n1 --oneline) 39 | if [ $behind -eq 0 -a $ahead -eq 0 ]; then 40 | printf "${p_l}STATUS: s3 is up to date${re_}\n Local = Online revision $local_revision: $local_commit\n\n" 41 | else 42 | git $GIT_OPT status 43 | printf "\n${p_l}START: s3 updates pending${re_}\n Local revision $local_revision: $local_commit\n Online revision $online_revision: $online_commit\n\n" 44 | git $GIT_OPT log HEAD..origin/$GIT_BRANCH --oneline 45 | sleep 1 46 | 47 | if [ $ahead -gt 0 ]; then 48 | printf "\n${p_l}STAGE 1: Try pull with reset (forced pushes on remote)...${re_}\n\n" 49 | git reset origin/$GIT_BRANCH --hard 50 | else 51 | printf "\n${p_l}STAGE 1: Try simple pull (auto-merge)...${re_}\n\n" 52 | fi 53 | 54 | if ! git $GIT_OPT pull; then 55 | printf "\n${p_l}STAGE 2: Reset conflicting tracked files/folders...${re_}\n\n" 56 | if ! git $GIT_OPT pull |& grep '^[[:blank:]]' | xargs git checkout; then 57 | printf "\n${p_l}STAGE 3: Stash conflicting tracked files/folders...${re_}\n\n" 58 | git $GIT_OPT stash 59 | printf "\n${p_l}STAGE 4: Remove conflicting untracked files/folders...${re_}\n\n" 60 | git $GIT_OPT pull |& grep '^[[:blank:]]' | xargs rm -rf 61 | fi 62 | git $GIT_OPT pull 63 | git $GIT_OPT stash clear 64 | fi 65 | printf "\n${p_l}UPDATE finished.${re_}\n\n" 66 | fi 67 | ) |& _log "$logfile" 68 | fi 69 | sleep 2 70 | } 71 | 72 | fix_me(){ 73 | clear 74 | s3logo 75 | s3local="$dldir/s3_github" 76 | 77 | [ -d "$s3local" ] && rm -rf $s3local 78 | update_me 79 | } 80 | -------------------------------------------------------------------------------- /support/functions/_uploadcam: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | upload_cam(){ 4 | clear 5 | slogo 6 | FILENAME=$1 7 | 8 | if [ ! -f "$profdir/$FILENAME" ]; then 9 | printf "$r_l\n $txt_error $FILENAME $txt_upload_cam1 $re_\n" 10 | exit 11 | else 12 | printf "$w_l\n CONFIG : $g_l$FILENAME $txt_upload_cam2 $re_\n" 13 | fi 14 | 15 | #load data from config 16 | source "$profdir/$FILENAME" 17 | 18 | #find newest build by date for toolchain 19 | cd "$bdir" 20 | buildcamname="$(find . -type f \( -iname "*$toolchain*" ! -iname "*list_smargo" ! -iname "*.zip" \) -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " |sed 's@./@@g')" 21 | cd "$workdir" 22 | 23 | #ssh options 24 | ssh_opt="-o StrictHostKeyChecking=no -o HostKeyAlgorithms=+ssh-rsa" 25 | 26 | #output date from cam 27 | if [ -f "$bdir/$buildcamname" ]; then 28 | printf "$w_l CAMNAME : $y_l$buildcamname\n" 29 | printf "$w_l FILEDATE: "$( 30 | stat -c %y "$bdir/$buildcamname" |awk '{print $1" "; printf substr($2,1,8)}' 31 | ) 32 | printf "$w_l" 33 | else 34 | printf "\n matching \$CAM not found in $bdir$re_\n" 35 | exit 36 | fi 37 | 38 | #upload cam to remote tmp folder 39 | scp_cmd="sshpass -p "$password" scp -P "$port" $ssh_opt "$bdir/$buildcamname" "$loginname@$ip":/tmp" 40 | success=0 41 | printf "$p_l\n UPLOAD > $w_l$txt_to Host: $b_l$ip$w_l Port: $b_l$port${w_n}\n " 42 | errors="$(mktemp)" 43 | if ! $scp_cmd 2>"$errors"; then 44 | printf "${r_n}"; cat "$errors"; rm -f "$errors" 45 | scp_cmd=${scp_cmd/scp/scp -s} 46 | printf "${y_l} Falling back to compatibility mode by forcing SFTP protocol...${w_n}\n " 47 | if ! $scp_cmd 2>"$errors"; then 48 | printf "${r_n}"; cat "$errors"; rm -f "$errors" 49 | scp_cmd=${scp_cmd/scp -s/scp -O} 50 | printf "${y_l} Falling back to compatibility mode by forcing SCP protocol...${w_n}\n " 51 | $scp_cmd 2>"$errors" && success=1 52 | else 53 | success=1 54 | fi 55 | else 56 | success=1 57 | fi 58 | printf "${r_n}"; cat "$errors"; rm -f "$errors" 59 | [ "$success" = "1" ] && printf " $g_l$txt_done!$re_\n" 60 | 61 | #stop target cam 62 | if [ ! -z "$stop_target" -a ! "$stop_target" == 'n' -a "$success" = "1" ]; then 63 | if [ "$stop_target" == 'y' ]; then 64 | stop="killall -9 $(basename "$targetcam");" 65 | else 66 | stop="$stop_target" 67 | fi 68 | stopped=0 69 | printf "$p_l STOP > $y_l$stop${w_n}\n " 70 | errors="$(mktemp)" 71 | if sshpass -p "$password" ssh -p "$port" $ssh_opt "$loginname@$ip" "$stop" 2>"$errors"; then 72 | stopped=1 73 | fi 74 | printf "${r_n}"; cat "$errors"; rm -f "$errors" 75 | [ "$stopped" = "1" ] && printf " $g_l$txt_done!$re_\n" 76 | fi 77 | 78 | #replace target cam 79 | if [ "$replace_target" == "y" -a "$success" = "1" ]; then 80 | success=0 81 | printf "$p_l REPLACE > $y_l$targetcam${w_n}\n " 82 | errors="$(mktemp)" 83 | if sshpass -p "$password" ssh -p "$port" $ssh_opt "$loginname@$ip" \ 84 | "cd /tmp; \ 85 | if [ -f \"$buildcamname\" ]; then \ 86 | if [ -f \"$targetcam\" ]; then \ 87 | if [ \"$backup_target\" == \"y\" ]; then \ 88 | cp -pf \"$targetcam\" \"$targetcam.backup\"; \ 89 | fi; \ 90 | mv -f \"$buildcamname\" \"$targetcam\"; \ 91 | chmod +x \"$targetcam\"; \ 92 | else \ 93 | echo \"targetcam $targetcam does not exist!\" 1>&2; \ 94 | exit 1; \ 95 | fi; \ 96 | else \ 97 | echo \"binary $buildcamname does not exist!\" 1>&2; \ 98 | exit 1; \ 99 | fi; \ 100 | exit;" 2>"$errors"; then 101 | success=1 102 | fi 103 | printf "${r_n}"; cat "$errors"; rm -f "$errors" 104 | [ "$success" = "1" ] && printf " $g_l$txt_done!$re_\n" 105 | fi 106 | 107 | #remote command (example restart cam) 108 | if [ ! "$remote_command" == "none" -a "$success" = "1" ]; then 109 | success=0 110 | printf "$p_l REMOTE COMMANDS > $y_l$remote_command${w_n}\n " 111 | errors="$(mktemp)" 112 | # do remote commands 113 | if sshpass -p "$password" ssh -p "$port" $ssh_opt "$loginname@$ip" "$remote_command;" 2>"$errors"; then 114 | success=1 115 | fi 116 | printf "${r_n}"; cat "$errors"; rm -f "$errors" 117 | [ "$success" = "1" ] && printf " $g_l$txt_done!$re_\n" 118 | fi 119 | 120 | printf "${re_}\n" 121 | } 122 | -------------------------------------------------------------------------------- /support/os/debian_ubuntu.install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | debian_os(){ 4 | [ -f /etc/os-release ] && source /etc/os-release || return 1; 5 | install_log="$ldir/os-install.log"; 6 | failed=0; 7 | packages=""; 8 | 9 | for e in "${binvars[@]}"; 10 | do 11 | if [ "$e" == "autoconf-archive" ]; then 12 | if [ ! -f "/usr/share/aclocal/ax_absolute_header.m4" ]; then 13 | printf -v pad %40s; e=$e$pad; e=${e:0:16}; 14 | echo -e "$w_l select $g_l$e$y_l from: $e"; 15 | packages+=" $e"; 16 | else 17 | continue; 18 | fi; 19 | elif ! hash "$e" 2>/dev/null; then 20 | inst="$e"; build=""; 21 | case $e in 22 | upx) 23 | build="upx deb installer" 24 | inst=""; 25 | ;; 26 | xz) 27 | inst="xz-utils"; 28 | ;; 29 | makeinfo) 30 | inst="texinfo"; 31 | ;; 32 | python3-config) 33 | inst="python3-dev"; 34 | ;; 35 | libtoolize) 36 | inst="libtool"; 37 | ;; 38 | libtool) 39 | inst="libtool-bin"; 40 | ;; 41 | composite) 42 | inst="imagemagick"; 43 | ;; 44 | cmp) 45 | inst="diffutils"; 46 | ;; 47 | esac; 48 | printf -v pad %40s; e=$e$pad; e=${e:0:15}; 49 | echo -e "$w_l select $g_l$e$y_l from: $inst$build"; 50 | packages+=" $inst"; 51 | builder+=" $build" 52 | fi; 53 | done; 54 | 55 | for e in "${headervars[@]}"; 56 | do 57 | e1=$(find /usr/include/* /usr/local/include/* 2>/dev/null | grep -wm1 "$e") 58 | if [ ! ${#e1} -gt 8 ]; then 59 | build=""; 60 | case $e in 61 | crypto.h) 62 | inst="libssl-dev"; 63 | ;; 64 | opensslconf.h) 65 | inst="libssl-dev"; 66 | ;; 67 | libusb.h) 68 | inst="libusb-1.0.0-dev"; 69 | ;; 70 | pcsclite.h) 71 | inst="libpcsclite-dev"; 72 | ;; 73 | pthread.h) 74 | inst="libc-dev-bin"; 75 | ;; 76 | dvbcsa.h) 77 | build="libdvbcsa source builder"; 78 | inst=""; 79 | ;; 80 | ncurses) 81 | inst="libncurses-dev"; 82 | ;; 83 | libacl.h) 84 | inst="libacl1-dev"; 85 | ;; 86 | sys/capability.h) 87 | inst="libcap-dev"; 88 | ;; 89 | readline.h) 90 | inst="libreadline-dev"; 91 | ;; 92 | glib-2.0/glib.h) 93 | inst="libglib2.0-dev"; 94 | ;; 95 | esac; 96 | printf -v pad %40s; e=$e$pad; e=${e:0:15}; 97 | echo -e "$w_l select $g_l$e$y_l from: $inst$build"; 98 | packages+=" $inst"; 99 | builder+=" $build" 100 | fi; 101 | done; 102 | 103 | for e in "${libvars[@]}"; 104 | do 105 | e1=$(find /usr/lib* |grep -m1 "$e"); 106 | if [ ! ${#e1} -gt 8 ]; then 107 | case $e in 108 | libccidtwin.so) 109 | inst="libccid"; 110 | ;; 111 | libstdc++.so.6) 112 | inst="libstdc++6"; 113 | ;; 114 | esac; 115 | printf -v pad %40s; e=$e$pad; e=${e:0:15}; 116 | echo -e "$w_l select $g_l$e$y_l from: $inst"; 117 | packages+=" $inst"; 118 | fi; 119 | done; 120 | 121 | if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib32/libz.so.1 ]; then 122 | if [ ! -f /usr/lib32/libz.so.1 ]; then 123 | e="zlib32"; 124 | inst="lib32z1"; 125 | printf -v pad %40s; e=$e$pad; e=${e:0:15}; 126 | echo -e "$w_l select $g_l$e$y_l from: $inst"; 127 | packages+=" $inst"; 128 | fi 129 | fi 130 | 131 | packages="$(echo "$packages" | xargs)" 132 | echo -n >"$install_log" &2>/dev/null; 133 | if [ ${#packages} -gt 0 ]; then 134 | echo -e "$w_l\n INSTALLATION\n ============" | _log "$install_log"; 135 | [[ "$prefix" =~ ^su[[:space:]].* ]] && echo -en "$r_l\n (apt-get installer) Enter $rootuser "; 136 | $prefix " 137 | printf '\033[1;37m\n update\033[1;32m package list...\n\n'; 138 | apt-get -y update |grep --line-buffered -v '^T\|(\|^I\|^H' 2>&1; 139 | printf '\n\033[1;37m install\033[1;32m $txt_selected packages\033[1;33m $txt_wait \n\n'; 140 | apt-get -y -qq install $packages |grep --line-buffered '(' |grep --line-buffered -v 'not\|nicht\|dpkg'; 141 | " |& _log "$install_log" 142 | fi; 143 | 144 | if [[ "$builder" =~ upx ]]; then 145 | echo -e "$w_l\n INSTALL PRECOMPILED BINARY\n ==========================" | _log "$install_log"; 146 | upx_native_installer 147 | fi 148 | 149 | if [[ "$builder" =~ libdvbcsa ]]; then 150 | echo -e "$w_l\n BUILD FROM SOURCE\n =================" | _log "$install_log"; 151 | libdvbcsa_native_installer 152 | fi 153 | 154 | [ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; 155 | 156 | return $failed; 157 | } 158 | -------------------------------------------------------------------------------- /support/os/manjaro.install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | manjaro_os(){ 4 | install_log="$ldir/os-install.log"; 5 | failed=0; 6 | packages=""; 7 | 8 | echo -n >"$install_log" &2>/dev/null; 9 | echo -e "$w_l\n INSTALLATION\n ============\n" | _log "$install_log"; 10 | 11 | [ -f /etc/lsb-release ] && source /etc/lsb-release; 12 | manjaro_version=$DISTRIB_RELEASE 13 | 14 | for e in "${binvars[@]}"; 15 | do 16 | if [ "$e" == "autoconf-archive" ]; then 17 | if [ ! -f "/usr/share/aclocal/ax_absolute_header.m4" ]; then 18 | printf -v pad %40s; e=$e$pad; e=${e:0:16}; 19 | echo -e "$w_l select $g_l$e$y_l from: $e"; 20 | packages+=" $e"; 21 | else 22 | continue; 23 | fi; 24 | elif ! hash "$e" 2>/dev/null; then 25 | inst="$e"; build=""; 26 | case $e in 27 | upx) 28 | build="upx deb installer" 29 | inst=""; 30 | ;; 31 | xz) 32 | inst="xz-utils"; 33 | ;; 34 | scp) 35 | inst="scponly"; 36 | ;; 37 | makeinfo) 38 | inst="texinfo"; 39 | ;; 40 | python3-config) 41 | inst="python3-devel"; 42 | ;; 43 | libtool|libtoolize) 44 | inst="libtool"; 45 | ;; 46 | composite) 47 | inst="imagemagick"; 48 | ;; 49 | cmp) 50 | inst="diffutils"; 51 | ;; 52 | esac; 53 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst$build"; 54 | packages+=" $inst"; 55 | builder+=" $build" 56 | fi; 57 | done; 58 | 59 | for e in "${headervars[@]}"; 60 | do 61 | e1=$(find /usr/include/* /usr/local/include/* 2>/dev/null | grep -wm1 "$e") 62 | if [ ! ${#e1} -gt 8 ]; then 63 | build=""; 64 | case $e in 65 | crypto.h) 66 | inst="libssl-dev"; 67 | ;; 68 | opensslconf.h) 69 | inst="libssl-dev"; 70 | ;; 71 | libusb.h) 72 | inst="libusb-1.0.0-dev"; 73 | ;; 74 | pcsclite.h) 75 | inst="pcsclite"; 76 | ;; 77 | pthread.h) 78 | inst="libc-dev-bin"; 79 | ;; 80 | dvbcsa.h) 81 | build="libdvbcsa source builder"; 82 | inst=""; 83 | ;; 84 | ncurses) 85 | inst="ncurses"; 86 | ;; 87 | libacl.h) 88 | inst="acl"; 89 | ;; 90 | sys/capability.h) 91 | inst="libcap"; 92 | ;; 93 | readline.h) 94 | inst="readline"; 95 | ;; 96 | glib-2.0/glib.h) 97 | inst="glib2"; 98 | ;; 99 | esac; 100 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst$build"; 101 | packages+=" $inst"; 102 | builder+=" $build" 103 | fi; 104 | done; 105 | 106 | for e in "${libvars[@]}"; 107 | do 108 | e1=$(find /usr/lib* |grep -m1 "$e"); 109 | if [ ! ${#e1} -gt 8 ]; then 110 | case $e in 111 | libccidtwin.so) 112 | inst="ccid"; 113 | ;; 114 | libstdc++.so.6) 115 | inst="gcc-libs"; 116 | ;; 117 | esac; 118 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 119 | packages+=" $inst"; 120 | fi; 121 | done; 122 | 123 | if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib/libz.so ]; then 124 | if [ ! -f /usr/lib/libz.so ]; then 125 | e="zlib32"; 126 | inst="lib32-zlib"; 127 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 128 | packages+=" $inst"; 129 | fi 130 | fi 131 | 132 | packages="$(echo "$packages" | xargs)" 133 | if [ ${#packages} -gt 0 ]; then 134 | echo -n -e "$w_l update$g_l package list..."; 135 | echo "+++ $(date): pacman -Syu" >> "$install_log" 136 | $prefix "pacman -Syu" >> "$install_log" 2>&1; 137 | echo -e "$y_l done"; 138 | echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; 139 | echo "+++ $(date): pacman -Sy install$packages" >> "$install_log" 140 | $prefix "pacman -S --noconfirm $packages" >> "$install_log" 2>&1 || failed=1; 141 | if [ $failed == 0 ]; then 142 | echo -e "$y_l done"; 143 | else 144 | echo -e "$r_l failed!"; 145 | fi 146 | fi 147 | 148 | if [[ "$builder" =~ upx ]]; then 149 | echo -e "$w_l\n INSTALL PRECOMPILED BINARY\n ==========================" | _log "$install_log"; 150 | upx_native_installer 151 | fi 152 | 153 | if [[ "$builder" =~ libdvbcsa ]]; then 154 | echo -e "$w_l\n BUILD FROM SOURCE\n =================" | _log "$install_log"; 155 | libdvbcsa_native_installer 156 | fi 157 | 158 | [ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; 159 | 160 | return $failed; 161 | } 162 | -------------------------------------------------------------------------------- /support/os/redhat_centos_fedora.install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | redhat_os(){ 4 | install_log="$ldir/os-install.log"; 5 | failed=0; 6 | packages=""; 7 | 8 | echo -n >"$install_log" &2>/dev/null; 9 | 10 | echo -e "$w_l\n INSTALLATION\n ============\n" | _log "$install_log"; 11 | 12 | rh_version=$(sed -n 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/p' /etc/redhat-release 2>/dev/null); 13 | ! [[ $rh_version ]] && { echo -e "$r_l System not recognised -> Abort!\n"; return 1; } 14 | 15 | sshpass_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/sshpass-1.05-1.el6.rf.x86_64.rpm"; 16 | sshpass86_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/i386/dag/RPMS/sshpass-1.05-1.el6.rf.i686.rpm"; 17 | installer="yum"; 18 | 19 | case $rh_version in 20 | 5) 21 | echo -e "$r_l Five - Has a too old glibc!"; return 1; 22 | sshpass_src="ftp://rpmfind.net/linux/epel/5/x86_64/sshpass-1.05-1.el5.x86_64.rpm"; 23 | sshpass86_src="ftp://rpmfind.net/linux/epel/5/i386/sshpass-1.05-1.el5.i386.rpm"; 24 | ;; 25 | [6-7]) 26 | # Redhat/CentOS 6+7 ok 27 | ;; 28 | [8-9]) 29 | # Redhat/CentOS 8 ok 30 | installer="dnf"; 31 | ;; 32 | 2?) 33 | # Fedora 20+23 ok 34 | installer="dnf"; 35 | ;; 36 | 3?) 37 | # Fedora 30+ ok 38 | installer="dnf"; 39 | ;; 40 | *) 41 | echo "This version is not supported!" >"$install_log" 2>/dev/null; 42 | echo -e "$r_l \"$(cat /etc/redhat-release)\" is not supported!"; 43 | return 1; 44 | esac 45 | 46 | # care about the repos on Redhat and CentOS 47 | if hash subscription-manager 2>/dev/null; then 48 | $prefix "subscription-manager status" >/dev/null || { echo -e "$r_l You need an active subscription!\n"; return 1; } 49 | echo -e "$w_l Retreiving repo list..."; 50 | if ! $prefix "subscription-manager repos --list-enabled | grep -q 'server-optional-rpms'"; then 51 | cmdline="subscription-manager repos --enable rhel-$rh_version-server-optional-rpms; subscription-manager repos --enable codeready-builder-for-rhel-$rh_version-$(arch)-rpms;"; 52 | echo -e "$w_l Add needed repo$g_l optional:$y_l $cmdline"; 53 | echo "+++ $(date): $cmdline" >> "$install_log"; 54 | $prefix "$cmdline" >> "$install_log" 2>&1 || failed=1; 55 | fi 56 | fi 57 | $prefix "dnf config-manager --set-enabled crb" 2>/dev/null; 58 | 59 | for e in "${binvars[@]}"; 60 | do 61 | if [ "$e" == "autoconf-archive" ]; then 62 | if [ ! -f "/usr/share/aclocal/ax_absolute_header.m4" ]; then 63 | printf -v pad %40s; e=$e$pad; e=${e:0:16}; 64 | echo -e "$w_l select $g_l$e$y_l from: $e"; 65 | packages+=" $e"; 66 | else 67 | continue; 68 | fi; 69 | elif ! hash "$e" 2>/dev/null; then 70 | inst="$e"; build=""; 71 | case $e in 72 | upx) 73 | build="upx deb installer" 74 | inst=""; 75 | ;; 76 | xz) 77 | inst="xz-utils"; 78 | [ "$rh_version" -gt 29 ] && inst="xz"; 79 | ;; 80 | makeinfo) 81 | inst="texinfo"; 82 | ;; 83 | python3-config) 84 | inst="python3-devel"; 85 | ;; 86 | libtool|libtoolize) 87 | inst="libtool"; 88 | ;; 89 | g++) 90 | inst="gcc-c++"; 91 | ;; 92 | composite) 93 | inst="ImageMagick"; 94 | ;; 95 | cmp) 96 | inst="diffutils"; 97 | ;; 98 | esac; 99 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst$build"; 100 | packages+=" $inst"; 101 | builder+=" $build" 102 | fi; 103 | done; 104 | 105 | for e in "${headervars[@]}"; 106 | do 107 | e1=$(find /usr/include/* /usr/local/include/* 2>/dev/null | grep -wm1 "$e") 108 | if [ ! ${#e1} -gt 8 ]; then 109 | build=""; 110 | case $e in 111 | crypto.h) 112 | inst="openssl-devel"; 113 | ;; 114 | libusb.h) 115 | # no official package for older versions 116 | [ "$rh_version" -lt 6 ] && continue; 117 | # hopelully they stick to it from now :-) 118 | inst="libusbx-devel"; 119 | [ "$rh_version" == 6 ] && inst="libusb1-devel"; 120 | ;; 121 | pcsclite.h) 122 | inst="pcsc-lite-devel"; 123 | ;; 124 | pthread.h) 125 | inst="glibc-headers"; 126 | ;; 127 | dvbcsa.h) 128 | build="libdvbcsa source builder"; 129 | inst=""; 130 | ;; 131 | ncurses) 132 | inst="ncurses-devel"; 133 | ;; 134 | libacl.h) 135 | inst="libacl-devel"; 136 | ;; 137 | sys/capability.h) 138 | inst="libcap-devel"; 139 | ;; 140 | readline.h) 141 | inst="readline-devel"; 142 | ;; 143 | glib-2.0/glib.h) 144 | inst="glib2-devel"; 145 | ;; 146 | esac; 147 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 148 | packages+=" $inst"; 149 | builder+=" $build" 150 | fi; 151 | done; 152 | 153 | for e in "${libvars[@]}"; 154 | do 155 | e1=$(find /usr/lib* 2>/dev/null | grep -m1 "$e"); 156 | if [ ! ${#e1} -gt 8 ]; then 157 | case $e in 158 | libccidtwin.so) 159 | inst="ccid"; 160 | [ "$rh_version" -gt 6 ] && inst="pcsc-lite-ccid"; 161 | ;; 162 | libstdc++.a) 163 | inst="libstdc++-static"; 164 | ;; 165 | libc\\.a) 166 | inst="glibc-static"; 167 | ;; 168 | esac; 169 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 170 | packages+=" $inst"; 171 | fi; 172 | done; 173 | 174 | if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib/libz.so ]; then 175 | if [ ! -f /usr/lib/libz.so ]; then 176 | e="zlib32"; 177 | inst="zlib-devel.i686"; 178 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 179 | packages+=" $inst"; 180 | fi 181 | fi 182 | 183 | packages="$(echo "$packages" | xargs)" 184 | if [ ${#packages} -gt 0 ]; then 185 | echo -n -e "$w_l update$g_l package list..."; 186 | echo "+++ $(date): $prefix $installer -y check-update" >> "$install_log" 187 | $prefix " 188 | $installer -y check-update; 189 | " >> "$install_log" 2>&1; 190 | echo -e "$y_l done"; 191 | echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; 192 | echo "+++ $(date): $prefix $installer -y install$packages" >> "$install_log" 193 | $prefix " 194 | $installer -y install $packages; 195 | " >> "$install_log" 2>&1 || failed=1; 196 | if [ $failed == 0 ]; then 197 | echo -e "$y_l done"; 198 | else 199 | echo -e "$r_l failed!"; 200 | fi 201 | fi 202 | 203 | # additional rpm 204 | if ! hash sshpass 2>/dev/null; then 205 | [ "$(arch)" == "i686" ] && sshpass_src=$sshpass86_src; 206 | echo -e "$w_l install$g_l sshpass$y_l\tfrom: $sshpass_src"; 207 | echo "+++ $(date): $prefix rpm -i $sshpass_src" >> "$install_log"; 208 | $prefix " 209 | rpm --nosignature -i $sshpass_src; 210 | " >> "$install_log" 2>&1 || failed=1; 211 | fi 212 | 213 | if [[ "$builder" =~ upx ]]; then 214 | echo -e "$w_l\n INSTALL PRECOMPILED BINARY\n ==========================" | _log "$install_log"; 215 | upx_native_installer 216 | fi 217 | 218 | if [[ "$builder" =~ libdvbcsa ]]; then 219 | echo -e "$w_l\n BUILD FROM SOURCE\n =================" | _log "$install_log"; 220 | libdvbcsa_native_installer 221 | fi 222 | 223 | [ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; 224 | 225 | return $failed; 226 | } 227 | -------------------------------------------------------------------------------- /support/os/suse.install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | suse_os(){ 4 | install_log="$ldir/os-install.log"; 5 | failed=0; 6 | packages=""; 7 | 8 | echo -n >"$install_log" &2>/dev/null; 9 | 10 | echo -e "$w_l\n INSTALLATION\n ============\n" | _log "$install_log"; 11 | 12 | suse_version=$(grep VERSION= /etc/os-release 2>/dev/null | sed -n 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/p'); 13 | 14 | sshpass_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/sshpass-1.05-1.el6.rf.x86_64.rpm"; 15 | sshpass86_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/i386/dag/RPMS/sshpass-1.05-1.el6.rf.i686.rpm"; 16 | 17 | if [[ "$suse_version" ]]; then 18 | [ "$suse_version" -lt 12 ] && { echo -e "$r_l This system is not supported anymore!\n"; return 1; } 19 | [ "$suse_version" -gt 13 ] && [ "$suse_version" -lt 42 ] && echo -e "$r_l This installer is still in the testing stage!"; 20 | [ "$suse_version" -gt 42 ] && echo -e "$r_l This installer is still in the testing stage!"; 21 | else 22 | echo -e "$r_l System not recognised -> Abort!\n"; return 1; 23 | fi 24 | 25 | # check for sufficient repositories - SLES & SLED need an additional "SUSE Linux Enterprise Software Development Kit" 26 | if grep "Enterprise" /etc/os-release >/dev/null; then 27 | echo -n -e "$w_l SUSE Linux Enterprise detected$g_l check for SDK repository..."; 28 | if ! zypper wp subversion >/dev/null; then 29 | echo -e "$r_l\n You need to install \"SUSE Linux Enterprise Software Development Kit\" first!\n Get it from https://download.suse.com\n"; return 1; 30 | fi 31 | echo -e "$y_l ok"; 32 | fi 33 | 34 | for e in "${binvars[@]}"; 35 | do 36 | if [ "$e" == "autoconf-archive" ]; then 37 | if [ ! -f "/usr/share/aclocal/ax_absolute_header.m4" ]; then 38 | printf -v pad %40s; e=$e$pad; e=${e:0:16}; 39 | echo -e "$w_l select $g_l$e$y_l from: $e"; 40 | packages+=" $e"; 41 | else 42 | continue; 43 | fi; 44 | elif ! hash "$e" 2>/dev/null; then 45 | inst="$e"; build=""; 46 | case $e in 47 | upx) 48 | build="upx deb installer" 49 | inst=""; 50 | ;; 51 | xz) 52 | inst="xz-utils"; 53 | ;; 54 | makeinfo) 55 | inst="texinfo"; 56 | ;; 57 | python3-config) 58 | inst="python3-devel"; 59 | ;; 60 | libtoolize) 61 | inst="libtool"; 62 | ;; 63 | libtool) 64 | inst="libtool-bin"; 65 | ;; 66 | g++) 67 | inst="gcc-c++"; 68 | ;; 69 | gettext) 70 | inst="gettext-tools"; 71 | ;; 72 | composite) 73 | inst="ImageMagick"; 74 | ;; 75 | cmp) 76 | inst="diffutils"; 77 | ;; 78 | esac; 79 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst$build"; 80 | packages+=" $inst"; 81 | builder+=" $build" 82 | fi; 83 | done; 84 | 85 | for e in "${headervars[@]}"; 86 | do 87 | e1=$(find /usr/include/* /usr/local/include/* 2>/dev/null | grep -wm1 "$e") 88 | if [ ! ${#e1} -gt 8 ]; then 89 | build=""; 90 | case $e in 91 | crypto.h) 92 | inst="libopenssl-devel"; 93 | ;; 94 | libusb.h) 95 | inst="libusb-1_0-devel"; 96 | ;; 97 | pcsclite.h) 98 | inst="pcsc-lite-devel"; 99 | ;; 100 | pthread.h) 101 | inst="glibc-devel"; 102 | ;; 103 | dvbcsa.h) 104 | build="libdvbcsa source builder"; 105 | inst=""; 106 | ;; 107 | ncurses) 108 | inst="ncurses-devel"; 109 | ;; 110 | libacl.h) 111 | inst="libacl-devel"; 112 | ;; 113 | sys/capability.h) 114 | inst="libcap-devel"; 115 | ;; 116 | readline.h) 117 | inst="readline-devel"; 118 | ;; 119 | glib-2.0/glib.h) 120 | inst="glib2-devel-32bit"; 121 | ;; 122 | esac; 123 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst$build"; 124 | packages+=" $inst"; 125 | builder+=" $build" 126 | fi; 127 | done; 128 | 129 | for e in "${libvars[@]}"; 130 | do 131 | e1=$(find /usr/lib* |grep -m1 "$e"); 132 | if [ ! ${#e1} -gt 8 ]; then 133 | case $e in 134 | libccidtwin.so) 135 | inst="pcsc-ccid"; 136 | ;; 137 | libstdc++.so.6) 138 | inst="libstdc++6"; 139 | ;; 140 | libc\\.a) 141 | inst="glibc-static"; 142 | ;; 143 | esac; 144 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 145 | packages+=" $inst"; 146 | fi; 147 | done; 148 | 149 | if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib/libz.so ]; then 150 | if [ ! -f /usr/lib/libz.so ]; then 151 | e="zlib32"; 152 | inst="zlib-devel-32bit glibc-32bit libz1-32bit"; 153 | echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; 154 | packages+=" $inst"; 155 | fi 156 | fi 157 | 158 | packages="$(echo "$packages" | xargs)" 159 | if [ ${#packages} -gt 0 ]; then 160 | echo -n -e "$w_l update$g_l package list..."; 161 | echo "+++ $(date): zypper --non-interactive refresh" >> "$install_log" 162 | $prefix "zypper --non-interactive refresh" >> "$install_log" 2>&1; 163 | echo -e "$y_l done"; 164 | echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; 165 | echo "+++ $(date): zypper --non-interactive --ignore-unknown install$packages" >> "$install_log" 166 | $prefix "zypper --non-interactive --ignore-unknown install $packages" >> "$install_log" 2>&1 || failed=1; 167 | if [ $failed == 0 ]; then 168 | echo -e "$y_l done"; 169 | else 170 | echo -e "$r_l failed!"; 171 | fi 172 | fi 173 | 174 | # additional rpm 175 | if ! hash sshpass 2>/dev/null; then 176 | [ "$(arch)" == "i686" ] && sshpass_src=$sshpass86_src; 177 | echo -e "$w_l install$g_l sshpass$y_l\tfrom: $sshpass_src"; 178 | echo "+++ $(date): rpm -i $sshpass_src" >> "$install_log"; 179 | $prefix "rpm -i $sshpass_src" >> "$install_log" 2>&1 || failed=1; 180 | echo -e -n ; 181 | fi 182 | 183 | if [[ "$builder" =~ upx ]]; then 184 | echo -e "$w_l\n INSTALL PRECOMPILED BINARY\n ==========================" | _log "$install_log"; 185 | upx_native_installer 186 | fi 187 | 188 | if [[ "$builder" =~ libdvbcsa ]]; then 189 | echo -e "$w_l\n BUILD FROM SOURCE\n =================" | _log "$install_log"; 190 | libdvbcsa_native_installer 191 | fi 192 | 193 | [ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; 194 | 195 | return $failed; 196 | } 197 | -------------------------------------------------------------------------------- /support/patches/no.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/patches/no.patch -------------------------------------------------------------------------------- /support/patches/patch.url.template: -------------------------------------------------------------------------------- 1 | PATCHURL="https://raw.githubusercontent.com/gorgone/s3_releases/master/support/patches/no.patch" 2 | PATCHNAME="no.patch" 3 | #PATCHCOUNT=3 4 | #PATCHURL1="https://raw.githubusercontent.com/gorgone/s3_releases/master/support/patches/no.patch" 5 | #PATCHNAME1="no1.patch" 6 | #PATCHURL2="https://raw.githubusercontent.com/gorgone/s3_releases/master/support/patches/no.patch" 7 | #PATCHNAME2="no2.patch" 8 | #PATCHURL3="https://raw.githubusercontent.com/gorgone/s3_releases/master/support/patches/no.patch" 9 | #PATCHNAME3="no3.patch" 10 | -------------------------------------------------------------------------------- /support/profiles/best.box.profile: -------------------------------------------------------------------------------- 1 | all_off readers_on 2 | WEBIF DEBUG DVBAPI READ_SDT LIVELOG JQUERY LB CACHEEX CACHEEX_AIO CWCC IPV6 3 | CCCAM CAMD35 CAMD35_TCP 4 | INTERNAL PHOENIX STINGER SMARGO_off 5 | -------------------------------------------------------------------------------- /support/profiles/complete.box.profile: -------------------------------------------------------------------------------- 1 | all_off readers_on 2 | WEBIF LIVELOG JQUERY SSL DVBAPI READ_SDT ANTICASC LB CACHEEX CACHEEX_AIO CWCC LCD LED IPV6 3 | CAMD35 CAMD35_TCP NEWCAMD CCCAM CCCSHARE GBOX SCAM CONSTCW 4 | PHOENIX INTERNAL SC8IN1 MP35 STINGER 5 | USE_COMPRESS 6 | -------------------------------------------------------------------------------- /support/profiles/upload.example.ssh: -------------------------------------------------------------------------------- 1 | loginname="root" 2 | password="password" 3 | ip="192.168.1.10" 4 | port="22" 5 | toolchain="dream_one" 6 | targetcam="/tmp/oscamtest" 7 | backup_target="y" 8 | replace_target="y" 9 | stop_target="y" 10 | remote_command="ls /tmp" 11 | -------------------------------------------------------------------------------- /support/software/_vlmcsd: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #simplebuild_plugin vlmcsd 4 | #line 3 is absolutely necessary 5 | #without it no entry is created in the simplebuild 6 | #the end of the line indicates how to call the module 7 | 8 | build_vlmcsd() { 9 | 10 | clear 11 | #load toolchain preset 12 | source "$tccfgdir/$1" 13 | 14 | #vaiables for download 15 | filename="svn1113.tar.gz" 16 | sourcedir="vlmcsd-svn1113" 17 | stable="https://github.com/Wind4/vlmcsd/archive/$filename" 18 | 19 | #goto download dir 20 | cd $dldir 21 | slogo 22 | [ -d $sourcedir ] && rm -rf $sourcedir #remove build dir if exist 23 | [ -f $filename ] && rm -f $filename #remove download if exist 24 | 25 | #messages and download source 26 | echo -en "\nVLMCSD\n=======\ndownload please wait ... " 27 | wget $stable --progress=dot -q --show-progress 2>&1 | 28 | awk 'NF>2 && $(NF-2) ~ /%/{printf "\rdownload please wait ... %s",$(NF-2)} END{print "\rdownload please wait ... Done!"}' #download stable package 29 | echo -e "extracting please wait ... " 30 | 31 | #extract source 32 | tar -zxf $filename 33 | #enter source directory 34 | cd $sourcedir 35 | 36 | #build software 37 | # variables 38 | #example dream_one 39 | # 40 | # _compiler="aarch64-dream_one-linux-gnu-"; 41 | # - u can use $_compiler"ar" {strip,ranlib,ld...} 42 | # 43 | # _sysroot="aarch64-dream_one-linux-gnu/sysroot/"; 44 | # -if the source needs a sysroot 45 | # 46 | # _libsearchdir="/lib"; 47 | # if needet on the target system 48 | # 49 | # toolchain directory 50 | # $tcdir 51 | # 52 | # toolchainname 53 | # $_toolchainname 54 | 55 | #build software 56 | make CC="$tcdir/$_toolchainname/bin/$_compiler""gcc" 2>&1 |grep --line-buffered -v "^make" |awk -F "CC" '{print "compile -> " "\033[32m" $NF "\033[0m" }' 57 | [ -d bin ] && cd bin 58 | 59 | #compress binary 60 | upx -9 -q vlmcs |grep vlmcs |awk '{print "compress -> " $1" "$3" "$4 }' 61 | upx -9 -q vlmcsd |grep vlmcsd |awk '{print "compress -> " $1" "$3" "$4 }' 62 | 63 | #move binarys & links to source-toolchainname 64 | [ -d "$sodir/$sourcedir-$_toolchainname" ] && rm -rf "$sodir/$sourcedir-$_toolchainname" 65 | mkdir -p "$sodir/$sourcedir-$_toolchainname" 66 | mv {vlmcs,vlmcsd} "$sodir/$sourcedir-$_toolchainname" 67 | 68 | } 69 | 70 | #check software parameter 71 | if [ "$1" = "vlmcsd" ]; then 72 | build_vlmcsd $2 73 | exit 74 | fi 75 | -------------------------------------------------------------------------------- /support/software/_zerotier: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #simplebuild_plugin zerotier 4 | 5 | build_zerotier() { 6 | clear 7 | source "$tccfgdir/$1" 8 | stable="https://github.com/zerotier/ZeroTierOne/archive/1.6.5.tar.gz" 9 | cd $dldir 10 | slogo 11 | [ -d ZeroTierOne-1.6.5 ] && rm -rf ZeroTierOne-1.6.5 #remove build dir 12 | [ -f 1.6.5.tar.gz ] && rm -f 1.6.5.tar.gz #remove download 13 | echo -en "\nZeroTierOne\n===========\ndownload please wait ... " 14 | wget $stable --progress=dot -q --show-progress 2>&1 | 15 | awk 'NF>2 && $(NF-2) ~ /%/{printf "\rdownload please wait ... %s",$(NF-2)} END{print "\rdownload please wait ... Done!"}' #download stable package 16 | echo -e "extracting please wait ... " 17 | tar -zxf 1.6.5.tar.gz #extract source 18 | cd ZeroTierOne-1.6.5 19 | sed "11a\\override CC=$tcdir/$_toolchainname/bin/$_compiler"gcc"" -i make-linux.mk 20 | sed "12a\\override CXX=$tcdir/$_toolchainname/bin/$_compiler"g++"" -i make-linux.mk 21 | sed "13a\\override STRIP=$tcdir/$_toolchainname/bin/$_compiler"strip"" -i make-linux.mk 22 | 23 | #build software 24 | make -j16 -w 2>&1 |grep --line-buffered -v "struct\|pp\:\|one.o\|warning\|~\|In\|note\|if\|int\|\^\|)" |awk -F "/" '{print "compile -> " "\033[32m" $NF "\033[0m" }' 25 | upx -9 -q zerotier-one |grep zerotier |awk '{print "compress -> " $1" "$3" "$4 }' 26 | 27 | #copy binarys 28 | [ $1 = "native" ] && _toolchainname=$(uname -m) 29 | [ -d "$sodir/ZeroTierOne-1.6.5.$_toolchainname" ] && rm -rf "$sodir/ZeroTierOne-1.6.5.$_toolchainname" 30 | mkdir -p "$sodir/ZeroTierOne-1.6.5.$_toolchainname" 31 | mv {zerotier-cli,zerotier-idtool,zerotier-one} "$sodir/ZeroTierOne-1.6.5.$_toolchainname" 32 | } 33 | 34 | deb_package() { 35 | clear 36 | slogo 37 | mkdir -p "$sodir/ZeroTierOne-1.6.5.$_toolchainname/DEBIAN" 38 | mkdir -p "$sodir/ZeroTierOne-1.6.5.$_toolchainname/usr/local/bin" 39 | cd "$sodir/ZeroTierOne-1.6.5.$_toolchainname" 40 | mv {zerotier-cli,zerotier-idtool,zerotier-one} "$sodir/ZeroTierOne-1.6.5.$_toolchainname/usr/local/bin" 41 | printf "\nPackage Info\n============\n" 42 | echo "Package: zerotierone 43 | Version: 1.6.5 44 | Section: custom 45 | Priority: optional 46 | Architecture: all 47 | Essential: no 48 | Installed-Size: 1024 49 | Maintainer: https://github.com/zerotier/ZeroTierOne 50 | Description: virtual network card">"$sodir/ZeroTierOne-1.6.5.$_toolchainname/DEBIAN/control" 51 | echo "ZeroTierOne-1.6.5.$_toolchainname" 52 | cat "$sodir/ZeroTierOne-1.6.5.$_toolchainname/DEBIAN/control" 53 | cd "$sodir" 54 | printf "\n" 55 | dpkg-deb --build "ZeroTierOne-1.6.5.$_toolchainname" 56 | [ -f "ZeroTierOne-1.6.5.$_toolchainname".deb ] && mv "ZeroTierOne-1.6.5.$_toolchainname".deb $adir 57 | printf "\n" 58 | exit 59 | } 60 | 61 | if [ "$1" = "zerotier" ]; then 62 | if [ -z $2 ]; then 63 | clear 64 | slogo 65 | printf "\n plase add toolchain\n\n" 66 | exit 67 | else 68 | if [ -f "$tccfgdir/$2" ]; then 69 | buildtc="$2" 70 | else 71 | clear 72 | slogo 73 | printf "\n $2 toolchain not installed\n\n" 74 | exit 75 | fi 76 | fi 77 | build_zerotier $buildtc 78 | fi 79 | 80 | if [ "$3" = "makedeb" ]; then 81 | deb_package 82 | fi 83 | -------------------------------------------------------------------------------- /support/stapi/liboscam_stapi.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/stapi/liboscam_stapi.a -------------------------------------------------------------------------------- /support/stapi/liboscam_stapi5_OPENBOX.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/stapi/liboscam_stapi5_OPENBOX.a -------------------------------------------------------------------------------- /support/stapi/liboscam_stapi5_UFS916.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/stapi/liboscam_stapi5_UFS916.a -------------------------------------------------------------------------------- /support/stapi/liboscam_stapi5_UFS916_0.03.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/stapi/liboscam_stapi5_UFS916_0.03.a -------------------------------------------------------------------------------- /support/stapi/libwi.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/stapi/libwi.a -------------------------------------------------------------------------------- /support/stapi/libwi2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorgone/s3_releases/e9154b35add4d43344c3aff6eccfd944c6081ba6/support/stapi/libwi2.a -------------------------------------------------------------------------------- /support/toolchains.cfg/aarch64_generic: -------------------------------------------------------------------------------- 1 | _toolchainname="aarch64_generic"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c=""; 7 | _description="aarch64 stb's (generic)"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom=""; 10 | _compiler="aarch64-buildroot-linux-gnu-"; 11 | _sysroot="aarch64-buildroot-linux-gnu/sysroot"; 12 | _libsearchdir="/usr/lib"; 13 | _extract_strip="1"; 14 | _toolchainfilename="aHR0cHM6Ly90b29sY2hhaW5zLmJvb3RsaW4uY29tL2Rvd25sb2Fkcy9yZWxlYXNlcy90b29sY2hhaW5zL2FhcmNoNjQvdGFyYmFsbHMvYWFyY2g2NC0tZ2xpYmMtLXN0YWJsZS0yMDE4LjExLTEudGFyLmJ6Mg=="; 15 | _md5sum="3dabef3ced22e58bc061be2f74dfae85 aarch64--glibc--stable-2018.11-1.tar.bz2"; 16 | _tc_info="!!! Bootlin Stable Toolchain 2018.11-1 !!!\n 17 | \n 18 | generic cross toolchain for aarch64 devices\n 19 | \n 20 | arch aarch64\n 21 | glibc 2.27\n 22 | gcc 7.3.0\n 23 | gdb 7.12.1\n 24 | linux 4.1.52\n 25 | binutils 2.29.1\n"; 26 | _tc_infolines="10"; 27 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_10_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_10_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=29 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 10 STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkXzEwX2FybS50YXIueHoK"; 18 | _md5sum="b501f6ee5c2fcc02d6c8b6c7e82b9148 Toolchain-android_10_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 10 STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 29, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_11_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_11_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=30 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 11 STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkXzExX2FybS50YXIueHoK"; 18 | _md5sum="34baf003f32555c4f9c4ed0c2e783f55 Toolchain-android_11_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 11 STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 30, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_12_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_12_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=31 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 12 STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkXzEyX2FybS50YXIueHoK"; 18 | _md5sum="debce4e0e9b0395fa74072642ba33cd9 Toolchain-android_12_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 12 STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 31, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_13_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_13_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=33 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 13 STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkXzEzX2FybS50YXIueHoK"; 18 | _md5sum="881809e7578f1659a43cd617e67a7f09 Toolchain-android_13_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 13 STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 33, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_14_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_14_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=34 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 14 STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkXzE0X2FybS50YXIueHoK"; 18 | _md5sum="d7bff41438b934ca117589cb32c14655 Toolchain-android_14_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 14 STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 34, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_15_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_15_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=35 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 15 STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkXzE1X2FybS50YXIueHoK"; 18 | _md5sum="a736d7fec758f12e7721afb53364e51c Toolchain-android_15_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 15 STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 35, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_nougat_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_nougat_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=24 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 7.x Nougat STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkX25vdWdhdF9hcm0udGFyLnh6Cg=="; 18 | _md5sum="8024786b165ebd2e779ab48e2e834d94 Toolchain-android_nougat_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 7.x Nougat STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 24, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_oreo_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_oreo_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=26 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 8.x Oreo STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkX29yZW9fYXJtLnRhci54ego="; 18 | _md5sum="a91824b7d145a9704e5605b0f974317b Toolchain-android_oreo_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 8.x Oreo STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 26, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/android_pie_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="android_pie_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use="LIB_RT= LIB_PTHREAD="; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -U__ANDROID_API__ -DANDROID -D__ANDROID_API__=28 -fpic -fno-addrsig -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wno-unused-but-set-variable -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -Wno-ignored-optimization-argument"; 7 | _description="Android 9.x Pie STBs"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom="/data/plugin/oscam"; 10 | _androidndkdir="1"; 11 | stapi_lib_custom="libwi.a"; 12 | stapi_allowed="1"; 13 | _compiler="arm-linux-androideabi-"; 14 | _sysroot="sysroot"; 15 | _libsearchdir="/usr/lib"; 16 | _extract_strip="0"; 17 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1hbmRyb2lkX3BpZV9hcm0udGFyLnh6Cg=="; 18 | _md5sum="d0b9bb7d77a7edcd1c67a28dffc2bf22 Toolchain-android_pie_arm.tar.xz"; 19 | _tc_info="\n 20 | !!! Android-NDK Toolchain !!!\n 21 | \n 22 | Android 9.x Pie STBs\n 23 | arm armeabi-v7a 32-bit LE, libc++ API 28, clang 18.0.2, Linux 6.8.0\n"; 24 | _tc_infolines="5"; 25 | -------------------------------------------------------------------------------- /support/toolchains.cfg/arm_dream: -------------------------------------------------------------------------------- 1 | _toolchainname="arm_dream" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Dreambox ARM" 4 | _oscamconfdir_default="/etc/tuxbox/config" 5 | _oscamconfdir_custom="/var/" 6 | 7 | _compiler="arm-newnigma2-linux-gnueabihf-" 8 | _sysroot="arm-newnigma2-linux-gnueabihf" 9 | _libsearchdir="/usr/lib" 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tYXJtX2RyZWFtLnRhci54ego="; 11 | _md5sum="ba520f3c9ce3d4e6263751f0781e4161 Toolchain-arm_dream.tar.xz"; 12 | _tc_info="\n 13 | !!! Dreambox ARM Toolchain !!!\n 14 | this toolchain is compatible with\n 15 | DM900\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/armv7_generic: -------------------------------------------------------------------------------- 1 | _toolchainname="armv7_generic"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c="-mfpu=vfpv3-d16"; #special optimization for HiSilicon MV430 devices 7 | _description="armv7 stb's (generic)"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom=""; 10 | _compiler="arm-buildroot-linux-gnueabihf-"; 11 | _sysroot="arm-buildroot-linux-gnueabihf/sysroot"; 12 | _libsearchdir="/usr/lib"; 13 | _extract_strip="1"; 14 | _toolchainfilename="aHR0cHM6Ly90b29sY2hhaW5zLmJvb3RsaW4uY29tL2Rvd25sb2Fkcy9yZWxlYXNlcy90b29sY2hhaW5zL2FybXY3LWVhYmloZi90YXJiYWxscy9hcm12Ny1lYWJpaGYtLWdsaWJjLS1zdGFibGUtMjAxOC4xMS0xLnRhci5iejI="; 15 | _md5sum="cf6286d326c14d6a51ba05c33c8218a0 armv7-eabihf--glibc--stable-2018.11-1.tar.bz2"; 16 | _tc_info="!!! Bootlin Stable Toolchain 2018.11-1 !!!\n 17 | \n 18 | generic cross toolchain for armv7eabihf devices\n 19 | \n 20 | arch armv7\n 21 | glibc 2.27\n 22 | gcc 7.3.0\n 23 | gdb 7.12.1\n 24 | linux 4.1.52\n 25 | binutils 2.29.1\n"; 26 | _tc_infolines="10"; 27 | -------------------------------------------------------------------------------- /support/toolchains.cfg/cool: -------------------------------------------------------------------------------- 1 | _toolchainname="cool"; 2 | default_use="USE_COOLAPI"; 3 | _description="COOLSTREAM" 4 | _oscamconfdir="/var/tuxbox/config"; 5 | 6 | _compiler="arm-cx2450x-linux-gnueabi-"; 7 | _sysroot="arm-cx2450x-linux-gnueabi/sys-root/usr"; 8 | _libsearchdir="/lib"; 9 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tQ29vbHN0cmVhbV9zX3VfcC50YXIueHoK"; 10 | _md5sum="a4c92c6bcfeee5fd105f3590034b8d12 Toolchain-Coolstream_s_u_p.tar.xz"; 11 | _tc_info="\n 12 | !!! COOLSTREAM HD1!!!\n 13 | this toolchain is compatible with\n 14 | Nevis\n 15 | \n 16 | "; 17 | 18 | _tc_infolines="6" 19 | -------------------------------------------------------------------------------- /support/toolchains.cfg/cool2: -------------------------------------------------------------------------------- 1 | _toolchainname="cool2"; 2 | default_use="USE_LIBCRYPTO USE_COOLAPI2"; 3 | _description="COOLSTREAM HD2"; 4 | _oscamconfdir_default="/var/tuxbox/config"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-pnx8400-linux-uclibcgnueabi-"; 8 | _sysroot="arm-pnx8400-linux-uclibcgnueabi/sys-root/usr"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tQ29vbDJfc191X3AudGFyLnh6Cg=="; 11 | _md5sum="7f09e91ce6e85ed65d8d7bc8bea5d8b0 Toolchain-Cool2_s_u_p.tar.xz"; 12 | _tc_info="\n 13 | !!! COOLSTREAM HD2 !!!\n 14 | this toolchain is compatible with\n 15 | Apollo/Kronos\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/csky: -------------------------------------------------------------------------------- 1 | _toolchainname="csky"; 2 | default_use="USE_GXAPI"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="GX-API Box"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="csky-linux-"; 10 | _sysroot="csky-linux/libc"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1jc2t5LnRhci54ego="; 13 | _md5sum="5d7ffc30feb1aa76dcf1a0d6c4429e19 Toolchain-csky.tar.xz"; 14 | _tc_info="\n 15 | !!! csky-linux Toolchain !!!\n 16 | \n 17 | GX-API Box (needs special oscam patches to work)\n"; 18 | _tc_infolines="5"; 19 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dcube: -------------------------------------------------------------------------------- 1 | _toolchainname="dcube" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Dcube-R2" 4 | _oscamconfdir_default="/etc/tuxbox/config" 5 | _oscamconfdir_custom="/var/" 6 | 7 | _compiler="arm-cortex-linux-gnueabi-" 8 | _sysroot="arm-cortex-linux-gnueabi/sys-root/usr" 9 | _libsearchdir="/lib" 10 | _toolchainfilename="aHR0cHM6Ly9maWxlcy5zdHJlYW1ib2FyZC50di90b29sY2hhaW5zL1Rvb2xjaGFpbi1BUk1fQ29ydGV4X0E5X3NfdV9wMS50YXIueHoK"; 11 | _md5sum="636fd2655e931f23dc7136bbd3851101 Toolchain-ARM_Cortex_A9_s_u_p1.tar.xz"; 12 | _tc_info="\n 13 | !!! ARM_Cortex_A9 !!!\n 14 | this toolchain is compatible with\n 15 | Dcube-R2\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dockstar: -------------------------------------------------------------------------------- 1 | _toolchainname="dockstar"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Dockstar"; 4 | _oscamconfdir_default="/var/tuxbox/config"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-none-linux-gnueabi-"; 8 | _sysroot="arm-none-linux-gnueabi/libc/usr"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tRG9ja3N0YXJfc191X3AudGFyLnh6Cg=="; 11 | _md5sum="f259eac25e917a0b9b564d014d171c39 Toolchain-Dockstar_s_u_p.tar.xz"; 12 | _tc_info="\n 13 | !!! Dockstar !!!\n 14 | this toolchain is compatible with\n 15 | fill with info\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dream_aarch64: -------------------------------------------------------------------------------- 1 | _toolchainname="dream_aarch64"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Dreambox ONE|TWO"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="aarch64-dreambox-linux-gnu-"; 10 | _sysroot="aarch64-dreambox-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1kcmVhbV9hYXJjaDY0LnRhci54ego="; 13 | _md5sum="1a2bb4d8c63dd1014f66f4136d258b65 Toolchain-dream_aarch64.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Dreambox ONE|TWO\n 18 | aarch64 64-bit LE, glibc 2.25, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dream_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="dream_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Dreambox DM9x0 UHD"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-dreambox-linux-gnueabihf-"; 10 | _sysroot="arm-dreambox-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1kcmVhbV9hcm0udGFyLnh6Cg=="; 13 | _md5sum="d0cb74426ebfb020ab531550f5c6412d Toolchain-dream_arm.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Dreambox DM9x0 UHD\n 18 | arm 32-bit LE, glibc 2.23, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dream_mipsel: -------------------------------------------------------------------------------- 1 | _toolchainname="dream_mipsel"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Dreambox 500 HD|52x|8x0 HD|70x0 HD"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="mipsel-dreambox-linux-gnu-"; 10 | _sysroot="mipsel-dreambox-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1kcmVhbV9taXBzZWwudGFyLnh6Cg=="; 13 | _md5sum="731671ac09cbed5910e00b19c243218f Toolchain-dream_mipsel.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Dreambox 500 HD|52x|8x0 HD|70x0 HD\n 18 | mips mips1 32-bit LE, glibc 2.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dream_one: -------------------------------------------------------------------------------- 1 | _toolchainname="dream_one"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="DreamOne aarch64"; 4 | _oscamconfdir_default="/var/keys"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="aarch64-dream_one-linux-gnu-"; 8 | _sysroot="aarch64-dream_one-linux-gnu/sysroot/"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tZHJlYW1fb25lLnRhci54ego="; 11 | _md5sum="5e29314209ae3e4af8e78516912f1c92 Toolchain-dream_one.tar.xz"; 12 | 13 | _tc_info="\n 14 | !!! beware the box must have FPU !!!\n 15 | this toolchain is compatible with\n 16 | \n 17 | Dreambox : DreamOne Arch64"; 18 | 19 | _tc_infolines="5" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/dreambox_fpu: -------------------------------------------------------------------------------- 1 | _toolchainname="dreambox_fpu"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Dreambox & VU+ (OE 2.0 FPU)"; 4 | _oscamconfdir_default="/var/tuxbox/config"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="mipsel-newnigma2-linux-gnu-"; 8 | _sysroot="mipsel-newnigma2-linux-gnu/sysroot"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tRHJlYW1ib3gtSFdfc191X3AudGFyLnh6Cg=="; 11 | _md5sum="fe042292f6c0022c3b474fcd3a9baf18 Toolchain-Dreambox-HW_s_u_p.tar.xz"; 12 | _tc_info="\n 13 | !!! beware the box must have FPU !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: 500HD,800HD,800SE,7020HD,7025,8000\n 17 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/fritz3272_3370_3390_6840_7272_7330_7330SL_7360v2_7390_ssl_multi_mips-freetz: -------------------------------------------------------------------------------- 1 | _toolchainname="fritz3272_3370_3390_6840_7272_7330_7330SL_7360v2_7390_ssl_multi_mips-freetz"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c=""; 7 | _description="FRITZ!Box 3272 3370 3390 6840 7272 7330 7330SL 7360v2 7390 SSL multi by MasterSaMMy"; 8 | _oscamconfdir_default="/var/media/ftp/addon/oscam"; 9 | _oscamconfdir_custom=""; 10 | _self_build="yes"; 11 | _compiler="mips-linux-uclibc-"; 12 | _sysroot="usr"; 13 | _libsearchdir="/usr/lib"; 14 | _extract_strip="0"; 15 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1mcml0ejMyNzJfMzM3MF8zMzkwXzY4NDBfNzI3Ml83MzMwXzczMzBTTF83MzYwdjJfNzM5MF9zc2xfbXVsdGlfbWlwcy1mcmVldHoudGFyLnh6Cg=="; 16 | _md5sum="0670a290e9d43b9551c02c917d680bd7 Toolchain-fritz3272_3370_3390_6840_7272_7330_7330SL_7360v2_7390_ssl_multi_mips-freetz.tar.xz"; 17 | _tc_info="\n 18 | !!! freetz toolchains pack15 Toolchain !!!\n 19 | \n 20 | FRITZ!Box 3272 3370 3390 6840 7272 7330 7330SL 7360v2 7390 SSL multi\n 21 | \n"; 22 | _tc_infolines="5"; 23 | -------------------------------------------------------------------------------- /support/toolchains.cfg/fritz3490_5490_5491_6890_7430_7490_7560_7580_7583_7583vdsl_7590_7590AX_7690_ssl_multi_mips-freetz: -------------------------------------------------------------------------------- 1 | _toolchainname="fritz3490_5490_5491_6890_7430_7490_7560_7580_7583_7583vdsl_7590_7590AX_7690_ssl_multi_mips-freetz"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld="-Wl,-dynamic-linker,/usr/lib/freetz/ld-uClibc.so.0"; 6 | extra_c=""; 7 | _description="FRITZ!Box 3490 5490 5491 6890 7430 7490 7560 7580 7583 7583vdsl 7590 7590AX 7690 SSL multi by MasterSaMMy"; 8 | _oscamconfdir_default="/var/media/ftp/addon/oscam"; 9 | _oscamconfdir_custom=""; 10 | _self_build="yes"; 11 | _compiler="mips-linux-uclibc-"; 12 | _sysroot="usr"; 13 | _libsearchdir="/usr/lib"; 14 | _extract_strip="0"; 15 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1mcml0ejM0OTBfNTQ5MF81NDkxXzY4OTBfNzQzMF83NDkwXzc1NjBfNzU4MF83NTgzXzc1ODN2ZHNsXzc1OTBfNzU5MEFYXzc2OTBfc3NsX211bHRpX21pcHMtZnJlZXR6LnRhci54ego="; 16 | _md5sum="ec054fe07a5d80fda170587a11b4d922 Toolchain-fritz3490_5490_5491_6890_7430_7490_7560_7580_7583_7583vdsl_7590_7590AX_7690_ssl_multi_mips-freetz.tar.xz"; 17 | _tc_info="\n 18 | !!! freetz toolchains pack15 Toolchain !!!\n 19 | \n 20 | FRITZ!Box 3490 5490 5491 6890 7430 7490 7560 7580 7583 7583vdsl 7590 7590AX 7690 SSL multi\n 21 | \n"; 22 | _tc_infolines="5"; 23 | -------------------------------------------------------------------------------- /support/toolchains.cfg/fritz4020_7362_ssl_multi_mips-freetz: -------------------------------------------------------------------------------- 1 | _toolchainname="fritz4020_7362_ssl_multi_mips-freetz"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c=""; 7 | _description="FRITZ!Box 4020 7362 SSL Multi by MasterSaMMy"; 8 | _oscamconfdir_default="/var/media/ftp/addon/oscam"; 9 | _oscamconfdir_custom=""; 10 | _self_build="yes"; 11 | _compiler="mips-linux-uclibc-"; 12 | _sysroot="usr"; 13 | _libsearchdir="/usr/lib"; 14 | _extract_strip="0"; 15 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1mcml0ejQwMjBfNzM2Ml9zc2xfbXVsdGlfbWlwcy1mcmVldHoudGFyLnh6Cg=="; 16 | _md5sum="7c156dd1ec6538e2ecb23dc1ab7b0550 Toolchain-fritz4020_7362_ssl_multi_mips-freetz.tar.xz"; 17 | _tc_info="\n 18 | !!! freetz toolchains pack15 Toolchain !!!\n 19 | \n 20 | FRITZ!Box 4020 7362 SSL Multi\n 21 | \n"; 22 | _tc_infolines="5"; 23 | -------------------------------------------------------------------------------- /support/toolchains.cfg/fritz4040_4050_4060_5590_5690Pro_68504g_68505g_7510_7520_7520B_7530_7530AX_ssl_multi_arm-freetz: -------------------------------------------------------------------------------- 1 | _toolchainname="fritz4040_4050_4060_5590_5690Pro_68504g_68505g_7510_7520_7520B_7530_7530AX_ssl_multi_arm-freetz"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld="-Wl,-dynamic-linker,/usr/lib/freetz/ld-uClibc.so.0"; 6 | extra_c=""; 7 | _description="FRITZ!Box 4040 4050 4060 5590 5690Pro 68504g 68505g 7510 7520 7520B 7530 7530AX SSL multi by MasterSaMMy"; 8 | _oscamconfdir_default="/var/media/ftp/addon/oscam"; 9 | _oscamconfdir_custom=""; 10 | _self_build="yes"; 11 | _compiler="arm-linux-uclibcgnueabi-"; 12 | _sysroot="usr"; 13 | _libsearchdir="/usr/lib"; 14 | _extract_strip="0"; 15 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1mcml0ejQwNDBfNDA1MF80MDYwXzU1OTBfNTY5MFByb182ODUwNGdfNjg1MDVnXzc1MTBfNzUyMF83NTIwQl83NTMwXzc1MzBBWF9zc2xfbXVsdGlfYXJtLWZyZWV0ei50YXIueHoK"; 16 | _md5sum="d9267838ea1c06e88f32ec1a6fbd9990 Toolchain-fritz4040_4050_4060_5590_5690Pro_68504g_68505g_7510_7520_7520B_7530_7530AX_ssl_multi_arm-freetz.tar.xz"; 17 | _tc_info="\n 18 | !!! freetz toolchains pack15 Toolchain !!!\n 19 | \n 20 | FRITZ!Box 4040 4050 4060 5590 5690Pro 68504g 68505g 7510 7520 7520B 7530 7530AX SSL multi\n 21 | \n"; 22 | _tc_infolines="5"; 23 | -------------------------------------------------------------------------------- /support/toolchains.cfg/fritz6430_6490_6590_6591_6660_6670_6690_ssl_multi_i686-freetz: -------------------------------------------------------------------------------- 1 | _toolchainname="fritz6430_6490_6590_6591_6660_6670_6690_ssl_multi_i686-freetz"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld="-Wl,-dynamic-linker,/usr/lib/freetz/ld-uClibc.so.0"; 6 | extra_c=""; 7 | _description="FRITZ!Box 6430 6490 6590 6591 6660 6670 6690 SSL multi by MasterSaMMy"; 8 | _oscamconfdir_default="/var/media/ftp/addon/oscam"; 9 | _oscamconfdir_custom=""; 10 | _self_build="yes"; 11 | _compiler="i686-linux-uclibc-"; 12 | _sysroot="usr"; 13 | _libsearchdir="/usr/lib"; 14 | _extract_strip="0"; 15 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1mcml0ejY0MzBfNjQ5MF82NTkwXzY1OTFfNjY2MF82NjcwXzY2OTBfc3NsX211bHRpX2k2ODYtZnJlZXR6LnRhci54ego="; 16 | _md5sum="4a7325334c4064a1bae0815b1341a1a4 Toolchain-fritz6430_6490_6590_6591_6660_6670_6690_ssl_multi_i686-freetz.tar.xz"; 17 | _tc_info="\n 18 | !!! freetz toolchains pack15 Toolchain !!!\n 19 | \n 20 | FRITZ!Box 6430 6490 6590 6591 6660 6670 6690 SSL multi\n 21 | \n"; 22 | _tc_infolines="5"; 23 | -------------------------------------------------------------------------------- /support/toolchains.cfg/hd51: -------------------------------------------------------------------------------- 1 | _toolchainname="hd51"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="AX/Mutant HD51"; 4 | _oscamconfdir_default="/etc/tuxbox/config/oscam/"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-unknown-linux-gnueabihf-"; 8 | _sysroot="arm-unknown-linux-gnueabihf/sys-root/"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4taGQ1MS50YXIueHoK"; 11 | _md5sum="f238272cebc476c2396ed6fa74a93d86 Toolchain-hd51.tar.xz"; 12 | _tc_info="\n 13 | !!! beware the box must have FPU !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | AX/Mutant : HD51"; 17 | 18 | _tc_infolines="5" 19 | -------------------------------------------------------------------------------- /support/toolchains.cfg/igel_x86: -------------------------------------------------------------------------------- 1 | _toolchainname="igel_x86"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Igel VIA VX855, x86 devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="i686-igel-linux-gnu-"; 10 | _sysroot="i686-igel-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1pZ2VsX3g4Ni50YXIueHoK"; 13 | _md5sum="ac2e27c58889862ee921653c9164aad1 Toolchain-igel_x86.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Igel VIA VX855, x86 devices\n 18 | x86 i686 32-bit LE, glibc 2.28, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/ineos: -------------------------------------------------------------------------------- 1 | _toolchainname="ineos"; 2 | default_use=""; 3 | _description="Ineos ZX4"; 4 | _oscamconfdir_default="/var/keys"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="csky-linux-"; 8 | _sysroot=""; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4taW5lb3MudGFyLnh6Cg=="; 11 | _md5sum="ce54fc7ce4cf58d76070ff86f62440e3 Toolchain-ineos.tar.xz"; 12 | _block="USE_LIBCRYPTO USE_LIBUSB SMARGO" 13 | _tc_info="\n 14 | !!! Ineos ZX4 !!!\n 15 | this toolchain is compatible with\n 16 | fill with info\n 17 | \n 18 | "; 19 | 20 | _tc_infolines="6"; 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/mca: -------------------------------------------------------------------------------- 1 | _toolchainname="mca"; 2 | default_use="USE_LIBCRYPTO USE_MCA"; 3 | _description="MATRIX CAM AIR"; 4 | _oscamconfdir_default="/var/mca/d1"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-none-linux-gnueabi-"; 8 | _sysroot=""; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tTWF0cml4X3MudGFyLnh6Cg=="; 11 | _md5sum="51be223df048291e6bd863a7f8ec4ff8 Toolchain-Matrix_s.tar.xz"; 12 | _block="USE_PCSC USE_LIBUSB" 13 | _tc_info="\n 14 | !!! MATRIX CAM AIR !!!\n 15 | this toolchain is compatible with\n 16 | fill with info\n 17 | \n 18 | "; 19 | 20 | _tc_infolines="6"; 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/mips32el_generic: -------------------------------------------------------------------------------- 1 | _toolchainname="mips32el_generic"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c=""; 7 | _description="mips32el stb's (generic)"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom=""; 10 | _compiler="mipsel-buildroot-linux-gnu-"; 11 | _sysroot="mipsel-buildroot-linux-gnu/sysroot"; 12 | _libsearchdir="/usr/lib"; 13 | _extract_strip="1"; 14 | _toolchainfilename="aHR0cHM6Ly90b29sY2hhaW5zLmJvb3RsaW4uY29tL2Rvd25sb2Fkcy9yZWxlYXNlcy90b29sY2hhaW5zL21pcHMzMmVsL3RhcmJhbGxzL21pcHMzMmVsLS1nbGliYy0tc3RhYmxlLTIwMTguMTEtMS50YXIuYnoy"; 15 | _md5sum="6c1170df27d57dd3bbff9456f0afa813 mips32el--glibc--stable-2018.11-1.tar.bz2"; 16 | _tc_info="!!! Bootlin Stable Toolchain 2018.11-1 !!!\n 17 | \n 18 | generic cross toolchain for mips32el devices\n 19 | \n 20 | arch mips32el\n 21 | glibc 2.27\n 22 | gcc 7.3.0\n 23 | gdb 7.12.1\n 24 | linux 4.1.52\n 25 | binutils 2.29.1\n"; 26 | _tc_infolines="10"; 27 | -------------------------------------------------------------------------------- /support/toolchains.cfg/mipsel: -------------------------------------------------------------------------------- 1 | _toolchainname="mipsel"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Dreambox & VU+ (OE 1.6)"; 4 | _oscamconfdir_default="/var/tuxbox/config"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="mipsel-unknown-linux-gnu-"; 8 | _sysroot="mipsel-unknown-linux-gnu/sys-root/usr"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tTUlQUy1UdXhib3gtT0UxLjZfc191X3AudGFyLnh6Cg=="; 11 | _md5sum="09cfbf19e4f4e7c1a2c033dd12a09b4a Toolchain-MIPS-Tuxbox-OE1.6_s_u_p.tar.xz"; 12 | _tc_info="\n 13 | !!! Dreambox & VU+ (OE 1.6) !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, 17 | 7025,8000\n 18 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 19 | 20 | _tc_infolines="6"; 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/mipsel_s3_ssl098: -------------------------------------------------------------------------------- 1 | _toolchainname="mipsel_s3_ssl098"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="generic mipsel ssl 0.9.8"; 4 | _oscamconfdir_default="/var/keys"; 5 | _oscamconfdir_custom="" 6 | _compiler="mipsel-simplebuild3-linux-gnu-"; 7 | 8 | _sysroot="/"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tbWlwc2VsX3MzX3NzbDA5OC50YXIueHoK"; 11 | _md5sum="966c590d2178f6d401c93993eba4f7f9 Toolchain-mipsel_s3_ssl098.tar.xz"; 12 | _tc_info="\n 13 | !!! generic mipsel ssl 0.9.8 !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, 17 | 7025,8000\n 18 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 19 | 20 | _tc_infolines="6"; -------------------------------------------------------------------------------- /support/toolchains.cfg/mipsel_s3_ssl100: -------------------------------------------------------------------------------- 1 | _toolchainname="mipsel_s3_ssl100"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="generic mipsel ssl 1.0.0"; 4 | _oscamconfdir_default="/var/keys"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="mipsel-simplebuild3-linux-gnu-"; 8 | _sysroot="/"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tbWlwc2VsX3MzX3NzbDEwMC50YXIueHoK"; 11 | _md5sum="b1ff681eff62b0e639d37e001b97e1e0 Toolchain-mipsel_s3_ssl100.tar.xz"; 12 | _tc_info="\n 13 | !!! generic mipsel ssl 1.0.0 !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, 17 | 7025,8000\n 18 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 19 | 20 | _tc_infolines="6"; -------------------------------------------------------------------------------- /support/toolchains.cfg/mipsel_s3_ssl102: -------------------------------------------------------------------------------- 1 | _toolchainname="mipsel_s3_ssl102"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="generic mipsel ssl 1.0.2"; 4 | _oscamconfdir_default="/var/keys"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="mipsel-simplebuild3-linux-gnu-"; 8 | _sysroot="/mipsel-simplebuild3-linux-gnu/sysroot"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tbWlwc2VsX3MzX3NzbDEwMi50YXIueHoK"; 11 | _md5sum="985ba51ae41cacd008fb6c7490e2f287 Toolchain-mipsel_s3_ssl102.tar.xz" 12 | _tc_info="\n 13 | !!! generic mipsel ssl 1.0.2 !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, 17 | 7025,8000\n 18 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 19 | 20 | _tc_infolines="6"; 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/mipsoe20: -------------------------------------------------------------------------------- 1 | _toolchainname="mipsoe20"; 2 | default_use="USE_LIBCRYPTO"; 3 | _oscamconfdir_default="/var/tuxbox/config"; 4 | _oscamconfdir_custom="" 5 | 6 | _compiler="mipsel-unknown-linux-gnu-"; 7 | _sysroot="mipsel-unknown-linux-gnu/sysroot"; 8 | _libsearchdir="/lib"; 9 | _description='Dreambox & Vu+ (OE 2.0)'; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tTUlQUy1UdXhib3gtT0UyLjBfc191X3AudGFyLnh6Cg=="; 11 | _md5sum="fe5d838d580a400628e6d55b64b674ad Toolchain-MIPS-Tuxbox-OE2.0_s_u_p.tar.xz"; 12 | _tc_info="\n 13 | !!! beware the box must have FPU !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: 500HD,800HD,800SE,7020HD,7025,8000\n 17 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/oe20_armv7: -------------------------------------------------------------------------------- 1 | _toolchainname="oe20_armv7"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenEmbedded 2.0 STBs, ARM-Cortex-A9 devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv7-oe20-linux-gnueabihf-"; 10 | _sysroot="armv7-oe20-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vZTIwX2FybXY3LnRhci54ego="; 13 | _md5sum="d1fec214ee48bbecb0041949431d5c41 Toolchain-oe20_armv7.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenEmbedded 2.0 STBs, ARM-Cortex-A9 devices\n 18 | arm armv7-a 32-bit LE, glibc 2.23, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/oe20_mipsel: -------------------------------------------------------------------------------- 1 | _toolchainname="oe20_mipsel"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenEmbedded 2.0 STBs"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="mipsel-oe20-linux-gnu-"; 10 | _sysroot="mipsel-oe20-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vZTIwX21pcHNlbC50YXIueHoK"; 13 | _md5sum="3f14f79c3a78ce5f1f21480a71422c7f Toolchain-oe20_mipsel.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenEmbedded 2.0 STBs\n 18 | mips mips1 32-bit LE, glibc 2.19, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/oe20_sh4: -------------------------------------------------------------------------------- 1 | _toolchainname="oe20_sh4"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenEmbedded 2.0 STBs"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="sh4-oe20-linux-gnu-"; 10 | _sysroot="sh4-oe20-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vZTIwX3NoNC50YXIueHoK"; 13 | _md5sum="f7fa9ee20c8e2c1f7fd9b533b49a1a27 Toolchain-oe20_sh4.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenEmbedded 2.0 STBs\n 18 | sh sh4 32-bit LE, glibc 2.25, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/oe20_sh_multilib: -------------------------------------------------------------------------------- 1 | _toolchainname="oe20_sh_multilib"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenEmbedded 2.0 STBs with multilib support"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="sh-oe20-linux-gnu-"; 10 | _sysroot="sh-oe20-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vZTIwX3NoX211bHRpbGliLnRhci54ego="; 13 | _md5sum="32cb8622b784eee992e1659265dbe8c5 Toolchain-oe20_sh_multilib.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenEmbedded 2.0 STBs with multilib support\n 18 | sh sh4 32-bit LE+BE, glibc 2.25, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/openpli40: -------------------------------------------------------------------------------- 1 | _toolchainname="openpli40" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Openpli Dreambox Vu+ and other" 4 | _oscamconfdir_default="/usr/keys" 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="mipsel-openpli40-linux-gnu-" 8 | _sysroot="mipsel-openpli40-linux-gnu/sysroot" 9 | _libsearchdir="/lib" 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tT3BlblBMSV80LjAudGFyLnh6Cg=="; 11 | _md5sum="ceae5af8c66867010845e0e4094265ff Toolchain-OpenPLI_4.0.tar.xz"; 12 | _tc_info="\n 13 | !!! beware the box must have FPU !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Dreambox: 500HD,800HD,800SE,7020HD,7025,8000\n 17 | VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; 18 | 19 | _tc_infolines="6" 20 | 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/openwrt1505cc: -------------------------------------------------------------------------------- 1 | _toolchainname="openwrt1505cc"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="OpenWRT 15.05.1 Chaos Calmer" 4 | _oscamconfdir_default="/etc/config/oscam" 5 | _oscamconfdir_custom="" 6 | _stagingdir=1 7 | 8 | _compiler="mips-openwrt-linux-uclibc-" 9 | _sysroot="" 10 | _libsearchdir="/lib" 11 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tb3BlbndydDE1MDVjYy50YXIueHoK"; 12 | _md5sum="1bfdea68ca58574f2db73cfeabdb1d8b Toolchain-openwrt1505cc.tar.xz"; 13 | _block="USE_PCSC" 14 | _tc_info="\n 15 | !!! OpenWRT 15.05.1 Chaos Calmer !!!\n 16 | this toolchain is compatible with\n 17 | fill with info\n 18 | \n 19 | "; 20 | 21 | _tc_infolines="6" 22 | -------------------------------------------------------------------------------- /support/toolchains.cfg/osmio4k: -------------------------------------------------------------------------------- 1 | _toolchainname="osmio4k"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Edision OS MIO 4k aarch64"; 4 | _oscamconfdir_default="/var/keys/"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="aarch64-osmio4k-linux-gnu-"; 8 | _sysroot="aarch64-osmio4k-linux-gnu/sysroot/"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tb3NtaW80ay50YXIueHoK"; 11 | _md5sum="41fbf9b4f91eb61cb926565da644b6ed Toolchain-osmio4k.tar.xz"; 12 | _tc_info="\n 13 | !!! beware the box must have FPU !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | Edsion : OS MIO 4K aarch64"; 17 | 18 | _tc_infolines="5" 19 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_ar71xx_mips: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_ar71xx_mips"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 18.06 ar71xx, mips_24kc BE devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="mips-ar71xx-linux-musl-"; 10 | _sysroot="mips-ar71xx-linux-musl/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X2FyNzF4eF9taXBzLnRhci54ego="; 13 | _md5sum="6db39b16d4cef95f9312e67210a519b8 Toolchain-owrt_ar71xx_mips.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 18.06 ar71xx, mips_24kc BE devices\n 18 | mips mips1 32-bit BE, musl 1.1.19, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_ath79_mips: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_ath79_mips"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 ath79, mips_24kc BE devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="mips-ath79-linux-musl-"; 10 | _sysroot="mips-ath79-linux-musl/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X2F0aDc5X21pcHMudGFyLnh6Cg=="; 13 | _md5sum="478bafe9143e176cdfca4e7b25cfcacd Toolchain-owrt_ath79_mips.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 ath79, mips_24kc BE devices\n 18 | mips mips1 32-bit BE, musl 1.1.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_kirkwood_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_kirkwood_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 kirkwood, Pogoplug V2 LE devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-kirkwood-linux-musleabi-"; 10 | _sysroot="arm-kirkwood-linux-musleabi/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X2tpcmt3b29kX2FybS50YXIueHoK"; 13 | _md5sum="573b19f8d477f895e46fcae1d6601e08 Toolchain-owrt_kirkwood_arm.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 kirkwood, Pogoplug V2 LE devices\n 18 | arm armv5te 32-bit LE, musl 1.1.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_mediatek_armv8: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_mediatek_armv8"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 mediatek, GLinet Brume2 devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="aarch64-mediatek-linux-musl-"; 10 | _sysroot="aarch64-mediatek-linux-musl/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X21lZGlhdGVrX2FybXY4LnRhci54ego="; 13 | _md5sum="e4869d80b549c0415b52a74545065c54 Toolchain-owrt_mediatek_armv8.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 mediatek, GLinet Brume2 devices\n 18 | aarch64 cortex-a53 64-bit LE, musl 1.1.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_mpc85xx_ppc: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_mpc85xx_ppc"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 mpc85xx, Freescale MPC85xx BE devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="powerpc-mpc85xx-linux-musl-"; 10 | _sysroot="powerpc-mpc85xx-linux-musl/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X21wYzg1eHhfcHBjLnRhci54ego="; 13 | _md5sum="48e1a43265ce8fc40901eb585ac7363f Toolchain-owrt_mpc85xx_ppc.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 mpc85xx, Freescale MPC85xx BE devices\n 18 | powerpc 32-bit BE, musl 1.1.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_ramips_mips: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_ramips_mips"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 ramips, Mediatek/Ralink mips_24kc LE devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="mipsel-ramips-linux-musl-"; 10 | _sysroot="mipsel-ramips-linux-musl/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X3JhbWlwc19taXBzLnRhci54ego="; 13 | _md5sum="af6c03c9fa8b4e9c765a5757e83be5af Toolchain-owrt_ramips_mips.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 ramips, Mediatek/Ralink mips_24kc LE devices\n 18 | mips mips1 32-bit LE, musl 1.1.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_rpi_armv6: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_rpi_armv6"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 Raspberry Pi Zero W|WH, 1 Model A|A+|B|B+"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv6-rpi1-linux-gnueabihf-"; 10 | _sysroot="armv6-rpi1-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X3JwaV9hcm12Ni50YXIueHoK"; 13 | _md5sum="6886bc5d3791f342bd48d00c16fa9f4e Toolchain-owrt_rpi_armv6.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 Raspberry Pi Zero W|WH, 1 Model A|A+|B|B+\n 18 | arm arm1176jzf-s 32-bit LE, glibc 2.38, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/owrt_rpi_armv7: -------------------------------------------------------------------------------- 1 | _toolchainname="owrt_rpi_armv7"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="OpenWrt 19.07|21.02 Raspberry Pi 2 Model B"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv7-rpi2-linux-gnueabihf-"; 10 | _sysroot="armv7-rpi2-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1vd3J0X3JwaV9hcm12Ny50YXIueHoK"; 13 | _md5sum="cf6098fe66b8c28ab3348785e813706a Toolchain-owrt_rpi_armv7.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | OpenWrt 19.07|21.02 Raspberry Pi 2 Model B\n 18 | arm cortex-a7 32-bit LE, glibc 2.38, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/pogoplug_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="pogoplug_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Marvell Kirkwood devices, Pogoplug V2"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-pogoplug-linux-gnueabi-"; 10 | _sysroot="arm-pogoplug-linux-gnueabi/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1wb2dvcGx1Z19hcm0udGFyLnh6Cg=="; 13 | _md5sum="ab560b964a9d07dadacc2a2d40e7967e Toolchain-pogoplug_arm.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Marvell Kirkwood devices, Pogoplug V2\n 18 | arm armv5te 32-bit LE, glibc 2.24, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/powerpc_generic: -------------------------------------------------------------------------------- 1 | _toolchainname="powerpc_generic"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c=""; 7 | _description="powerpc stb's (generic)"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom=""; 10 | _compiler="powerpc-buildroot-linux-gnu-"; 11 | _sysroot="powerpc-buildroot-linux-gnu/sysroot"; 12 | _libsearchdir="/usr/lib"; 13 | _extract_strip="1"; 14 | _toolchainfilename="aHR0cHM6Ly90b29sY2hhaW5zLmJvb3RsaW4uY29tL2Rvd25sb2Fkcy9yZWxlYXNlcy90b29sY2hhaW5zL3Bvd2VycGMtZTUwMG1jL3RhcmJhbGxzL3Bvd2VycGMtZTUwMG1jLS1nbGliYy0tc3RhYmxlLTIwMTguMTEtMS50YXIuYnoy"; 15 | _md5sum="23439204ec3952cf122d9f748e966004 powerpc-e500mc--glibc--stable-2018.11-1.tar.bz2"; 16 | _tc_info="!!! Bootlin Stable Toolchain 2018.11-1 !!!\n 17 | \n 18 | generic cross toolchain for powerpc devices\n 19 | \n 20 | arch powerpc\n 21 | glibc 2.27\n 22 | gcc 7.3.0\n 23 | gdb 7.12.1\n 24 | linux 4.1.52\n 25 | binutils 2.29.1\n"; 26 | _tc_infolines="10"; 27 | -------------------------------------------------------------------------------- /support/toolchains.cfg/ppcold: -------------------------------------------------------------------------------- 1 | _toolchainname="ppcold" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="Dbox2 / Dreambox DM500 and DM500-S" 4 | _oscamconfdir_default="/var/tuxbox/config" 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="powerpc-linux-" 8 | _sysroot="" 9 | _libsearchdir="/lib" 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tUFBDLVR1eGJveC1vbGRfcy50YXIueHoK"; 11 | _md5sum="d1db3a6b9fb743d0f6753fb72d755924 Toolchain-PPC-Tuxbox-old_s.tar.xz"; 12 | _block="USE_PCSC USE_LIBUSB" 13 | _tc_info="\n 14 | !!! PPC-OLD !!!\n 15 | this toolchain is compatible with\n 16 | fill with info\n 17 | \n 18 | "; 19 | 20 | _tc_infolines="6" 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/qnap_armv5: -------------------------------------------------------------------------------- 1 | _toolchainname="qnap_armv5"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="QNAP Marvell 628x devices, QNAP TS-119P II"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-qnap-linux-gnueabi-"; 10 | _sysroot="arm-qnap-linux-gnueabi/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1xbmFwX2FybXY1LnRhci54ego="; 13 | _md5sum="ac3b6d54a43cff0229658665211024af Toolchain-qnap_armv5.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | QNAP Marvell 628x devices, QNAP TS-119P II\n 18 | arm armv5te 32-bit LE, glibc 2.35, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/qnap_armv7: -------------------------------------------------------------------------------- 1 | _toolchainname="qnap_armv7"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="QNAP ARM-Cortex-A9 devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv7-qnap-linux-gnueabihf-"; 10 | _sysroot="armv7-qnap-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1xbmFwX2FybXY3LnRhci54ego="; 13 | _md5sum="74d1ab5da80d30ab28622df7cb2d8dfe Toolchain-qnap_armv7.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | QNAP ARM-Cortex-A9 devices\n 18 | arm cortex-a7 32-bit LE, glibc 2.17, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/qnap_x64: -------------------------------------------------------------------------------- 1 | _toolchainname="qnap_x64"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="QNAP x64 devices"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="x86_64-qnap-linux-gnu-"; 10 | _sysroot="x86_64-qnap-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1xbmFwX3g2NC50YXIueHoK"; 13 | _md5sum="0a0c8a8bf7660d6390eeba9d0642e68b Toolchain-qnap_x64.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | QNAP x64 devices\n 18 | x86 64-bit , glibc 2.23, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/rasb_hard: -------------------------------------------------------------------------------- 1 | _toolchainname="rasb_hard" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="RaspberryPI Hardware FPU" 4 | _oscamconfdir_default="/usr/local/etc" 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-bcm2708hardfp-linux-gnueabi-" 8 | _sysroot="arm-bcm2708hardfp-linux-gnueabi/sysroot/usr" 9 | _libsearchdir="/lib" 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tUmFzcGJlcnJ5cGlfaGFyZF9zX3VfcC50YXIueHoK"; 11 | _md5sum="7ed1e67eb296a2f06f5cb29903f5eb60 Toolchain-Raspberrypi_hard_s_u_p.tar.xz"; 12 | _tc_info="\n 13 | !!! RaspberryPI Hardware FPU !!!\n 14 | this toolchain is compatible with\n 15 | fill with info\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/rpi_aarch64: -------------------------------------------------------------------------------- 1 | _toolchainname="rpi_aarch64"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Raspberry Pi 3 Modell B+, 4 Model B"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="aarch64-rpi3-linux-gnu-"; 10 | _sysroot="aarch64-rpi3-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1ycGlfYWFyY2g2NC50YXIueHoK"; 13 | _md5sum="60ca857fcde9eb94a99402db8ac34c37 Toolchain-rpi_aarch64.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Raspberry Pi 3 Modell B+, 4 Model B\n 18 | aarch64 cortex-a53 64-bit LE, glibc 2.31, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/rpi_armv6: -------------------------------------------------------------------------------- 1 | _toolchainname="rpi_armv6"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Raspberry Pi Zero W|WH, 1 Model A|A+|B|B+"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv6-rpi1-linux-gnueabihf-"; 10 | _sysroot="armv6-rpi1-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1ycGlfYXJtdjYudGFyLnh6Cg=="; 13 | _md5sum="f38a134e7b868a495e19c070f0758a32 Toolchain-rpi_armv6.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Raspberry Pi Zero W|WH, 1 Model A|A+|B|B+\n 18 | arm arm1176jzf-s 32-bit LE, glibc 2.31, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/rpi_armv7: -------------------------------------------------------------------------------- 1 | _toolchainname="rpi_armv7"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Raspberry Pi 2 Model B"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv7-rpi2-linux-gnueabihf-"; 10 | _sysroot="armv7-rpi2-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1ycGlfYXJtdjcudGFyLnh6Cg=="; 13 | _md5sum="481a328043fe65cca003f9ac48972243 Toolchain-rpi_armv7.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Raspberry Pi 2 Model B\n 18 | arm cortex-a7 32-bit LE, glibc 2.31, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/rpi_armv8: -------------------------------------------------------------------------------- 1 | _toolchainname="rpi_armv8"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Raspberry Pi 2 Model B v1.2, 3 Modell A+|B|B+, 4 Model B"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv8-rpi3-linux-gnueabihf-"; 10 | _sysroot="armv8-rpi3-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1ycGlfYXJtdjgudGFyLnh6Cg=="; 13 | _md5sum="a466111ea2207ef867eaf02cefeb4f78 Toolchain-rpi_armv8.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Raspberry Pi 2 Model B v1.2, 3 Modell A+|B|B+, 4 Model B\n 18 | arm cortex-a53 32-bit LE, glibc 2.31, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/samsungtv: -------------------------------------------------------------------------------- 1 | _toolchainname="samsungtv" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="SamsungTV" 4 | _oscamconfdir_default="/mtd_rwcommon/oscam" 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-v7a8v3r1-linux-gnueabi-" 8 | _sysroot="arm-v7a8v3r1-linux-gnueabi/sys-root/usr" 9 | _libsearchdir="/lib" 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tU2Ftc3VuZ1RWLnRhci54ego="; 11 | _md5sum="47108c32139fcab26a788cf4376c8009 Toolchain-SamsungTV.tar.xz"; 12 | _tc_info="\n 13 | !!! Samsung TV !!!\n 14 | this toolchain is compatible with\n 15 | fill with info\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/sh4: -------------------------------------------------------------------------------- 1 | _toolchainname="sh4" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="SH4" 4 | _oscamconfdir_default="/var/keys" 5 | _oscamconfdir_custom="" 6 | 7 | stapi_allowed="1" 8 | _compiler="sh4-linux-" 9 | _sysroot="sh4-linux/sys-root/usr" 10 | _libsearchdir="/lib" 11 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tU0g0X3NfdV9wLnRhci54ego="; 12 | _md5sum="9ed4bb3668b648a28331d84e4e09c03c Toolchain-SH4_s_u_p.tar.xz"; 13 | _tc_info="\n 14 | !!! SH4 !!!\n 15 | this toolchain is compatible with\n 16 | fill with info\n 17 | \n 18 | "; 19 | 20 | _tc_infolines="6" 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/sh4_generic: -------------------------------------------------------------------------------- 1 | _toolchainname="sh4_generic"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | extra_c=""; 7 | _description="sh4 stb's (generic)"; 8 | _oscamconfdir_default="/etc/tuxbox/config"; 9 | _oscamconfdir_custom=""; 10 | _compiler="sh4-buildroot-linux-gnu-"; 11 | _sysroot="sh4-buildroot-linux-gnu/sysroot"; 12 | _libsearchdir="/usr/lib"; 13 | _extract_strip="1"; 14 | _toolchainfilename="aHR0cHM6Ly90b29sY2hhaW5zLmJvb3RsaW4uY29tL2Rvd25sb2Fkcy9yZWxlYXNlcy90b29sY2hhaW5zL3NoLXNoNC90YXJiYWxscy9zaC1zaDQtLWdsaWJjLS1zdGFibGUtMjAxOC4xMS0xLnRhci5iejI="; 15 | _md5sum="ad318a6d09ce1d18912b83293c8ed434 sh-sh4--glibc--stable-2018.11-1.tar.bz2"; 16 | _tc_info="!!! Bootlin Stable Toolchain 2018.11-1 !!!\n 17 | \n 18 | generic cross toolchain for sh4 devices\n 19 | \n 20 | arch sh4\n 21 | glibc 2.27\n 22 | gcc 7.3.0\n 23 | gdb 7.12.1\n 24 | linux 4.1.52\n 25 | binutils 2.29.1\n"; 26 | _tc_infolines="10"; 27 | -------------------------------------------------------------------------------- /support/toolchains.cfg/sh_4: -------------------------------------------------------------------------------- 1 | _toolchainname="sh_4" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="SH4" 4 | _oscamconfdir_default="/var/keys" 5 | _oscamconfdir_custom="" 6 | 7 | stapi_allowed="1" 8 | _compiler="sh4-streamboard-linux-gnu-" 9 | _sysroot="sh4-streamboard-linux-gnu/sysroot/usr" 10 | _libsearchdir="/lib" 11 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tTkVXU0g0LVN0cmVhbWJvYXJkX3NfdV9wLnRhci54ego="; 12 | _md5sum="f4d44bfa8fb5bec9abacf5c2b0ca45dd Toolchain-NEWSH4-Streamboard_s_u_p.tar.xz"; 13 | _tc_info="\n 14 | !!! SH4 New Toolchain !!!\n 15 | this toolchain is compatible with\n 16 | fill with info\n 17 | \n 18 | "; 19 | 20 | _tc_infolines="6" 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/solo4k: -------------------------------------------------------------------------------- 1 | _toolchainname="solo4k"; 2 | default_use="USE_LIBCRYPTO"; 3 | _description="VU+ Solo4k"; 4 | _oscamconfdir_default="/var/tuxbox/config"; 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="arm-linux-gnueabihf-"; 8 | _sysroot="arm-linux-gnueabihf"; 9 | _libsearchdir="/lib"; 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tc29sbzRrLnRhci54ego="; 11 | _md5sum="74d4de6ac2f4812426635cf54e3d85fa Toolchain-solo4k.tar.xz"; 12 | _tc_info="\n 13 | !!! beware the box must have FPU !!!\n 14 | this toolchain is compatible with\n 15 | \n 16 | VU+ : Solo4k"; 17 | 18 | _tc_infolines="5" 19 | -------------------------------------------------------------------------------- /support/toolchains.cfg/syn_atom: -------------------------------------------------------------------------------- 1 | _toolchainname="syn_atom" 2 | default_use="USE_LIBCRYPTO"; 3 | _description="SYN_ATOM" 4 | _oscamconfdir_default="/usr/local/etc" 5 | _oscamconfdir_custom="" 6 | 7 | _compiler="x86_64-linux-gnu-" 8 | _sysroot="" 9 | _libsearchdir="/lib" 10 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zL2xlZ2FjeS9Ub29sY2hhaW4tU3luX0F0b20udGFyLnh6Cg=="; 11 | _md5sum="f9dcb6623f163af10ec2ec761e82f124 Toolchain-Syn_Atom.tar.xz"; 12 | _tc_info="\n 13 | !!! Synology ATOM !!!\n 14 | this toolchain is compatible with\n 15 | fill with info\n 16 | \n 17 | "; 18 | 19 | _tc_infolines="6" 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/synology_aarch64: -------------------------------------------------------------------------------- 1 | _toolchainname="synology_aarch64"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Synology DS418"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="aarch64-ds418-linux-gnu-"; 10 | _sysroot="aarch64-ds418-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1zeW5vbG9neV9hYXJjaDY0LnRhci54ego="; 13 | _md5sum="c6f691c9904fc19509fa6766d3d62784 Toolchain-synology_aarch64.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Synology DS418\n 18 | aarch64 64-bit LE, glibc 2.25, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/synology_armv5: -------------------------------------------------------------------------------- 1 | _toolchainname="synology_armv5"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc="-DNO_PTHREAD_STACKSIZE"; 5 | extra_ld=""; 6 | _description="Synology Marvell 628x devices, Synology DS112x"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-synology-linux-gnueabi-"; 10 | _sysroot="arm-synology-linux-gnueabi/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1zeW5vbG9neV9hcm12NS50YXIueHoK"; 13 | _md5sum="9512d405a1fda034bd8ce9d15ffac13e Toolchain-synology_armv5.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Synology Marvell 628x devices, Synology DS112x\n 18 | arm armv5te 32-bit LE, glibc 2.31, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/synology_armv7: -------------------------------------------------------------------------------- 1 | _toolchainname="synology_armv7"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Synology DS216play, ZyXEL NAS326|NAS520"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-ds216_play-linux-gnueabi-"; 10 | _sysroot="arm-ds216_play-linux-gnueabi/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1zeW5vbG9neV9hcm12Ny50YXIueHoK"; 13 | _md5sum="2a79d278f8096b146c045dbd9bf880fc Toolchain-synology_armv7.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Synology DS216play, ZyXEL NAS326|NAS520\n 18 | arm armv7-a+fp 32-bit LE, glibc 2.23, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/synology_armv7a: -------------------------------------------------------------------------------- 1 | _toolchainname="synology_armv7a"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Synology Marvell ARMADA 375 devices, Synology DS115"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-marvell-linux-gnueabi-"; 10 | _sysroot="arm-marvell-linux-gnueabi/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1zeW5vbG9neV9hcm12N2EudGFyLnh6Cg=="; 13 | _md5sum="8b706a2950f68a877f6f4cafa022d954 Toolchain-synology_armv7a.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Synology Marvell ARMADA 375 devices, Synology DS115\n 18 | arm armv7-a 32-bit LE, glibc 2.23, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/synology_ppc: -------------------------------------------------------------------------------- 1 | _toolchainname="synology_ppc"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Synology DS213+"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="powerpc-ds213+-linux-gnuspe-"; 10 | _sysroot="powerpc-ds213+-linux-gnuspe/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi1zeW5vbG9neV9wcGMudGFyLnh6Cg=="; 13 | _md5sum="a93f537210ee7a4158eb73a3b048f65d Toolchain-synology_ppc.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Synology DS213+\n 18 | powerpc 8548 32-bit BE, glibc 2.23, gcc 8.5.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/ubnt_aarch64: -------------------------------------------------------------------------------- 1 | _toolchainname="ubnt_aarch64"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Ubiquiti Networks devices, UDM|UDM-Pro"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="aarch64-ubnt-linux-gnu-"; 10 | _sysroot="aarch64-ubnt-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi11Ym50X2FhcmNoNjQudGFyLnh6Cg=="; 13 | _md5sum="da8c9e4c4d9b01958165ce6063bc8a94 Toolchain-ubnt_aarch64.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Ubiquiti Networks devices, UDM|UDM-Pro\n 18 | aarch64 cortex-a57 64-bit LE, glibc 2.30, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/ubnt_mips64: -------------------------------------------------------------------------------- 1 | _toolchainname="ubnt_mips64"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Ubiquiti Networks devices, USG|USG-Pro"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="mips-ubnt-linux-gnu-"; 10 | _sysroot="mips-ubnt-linux-gnu/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi11Ym50X21pcHM2NC50YXIueHoK"; 13 | _md5sum="a8be217a49ca688051ae1c5d166260d3 Toolchain-ubnt_mips64.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Ubiquiti Networks devices, USG|USG-Pro\n 18 | mips mips64r2 32-bit BE, glibc 2.17, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/vuplus4k_arm: -------------------------------------------------------------------------------- 1 | _toolchainname="vuplus4k_arm"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Vu+ Zero|Uno|Duo|Solo|Ultimo 4K"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="arm-vuplus4k-linux-gnueabihf-"; 10 | _sysroot="arm-vuplus4k-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi12dXBsdXM0a19hcm0udGFyLnh6Cg=="; 13 | _md5sum="a3fae776ab543e66c213f548b13a852f Toolchain-vuplus4k_arm.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Vu+ Zero|Uno|Duo|Solo|Ultimo 4K\n 18 | arm 32-bit LE, glibc 2.23, gcc 13.2.0, linux 6.5.5\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/toolchains.cfg/vuplus4k_armv7: -------------------------------------------------------------------------------- 1 | _toolchainname="vuplus4k_armv7"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Vu+ Zero|Uno|Duo|Solo|Ultimo 4K"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _self_build="yes"; 10 | _compiler="armv7-vuplus4k-linux-gnueabihf-"; 11 | _sysroot="armv7-vuplus4k-linux-gnueabihf/sysroot"; 12 | _libsearchdir="/usr/lib"; 13 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi12dXBsdXM0a19hcm12Ny50YXIueHoK"; 14 | _md5sum="00091f77312cdbb9d2e4173d77bd9e4d Toolchain-vuplus4k_armv7.tar.xz"; 15 | _tc_info="\n 16 | !!! crosstool-NG Toolchain !!!\n 17 | \n 18 | Vu+ Zero|Uno|Duo|Solo|Ultimo 4K\n 19 | arm cortex-a15 32-bit LE, glibc 2.25, gcc 13.2.0, linux 6.6.1\n"; 20 | _tc_infolines="5"; 21 | -------------------------------------------------------------------------------- /support/toolchains.cfg/vuplus4k_armv7a: -------------------------------------------------------------------------------- 1 | _toolchainname="vuplus4k_armv7a"; 2 | default_use="USE_LIBCRYPTO"; 3 | extra_use=""; 4 | extra_cc=""; 5 | extra_ld=""; 6 | _description="Vu+ Zero|Uno|Duo|Solo|Ultimo 4K"; 7 | _oscamconfdir_default="/etc/tuxbox/config"; 8 | _oscamconfdir_custom=""; 9 | _compiler="armv7a-vuplus4k-linux-gnueabihf-"; 10 | _sysroot="armv7a-vuplus4k-linux-gnueabihf/sysroot"; 11 | _libsearchdir="/usr/lib"; 12 | _toolchainfilename="aHR0cHM6Ly9zaW1wbGVidWlsZC5kZWR5bi5pby90b29sY2hhaW5zLyR7cHZlcnNpb259L1Rvb2xjaGFpbi12dXBsdXM0a19hcm12N2EudGFyLnh6Cg=="; 13 | _md5sum="856760c4a456207e87625286cdeca4d0 Toolchain-vuplus4k_armv7a.tar.xz"; 14 | _tc_info="\n 15 | !!! crosstool-NG Toolchain !!!\n 16 | \n 17 | Vu+ Zero|Uno|Duo|Solo|Ultimo 4K\n 18 | arm armv7-a 32-bit LE, glibc 2.25, gcc 13.2.0, linux 6.6.1\n"; 19 | _tc_infolines="5"; 20 | -------------------------------------------------------------------------------- /support/translation/bg: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #bulgarian 4 | 5 | txt_as='като' 6 | txt_of='от' 7 | txt_for='за' 8 | txt_b2="билд" 9 | txt_to="към" 10 | txt_now='сега' 11 | txt_new='нов' 12 | txt_b1='билд' 13 | txt_menu='меню' 14 | txt_done='готов' 15 | txt_no='не' 16 | txt_use='използва' 17 | txt_save='запази' 18 | txt_back='назад' 19 | txt_error='грешка' 20 | txt_load='зареди' 21 | txt_loaded='зареден' 22 | txt_loading='зареждам' #8 chars 23 | txt_sel='избор' 24 | txt_delete='изтрий' 25 | txt_found='открити' 26 | txt_create='създай' 27 | txt_conf='конфигурация' 28 | txt_extracting='извличане ' #10 chars 29 | txt_checking='checking'; 30 | txt_wait='изчакайте... ' 31 | txt_existing='съществува' 32 | txt_profiles='профили' 33 | txt_not_found='не е намерен' 34 | txt_n_installed='не е инсталиран' 35 | txt_back_main="обратно към основно меню" 36 | txt_too_old='(твърде стар или не се поддържа)' 37 | txt_selected='избран ' 38 | txt_update='опреснява' 39 | txt_tc="Toolchain" 40 | txt_tpl="Шаблон" 41 | txt_lib="Библиотека" 42 | txt_ssh_profiles="SSH $txt_profiles" 43 | txt_repo="Repository" 44 | txt_branch="Branch" 45 | txt_proto="Protocol" 46 | 47 | # menu txt 48 | txt_start_menu='Главно меню' 49 | txt_remove_menu='Премахни toolchain' 50 | txt_add_menu='Добави toolchain' 51 | txt_main_revision="\n локалната ${REPO^^} ревизия е : r" 52 | 53 | # help txt 54 | txt_help1="започва с" 55 | txt_help2="Параметрите на командния ред са" 56 | txt_help3="[ENTER] да продължиш..." 57 | 58 | # firstmenu ################################################ 59 | txt_firstmenu_continue="продължи с локалния ${REPO^^}" 60 | txt_firstmenu_chose="зареди различен ${REPO^^} Revision " 61 | txt_firstmenu_cedit="старт конфигурационния редактор" 62 | txt_firstmenu_tcupdate="старт опресняване на toolchain" 63 | txt_firstmenu_lang="ръчен избор на системен език" 64 | txt_firstmenu_exit="затвори simplebuild сега" 65 | 66 | # _toolchain_config_menu ################################### 67 | txt_config_menu="конфигурационно меню" 68 | txt_back_build="назад към билд меню" 69 | txt_module_configure="избери oscam модулите " 70 | txt_oscam_extra="избери oscam екстрите libraries/features" 71 | txt_build_extra="избери билд екстри пач/static" 72 | txt_stapi="избери STAPI вариант" 73 | txt_build_load="зареди последната конфигурация" 74 | txt_build_save="запази конфигурацията" 75 | txt_build_reset="ресет на конфигурацията" 76 | 77 | # _toolchain_build_menu##################################### 78 | txt_bmenu_title="билд меню"; 79 | txt_bmenu_user="потребител " 80 | txt_bmenu_comp="компилатор " 81 | txt_bmenu_debu="debug инфо " 82 | txt_bmenu_use="USE_променливи " 83 | txt_bmenu_build="билд oscam сега" 84 | txt_bmenu_config="oscam/билд конфигурация " 85 | txt_bmenu_update="инсталирай/опресни библиотеките" 86 | txt_bmenu_backup="бекъп toolchain " 87 | txt_bmenu_profile="зареди съществуващ $txt_profiles" 88 | txt_bmenus_profile="$txt_profiles $txt_save" 89 | txt_bmenu_log="покажи последния билд.лог" 90 | txt_bmenu_back="обратно към избор на toolchain" 91 | txt_compress1="размер на файла преди" 92 | txt_compress2="размер на файла след" 93 | txt_compress3="файл размера редуц.до" 94 | 95 | # _toolchain_main_menu##################################### 96 | txt_menu_builder1="затвори simplebuild" 97 | txt_menu_builder2="добави нов toolchain" 98 | txt_menu_builder3="премахни инсталиран toolchain" 99 | txt_menu_builder4="локален билд за " 100 | txt_menu_builder5="създай нов toolchain" 101 | txt_menu_back="обратно в меню toolchain" 102 | 103 | # _dialog_checkout 104 | txt_verify_syscheck='проверявам системата :' 105 | txt_verify_svn='провери съществуващ ${REPO^^}:' 106 | txt_update_svn="$txt_update ${REPO^^} :" 107 | txt_prepare_svn="подготвям ${REPO^^} checkout :" 108 | txt_latest="последен ${REPO^^}" 109 | 110 | # _load_profile ########################################### 111 | txt_select_profile_title="налични профили " 112 | txt_select_profile="моля изберете профил " 113 | txt_confirm_profile_select="моля потвърдете избора на: " 114 | txt_no_profile_found="няма открит профил в\n\n$profdir"; 115 | 116 | # _upload_cam ############################################# 117 | txt_upload_cam1="ssh профила не съществува" 118 | txt_upload_cam2="ssh профил е открит" 119 | 120 | # _plugin_update_toolchain ############################################# 121 | txt_s3tup_menu_command_label_exit="Изход" 122 | txt_s3tup_menu_command_label_back="Обратно" 123 | txt_s3tup_menu_command_label_create="Създай" 124 | txt_s3tup_menu_command_label_update="Опресни" 125 | txt_s3tup_menu_command_label_backup="Бекъп" 126 | txt_s3tup_menu_command_label_start="Старт" 127 | txt_s3tup_menu_command_label_info="Инфо" 128 | txt_s3tup_menu_command_label_setup="Настройка" 129 | txt_s3tup_menu_command_label_edit="Редактиране" 130 | txt_s3tup_menu_command_label_yes="Да" 131 | txt_s3tup_menu_command_label_no="Не" 132 | 133 | txt_s3tup_msg_update_hint="is being updated..." 134 | txt_s3tup_msg_update_restart="Restarting" 135 | txt_s3tup_msg_update_current="is up to date" 136 | txt_s3tup_msg_update_s3update_required="Please update your simplebuild3 installation first!" 137 | txt_s3tup_msg_update_directory_unversioned="Update not possible because the installation directory is not ${REPO^^} or ${REPO^^} versioned!" 138 | txt_s3tup_msg_update_pending="update pending" 139 | txt_s3tup_msg_update_not_required="no update required" 140 | txt_s3tup_msg_update_finished="Update completed to version:" 141 | txt_s3tup_msg_update_log="updating plugin log" 142 | txt_s3tup_msg_syscheck1="Моля изчакайте докато се извършат проверките на необходимите инструменти и зависимости..." 143 | txt_s3tup_msg_syscheck2="Нужно е ръчно да инсталираш следните пакети, за да може да ползваш съответно плъгина:" 144 | txt_s3tup_msg_syscheck3="Your dialog binary seems to be outdated, this plugin requires dialog >= 1.3 to display menus correctly. If your distribution does not provide a recent version, please compile and update it manually as follows:\n" 145 | txt_s3tup_msg_reset_config1="Премествам съществуващия конфиг файл..." 146 | txt_s3tup_msg_reset_config2="бекъп на конфиг файл=" 147 | txt_s3tup_msg_reset_config3="Създаване нов конфиг файл. Моля почакайте..." 148 | txt_s3tup_msg_reset_config4="конфиг файл=" 149 | txt_s3tup_msg_reset_config5="Може да ги промениш/удължиш да паснат на нуждите ти." 150 | txt_s3tup_msg_buildasroot_error1="Крос ${txt_tc} билд процеса бе прекъснат защото не трябва да се стартира като root!" 151 | txt_s3tup_msg_buildasroot_error2="Ако сте наясно с опасността да изградите ${txt_tc}s като root и знаеш какво правиш,\n можеш да форсираш със следващата команда:" 152 | txt_s3tup_msg_toolchain_exists="${txt_tc} вече съществува!" 153 | txt_s3tup_msg_library_not_found="${txt_lib} не е намерен в конфиг файла!" 154 | txt_s3tup_msg_cross_toolchain_log="създавам крос ${txt_tc} лог" 155 | txt_s3tup_msg_cross_toolchain_commandlist="създавам командния лист за крос ${txt_tc}" 156 | txt_s3tup_msg_cross_toolchain_library_detection="Следните библиотеки бяха намерени в съществуващият ${txt_tc}:" 157 | txt_s3tup_msg_cross_toolchain_library_integration="Следните библиотеки сега ще бъдат интегрирани в ${txt_tc}:" 158 | txt_s3tup_msg_cross_migrations_renamed="бе преименуван на" 159 | txt_s3tup_msg_cross_migrations_remove="Маха ${txt_tc}" 160 | txt_s3tup_msg_cross_migrations_outdated="Следните крос ${txt_tc}ве са остарели вследствие на преименуване на крос ${txt_tc} ${txt_tpl}s:" 161 | txt_s3tup_msg_cross_migrations_outdated2="Следните ${txt_tc,,} ${txt_conf}s са острели вследствие на корекция на някои от параметрите и са коригирани автоматично :" 162 | txt_s3tup_msg_cross_migrations_hint=" 163 | Все още може да използвате ${y_l}стар крос ${txt_tc}s${re_} отгоре, но е по-добре да създадете нови на базата на ${p_l}нов крос ${txt_tc} ${txt_tpl}s${re_} ,за да получите бъдещи ${txt_tpl} актуализации.\n${y_l}стария крос ${txt_tc}s${re_} може да бъде изваден ръчно както следва:" 164 | txt_s3tup_msg_build_library_log="опреснява ${txt_lib} лога" 165 | txt_s3tup_msg_build_library_commandlist="изгражда команден списък за" 166 | txt_s3tup_msg_build_library_error="ГРЕШКИ открити при билда, детайли:" 167 | txt_s3tup_msg_ctng_setup_log="инсталира crosstool-NG лог" 168 | txt_s3tup_msg_ctng_setup_commandlist="изгражда команден списък за" 169 | txt_s3tup_msg_ctng_setup_cleanup="Почиства сорс директорията" 170 | txt_s3tup_msg_fng_setup_log="инсталира freetz-NG лог" 171 | txt_s3tup_msg_fng_setup_commandlist="${txt_s3tup_msg_ctng_setup_commandlist}" 172 | txt_s3tup_msg_fng_setup_cleanup="${txt_s3tup_msg_ctng_setup_cleanup}" 173 | txt_s3tup_msg_andk_setup_log="инсталира Android NDK лог" 174 | txt_s3tup_msg_andk_setup_commandlist="${txt_s3tup_msg_ctng_setup_commandlist}" 175 | txt_s3tup_msg_andk_setup_cleanup="${txt_s3tup_msg_ctng_setup_cleanup}" 176 | txt_s3tup_msg_extract_file_unreadable="фйала не се чете :" 177 | txt_s3tup_msg_extract_extension_unknown="неразпознато файлово разширение:" 178 | txt_s3tup_msg_gtp_missing="липсва описание" 179 | txt_s3tup_msg_gtp_info="run \Zr<${txt_s3tup_menu_command_label_setup}>\ZR да покаже детайли" 180 | txt_s3tup_msg_paktc="Натисни клавиш да продължи" 181 | txt_s3tup_msg_check_toolchain_empty="Параметъра${w_l} ${txt_tc} не е сетнат!" 182 | txt_s3tup_msg_check_toolchain_not_supported="${txt_tc} ${txt_lib} неподдържана актуализация!" 183 | txt_s3tup_msg_check_library_info1="Проверка за PCSC хедър файлове и опит за symlink към коректните PCSC хедър файлове ако последния компилатор включва точки на пътя към грешно място ..." 184 | txt_s3tup_msg_check_library_info2a="Symlink към създадени коректни PCSC хедър файлове." 185 | txt_s3tup_msg_check_library_info2b="Няма открити PCSC хедър файлове в следащата папка и поддиректориите й:" 186 | txt_s3tup_msg_check_library_info3a="PCSC хедър файловете са в правилната директория:" 187 | txt_s3tup_msg_check_library_info3b="Компилатора не върна директории include!" 188 | txt_s3tup_msg_github_api_limits_info1="Вашия ${r_l}Github API лимит на обхвата е надхвърлен${y_l} и ще бъде ресетнат в следното време:" 189 | txt_s3tup_msg_github_api_limits_info2="Моля изчакайте докато ресетнете конфигурацията си. Последните версии и линковете за сваляне на библиотеките се определят динамично от Github API. Надхвърлянето на лимита за Github API ще се отрази в грешки в генерирането на конфигурационния файл. За ${b_l}unauthenticated requests${y_l}, рейт лимита позволява ${b_l}до 60 заявки на час${y_l}. Неидентифицираните заявки се асоциират с IP адреса на иницииращият, а не с потребителя правещ заявките." 190 | txt_s3tup_msg_check_crosstool_setup_info="не е настроен коректно. Опит за поправка автоматично..." 191 | txt_s3tup_msg_check_config_info1="Изглежда конфиг фала Ви е остарял:" 192 | txt_s3tup_msg_check_config_info2="Моля рестарт s3 както следва за пресъздаване на свеж конфиг файл:" 193 | txt_s3tup_msg_change_config_error="променливата не съществува в конфигурационния файл!" 194 | txt_s3tup_msg_change_config_info="Променливата променена на:" 195 | txt_s3tup_msg_create_config_template_not_found="Шаблонния файл не е намерен. Моля извърши чисто освежаване на simplebuild 3!" 196 | txt_s3tup_msg_create_config_jq_not_found="Без пакет 'jq' автоматичното генериране на конфиг файла не е възможно. Моля първо го инсталирайте:" 197 | txt_s3tup_msg_table_header_libs_col_key="Current ${txt_lib,,} keys" 198 | txt_s3tup_msg_table_header_libs_col_update="Updatable" 199 | txt_s3tup_msg_table_header_libs_col_downgrade="Downgradable" 200 | txt_s3tup_msg_table_header_libsversion_col_key="${txt_lib} key" 201 | txt_s3tup_msg_table_header_libsversion_col_curversion="Current version" 202 | txt_s3tup_msg_table_header_libsversion_col_newversion="New version" 203 | txt_s3tup_msg_table_header_libsversion_col_update="${txt_s3tup_msg_table_header_libs_col_update}" 204 | txt_s3tup_msg_table_header_libsversion_col_downgrade="${txt_s3tup_msg_table_header_libs_col_downgrade}" 205 | 206 | txt_s3tup_menu_toolchain_title="${txt_tc} Меню" 207 | txt_s3tup_menu_toolchain_text1="Изберете един от" 208 | txt_s3tup_menu_toolchain_text2="инсталиран cross ${txt_tc}s който искате да опресните:" 209 | txt_s3tup_menu_toolchain_notsupported="${txt_tc} may not be supported by this build system ($(uname -m)) due to architecture mismatch!" 210 | txt_s3tup_menu_toolchain_arch="$txt_tc host arch:" 211 | txt_s3tup_menu_toolchain_notfound="не открит ${txt_tc}s" 212 | txt_s3tup_menu_toolchain_folder="$txt_tc папка:" 213 | txt_s3tup_menu_toolchain_config="конфиг файл:" 214 | 215 | txt_s3tup_menu_library_title="${txt_lib} Меню опресняване" 216 | txt_s3tup_menu_library_text1="Изберете всички библиотеки да опресните в SYSROOT папката на ${txt_tc}:" 217 | txt_s3tup_menu_library_text2=" ${txt_lib} версия NEW CURRENT" #56 знака 218 | txt_s3tup_menu_library_notsupported="${txt_lib} is not supported by this ${txt_tc,,} due to lack of compiler capabilities!" 219 | txt_s3tup_menu_library_notfound="няма открити библиотеки" 220 | txt_s3tup_menu_library_wrong_selection="Не интегрирайте същите библиотеки с различна версия!" 221 | 222 | txt_s3tup_menu_template_title="Крос ${txt_tc} ${txt_tpl} Меню" 223 | txt_s3tup_menu_template_text1="Избери един от" 224 | txt_s3tup_menu_template_text2="${txt_tpl}s да създадете крос ${txt_tc} който искате:" 225 | txt_s3tup_menu_template_text3="БЛЕЖКА:" 226 | txt_s3tup_menu_template_text4="Ако създадете крос ${txt_tc} от ${txt_tpl} с оцветено в червено описание, съществуващия такъв със същото име ще бъде заменен без да пита!" 227 | txt_s3tup_menu_template_text5="Тъмно червено оцветено описание покзва, че версията на ${txt_tpl} е по-висока от съществуващия ${txt_tc}. Актуализацията може да има смисъл." 228 | txt_s3tup_menu_template_notfound="не е открит ${txt_tpl}(и)" 229 | 230 | txt_s3tup_menu_info_toolchain="${txt_tc}: " #11 chars 231 | txt_s3tup_menu_info_compiler="Компилатор:" #11 chars 232 | txt_s3tup_menu_info_sysroot="Sysroot: " #11 chars 233 | txt_s3tup_menu_info_prefix="Префикс: " #11 chars 234 | txt_s3tup_menu_info_include="Include: " #11 chars 235 | txt_s3tup_menu_info_library="Конфигурация:" 236 | txt_s3tup_menu_info_build="команден списък:" 237 | 238 | txt_s3tup_menu_edit_title="Запази Cross ${txt_tc} ${txt_tpl}" 239 | txt_s3tup_menu_edit_text="Искате ли да \ZrЗАПАЗИТЕ\ZR този ${txt_tc} ${txt_tpl} \Zrсега\ZR?" 240 | 241 | txt_s3tup_menu_backup_title="$txt_s3tup_menu_command_label_backup" 242 | txt_s3tup_menu_build_library_title="Билд" 243 | txt_s3tup_menu_ctng_setup_title="$txt_s3tup_menu_command_label_setup" 244 | txt_s3tup_menu_fng_setup_title="$txt_s3tup_menu_command_label_setup" 245 | txt_s3tup_menu_download_title="Сваля" 246 | txt_s3tup_menu_compress_title="Компресиран cross ${txt_tc}" 247 | --------------------------------------------------------------------------------