Gorgone
6 years ago
committed by
GitHub
53 changed files with 5720 additions and 0 deletions
@ -0,0 +1,266 @@ |
|||
#!/bin/bash |
|||
|
|||
#VERSIONCOUNTER 20190205 |
|||
SIMPLEVERSION="3.0 RC4";OIFS=$IFS; |
|||
export NCURSES_NO_UTF8_ACS=1; |
|||
|
|||
#set dir_vars |
|||
workdir="$(pwd)"; |
|||
svndir="$workdir/oscam-svn"; |
|||
sdir="$workdir/support"; |
|||
osdir="$sdir/os"; |
|||
ldir="$sdir/logs"; |
|||
adir="$sdir/archive"; |
|||
configdir="$sdir/configs"; |
|||
pdir="$sdir/patches"; |
|||
profdir="$sdir/profiles"; |
|||
bdir="$sdir/binaries"; |
|||
dldir="$sdir/downloads"; |
|||
fdir="$sdir/functions"; |
|||
menudir="$sdir/menu_save"; |
|||
bsvn="$sdir/backup_svn"; |
|||
tcdir="$sdir/toolchains"; |
|||
tdir="$sdir/translation"; |
|||
tccfgdir="$sdir/toolchains.cfg"; |
|||
bindir="$sdir/upx";PATH="$bindir:$PATH"; |
|||
|
|||
# create folders |
|||
mkdir -p support/{archive,binaries,configs,downloads,functions,logs,os,patches,profiles,toolchains,toolchains.cfg,translation,backup_svn,menu_save,upx} 2>/dev/null; |
|||
mkdir -p "$tcdir/native/bin" 2>/dev/null; |
|||
|
|||
# create links |
|||
[ ! -L "$workdir/logs" ] && ln -sf "$ldir" "$workdir/logs" 2>/dev/null; |
|||
[ ! -L "$workdir/archive" ] && ln -sf "$adir" "$workdir/archive" 2>/dev/null; |
|||
[ ! -L "$workdir/patches" ] && ln -sf "$pdir" "$workdir/patches" 2>/dev/null; |
|||
[ ! -L "$workdir/binaries" ] && ln -sf "$bdir" "$workdir/binaries" 2>/dev/null; |
|||
|
|||
#set arrays |
|||
unset INTERNAL_MODULES; unset ENABLED_MODULES; unset SHORT_MODULENAMES; unset INST_TCLIST; |
|||
unset DISABLED_MODULES; unset AVAI_TCLIST; unset ALL_MODULES_LONG; unset MISS_TCLIST; |
|||
unset SHORT_PROTOCOLS; unset SHORT_READERS; unset SHORT_CARD_READERS; unset SHORT_ADDONS; |
|||
unset SSH_CONF_CONTENT; unset USE_vars; unset USE_vars_disable; |
|||
|
|||
declare -A USE_vars; |
|||
declare -A USE_vars_disable; |
|||
USE_vars[USE_TARGZ]=; |
|||
USE_vars[USE_PATCH]=; |
|||
USE_vars[USE_STAPI]=; |
|||
USE_vars[USE_STAPI5]=; |
|||
USE_vars[USE_CONFDIR]=; |
|||
USE_vars[USE_COMPRESS]=; |
|||
|
|||
declare -A s3cfg_vars; |
|||
s3cfg_vars[USE_TARGZ]=0; |
|||
s3cfg_vars[DIRECTMENU]=0; |
|||
s3cfg_vars[USE_VERBOSE]=0; |
|||
s3cfg_vars[USE_COMPRESS]=0; |
|||
s3cfg_vars[S3_UPDATE_CHECK]=1; |
|||
s3cfg_vars[SAVE_LISTSMARGO]=1; |
|||
s3cfg_vars[NO_SVN_AUTOUPDATE]=0; |
|||
s3cfg_vars[delete_oscamdebugbinary]=1; |
|||
|
|||
declare -a ENABLED_MODULES; declare -a DISABLED_MODULES; declare -a SHORT_MODULENAMES; |
|||
declare -a ALL_MODULES_LONG; declare -a AVAI_TCLIST; declare -a INST_TCLIST; |
|||
declare -a MISS_TCLIST; declare -a SHORT_ADDONS; declare -a SHORT_PROTOCOLS; |
|||
declare -a SHORT_READERS; declare -a SHORT_CARD_READERS; declare -A INTERNAL_MODULES; |
|||
|
|||
#filled arrays |
|||
config_cases=( all addons protocols readers card_readers ); |
|||
s3opts=( help cedit clean tccheck tcrepair upload lang_select loadonly checkout ssh_profiles syscheck sysinfo svnup menu get_patch tedit svnpatch profiles svnrestore ); # extendable with plugins |
|||
CUSTOM_CONFDIR="not_set"; |
|||
|
|||
#internal vars |
|||
OPENBOX=0;UFS916003=0;_verbose=""; |
|||
_t1e="VG9vbGNoYWluLQ=="; |
|||
_u1e="aHR0cDovL3N0cmVhbWJvYXJkLnR2L3diYjIvdHV0LXBpY3MvdG9vbGNoYWlucw=="; |
|||
cposx=0;cposy=0;off="_off";on="_on";pf="empty";file_exist="0";run="0"; |
|||
s3cfg="$configdir/simplebuild.config";loadprofile="no";menucall="no"; |
|||
# Compiler settings |
|||
cc_warn="-W -Wall -Wshadow -Wredundant-decls -Wstrict-prototypes -Wold-style-definition"; |
|||
cc_opts="-ggdb -pipe -ffunction-sections -fdata-sections"; |
|||
|
|||
#default url |
|||
trunkurl="http://www.streamboard.tv/svn/oscam/trunk";[ -f "$workdir/oscamsource.url" ] && source "$workdir/oscamsource.url"; |
|||
#trunkurl="http://www.streamboard.tv/svn/oscam-addons/modern";[ -f "$workdir/oscamsource.url" ] && source "$workdir/oscamsource.url"; |
|||
|
|||
#load translationlist |
|||
cd "$tdir";langsupport=(*); |
|||
|
|||
#load functions and plugins |
|||
if [ -d "$fdir" ];then |
|||
cd "$fdir"; |
|||
x=(*); |
|||
for i in "${x[@]}";do |
|||
source "$i"; |
|||
plugin=$(awk '/^#simplebuild_plugin/ {printf $2}' $i); |
|||
[ ! -z "$plugin" ] && s3opts+=($plugin); |
|||
done; |
|||
else |
|||
echo "fail functions"; |
|||
fi; |
|||
|
|||
#begin |
|||
initializeANSI; #load colors |
|||
|
|||
#check system |
|||
syscheck;[ ! "$sanity" == "1" ] && echo "sanity fail" && sleep 5 && bye; |
|||
|
|||
#initialize simplebuild |
|||
_create_native_profile; # put native datas to toolchains and configs |
|||
auto_langset; # echo "info $txt_load_ok"; |
|||
_get_config_con "$1"; # echo $addons;exit; |
|||
_create_module_arrays; # fill module arrays |
|||
_fill_tc_array; # get # AVAI_TCLIST # INST_TCLIST # MISS_TCLIST |
|||
read_s3cfg; # read simplebuild config |
|||
_set_dialog_types; # fill $gui vars |
|||
_systype; # check used uname |
|||
|
|||
if [ ! -n "$1" ];then |
|||
[ "${s3cfg_vars[DIRECTMENU]}" == "1" ] && _dialog_checkout && exit; |
|||
_help; |
|||
exit; |
|||
else |
|||
for e in "${s3opts[@]}";do |
|||
if [ "$e" == "$1" ];then |
|||
case $e in |
|||
svnrestore|\ |
|||
checkout|\ |
|||
upload_cam) if [ ! -n "$2" ];then |
|||
eval "$e"; |
|||
else |
|||
eval "$e" "$2"; |
|||
fi; |
|||
exit;; |
|||
menu) if [ ! -n "$2" ];then |
|||
_dialog_checkout; |
|||
else |
|||
_dialog_checkout "$2"; |
|||
fi;; |
|||
loadonly) if [ ! -n "$2" ];then |
|||
_nl; |
|||
clear; |
|||
s3logo; |
|||
echo -e "$r_l\n $txt_error: toolchain $txt_parameter $txt_missing\n""$w_l"; |
|||
_help_toolchain; |
|||
sleep 2; |
|||
exit; |
|||
else |
|||
for t in "${AVAI_TCLIST[@]}";do |
|||
_tmp="$2"; |
|||
[ "$t" == "$2" ] && _load_toolchain "$2" && break; |
|||
done; |
|||
if [ -f "$tc_dl" ];then |
|||
echo -e "$p_l\n\n toolchain for $_tmp loaded\n"; |
|||
else |
|||
_nl; |
|||
clear; |
|||
s3logo; |
|||
echo -e "$r_l toolchain missing/error\n"; |
|||
fi; |
|||
exit; |
|||
fi;; |
|||
tccheck) if [ ! -n "$2" ];then |
|||
_nl; |
|||
clear; |
|||
s3logo; |
|||
echo -e "$r_l\n $txt_error: toolchain $txt_parameter $txt_missing\n""$w_l"; |
|||
_help_toolchain;echo -e "$W"; |
|||
sleep 2; |
|||
exit; |
|||
else |
|||
for t in "${AVAI_TCLIST[@]}";do |
|||
[ "$t" == "$2" ] && _toolchain_check "$2" && break; |
|||
done; |
|||
_nl; |
|||
clear; |
|||
s3logo; |
|||
echo -e "$r_l\n toolchain missing/error\n$w_l"; |
|||
_help_toolchain;echo -e "$W"; |
|||
sleep 2; |
|||
exit; |
|||
fi;; |
|||
tcrepair) if [ ! -n "$2" ];then |
|||
_nl; |
|||
clear; |
|||
s3logo; |
|||
echo -e "$r_l\n $txt_error: toolchain $txt_parameter $txt_missing\n""$w_l"; |
|||
_help_toolchain;echo -e "$W"; |
|||
sleep 2; |
|||
exit; |
|||
else |
|||
_nl;clear;_toolchain_repair "$2";sleep 2;exit; |
|||
fi;; |
|||
upload) if [ ! -n "$2" ];then |
|||
_nl; |
|||
clear; |
|||
s3logo; |
|||
echo -e "$r_l\n $txt_error: $txt_parameter $txt_missing""$w_l"; |
|||
menucall="yes"; |
|||
ssh_profiles; |
|||
else |
|||
upload_cam "$2"; |
|||
fi; |
|||
exit;; |
|||
tedit) if [ -n "$2" ];then |
|||
for telement in ${INST_TCLIST[@]};do |
|||
if [ "$telement" == "$2" ];then |
|||
tedit $2; |
|||
exit; |
|||
fi; |
|||
done; |
|||
clear; |
|||
s3logo; |
|||
echo -e $w_l"\n $2 toolchain not installed\n"$W; |
|||
fi; |
|||
exit;; |
|||
help) _help; |
|||
exit;; |
|||
*) eval "$e" "$2"; |
|||
exit;; |
|||
esac; |
|||
fi; |
|||
done; |
|||
|
|||
for t in "${AVAI_TCLIST[@]}";do |
|||
if [ "$t" == "$1" ];then |
|||
if [ "${2:0:3}" == "-p=" ] || [ "${2:0:3}" == "-P=" ];then |
|||
if [ -f "$profdir/${2#*=}" ];then |
|||
pf=$(cat "$profdir/${2#*=}"); |
|||
pf_name="${2#*=}"; |
|||
fi; |
|||
fi; |
|||
[ "$pf" == "empty" ] && c_m_d="$*" || c_m_d="all_off $pf $*"; # set only active module with profiles |
|||
for cmd in $c_m_d;do |
|||
if [ "${cmd:0:3}" == "-c=" ] || [ "${cmd:0:3}" == "-C=" ];then |
|||
CUSTOM_CONFDIR="${cmd#*=}"; |
|||
fi; |
|||
for cc in "${config_cases[@]}"; |
|||
do |
|||
[ "$cmd" == "$cc$on" ] && all_cc+=($cc$on) && break; |
|||
[ "$cmd" == "$cc$off" ] && all_cc+=($cc$off) && break; |
|||
done; |
|||
for sm in "${SHORT_MODULENAMES[@]}"; |
|||
do |
|||
[ "$cmd" == "$sm" ] && all_cc+=($(get_module_name "$sm")$on) && break; |
|||
[ "$cmd" == "$sm$off" ] && all_cc+=($(get_module_name "$sm")$off) && break; |
|||
done; |
|||
for uvar in "${!USE_vars[@]}"; |
|||
do |
|||
[ "$cmd" == "$uvar" ] && USE_vars[$uvar]="$uvar=1" && break; |
|||
[ "$cmd" == "$uvar$off" ] && USE_vars_disable[$uvar]="$uvar=1" && break; |
|||
done; |
|||
case $cmd in |
|||
OPENBOX) OPENBOX=1;; |
|||
UFS916003) UFS916003=1;; |
|||
USE_VERBOSE) s3cfg_vars[USE_VERBOSE]=1;; |
|||
esac; |
|||
done; |
|||
_pre_build "$t"; |
|||
exit; |
|||
fi; |
|||
done; |
|||
_help; |
|||
|
|||
fi; |
|||
|
|||
exit; |
@ -0,0 +1,795 @@ |
|||
SHELL = /bin/sh |
|||
|
|||
.SUFFIXES: |
|||
.SUFFIXES: .o .c |
|||
.PHONY: all tests help README.build README.config simple default debug config menuconfig allyesconfig allnoconfig defconfig clean distclean |
|||
|
|||
VER := $(shell ./config.sh --oscam-version) |
|||
SVN_REV := $(shell ./config.sh --oscam-revision) |
|||
|
|||
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') |
|||
|
|||
# This let's us use uname_S tests to detect cygwin
|
|||
ifneq (,$(findstring CYGWIN,$(uname_S))) |
|||
uname_S := Cygwin |
|||
endif |
|||
|
|||
LINKER_VER_OPT:=-Wl,--version |
|||
|
|||
# Find OSX SDK
|
|||
ifeq ($(uname_S),Darwin) |
|||
# Setting OSX_VER allows you to choose prefered version if you have |
|||
# two SDKs installed. For example if you have 10.6 and 10.5 installed |
|||
# you can choose 10.5 by using 'make USE_PCSC=1 OSX_VER=10.5' |
|||
# './config.sh --detect-osx-sdk-version' returns the newest SDK if |
|||
# SDK_VER is not set. |
|||
OSX_SDK := $(shell ./config.sh --detect-osx-sdk-version $(OSX_VER)) |
|||
LINKER_VER_OPT:=-Wl,-v |
|||
endif |
|||
|
|||
ifeq "$(shell ./config.sh --enabled WITH_SSL)" "Y" |
|||
override USE_SSL=1 |
|||
override USE_LIBCRYPTO=1 |
|||
endif |
|||
ifdef USE_SSL |
|||
override USE_LIBCRYPTO=1 |
|||
endif |
|||
|
|||
CONF_DIR = /usr/local/etc |
|||
|
|||
LIB_PTHREAD = -lpthread |
|||
LIB_DL = -ldl |
|||
|
|||
LIB_RT := |
|||
ifeq ($(uname_S),Linux) |
|||
ifeq "$(shell ./config.sh --enabled CLOCKFIX)" "Y" |
|||
LIB_RT := -lrt |
|||
endif |
|||
endif |
|||
ifeq ($(uname_S),FreeBSD) |
|||
LIB_DL := |
|||
endif |
|||
|
|||
override STD_LIBS := -lm $(LIB_PTHREAD) $(LIB_DL) $(LIB_RT) |
|||
override STD_DEFS := -D'CS_SVN_VERSION="$(SVN_REV)"' |
|||
override STD_DEFS += -D'CS_CONFDIR="$(CONF_DIR)"' |
|||
|
|||
# Compiler warnings
|
|||
CC_WARN = -W -Wall -Wshadow -Wredundant-decls -Wstrict-prototypes -Wold-style-definition |
|||
|
|||
# Compiler optimizations
|
|||
CC_OPTS = -O2 -ggdb -pipe -ffunction-sections -fdata-sections |
|||
|
|||
CC = $(CROSS_DIR)$(CROSS)gcc |
|||
STRIP = $(CROSS_DIR)$(CROSS)strip |
|||
|
|||
LDFLAGS = -Wl,--gc-sections |
|||
|
|||
# The linker for powerpc have bug that prevents --gc-sections from working
|
|||
# Check for the linker version and if it matches disable --gc-sections
|
|||
# For more information about the bug see:
|
|||
# http://cygwin.com/ml/binutils/2005-01/msg00103.html
|
|||
# The LD output is saved into variable and then processed, because if
|
|||
# the output is piped directly into another command LD creates 4 files
|
|||
# in your /tmp directory and doesn't delete them.
|
|||
LINKER_VER := $(shell set -e; VER="`$(CC) $(LINKER_VER_OPT) 2>&1`"; echo $$VER | head -1 | cut -d' ' -f5) |
|||
|
|||
# dm500 toolchain
|
|||
ifeq "$(LINKER_VER)" "20040727" |
|||
LDFLAGS := |
|||
endif |
|||
# dm600/7000/7020 toolchain
|
|||
ifeq "$(LINKER_VER)" "20041121" |
|||
LDFLAGS := |
|||
endif |
|||
# The OS X linker do not support --gc-sections
|
|||
ifeq ($(uname_S),Darwin) |
|||
LDFLAGS := |
|||
endif |
|||
|
|||
# The compiler knows for what target it compiles, so use this information
|
|||
TARGET := $(shell $(CC) -dumpmachine 2>/dev/null) |
|||
|
|||
# Process USE_ variables
|
|||
DEFAULT_STAPI_LIB = -L./stapi -loscam_stapi |
|||
DEFAULT_STAPI5_LIB = -L./stapi -loscam_stapi5 |
|||
DEFAULT_COOLAPI_LIB = -lnxp -lrt |
|||
DEFAULT_COOLAPI2_LIB = -llnxUKAL -llnxcssUsr -llnxscsUsr -llnxnotifyqUsr -llnxplatUsr -lrt |
|||
DEFAULT_SU980_LIB = -lentropic -lrt |
|||
DEFAULT_AZBOX_LIB = -Lextapi/openxcas -lOpenXCASAPI |
|||
DEFAULT_LIBCRYPTO_LIB = -lcrypto |
|||
DEFAULT_SSL_LIB = -lssl |
|||
ifeq ($(uname_S),Linux) |
|||
DEFAULT_LIBUSB_LIB = -lusb-1.0 -lrt |
|||
else |
|||
DEFAULT_LIBUSB_LIB = -lusb-1.0 |
|||
endif |
|||
# Since FreeBSD 8 (released in 2010) they are using their own
|
|||
# libusb that is API compatible to libusb but with different soname
|
|||
ifeq ($(uname_S),FreeBSD) |
|||
DEFAULT_LIBUSB_LIB = -lusb |
|||
endif |
|||
ifeq ($(uname_S),Darwin) |
|||
DEFAULT_LIBUSB_FLAGS = -I/opt/local/include |
|||
DEFAULT_LIBUSB_LIB = -L/opt/local/lib -lusb-1.0 |
|||
DEFAULT_PCSC_FLAGS = -isysroot $(OSX_SDK) |
|||
DEFAULT_PCSC_LIB = -isysroot $(OSX_SDK) -framework IOKit -framework CoreFoundation -framework PCSC |
|||
else |
|||
# Get the compiler's last include PATHs. Basicaly it is /usr/include |
|||
# but in case of cross compilation it might be something else. |
|||
# |
|||
# Since using -Iinc_path instructs the compiler to use inc_path |
|||
# (without add the toolchain system root) we need to have this hack |
|||
# to get the "real" last include path. Why we needs this? |
|||
# Well, the PCSC headers are broken and rely on having the directory |
|||
# that they are installed it to be in the include PATH. |
|||
# |
|||
# We can't just use -I/usr/include/PCSC because it won't work in |
|||
# case of cross compilation. |
|||
TOOLCHAIN_INC_DIR := $(strip $(shell echo | $(CC) -Wp,-v -xc - -fsyntax-only 2>&1 | grep include$ | tail -n 1)) |
|||
DEFAULT_PCSC_FLAGS = -I$(TOOLCHAIN_INC_DIR)/PCSC -I$(TOOLCHAIN_INC_DIR)/../local/include/PCSC |
|||
DEFAULT_PCSC_LIB = -lpcsclite |
|||
endif |
|||
|
|||
ifeq ($(uname_S),Cygwin) |
|||
DEFAULT_PCSC_LIB += -lwinscard |
|||
endif |
|||
|
|||
DEFAULT_UTF8_FLAGS = -DWITH_UTF8 |
|||
|
|||
# Function to initialize USE related variables
|
|||
# Usage: $(eval $(call prepare_use_flags,FLAG_NAME,PLUS_TARGET_TEXT))
|
|||
define prepare_use_flags |
|||
override DEFAULT_$(1)_FLAGS:=$$(strip -DWITH_$(1)=1 $$(DEFAULT_$(1)_FLAGS)) |
|||
ifdef USE_$(1) |
|||
$(1)_FLAGS:=$$(DEFAULT_$(1)_FLAGS) |
|||
$(1)_CFLAGS:=$$($(1)_FLAGS) |
|||
$(1)_LDFLAGS:=$$($(1)_FLAGS) |
|||
$(1)_LIB:=$$(DEFAULT_$(1)_LIB) |
|||
ifneq "$(2)" "" |
|||
override PLUS_TARGET:=$$(PLUS_TARGET)-$(2) |
|||
endif |
|||
override USE_CFLAGS+=$$($(1)_CFLAGS) |
|||
override USE_LDFLAGS+=$$($(1)_LDFLAGS) |
|||
override USE_LIBS+=$$($(1)_LIB) |
|||
override USE_FLAGS+=$$(if $$(USE_$(1)),USE_$(1)) |
|||
endif |
|||
endef |
|||
|
|||
# Initialize USE variables
|
|||
$(eval $(call prepare_use_flags,STAPI,stapi)) |
|||
$(eval $(call prepare_use_flags,STAPI5,stapi5)) |
|||
$(eval $(call prepare_use_flags,COOLAPI,coolapi)) |
|||
$(eval $(call prepare_use_flags,COOLAPI2,coolapi2)) |
|||
$(eval $(call prepare_use_flags,SU980,su980)) |
|||
$(eval $(call prepare_use_flags,AZBOX,azbox)) |
|||
$(eval $(call prepare_use_flags,MCA,mca)) |
|||
$(eval $(call prepare_use_flags,SSL,ssl)) |
|||
$(eval $(call prepare_use_flags,LIBCRYPTO,)) |
|||
$(eval $(call prepare_use_flags,LIBUSB,libusb)) |
|||
$(eval $(call prepare_use_flags,PCSC,pcsc)) |
|||
$(eval $(call prepare_use_flags,UTF8)) |
|||
|
|||
# Add PLUS_TARGET and EXTRA_TARGET to TARGET
|
|||
ifdef NO_PLUS_TARGET |
|||
override TARGET := $(TARGET)$(EXTRA_TARGET) |
|||
else |
|||
override TARGET := $(TARGET)$(PLUS_TARGET)$(EXTRA_TARGET) |
|||
endif |
|||
|
|||
EXTRA_CFLAGS = $(EXTRA_FLAGS) |
|||
EXTRA_LDFLAGS = $(EXTRA_FLAGS) |
|||
|
|||
# Add USE_xxx, EXTRA_xxx and STD_xxx vars
|
|||
override CC_WARN += $(EXTRA_CC_WARN) |
|||
override CC_OPTS += $(EXTRA_CC_OPTS) |
|||
override CFLAGS += $(USE_CFLAGS) $(EXTRA_CFLAGS) |
|||
override LDFLAGS += $(USE_LDFLAGS) $(EXTRA_LDFLAGS) |
|||
override LIBS += $(USE_LIBS) $(EXTRA_LIBS) $(STD_LIBS) |
|||
|
|||
override STD_DEFS += -D'CS_TARGET="$(TARGET)"' |
|||
|
|||
# Setup quiet build
|
|||
Q = |
|||
SAY = @true |
|||
ifndef V |
|||
Q = @ |
|||
NP = --no-print-directory |
|||
SAY = @echo |
|||
endif |
|||
|
|||
BINDIR := Distribution |
|||
override BUILD_DIR := build |
|||
OBJDIR := $(BUILD_DIR)/$(TARGET) |
|||
|
|||
# Include config.mak which contains variables for all enabled modules
|
|||
# These variables will be used to select only needed files for compilation
|
|||
-include $(OBJDIR)/config.mak |
|||
|
|||
OSCAM_BIN := $(BINDIR)/oscam-$(VER)$(SVN_REV)-$(subst cygwin,cygwin.exe,$(TARGET)) |
|||
TESTS_BIN := tests.bin |
|||
LIST_SMARGO_BIN := $(BINDIR)/list_smargo-$(VER)$(SVN_REV)-$(subst cygwin,cygwin.exe,$(TARGET)) |
|||
|
|||
# Build list_smargo-.... only when WITH_LIBUSB build is requested.
|
|||
ifndef USE_LIBUSB |
|||
override LIST_SMARGO_BIN = |
|||
endif |
|||
|
|||
SRC-$(CONFIG_LIB_AES) += cscrypt/aes.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_add.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_asm.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_ctx.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_div.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_exp.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_lib.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_mul.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_print.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_shift.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_sqr.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_word.c |
|||
SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/mem.c |
|||
SRC-$(CONFIG_LIB_DES) += cscrypt/des.c |
|||
SRC-$(CONFIG_LIB_IDEA) += cscrypt/i_cbc.c |
|||
SRC-$(CONFIG_LIB_IDEA) += cscrypt/i_ecb.c |
|||
SRC-$(CONFIG_LIB_IDEA) += cscrypt/i_skey.c |
|||
SRC-y += cscrypt/md5.c |
|||
SRC-$(CONFIG_LIB_RC6) += cscrypt/rc6.c |
|||
SRC-$(CONFIG_LIB_SHA1) += cscrypt/sha1.c |
|||
SRC-$(CONFIG_LIB_MDC2) += cscrypt/mdc2.c |
|||
SRC-$(CONFIG_LIB_FAST_AES) += cscrypt/fast_aes.c |
|||
SRC-$(CONFIG_LIB_SHA256) += cscrypt/sha256.c |
|||
|
|||
SRC-$(CONFIG_WITH_CARDREADER) += csctapi/atr.c |
|||
SRC-$(CONFIG_WITH_CARDREADER) += csctapi/icc_async.c |
|||
SRC-$(CONFIG_WITH_CARDREADER) += csctapi/io_serial.c |
|||
SRC-$(CONFIG_WITH_CARDREADER) += csctapi/protocol_t0.c |
|||
SRC-$(CONFIG_WITH_CARDREADER) += csctapi/protocol_t1.c |
|||
SRC-$(CONFIG_CARDREADER_INTERNAL_AZBOX) += csctapi/ifd_azbox.c |
|||
SRC-$(CONFIG_CARDREADER_INTERNAL_COOLAPI) += csctapi/ifd_cool.c |
|||
SRC-$(CONFIG_CARDREADER_INTERNAL_COOLAPI2) += csctapi/ifd_cool.c |
|||
SRC-$(CONFIG_CARDREADER_DB2COM) += csctapi/ifd_db2com.c |
|||
SRC-$(CONFIG_CARDREADER_MP35) += csctapi/ifd_mp35.c |
|||
SRC-$(CONFIG_CARDREADER_PCSC) += csctapi/ifd_pcsc.c |
|||
SRC-$(CONFIG_CARDREADER_PHOENIX) += csctapi/ifd_phoenix.c |
|||
SRC-$(CONFIG_CARDREADER_DRECAS) += csctapi/ifd_drecas.c |
|||
SRC-$(CONFIG_CARDREADER_SC8IN1) += csctapi/ifd_sc8in1.c |
|||
SRC-$(CONFIG_CARDREADER_INTERNAL_SCI) += csctapi/ifd_sci.c |
|||
SRC-$(CONFIG_CARDREADER_SMARGO) += csctapi/ifd_smargo.c |
|||
SRC-$(CONFIG_CARDREADER_SMART) += csctapi/ifd_smartreader.c |
|||
SRC-$(CONFIG_CARDREADER_STINGER) += csctapi/ifd_stinger.c |
|||
SRC-$(CONFIG_CARDREADER_STAPI) += csctapi/ifd_stapi.c |
|||
SRC-$(CONFIG_CARDREADER_STAPI5) += csctapi/ifd_stapi.c |
|||
|
|||
SRC-$(CONFIG_LIB_MINILZO) += minilzo/minilzo.c |
|||
|
|||
SRC-$(CONFIG_CS_ANTICASC) += module-anticasc.c |
|||
SRC-$(CONFIG_CS_CACHEEX) += module-cacheex.c |
|||
SRC-$(CONFIG_MODULE_CAMD33) += module-camd33.c |
|||
SRC-$(CONFIG_CS_CACHEEX) += module-camd35-cacheex.c |
|||
SRC-$(sort $(CONFIG_MODULE_CAMD35) $(CONFIG_MODULE_CAMD35_TCP)) += module-camd35.c |
|||
SRC-$(CONFIG_CS_CACHEEX) += module-cccam-cacheex.c |
|||
SRC-$(CONFIG_MODULE_CCCAM) += module-cccam.c |
|||
SRC-$(CONFIG_MODULE_CCCSHARE) += module-cccshare.c |
|||
SRC-$(CONFIG_MODULE_CONSTCW) += module-constcw.c |
|||
SRC-$(CONFIG_CS_CACHEEX) += module-csp.c |
|||
SRC-$(CONFIG_CW_CYCLE_CHECK) += module-cw-cycle-check.c |
|||
SRC-$(CONFIG_WITH_AZBOX) += module-dvbapi-azbox.c |
|||
SRC-$(CONFIG_WITH_MCA) += module-dvbapi-mca.c |
|||
### SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi.c
|
|||
### experimental reversed API
|
|||
SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi-legacy.c |
|||
SRC-$(CONFIG_WITH_COOLAPI2) += module-dvbapi-coolapi.c |
|||
SRC-$(CONFIG_WITH_SU980) += module-dvbapi-coolapi.c |
|||
SRC-$(CONFIG_WITH_STAPI) += module-dvbapi-stapi.c |
|||
SRC-$(CONFIG_WITH_STAPI5) += module-dvbapi-stapi5.c |
|||
SRC-$(CONFIG_HAVE_DVBAPI) += module-dvbapi-chancache.c |
|||
SRC-$(CONFIG_HAVE_DVBAPI) += module-dvbapi.c |
|||
SRC-$(CONFIG_MODULE_GBOX) += module-gbox-helper.c |
|||
SRC-$(CONFIG_MODULE_GBOX) += module-gbox-sms.c |
|||
SRC-$(CONFIG_MODULE_GBOX) += module-gbox-remm.c |
|||
SRC-$(CONFIG_MODULE_GBOX) += module-gbox-cards.c |
|||
SRC-$(CONFIG_MODULE_GBOX) += module-gbox.c |
|||
SRC-$(CONFIG_IRDETO_GUESSING) += module-ird-guess.c |
|||
SRC-$(CONFIG_LCDSUPPORT) += module-lcd.c |
|||
SRC-$(CONFIG_LEDSUPPORT) += module-led.c |
|||
SRC-$(CONFIG_MODULE_MONITOR) += module-monitor.c |
|||
SRC-$(CONFIG_MODULE_NEWCAMD) += module-newcamd.c |
|||
SRC-$(CONFIG_MODULE_NEWCAMD) += module-newcamd-des.c |
|||
SRC-$(CONFIG_MODULE_PANDORA) += module-pandora.c |
|||
SRC-$(CONFIG_MODULE_GHTTP) += module-ghttp.c |
|||
SRC-$(CONFIG_MODULE_RADEGAST) += module-radegast.c |
|||
SRC-$(CONFIG_MODULE_SCAM) += module-scam.c |
|||
SRC-$(CONFIG_MODULE_SERIAL) += module-serial.c |
|||
SRC-$(CONFIG_WITH_LB) += module-stat.c |
|||
SRC-$(CONFIG_WEBIF) += module-webif-lib.c |
|||
SRC-$(CONFIG_WEBIF) += module-webif-tpl.c |
|||
SRC-$(CONFIG_WEBIF) += module-webif.c |
|||
SRC-$(CONFIG_WEBIF) += webif/pages.c |
|||
SRC-$(CONFIG_WITH_CARDREADER) += reader-common.c |
|||
SRC-$(CONFIG_READER_BULCRYPT) += reader-bulcrypt.c |
|||
SRC-$(CONFIG_READER_CONAX) += reader-conax.c |
|||
SRC-$(CONFIG_READER_CRYPTOWORKS) += reader-cryptoworks.c |
|||
SRC-$(CONFIG_READER_DGCRYPT) += reader-dgcrypt.c |
|||
SRC-$(CONFIG_READER_DRE) += reader-dre.c |
|||
SRC-$(CONFIG_READER_DRE) += reader-dre-cas.c |
|||
SRC-$(CONFIG_READER_DRE) += reader-dre-common.c |
|||
SRC-$(CONFIG_READER_DRE) += reader-dre-st20.c |
|||
SRC-$(CONFIG_READER_GRIFFIN) += reader-griffin.c |
|||
SRC-$(CONFIG_READER_IRDETO) += reader-irdeto.c |
|||
SRC-$(CONFIG_READER_NAGRA_COMMON) += reader-nagra-common.c |
|||
SRC-$(CONFIG_READER_NAGRA) += reader-nagra.c |
|||
SRC-$(CONFIG_READER_NAGRA_MERLIN) += reader-nagracak7.c |
|||
SRC-$(CONFIG_READER_SECA) += reader-seca.c |
|||
SRC-$(CONFIG_READER_TONGFANG) += reader-tongfang.c |
|||
SRC-$(CONFIG_READER_VIACCESS) += reader-viaccess.c |
|||
SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard-common.c |
|||
SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard1.c |
|||
SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard12.c |
|||
SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard2.c |
|||
SRC-y += oscam-aes.c |
|||
SRC-y += oscam-array.c |
|||
SRC-y += oscam-hashtable.c |
|||
SRC-y += oscam-cache.c |
|||
SRC-y += oscam-chk.c |
|||
SRC-y += oscam-client.c |
|||
SRC-y += oscam-conf.c |
|||
SRC-y += oscam-conf-chk.c |
|||
SRC-y += oscam-conf-mk.c |
|||
SRC-y += oscam-config-account.c |
|||
SRC-y += oscam-config-global.c |
|||
SRC-y += oscam-config-reader.c |
|||
SRC-y += oscam-config.c |
|||
SRC-y += oscam-ecm.c |
|||
SRC-y += oscam-emm.c |
|||
SRC-y += oscam-emm-cache.c |
|||
SRC-y += oscam-failban.c |
|||
SRC-y += oscam-files.c |
|||
SRC-y += oscam-garbage.c |
|||
SRC-y += oscam-lock.c |
|||
SRC-y += oscam-log.c |
|||
SRC-y += oscam-log-reader.c |
|||
SRC-y += oscam-net.c |
|||
SRC-y += oscam-llist.c |
|||
SRC-y += oscam-reader.c |
|||
SRC-y += oscam-simples.c |
|||
SRC-y += oscam-string.c |
|||
SRC-y += oscam-time.c |
|||
SRC-y += oscam-work.c |
|||
SRC-y += oscam.c |
|||
# config.c is automatically generated by config.sh in OBJDIR
|
|||
SRC-y += config.c |
|||
ifdef BUILD_TESTS |
|||
SRC-y += tests.c |
|||
override STD_DEFS += -DBUILD_TESTS=1 |
|||
endif |
|||
|
|||
SRC := $(SRC-y) |
|||
OBJ := $(addprefix $(OBJDIR)/,$(subst .c,.o,$(SRC))) |
|||
SRC := $(subst config.c,$(OBJDIR)/config.c,$(SRC)) |
|||
|
|||
# The default build target rebuilds the config.mak if needed and then
|
|||
# starts the compilation.
|
|||
all: |
|||
@./config.sh --use-flags "$(USE_FLAGS)" --objdir "$(OBJDIR)" --make-config.mak |
|||
@-mkdir -p $(OBJDIR)/cscrypt $(OBJDIR)/csctapi $(OBJDIR)/minilzo $(OBJDIR)/webif |
|||
@-printf "\
|
|||
+-------------------------------------------------------------------------------\n\ |
|||
| OSCam ver: $(VER) rev: $(SVN_REV) target: $(TARGET)\n\ |
|||
| Tools:\n\ |
|||
| CROSS = $(CROSS_DIR)$(CROSS)\n\
|
|||
| CC = $(CC)\n\
|
|||
| Settings:\n\ |
|||
| CONF_DIR = $(CONF_DIR)\n\
|
|||
| CC_OPTS = $(strip $(CC_OPTS))\n\
|
|||
| CC_WARN = $(strip $(CC_WARN))\n\
|
|||
| CFLAGS = $(strip $(CFLAGS))\n\
|
|||
| LDFLAGS = $(strip $(LDFLAGS))\n\
|
|||
| LIBS = $(strip $(LIBS))\n\
|
|||
| UseFlags = $(addsuffix =1,$(USE_FLAGS))\n\
|
|||
| Config:\n\ |
|||
| Addons : $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled addons)\n\ |
|||
| Protocols: $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled protocols | sed -e 's|MODULE_||g')\n\ |
|||
| Readers : $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled readers | sed -e 's|READER_||g')\n\ |
|||
| CardRdrs : $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled card_readers | sed -e 's|CARDREADER_||g')\n\ |
|||
| Compiler : $(shell $(CC) --version 2>/dev/null | head -n 1)\n\ |
|||
| Config : $(OBJDIR)/config.mak\n\ |
|||
| Binary : $(OSCAM_BIN)\n\ |
|||
+-------------------------------------------------------------------------------\n" |
|||
ifeq "$(shell ./config.sh --enabled WEBIF)" "Y" |
|||
@$(MAKE) --no-print-directory --quiet -C webif |
|||
endif |
|||
@$(MAKE) --no-print-directory $(OSCAM_BIN) $(LIST_SMARGO_BIN) |
|||
|
|||
$(OSCAM_BIN).debug: $(OBJ) |
|||
$(SAY) "LINK $@" |
|||
$(Q)$(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $@ |
|||
|
|||
$(OSCAM_BIN): $(OSCAM_BIN).debug |
|||
$(SAY) "STRIP $@" |
|||
$(Q)cp $(OSCAM_BIN).debug $(OSCAM_BIN) |
|||
$(Q)$(STRIP) $(OSCAM_BIN) |
|||
|
|||
$(LIST_SMARGO_BIN): utils/list_smargo.c |
|||
$(SAY) "BUILD $@" |
|||
$(Q)$(CC) $(STD_DEFS) $(CC_OPTS) $(CC_WARN) $(CFLAGS) $(LDFLAGS) utils/list_smargo.c $(LIBS) -o $@ |
|||
|
|||
$(OBJDIR)/config.o: $(OBJDIR)/config.c |
|||
$(SAY) "CONF $<" |
|||
$(Q)$(CC) $(STD_DEFS) $(CC_OPTS) $(CC_WARN) $(CFLAGS) -c $< -o $@ |
|||
|
|||
$(OBJDIR)/%.o: %.c Makefile |
|||
@$(CC) -MP -MM -MT $@ -o $(subst .o,.d,$@) $< |
|||
$(SAY) "CC $<" |
|||
$(Q)$(CC) $(STD_DEFS) $(CC_OPTS) $(CC_WARN) $(CFLAGS) -c $< -o $@ |
|||
|
|||
-include $(subst .o,.d,$(OBJ)) |
|||
|
|||
tests: |
|||
@-$(MAKE) --no-print-directory BUILD_TESTS=1 OSCAM_BIN=$(TESTS_BIN) |
|||
@-touch oscam.c |
|||
# The above is really hideous hack :-) If we don't force oscam.c recompilation
|
|||
# after we've build the tests binary, the next "normal" compilation would fail
|
|||
# because there would be no run_tests() function. So the touch is there to
|
|||
# ensure oscam.c would be recompiled.
|
|||
|
|||
config: |
|||
$(SHELL) ./config.sh --gui |
|||
|
|||
menuconfig: config |
|||
|
|||
allyesconfig: |
|||
@echo "Enabling all config options." |
|||
@-$(SHELL) ./config.sh --enable all |
|||
|
|||
allnoconfig: |
|||
@echo "Disabling all config options." |
|||
@-$(SHELL) ./config.sh --disable all |
|||
|
|||
defconfig: |
|||
@echo "Restoring default config." |
|||
@-$(SHELL) ./config.sh --restore |
|||
|
|||
clean: |
|||
@-for FILE in $(BUILD_DIR)/* $(TESTS_BIN) $(TESTS_BIN).debug; do \
|
|||
echo "RM $$FILE"; \
|
|||
rm -rf $$FILE; \
|
|||
done |
|||
@-rm -rf $(BUILD_DIR) lib |
|||
|
|||
distclean: clean |
|||
@-for FILE in $(BINDIR)/list_smargo-* $(BINDIR)/oscam-$(VER)*; do \
|
|||
echo "RM $$FILE"; \
|
|||
rm -rf $$FILE; \
|
|||
done |
|||
@-$(MAKE) --no-print-directory --quiet -C webif clean |
|||
|
|||
README.build: |
|||
@echo "Extracting 'make help' into $@ file." |
|||
@-printf "\
|
|||
** This file is generated from 'make help' output, do not edit it. **\n\ |
|||
\n\ |
|||
" > $@ |
|||
@-$(MAKE) --no-print-directory help >> $@ |
|||
@echo "Done." |
|||
|
|||
README.config: |
|||
@echo "Extracting 'config.sh --help' into $@ file." |
|||
@-printf "\
|
|||
** This file is generated from 'config.sh --help' output, do not edit it. **\n\ |
|||
\n\ |
|||
" > $@ |
|||
@-./config.sh --help >> $@ |
|||
@echo "Done." |
|||
|
|||
help: |
|||
@-printf "\
|
|||
OSCam build system documentation\n\ |
|||
================================\n\ |
|||
\n\ |
|||
Build variables:\n\
|
|||
The build variables are set on the make command line and control the build\n\
|
|||
process. Setting the variables lets you enable additional features, request\n\
|
|||
extra libraries and more. Currently recognized build variables are:\n\
|
|||
\n\ |
|||
CROSS=prefix - Set tools prefix. This variable is used when OScam is being\n\
|
|||
cross compiled. For example if you want to cross compile\n\
|
|||
for SH4 architecture you can run: 'make CROSS=sh4-linux-'\n\
|
|||
If you don't have the directory where cross compilers are\n\
|
|||
in your PATH you can run:\n\
|
|||
'make CROSS=/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-'\n\
|
|||
\n\ |
|||
CROSS_DIR=dir - Set tools directory. This variable is added in front of\n\
|
|||
CROSS variable. CROSS_DIR is useful if you want to use\n\
|
|||
predefined targets that are setting CROSS, but you don't have\n\
|
|||
the cross compilers in your PATH. For example:\n\
|
|||
'make sh4 CROSS_DIR=/opt/STM/STLinux-2.3/devkit/sh4/bin/'\n\
|
|||
'make dm500 CROSS_DIR=/opt/cross/dm500/cdk/bin/'\n\
|
|||
\n\ |
|||
CONF_DIR=/dir - Set OSCam config directory. For example to change config\n\
|
|||
directory to /etc run: 'make CONF_DIR=/etc'\n\
|
|||
The default config directory is: '$(CONF_DIR)'\n\
|
|||
\n\ |
|||
CC_OPTS=text - This variable holds compiler optimization parameters.\n\
|
|||
Default CC_OPTS value is:\n\
|
|||
'$(CC_OPTS)'\n\
|
|||
To add text to this variable set EXTRA_CC_OPTS=text.\n\
|
|||
\n\ |
|||
CC_WARN=text - This variable holds compiler warning parameters.\n\
|
|||
Default CC_WARN value is:\n\
|
|||
'$(CC_WARN)'\n\
|
|||
To add text to this variable set EXTRA_CC_WARN=text.\n\
|
|||
\n\ |
|||
V=1 - Request build process to print verbose messages. By\n\
|
|||
default the only messages that are shown are simple info\n\
|
|||
what is being compiled. To request verbose build run:\n\
|
|||
'make V=1'\n\
|
|||
\n\ |
|||
Extra build variables:\n\
|
|||
These variables add text to build variables. They are useful if you want\n\
|
|||
to add additional options to already set variables without overwriting them\n\
|
|||
Currently defined EXTRA_xxx variables are:\n\
|
|||
\n\ |
|||
EXTRA_CC_OPTS - Add text to CC_OPTS.\n\
|
|||
Example: 'make EXTRA_CC_OPTS=-Os'\n\
|
|||
\n\ |
|||
EXTRA_CC_WARN - Add text to CC_WARN.\n\
|
|||
Example: 'make EXTRA_CC_WARN=-Wshadow'\n\
|
|||
\n\ |
|||
EXTRA_TARGET - Add text to TARGET.\n\
|
|||
Example: 'make EXTRA_TARGET=-private'\n\
|
|||
\n\ |
|||
EXTRA_CFLAGS - Add text to CFLAGS (affects compilation).\n\
|
|||
Example: 'make EXTRA_CFLAGS=\"-DBLAH=1 -I/opt/local\"'\n\
|
|||
\n\ |
|||
EXTRA_LDFLAGS - Add text to LDFLAGS (affects linking).\n\
|
|||
Example: 'make EXTRA_LDFLAGS=-Llibdir'\n\
|
|||
\n\ |
|||
EXTRA_FLAGS - Add text to both EXTRA_CFLAGS and EXTRA_LDFLAGS.\n\
|
|||
Example: 'make EXTRA_FLAGS=-DBLAH=1'\n\
|
|||
\n\ |
|||
EXTRA_LIBS - Add text to LIBS (affects linking).\n\
|
|||
Example: 'make EXTRA_LIBS=\"-L./stapi -loscam_stapi\"'\n\
|
|||
\n\ |
|||
Use flags:\n\
|
|||
Use flags are used to request additional libraries or features to be used\n\
|
|||
by OSCam. Currently defined USE_xxx flags are:\n\
|
|||
\n\ |
|||
USE_LIBUSB=1 - Request linking with libusb. The variables that control\n\
|
|||
USE_LIBUSB=1 build are:\n\
|
|||
LIBUSB_FLAGS='$(DEFAULT_LIBUSB_FLAGS)'\n\
|
|||
LIBUSB_CFLAGS='$(DEFAULT_LIBUSB_FLAGS)'\n\
|
|||
LIBUSB_LDFLAGS='$(DEFAULT_LIBUSB_FLAGS)'\n\
|
|||
LIBUSB_LIB='$(DEFAULT_LIBUSB_LIB)'\n\
|
|||
Using USE_LIBUSB=1 adds to '-libusb' to PLUS_TARGET.\n\
|
|||
To build with static libusb, set the variable LIBUSB_LIB\n\
|
|||
to contain full path of libusb library. For example:\n\
|
|||
make USE_LIBUSB=1 LIBUSB_LIB=/usr/lib/libusb-1.0.a\n\
|
|||
\n\ |
|||
USE_PCSC=1 - Request linking with PCSC. The variables that control\n\
|
|||
USE_PCSC=1 build are:\n\
|
|||
PCSC_FLAGS='$(DEFAULT_PCSC_FLAGS)'\n\
|
|||
PCSC_CFLAGS='$(DEFAULT_PCSC_FLAGS)'\n\
|
|||
PCSC_LDFLAGS='$(DEFAULT_PCSC_FLAGS)'\n\
|
|||
PCSC_LIB='$(DEFAULT_PCSC_LIB)'\n\
|
|||
Using USE_PCSC=1 adds to '-pcsc' to PLUS_TARGET.\n\
|
|||
To build with static PCSC, set the variable PCSC_LIB\n\
|
|||
to contain full path of PCSC library. For example:\n\
|
|||
make USE_PCSC=1 PCSC_LIB=/usr/local/lib/libpcsclite.a\n\
|
|||
\n\ |
|||
USE_STAPI=1 - Request linking with STAPI. The variables that control\n\
|
|||
USE_STAPI=1 build are:\n\
|
|||
STAPI_FLAGS='$(DEFAULT_STAPI_FLAGS)'\n\
|
|||
STAPI_CFLAGS='$(DEFAULT_STAPI_FLAGS)'\n\
|
|||
STAPI_LDFLAGS='$(DEFAULT_STAPI_FLAGS)'\n\
|
|||
STAPI_LIB='$(DEFAULT_STAPI_LIB)'\n\
|
|||
Using USE_STAPI=1 adds to '-stapi' to PLUS_TARGET.\n\
|
|||
In order for USE_STAPI to work you have to create stapi\n\
|
|||
directory and put liboscam_stapi.a file in it.\n\
|
|||
\n\ |
|||
USE_STAPI5=1 - Request linking with STAPI5. The variables that control\n\
|
|||
USE_STAPI5=1 build are:\n\
|
|||
STAPI5_FLAGS='$(DEFAULT_STAPI5_FLAGS)'\n\
|
|||
STAPI5_CFLAGS='$(DEFAULT_STAPI5_FLAGS)'\n\
|
|||
STAPI5_LDFLAGS='$(DEFAULT_STAPI5_FLAGS)'\n\
|
|||
STAPI5_LIB='$(DEFAULT_STAPI5_LIB)'\n\
|
|||
Using USE_STAPI5=1 adds to '-stapi' to PLUS_TARGET.\n\
|
|||
In order for USE_STAPI5 to work you have to create stapi\n\
|
|||
directory and put liboscam_stapi5.a file in it.\n\
|
|||
\n\ |
|||
USE_COOLAPI=1 - Request support for Coolstream API (libnxp) aka NeutrinoHD\n\
|
|||
box. The variables that control the build are:\n\
|
|||
COOLAPI_FLAGS='$(DEFAULT_COOLAPI_FLAGS)'\n\
|
|||
COOLAPI_CFLAGS='$(DEFAULT_COOLAPI_FLAGS)'\n\
|
|||
COOLAPI_LDFLAGS='$(DEFAULT_COOLAPI_FLAGS)'\n\
|
|||
COOLAPI_LIB='$(DEFAULT_COOLAPI_LIB)'\n\
|
|||
Using USE_COOLAPI=1 adds to '-coolapi' to PLUS_TARGET.\n\
|
|||
In order for USE_COOLAPI to work you have to have libnxp.so\n\
|
|||
library in your cross compilation toolchain.\n\
|
|||
\n\ |
|||
USE_COOLAPI2=1 - Request support for Coolstream API aka NeutrinoHD\n\
|
|||
box. The variables that control the build are:\n\
|
|||
COOLAPI_FLAGS='$(DEFAULT_COOLAPI2_FLAGS)'\n\
|
|||
COOLAPI_CFLAGS='$(DEFAULT_COOLAPI2_FLAGS)'\n\
|
|||
COOLAPI_LDFLAGS='$(DEFAULT_COOLAPI2_FLAGS)'\n\
|
|||
COOLAPI_LIB='$(DEFAULT_COOLAPI2_LIB)'\n\
|
|||
Using USE_COOLAPI2=1 adds to '-coolapi2' to PLUS_TARGET.\n\
|
|||
In order for USE_COOLAPI2 to work you have to have liblnxUKAL.so,\n\
|
|||
liblnxcssUsr.so, liblnxscsUsr.so, liblnxnotifyqUsr.so, liblnxplatUsr.so\n\
|
|||
library in your cross compilation toolchain.\n\
|
|||
\n\ |
|||
USE_SU980=1 - Request support for SU980 API (libentropic) aka Enimga2 arm\n\
|
|||
box. The variables that control the build are:\n\
|
|||
COOLAPI_FLAGS='$(DEFAULT_SU980_FLAGS)'\n\
|
|||
COOLAPI_CFLAGS='$(DEFAULT_SU980_FLAGS)'\n\
|
|||
COOLAPI_LDFLAGS='$(DEFAULT_SU980_FLAGS)'\n\
|
|||
COOLAPI_LIB='$(DEFAULT_SU980_LIB)'\n\
|
|||
Using USE_SU980=1 adds to '-su980' to PLUS_TARGET.\n\
|
|||
In order for USE_SU980 to work you have to have libentropic.a\n\
|
|||
library in your cross compilation toolchain.\n\
|
|||
\n\ |
|||
USE_AZBOX=1 - Request support for AZBOX (openxcas)\n\
|
|||
box. The variables that control the build are:\n\
|
|||
AZBOX_FLAGS='$(DEFAULT_AZBOX_FLAGS)'\n\
|
|||
AZBOX_CFLAGS='$(DEFAULT_AZBOX_FLAGS)'\n\
|
|||
AZBOX_LDFLAGS='$(DEFAULT_AZBOX_FLAGS)'\n\
|
|||
AZBOX_LIB='$(DEFAULT_AZBOX_LIB)'\n\
|
|||
Using USE_AZBOX=1 adds to '-azbox' to PLUS_TARGET.\n\
|
|||
extapi/openxcas/libOpenXCASAPI.a library that is shipped\n\
|
|||
with OSCam is compiled for MIPSEL.\n\
|
|||
\n\ |
|||
USE_MCA=1 - Request support for Matrix Cam Air (MCA).\n\
|
|||
The variables that control the build are:\n\
|
|||
MCA_FLAGS='$(DEFAULT_MCA_FLAGS)'\n\
|
|||
MCA_CFLAGS='$(DEFAULT_MCA_FLAGS)'\n\
|
|||
MCA_LDFLAGS='$(DEFAULT_MCA_FLAGS)'\n\
|
|||
Using USE_MCA=1 adds to '-mca' to PLUS_TARGET.\n\
|
|||
\n\ |
|||
USE_LIBCRYPTO=1 - Request linking with libcrypto instead of using OSCam\n\
|
|||
internal crypto functions. USE_LIBCRYPTO is automatically\n\
|
|||
enabled if the build is configured with SSL support. The\n\
|
|||
variables that control USE_LIBCRYPTO=1 build are:\n\
|
|||
LIBCRYPTO_FLAGS='$(DEFAULT_LIBCRYPTO_FLAGS)'\n\
|
|||
LIBCRYPTO_CFLAGS='$(DEFAULT_LIBCRYPTO_FLAGS)'\n\
|
|||
LIBCRYPTO_LDFLAGS='$(DEFAULT_LIBCRYPTO_FLAGS)'\n\
|
|||
LIBCRYPTO_LIB='$(DEFAULT_LIBCRYPTO_LIB)'\n\
|
|||
\n\ |
|||
USE_SSL=1 - Request linking with libssl. USE_SSL is automatically\n\
|
|||
enabled if the build is configured with SSL support. The\n\
|
|||
variables that control USE_SSL=1 build are:\n\
|
|||
SSL_FLAGS='$(DEFAULT_SSL_FLAGS)'\n\
|
|||
SSL_CFLAGS='$(DEFAULT_SSL_FLAGS)'\n\
|
|||
SSL_LDFLAGS='$(DEFAULT_SSL_FLAGS)'\n\
|
|||
SSL_LIB='$(DEFAULT_SSL_LIB)'\n\
|
|||
Using USE_SSL=1 adds to '-ssl' to PLUS_TARGET.\n\
|
|||
\n\ |
|||
USE_UTF8=1 - Request UTF-8 enabled webif by default.\n\
|
|||
\n\ |
|||
Automatically intialized variables:\n\
|
|||
\n\ |
|||
TARGET=text - This variable is auto detected by using the compiler's\n\
|
|||
-dumpmachine output. To see the target on your machine run:\n\
|
|||
'gcc -dumpmachine'\n\
|
|||
\n\ |
|||
PLUS_TARGET - This variable is added to TARGET and it is set depending\n\
|
|||
on the chosen USE_xxx flags. To disable adding\n\
|
|||
PLUS_TARGET to TARGET, set NO_PLUS_TARGET=1\n\
|
|||
\n\ |
|||
BINDIR - The directory where final oscam binary would be put. The\n\
|
|||
default is: $(BINDIR)\n\
|
|||
\n\ |
|||
OSCAM_BIN=text - This variable controls how the oscam binary will be named.\n\
|
|||
Default OSCAM_BIN value is:\n\
|
|||
'BINDIR/oscam-VERSVN_REV-TARGET'\n\
|
|||
Once the variables (BINDIR, VER, SVN_REV and TARGET) are\n\
|
|||
replaced, the resulting filename can look like this:\n\
|
|||
'Distribution/oscam-1.20-unstable_svn7404-i486-slackware-linux-static'\n\
|
|||
For example you can run: 'make OSCAM_BIN=my-oscam'\n\
|
|||
\n\ |
|||
Binaries compiled and run during the OSCam build:\n\
|
|||
\n\ |
|||
OSCam builds webif/pages_gen binary that is run by the build system to\n\
|
|||
generate file that holds web pages. To build this binary two variables\n\
|
|||
are used:\n\
|
|||
\n\ |
|||
HOSTCC=gcc - The compiler used for building binaries that are run on\n\
|
|||
the build machine (the host). Default: gcc\n\
|
|||
To use clang for example run: make CC=clang HOSTCC=clang\n\
|
|||
\n\ |
|||
HOSTCFLAGS=xxx - The CFLAGS passed to HOSTCC. See webif/Makefile for the\n\
|
|||
default host cflags.\n\
|
|||
\n\ |
|||
Config targets:\n\
|
|||
make config - Start configuration utility.\n\
|
|||
make allyesconfig - Enable all configuration options.\n\
|
|||
make allnoconfig - Disable all configuration options.\n\
|
|||
make defconfig - Restore default configuration options.\n\
|
|||
\n\ |
|||
Cleaning targets:\n\
|
|||
make clean - Remove '$(BUILD_DIR)' directory which contains compiled\n\
|
|||
object files.\n\
|
|||
make distclean - Executes clean target and also removes binary files\n\
|
|||
located in '$(BINDIR)' directory.\n\
|
|||
\n\ |
|||
Build system files:\n\
|
|||
config.sh - OSCam configuration. Run 'config.sh --help' to see\n\
|
|||
available parameters or 'make config' to start GUI\n\
|
|||
configuratior.\n\
|
|||
Makefile - Main build system file.\n\
|
|||
Makefile.extra - Contains predefined targets. You can use this file\n\
|
|||
as example on how to use the build system.\n\
|
|||
Makefile.local - This file is included in Makefile and allows creation\n\
|
|||
of local build system targets. See Makefile.extra for\n\
|
|||
examples.\n\
|
|||
\n\ |
|||
Here are some of the interesting predefined targets in Makefile.extra.\n\
|
|||
To use them run 'make target ...' where ... can be any extra flag. For\n\
|
|||
example if you want to compile OSCam for Dreambox (DM500) but do not\n\
|
|||
have the compilers in the path, you can run:\n\
|
|||
make dm500 CROSS_DIR=/opt/cross/dm500/cdk/bin/\n\
|
|||
\n\ |
|||
Predefined targets in Makefile.extra:\n\
|
|||
\n\ |
|||
make libusb - Builds OSCam with libusb support\n\
|
|||
make pcsc - Builds OSCam with PCSC support\n\
|
|||
make pcsc-libusb - Builds OSCam with PCSC and libusb support\n\
|
|||
make dm500 - Builds OSCam for Dreambox (DM500)\n\
|
|||
make sh4 - Builds OSCam for SH4 boxes\n\
|
|||
make azbox - Builds OSCam for AZBox STBs\n\
|
|||
make mca - Builds OSCam for Matrix Cam Air (MCA)\n\
|
|||
make coolstream - Builds OSCam for Coolstream HD1\n\
|
|||
make coolstream2 - Builds OSCam for Coolstream HD2\n\
|
|||
make dockstar - Builds OSCam for Dockstar\n\
|
|||
make qboxhd - Builds OSCam for QBoxHD STBs\n\
|
|||
make opensolaris - Builds OSCam for OpenSolaris\n\
|
|||
make uclinux - Builds OSCam for m68k uClinux\n\
|
|||
\n\ |
|||
Predefined targets for static builds:\n\
|
|||
make static - Builds OSCam statically\n\
|
|||
make static-libusb - Builds OSCam with libusb linked statically\n\
|
|||
make static-libcrypto - Builds OSCam with libcrypto linked statically\n\
|
|||
make static-ssl - Builds OSCam with SSL support linked statically\n\
|
|||
\n\ |
|||
Developer targets:\n\
|
|||
make tests - Builds '$(TESTS_BIN)' binary\n\
|
|||
\n\ |
|||
Examples:\n\
|
|||
Build OSCam for SH4 (the compilers are in the path):\n\
|
|||
make CROSS=sh4-linux-\n\n\
|
|||
Build OSCam for SH4 (the compilers are in not in the path):\n\
|
|||
make sh4 CROSS_DIR=/opt/STM/STLinux-2.3/devkit/sh4/bin/\n\
|
|||
make CROSS_DIR=/opt/STM/STLinux-2.3/devkit/sh4/bin/ CROSS=sh4-linux-\n\
|
|||
make CROSS=/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-\n\n\
|
|||
Build OSCam for SH4 with STAPI:\n\
|
|||
make CROSS=sh4-linux- USE_STAPI=1\n\n\
|
|||
Build OSCam for SH4 with STAPI and changed configuration directory:\n\
|
|||
make CROSS=sh4-linux- USE_STAPI=1 CONF_DIR=/var/tuxbox/config\n\n\
|
|||
Build OSCam for ARM with COOLAPI (coolstream aka NeutrinoHD):\n\
|
|||
make CROSS=arm-cx2450x-linux-gnueabi- USE_COOLAPI=1\n\n\
|
|||
Build OSCam for ARM with COOLAPI2 (coolstream aka NeutrinoHD):\n\
|
|||
make CROSS=arm-pnx8400-linux-uclibcgnueabi- USE_COOLAPI2=1\n\n\
|
|||
Build OSCam for MIPSEL with AZBOX support:\n\
|
|||
make CROSS=mipsel-linux-uclibc- USE_AZBOX=1\n\n\
|
|||
Build OSCam for ARM with MCA support:\n\
|
|||
make CROSS=arm-none-linux-gnueabi- USE_MCA=1\n\n\
|
|||
Build OSCam with libusb and PCSC:\n\
|
|||
make USE_LIBUSB=1 USE_PCSC=1\n\n\
|
|||
Build OSCam with static libusb:\n\
|
|||
make USE_LIBUSB=1 LIBUSB_LIB=\"/usr/lib/libusb-1.0.a\"\n\n\
|
|||
Build OSCam with static libcrypto:\n\
|
|||
make USE_LIBCRYPTO=1 LIBCRYPTO_LIB=\"/usr/lib/libcrypto.a\"\n\n\
|
|||
Build OSCam with static libssl and libcrypto:\n\
|
|||
make USE_SSL=1 SSL_LIB=\"/usr/lib/libssl.a\" LIBCRYPTO_LIB=\"/usr/lib/libcrypto.a\"\n\n\
|
|||
Build with verbose messages and size optimizations:\n\
|
|||
make V=1 CC_OPTS=-Os\n\n\
|
|||
Build and set oscam file name:\n\
|
|||
make OSCAM_BIN=oscam\n\n\
|
|||
Build and set oscam file name depending on revision:\n\
|
|||
make OSCAM_BIN=oscam-\`./config.sh -r\`\n\n\
|
|||
" |
|||
|
|||
simple: all |
|||
default: all |
|||
debug: all |
|||
|
|||
-include Makefile.extra |
|||
-include Makefile.local |
@ -0,0 +1 @@ |
|||
-O1 |
@ -0,0 +1,3 @@ |
|||
-O0 optimization for time |
|||
-O2 optimization (oscam default) |
|||
-Os optimization for code size |
@ -0,0 +1,752 @@ |
|||
#!/bin/sh |
|||
|
|||
addons="WEBIF WEBIF_LIVELOG WEBIF_JQUERY TOUCH WITH_SSL HAVE_DVBAPI WITH_NEUTRINO READ_SDT_CHARSETS IRDETO_GUESSING CS_ANTICASC WITH_DEBUG MODULE_MONITOR WITH_LB CS_CACHEEX CW_CYCLE_CHECK LCDSUPPORT LEDSUPPORT CLOCKFIX IPV6SUPPORT" |
|||
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" |
|||
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" |
|||
card_readers="CARDREADER_PHOENIX CARDREADER_INTERNAL CARDREADER_SC8IN1 CARDREADER_MP35 CARDREADER_SMARGO CARDREADER_DB2COM CARDREADER_STAPI CARDREADER_STAPI5 CARDREADER_STINGER CARDREADER_DRECAS" |
|||
|
|||
defconfig=" |
|||
CONFIG_WEBIF=y |
|||
CONFIG_WEBIF_LIVELOG=y |
|||
CONFIG_WEBIF_JQUERY=y |
|||
CONFIG_TOUCH=y |
|||
# CONFIG_WITH_SSL=n |
|||
CONFIG_HAVE_DVBAPI=y |
|||
# CONFIG_WITH_NEUTRINO=n |
|||
CONFIG_READ_SDT_CHARSETS=y |
|||
CONFIG_IRDETO_GUESSING=y |
|||
CONFIG_CS_ANTICASC=y |
|||
CONFIG_WITH_DEBUG=y |
|||
CONFIG_MODULE_MONITOR=y |
|||
CONFIG_WITH_LB=y |
|||
CONFIG_CS_CACHEEX=y |
|||
CONFIG_CW_CYCLE_CHECK=y |
|||
# CONFIG_LCDSUPPORT=n |
|||
# CONFIG_LEDSUPPORT=n |
|||
CONFIG_CLOCKFIX=y |
|||
# CONFIG_IPV6SUPPORT=n |
|||
# CONFIG_MODULE_CAMD33=n |
|||
CONFIG_MODULE_CAMD35=y |
|||
CONFIG_MODULE_CAMD35_TCP=y |
|||
CONFIG_MODULE_NEWCAMD=y |
|||
CONFIG_MODULE_CCCAM=y |
|||
CONFIG_MODULE_CCCSHARE=y |
|||
CONFIG_MODULE_GBOX=y |
|||
CONFIG_MODULE_RADEGAST=y |
|||
CONFIG_MODULE_SERIAL=y |
|||
CONFIG_MODULE_CONSTCW=y |
|||
CONFIG_MODULE_PANDORA=y |
|||
CONFIG_MODULE_SCAM=y |
|||
CONFIG_MODULE_GHTTP=y |
|||
CONFIG_WITH_CARDREADER=y |
|||
CONFIG_READER_NAGRA_COMMON=y |
|||
CONFIG_READER_NAGRA=y |
|||
CONFIG_READER_NAGRA_MERLIN=y |
|||
CONFIG_READER_IRDETO=y |
|||
CONFIG_READER_CONAX=y |
|||
CONFIG_READER_CRYPTOWORKS=y |
|||
CONFIG_READER_SECA=y |
|||
CONFIG_READER_VIACCESS=y |
|||
CONFIG_READER_VIDEOGUARD=y |
|||
CONFIG_READER_DRE=y |
|||
CONFIG_READER_TONGFANG=y |
|||
CONFIG_READER_BULCRYPT=y |
|||
CONFIG_READER_GRIFFIN=y |
|||
CONFIG_READER_DGCRYPT=y |
|||
CARDREADER_PHOENIX=y |
|||
CARDREADER_DRECAS=y |
|||
CARDREADER_INTERNAL=y |
|||
CARDREADER_SC8IN1=y |
|||
CARDREADER_MP35=y |
|||
CARDREADER_SMARGO=y |
|||
CARDREADER_DB2COM=y |
|||
CARDREADER_STAPI=y |
|||
# CARDREADER_STAPI5=n |
|||
CARDREADER_STINGER=y |
|||
" |
|||
|
|||
usage() { |
|||
echo \ |
|||
"OSCam config |
|||
Usage: `basename $0` [parameters] |
|||
|
|||
-g, --gui Start interactive configuration |
|||
|
|||
-s, --show-enabled [param] Show enabled configuration options. |
|||
-Z, --show-disabled [param] Show disabled configuration options. |
|||
-S, --show-valid [param] Show valid configuration options. |
|||
Possible params: all, addons, protocols, |
|||
readers, card_readers |
|||
|
|||
-l, --list-config List active configuration variables. |
|||
-e, --enabled [option] Check if certain option is enabled. |
|||
-d, --disabled [option] Check if certain option is disabled. |
|||
|
|||
-E, --enable [option] Enable config option. |
|||
-D, --disable [option] Disable config option. |
|||
|
|||
The following [option]s enable or disable multiple settings. |
|||
all - Everything. |
|||
addons - All addons. |
|||
protocols - All protocols. |
|||
readers - All readers. |
|||
card_readers - All card readers. |
|||
|
|||
-R, --restore Restore default config. |
|||
|
|||
-v, --oscam-version Display OSCam version. |
|||
-r, --oscam-revision Display OSCam SVN revision. |
|||
|
|||
-O, --detect-osx-sdk-version Find where OS X SDK is located |
|||
|
|||
-h, --help Display this help text. |
|||
|
|||
Examples: |
|||
# Enable WEBIF and SSL |
|||
./config.sh --enable WEBIF WITH_SSL |
|||
|
|||
# Disable WEBIF but enable WITH_SSL |
|||
./config.sh --disable WEBIF --enable WITH_SSL |
|||
|
|||
# Restore defaults and disable WEBIF and READER_NAGRA |
|||
./config.sh --restore --disable WEBIF READER_NAGRA |
|||
|
|||
# Use default config with only one enabled reader |
|||
./config.sh --restore --disable readers --enable READER_BULCRYPT |
|||
|
|||
# Disable everything and enable webif one module and one card reader |
|||
./config.sh --disable all --enable WEBIF MODULE_NEWCAMD READER_BULCRYPT |
|||
|
|||
# Disable all card readers except INTERNAL |
|||
./config.sh -D card_readers -E CARDREADER_INTERNAL |
|||
|
|||
Available options: |
|||
addons: $addons |
|||
protocols: $protocols |
|||
readers: $readers |
|||
card_readers: $card_readers |
|||
" |
|||
} |
|||
|
|||
# Output directory for config.mak set by --objdir parameter |
|||
OBJDIR=. |
|||
|
|||
# Use flags set by --use-flags parameter |
|||
USE_FLAGS= |
|||
|
|||
have_flag() { |
|||
for FLAG in $USE_FLAGS |
|||
do |
|||
[ "$FLAG" = "$1" ] && return 0 |
|||
done |
|||
return 1 |
|||
} |
|||
|
|||
have_all_flags() { |
|||
for opt ; do |
|||
have_flag $opt || return 1 |
|||
done |
|||
return 0 |
|||
} |
|||
|
|||
have_any_flags() { |
|||
for opt ; do |
|||
have_flag $opt && return 0 |
|||
done |
|||
return 1 |
|||
} |
|||
|
|||
not_have_flag() { |
|||
for FLAG in $USE_FLAGS |
|||
do |
|||
[ "$FLAG" = "$1" ] && return 1 |
|||
done |
|||
return 0 |
|||
} |
|||
|
|||
not_have_all_flags() { |
|||
for opt ; do |
|||
not_have_flag $opt || return 1 |
|||
done |
|||
return 0 |
|||
} |
|||
|
|||
not_have_any_flags() { |
|||
for opt ; do |
|||
not_have_flag $opt && return 0 |
|||
done |
|||
return 1 |
|||
} |
|||
|
|||
# Config functions |
|||
enabled() { |
|||
grep "^\#define $1 1$" config.h >/dev/null 2>/dev/null |
|||
return $? |
|||
} |
|||
|
|||
disabled() { |
|||
grep "^\#define $1 1$" config.h >/dev/null 2>/dev/null |
|||
test $? = 0 && return 1 |
|||
return 0 |
|||
} |
|||
|
|||
enabled_all() { |
|||
for opt ; do |
|||
enabled $opt || return 1 |
|||
done |
|||
return 0 |
|||
} |
|||
|
|||
disabled_all() { |
|||
for opt ; do |
|||
disabled $opt || return 1 |
|||
done |
|||
return 0 |
|||
} |
|||
|
|||
enabled_any() { |
|||
for opt ; do |
|||
enabled $opt && return 0 |
|||
done |
|||
return 1 |
|||
} |
|||
|
|||
disabled_any() { |
|||
for opt ; do |
|||
disabled $opt && return 0 |
|||
done |
|||
return 1 |
|||
} |
|||
|
|||
list_enabled() { |
|||
for OPT in $@ |
|||
do |
|||
enabled $OPT && echo $OPT |
|||
done |
|||
} |
|||
|
|||
list_disabled() { |
|||
for OPT in $@ |
|||
do |
|||
disabled $OPT && echo $OPT |
|||
done |
|||
} |
|||
|
|||
write_enabled() { |
|||
defined_file="webif/is_defined.txt" |
|||
pages_c="webif/pages.c" |
|||
rm -f $defined_file $pages_c 2>/dev/null |
|||
for OPT in $(get_opts) WITH_CARDREADER |
|||
do |
|||
enabled $OPT && printf "%s\n" $OPT >> $defined_file |
|||
done |
|||
} |
|||
|
|||
valid_opt() { |
|||
[ "$1" = "WITH_CARDREADER" ] && return 0 # Special case |
|||
echo $addons $protocols $readers $card_readers | grep -w "$1" >/dev/null |
|||
return $? |
|||
} |
|||
|
|||
enable_opt() { |
|||
valid_opt $1 && disabled $1 && { |
|||
sed -e "s|//#define $1 1$|#define $1 1|g" config.h > config.h.tmp && \ |
|||
mv config.h.tmp config.h |
|||
echo "Enable $1" |
|||
} |
|||
} |
|||
|
|||
enable_opts() { |
|||
for OPT in $@ |
|||
do |
|||
enable_opt $OPT |
|||
done |
|||
} |
|||
|
|||
disable_opt() { |
|||
valid_opt $1 && enabled $1 && { |
|||
sed -e "s|#define $1 1$|//#define $1 1|g" config.h > config.h.tmp && \ |
|||
mv config.h.tmp config.h |
|||
echo "Disable $1" |
|||
} |
|||
} |
|||
|
|||
disable_opts() { |
|||
for OPT in $@ |
|||
do |
|||
disable_opt $OPT |
|||
done |
|||
} |
|||
|
|||
get_opts() { |
|||
OPTS="" |
|||
case "$1" in |
|||
'addons') OPTS="$addons" ; ;; |
|||
'protocols') OPTS="$protocols" ; ;; |
|||
'readers') OPTS="$readers" ; ;; |
|||
'card_readers') OPTS="$card_readers" ; ;; |
|||
*) OPTS="$addons $protocols $readers $card_readers" ; ;; |
|||
esac |
|||
echo $OPTS |
|||
} |
|||
|
|||
update_deps() { |
|||
# Calculate dependencies |
|||
enabled_any $(get_opts readers) $(get_opts card_readers) && enable_opt WITH_CARDREADER >/dev/null |
|||
disabled_all $(get_opts readers) $(get_opts card_readers) && disable_opt WITH_CARDREADER >/dev/null |
|||
disabled WEBIF && disable_opt WEBIF_LIVELOG >/dev/null |
|||
disabled WEBIF && disable_opt WEBIF_JQUERY >/dev/null |
|||
enabled MODULE_CCCSHARE && enable_opt MODULE_CCCAM >/dev/null |
|||
enabled_any CARDREADER_DB2COM CARDREADER_MP35 CARDREADER_SC8IN1 CARDREADER_STINGER && enable_opt CARDREADER_PHOENIX >/dev/null |
|||
} |
|||
|
|||
list_config() { |
|||
update_deps |
|||
# Handle use flags |
|||
have_flag USE_STAPI && echo "CONFIG_WITH_STAPI=y" || echo "# CONFIG_WITH_STAPI=n" |
|||
have_flag USE_STAPI5 && echo "CONFIG_WITH_STAPI5=y" || echo "# CONFIG_WITH_STAPI5=n" |
|||
have_flag USE_COOLAPI && echo "CONFIG_WITH_COOLAPI=y" || echo "# CONFIG_WITH_COOLAPI=n" |
|||
have_flag USE_COOLAPI2 && echo "CONFIG_WITH_COOLAPI2=y" || echo "# CONFIG_WITH_COOLAPI2=n" |
|||
have_flag USE_SU980 && echo "CONFIG_WITH_SU980=y" || echo "# CONFIG_WITH_SU980=n" |
|||
have_flag USE_AZBOX && echo "CONFIG_WITH_AZBOX=y" || echo "# CONFIG_WITH_AZBOX=n" |
|||
have_flag USE_MCA && echo "CONFIG_WITH_MCA=y" || echo "# CONFIG_WITH_MCA=n" |
|||
have_flag USE_LIBCRYPTO && echo "CONFIG_WITH_LIBCRYPTO=y" || echo "# CONFIG_WITH_LIBCRYPTO=n" |
|||
for OPT in $addons $protocols WITH_CARDREADER $readers |
|||
do |
|||
enabled $OPT && echo "CONFIG_$OPT=y" || echo "# CONFIG_$OPT=n" |
|||
done |
|||
for OPT in $card_readers |
|||
do |
|||
if [ $OPT = CARDREADER_INTERNAL ] |
|||
then |
|||
# Internal card reader is actually three different readers depending on USE flags |
|||
enabled $OPT && have_flag USE_AZBOX && echo "CONFIG_${OPT}_AZBOX=y" || echo "# CONFIG_${OPT}_AZBOX=n" |
|||
enabled $OPT && have_any_flags USE_COOLAPI USE_SU980 && echo "CONFIG_${OPT}_COOLAPI=y" || echo "# CONFIG_${OPT}_COOLAPI=n" |
|||
enabled $OPT && have_flag USE_COOLAPI2 && echo "CONFIG_${OPT}_COOLAPI2=y" || echo "# CONFIG_${OPT}_COOLAPI2=n" |
|||
enabled $OPT && not_have_all_flags USE_AZBOX USE_COOLAPI USE_COOLAPI2 USE_SU980 && echo "CONFIG_${OPT}_SCI=y" || echo "# CONFIG_${OPT}_SCI=n" |
|||
continue |
|||
fi |
|||
if [ $OPT = CARDREADER_STAPI ] |
|||
then |
|||
# Enable CARDREADER_STAPI only if USE_STAPI is set |
|||
enabled $OPT && have_flag USE_STAPI && echo "CONFIG_$OPT=y" || echo "# CONFIG_$OPT=n" |
|||
continue |
|||
fi |
|||
if [ $OPT = CARDREADER_STAPI5 ] |
|||
then |
|||
# Enable CARDREADER_STAPI5 only if USE_STAPI5 is set |
|||
enabled $OPT && have_flag USE_STAPI5 && echo "CONFIG_$OPT=y" || echo "# CONFIG_$OPT=n" |
|||
continue |
|||
fi |
|||
enabled $OPT && echo "CONFIG_$OPT=y" || echo "# CONFIG_$OPT=n" |
|||
done |
|||
have_flag USE_LIBUSB && echo "CONFIG_CARDREADER_SMART=y" || echo "# CONFIG_CARDREADER_SMART=n" |
|||
have_flag USE_PCSC && echo "CONFIG_CARDREADER_PCSC=y" || echo "# CONFIG_CARDREADER_PCSC=n" |
|||
# Extra modules/libraries |
|||
enabled_any MODULE_GBOX WEBIF && echo "CONFIG_LIB_MINILZO=y" || echo "# CONFIG_LIB_MINILZO=n" |
|||
not_have_flag USE_LIBCRYPTO && echo "CONFIG_LIB_AES=y" || echo "# CONFIG_LIB_AES=n" |
|||
enabled MODULE_CCCAM && echo "CONFIG_LIB_RC6=y" || echo "# CONFIG_LIB_RC6=n" |
|||
not_have_flag USE_LIBCRYPTO && enabled MODULE_CCCAM && echo "CONFIG_LIB_SHA1=y" || echo "# CONFIG_LIB_SHA1=n" |
|||
enabled_any READER_DRE MODULE_SCAM READER_VIACCESS READER_NAGRA_MERLIN && echo "CONFIG_LIB_DES=y" || echo "# CONFIG_LIB_DES=n" |
|||
enabled_any MODULE_CCCAM READER_NAGRA READER_NAGRA_MERLIN READER_SECA && echo "CONFIG_LIB_IDEA=y" || echo "# CONFIG_LIB_IDEA=n" |
|||
not_have_flag USE_LIBCRYPTO && enabled_any READER_CONAX READER_CRYPTOWORKS READER_NAGRA READER_NAGRA_MERLIN && echo "CONFIG_LIB_BIGNUM=y" || echo "# CONFIG_LIB_BIGNUM=n" |
|||
enabled READER_NAGRA_MERLIN && echo "CONFIG_LIB_MDC2=y" || echo "# CONFIG_LIB_MDC2=n" |
|||
enabled READER_NAGRA_MERLIN && echo "CONFIG_LIB_FAST_AES=y" || echo "# CONFIG_LIB_FAST_AES=n" |
|||
enabled READER_NAGRA_MERLIN && echo "CONFIG_LIB_SHA256=y" || echo "# CONFIG_LIB_SHA256=n" |
|||
enabled_any READER_NAGRA READER_NAGRA_MERLIN && echo "CONFIG_READER_NAGRA_COMMON=y" || echo "# CONFIG_READER_NAGRA_COMMON=n" |
|||
} |
|||
|
|||
make_config_c() { |
|||
OPENSSL=$(which openssl 2>/dev/null) |
|||
if [ "$OPENSSL" = "" ] |
|||
then |
|||
echo "// openssl not found!" |
|||
echo "const char *config_mak = \"CFG: openssl not found in PATH!\";" |
|||
else |
|||
echo "// This file is generated by ./config.sh --objdir $OBJDIR --make-config.mak" |
|||
echo "const char *config_mak =" |
|||
printf " \"\\\nCFG: strings FILE | sed -n 's/^CFG~//p' | openssl enc -d -base64 | gzip -d\\\n\"\n" |
|||
gzip -9 < $OBJDIR/config.mak | $OPENSSL enc -base64 | while read LINE |
|||
do |
|||
printf " \"CFG~%s\\\\n\"\n" "$LINE" |
|||
done |
|||
echo " ;" |
|||
fi |
|||
} |
|||
|
|||
make_config_mak() { |
|||
TMPFILE=$(mktemp -t config.mak.XXXXXX) || exit 1 |
|||
list_config > $TMPFILE |
|||
[ ! -d $OBJDIR ] && mkdir -p $OBJDIR 2>/dev/null |
|||
cmp $TMPFILE $OBJDIR/config.mak >/dev/null 2>/dev/null |
|||
if [ $? != 0 ] |
|||
then |
|||
cat $TMPFILE > $OBJDIR/config.mak |
|||
make_config_c > $OBJDIR/config.c |
|||
else |
|||
make_config_c > $TMPFILE |
|||
cmp $TMPFILE $OBJDIR/config.c >/dev/null 2>/dev/null |
|||
[ $? != 0 ] && cat $TMPFILE > $OBJDIR/config.c |
|||
fi |
|||
rm -rf $TMPFILE |
|||
} |
|||
|
|||
check_test() { |
|||
if [ "$(cat $tempfileconfig | grep "^#define $1 1$")" != "" ]; then |
|||
echo "on" |
|||
else |
|||
echo "off" |
|||
fi |
|||
} |
|||
|
|||
disable_all() { |
|||
for i in $1; do |
|||
sed -e "s/^#define ${i} 1$/\/\/#define ${i} 1/g" $tempfileconfig > ${tempfileconfig}.tmp && \ |
|||
mv ${tempfileconfig}.tmp $tempfileconfig |
|||
done |
|||
} |
|||
|
|||
enable_package() { |
|||
for i in $(cat $tempfile); do |
|||
strip=$(echo $i | sed "s/\"//g") |
|||
sed -e "s/\/\/#define ${strip} 1$/#define ${strip} 1/g" $tempfileconfig > ${tempfileconfig}.tmp && \ |
|||
mv ${tempfileconfig}.tmp $tempfileconfig |
|||
done |
|||
} |
|||
|
|||
print_components() { |
|||
clear |
|||
echo "You have selected the following components:" |
|||
echo |
|||
echo "Add-ons:" |
|||
for i in $addons; do |
|||
printf "\t%-20s: %s\n" $i $(check_test "$i") |
|||
done |
|||
|
|||
echo |
|||
echo "Protocols:" |
|||
for i in $protocols; do |
|||
printf "\t%-20s: %s\n" $i $(check_test "$i") |
|||
done |
|||
|
|||
echo |
|||
echo "Readers:" |
|||
for i in $readers; do |
|||
printf "\t%-20s: %s\n" $i $(check_test "$i") |
|||
done |
|||
|
|||
echo |
|||
echo "Card readers:" |
|||
for i in $card_readers; do |
|||
printf "\t%-20s: %s\n" $i $(check_test "$i") |
|||
done |
|||
|
|||
cp -f $tempfileconfig $configfile |
|||
} |
|||
|
|||
menu_addons() { |
|||
${DIALOG} --checklist "\nChoose add-ons:\n " $height $width $listheight \ |
|||
WEBIF "Web Interface" $(check_test "WEBIF") \ |
|||
WEBIF_LIVELOG "LiveLog" $(check_test "WEBIF_LIVELOG") \ |
|||
WEBIF_JQUERY "Jquery onboard (if disabled webload)" $(check_test "WEBIF_JQUERY") \ |
|||
TOUCH "Touch Web Interface" $(check_test "TOUCH") \ |
|||
WITH_SSL "OpenSSL support" $(check_test "WITH_SSL") \ |
|||
HAVE_DVBAPI "DVB API" $(check_test "HAVE_DVBAPI") \ |
|||
WITH_NEUTRINO "Neutrino support" $(check_test "WITH_NEUTRINO") \ |
|||
READ_SDT_CHARSETS "DVB API read-sdt charsets" $(check_test "READ_SDT_CHARSETS") \ |
|||
IRDETO_GUESSING "Irdeto guessing" $(check_test "IRDETO_GUESSING") \ |
|||
CS_ANTICASC "Anti cascading" $(check_test "CS_ANTICASC") \ |
|||
WITH_DEBUG "Debug messages" $(check_test "WITH_DEBUG") \ |
|||
MODULE_MONITOR "Monitor" $(check_test "MODULE_MONITOR") \ |
|||
WITH_LB "Loadbalancing" $(check_test "WITH_LB") \ |
|||
CS_CACHEEX "Cache exchange" $(check_test "CS_CACHEEX") \ |
|||
CW_CYCLE_CHECK "CW Cycle Check" $(check_test "CW_CYCLE_CHECK") \ |
|||
LCDSUPPORT "LCD support" $(check_test "LCDSUPPORT") \ |
|||
LEDSUPPORT "LED support" $(check_test "LEDSUPPORT") \ |
|||
CLOCKFIX "Clockfix (disable on old systems!)" $(check_test "CLOCKFIX") \ |
|||
IPV6SUPPORT "IPv6 support (experimental)" $(check_test "IPV6SUPPORT") \ |
|||
2> ${tempfile} |
|||
|
|||
opt=${?} |
|||
if [ $opt != 0 ]; then return; fi |
|||
|
|||
disable_all "$addons" |
|||
enable_package |
|||
} |
|||
|
|||
menu_protocols() { |
|||
${DIALOG} --checklist "\nChoose protocols:\n " $height $width $listheight \ |
|||
MODULE_CAMD33 "camd 3.3" $(check_test "MODULE_CAMD33") \ |
|||
MODULE_CAMD35 "camd 3.5 UDP" $(check_test "MODULE_CAMD35") \ |
|||
MODULE_CAMD35_TCP "camd 3.5 TCP" $(check_test "MODULE_CAMD35_TCP") \ |
|||
MODULE_NEWCAMD "newcamd" $(check_test "MODULE_NEWCAMD") \ |
|||
MODULE_CCCAM "CCcam" $(check_test "MODULE_CCCAM") \ |
|||
MODULE_CCCSHARE "CCcam share" $(check_test "MODULE_CCCSHARE") \ |
|||
MODULE_GBOX "gbox" $(check_test "MODULE_GBOX") \ |
|||
MODULE_RADEGAST "radegast" $(check_test "MODULE_RADEGAST") \ |
|||
MODULE_SERIAL "Serial" $(check_test "MODULE_SERIAL") \ |
|||
MODULE_CONSTCW "constant CW" $(check_test "MODULE_CONSTCW") \ |
|||
MODULE_PANDORA "Pandora" $(check_test "MODULE_PANDORA") \ |
|||
MODULE_GHTTP "Ghttp" $(check_test "MODULE_GHTTP") \ |
|||
MODULE_SCAM "scam" $(check_test "MODULE_SCAM") \ |
|||
2> ${tempfile} |
|||
|
|||
opt=${?} |
|||
if [ $opt != 0 ]; then return; fi |
|||
|
|||
disable_all "$protocols" |
|||
enable_package |
|||
} |
|||
|
|||
menu_readers() { |
|||
${DIALOG} --checklist "\nChoose readers (CA systems):\n " $height $width $listheight \ |
|||
READER_NAGRA "Nagravision" $(check_test "READER_NAGRA") \ |
|||
READER_NAGRA_MERLIN "Nagra Merlin" $(check_test "READER_NAGRA_MERLIN") \ |
|||
READER_IRDETO "Irdeto" $(check_test "READER_IRDETO") \ |
|||
READER_CONAX "Conax" $(check_test "READER_CONAX") \ |
|||
READER_CRYPTOWORKS "Cryptoworks" $(check_test "READER_CRYPTOWORKS") \ |
|||
READER_SECA "Seca" $(check_test "READER_SECA") \ |
|||
READER_VIACCESS "Viaccess" $(check_test "READER_VIACCESS") \ |
|||
READER_VIDEOGUARD "NDS Videoguard" $(check_test "READER_VIDEOGUARD") \ |
|||
READER_DRE "DRE Crypt" $(check_test "READER_DRE") \ |
|||
READER_TONGFANG "Tongfang" $(check_test "READER_TONGFANG") \ |
|||
READER_BULCRYPT "Bulcrypt" $(check_test "READER_BULCRYPT") \ |
|||
READER_GRIFFIN "Griffin" $(check_test "READER_GRIFFIN") \ |
|||
READER_DGCRYPT "DGCrypt" $(check_test "READER_DGCRYPT") \ |
|||
2> ${tempfile} |
|||
|
|||
opt=${?} |
|||
if [ $opt != 0 ]; then return; fi |
|||
|
|||
disable_all "$readers" |
|||
enable_package |
|||
} |
|||
|
|||
menu_card_readers() { |
|||
${DIALOG} --checklist "\nChoose card reader drivers:\n " $height $width $listheight \ |
|||
CARDREADER_PHOENIX "Phoenix/mouse" $(check_test "CARDREADER_PHOENIX") \ |
|||
CARDREADER_INTERNAL "Internal (Sci,Azbox,Cool)" $(check_test "CARDREADER_INTERNAL") \ |
|||
CARDREADER_SC8IN1 "SC8in1" $(check_test "CARDREADER_SC8IN1") \ |
|||
CARDREADER_MP35 "AD-Teknik MP 3.6/USB Phoenix" $(check_test "CARDREADER_MP35") \ |
|||
CARDREADER_SMARGO "Argolis Smargo Smartreader" $(check_test "CARDREADER_SMARGO") \ |
|||
CARDREADER_DB2COM "dbox2" $(check_test "CARDREADER_DB2COM") \ |
|||
CARDREADER_STAPI "STAPI" $(check_test "CARDREADER_STAPI") \ |
|||
CARDREADER_STAPI5 "STAPI5" $(check_test "CARDREADER_STAPI5") \ |
|||
CARDREADER_STINGER "STINGER" $(check_test "CARDREADER_STINGER") \ |
|||
CARDREADER_DRECAS "DRECAS" $(check_test "CARDREADER_DRECAS") \ |
|||
2> ${tempfile} |
|||
|
|||
opt=${?} |
|||
if [ $opt != 0 ]; then return; fi |
|||
|
|||
disable_all "$card_readers" |
|||
enable_package |
|||
} |
|||
|
|||
|
|||
config_dialog() { |
|||
height=30 |
|||
width=65 |
|||
listheight=16 |
|||
|
|||
DIALOG=${DIALOG:-`which dialog`} |
|||
if [ -z "${DIALOG}" ]; then |
|||
echo "Please install dialog package." 1>&2 |
|||
exit 1 |
|||
fi |
|||
|
|||
configfile=config.h |
|||
tempfile=$(mktemp -t oscam-config.dialog.XXXXXX) || exit 1 |
|||
tempfileconfig=$(mktemp -t oscam-config.h.XXXXXX) || exit 1 |
|||
trap 'rm -f $tempfile $tempfileconfig $tempfileconfig.bak 2>/dev/null' INT TERM EXIT |
|||
cp -f $configfile $tempfileconfig |
|||
|
|||
while true; do |
|||
${DIALOG} --menu "\nSelect category:\n " $height $width $listheight \ |
|||
Add-ons "Add-ons" \ |
|||
Protocols "Network protocols" \ |
|||
Readers "Readers (CA systems)" \ |
|||
CardReaders "Card reader drivers" \ |
|||
Save "Save" \ |
|||
2> ${tempfile} |
|||
|
|||
opt=${?} |
|||
if [ $opt != 0 ]; then clear; exit; fi |
|||
|
|||
menuitem=$(cat $tempfile) |
|||
case $menuitem in |
|||
Add-ons) menu_addons ;; |
|||
Protocols) menu_protocols ;; |
|||
Readers) menu_readers ;; |
|||
CardReaders) menu_card_readers ;; |
|||
Save) |
|||
print_components |
|||
update_deps |
|||
write_enabled |
|||
exit 0 |
|||
;; |
|||
esac |
|||
done |
|||
} |
|||
|
|||
# Change working directory to the directory where the script is |
|||
cd $(dirname $0) |
|||
|
|||
if [ $# = 0 ] |
|||
then |
|||
usage |
|||
exit 1 |
|||
fi |
|||
|
|||
while [ $# -gt 0 ] |
|||
do |
|||
case "$1" in |
|||
'-g'|'--gui'|'--config'|'--menuconfig') |
|||
config_dialog |
|||
break |
|||
;; |
|||
'-s'|'--show-enabled'|'--show') |
|||
shift |
|||
list_enabled $(get_opts $1) |
|||
# Take special care of USE_xxx flags |
|||
if [ "$1" = "card_readers" ] |
|||
then |
|||
have_flag USE_LIBUSB && echo "CARDREADER_SMART" |
|||
have_flag USE_PCSC && echo "CARDREADER_PCSC" |
|||
fi |
|||
break |
|||
;; |
|||
'-Z'|'--show-disabled') |
|||
shift |
|||
list_disabled $(get_opts $1) |
|||
break |
|||
;; |
|||
'-S'|'--show-valid') |
|||
shift |
|||
for OPT in $(get_opts $1) |
|||
do |
|||
echo $OPT |
|||
done |
|||
break |
|||
;; |
|||
'-E'|'--enable') |
|||
shift |
|||
while [ "$1" != "" ] |
|||
do |
|||
case "$1" in |
|||
-*) |
|||
update_deps |
|||
continue 2 |
|||
;; |
|||
all|addons|protocols|readers|card_readers) |
|||
enable_opts $(get_opts $1) |
|||
;; |
|||
*) |
|||
enable_opt "$1" |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
update_deps |
|||
write_enabled |
|||
;; |
|||
'-D'|'--disable') |
|||
shift |
|||
while [ "$1" != "" ] |
|||
do |
|||
case "$1" in |
|||
-*) |
|||
update_deps |
|||
continue 2 |
|||
;; |
|||
all|addons|protocols|readers|card_readers) |
|||
disable_opts $(get_opts $1) |
|||
;; |
|||
*) |
|||
disable_opt "$1" |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
update_deps |
|||
write_enabled |
|||
;; |
|||
'-R'|'--restore') |
|||
echo $defconfig | sed -e 's|# ||g' | xargs printf "%s\n" | grep "=y$" | sed -e 's|^CONFIG_||g;s|=.*||g' | |
|||
while read OPT |
|||
do |
|||
enable_opt "$OPT" |
|||
done |
|||
echo $defconfig | sed -e 's|# ||g' | xargs printf "%s\n" | grep "=n$" | sed -e 's|^CONFIG_||g;s|=.*||g' | |
|||
while read OPT |
|||
do |
|||
disable_opt "$OPT" |
|||
done |
|||
update_deps |
|||
write_enabled |
|||
;; |
|||
'-e'|'--enabled') |
|||
enabled $2 && echo "Y" && exit 0 || echo "N" && exit 1 |
|||
break |
|||
;; |
|||
'-d'|'--disabled') |
|||
disabled $2 && echo "Y" && exit 0 || echo "N" && exit 1 |
|||
break |
|||
;; |
|||
'-v'|'--oscam-version') |
|||
grep CS_VERSION globals.h | cut -d\" -f2 |
|||
break |
|||
;; |
|||
'-r'|'--oscam-revision') |
|||
revision=`(svnversion -n . 2>/dev/null || printf 0) | sed 's/.*://; s/[^0-9]*$//; s/^$/0/'` |
|||
if [ "$revision" = "0" ] |
|||
then |
|||
which git > /dev/null 2>&1 && revision=`git log -10 --pretty=%B | grep git-svn-id | head -n 1 | sed -n -e 's/^.*trunk@\([0-9]*\) .*$/\1/p'` |
|||
fi |
|||
echo $revision |
|||
break |
|||
;; |
|||
'-O'|'--detect-osx-sdk-version') |
|||
shift |
|||
OSX_VER=${1:-10.10} |
|||
for DIR in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX{$OSX_VER,10.10,10.9,10.8,10.7}.sdk /Developer/SDKs/MacOSX{$OSX_VER,10.6,10.5}.sdk |
|||
|
|||
do |
|||
if test -d $DIR |
|||
then |
|||
echo $DIR |
|||
exit 0 |
|||
fi |
|||
done |
|||
echo Cant_find_OSX_SDK |
|||
break |
|||
;; |
|||
'-l'|'--list-config') |
|||
list_config |
|||
exit 0 |
|||
;; |
|||
'-m'|'--make-config.mak') |
|||
make_config_mak |
|||
exit 0 |
|||
;; |
|||
'--use-flags') |
|||
shift |
|||
USE_FLAGS=$1 |
|||
;; |
|||
'--objdir') |
|||
shift |
|||
OBJDIR=$1 |
|||
;; |
|||
'-h'|'--help') |
|||
usage |
|||
break |
|||
;; |
|||
*) |
|||
echo "[WARN] Unknown parameter: $1" >&2 |
|||
;; |
|||
esac |
|||
# Some shells complain when there are no more parameters to shift |
|||
test $# -gt 0 && shift |
|||
done |
|||
|
|||
exit 0 |
@ -0,0 +1 @@ |
|||
16 |
@ -0,0 +1,5 @@ |
|||
put only the count of cpus u want to use in the file !!! |
|||
|
|||
example: |
|||
for 3 of X cpus |
|||
echo 3 >max_cpus |
@ -0,0 +1,8 @@ |
|||
DIRECTMENU=0 |
|||
NO_SVN_AUTOUPDATE=1 |
|||
SAVE_LISTSMARGO=0 |
|||
S3_UPDATE_CHECK=0 |
|||
USE_VERBOSE=0 |
|||
USE_COMPRESS=0 |
|||
USE_TARGZ=0 |
|||
delete_oscamdebugbinary=1 |
@ -0,0 +1,16 @@ |
|||
-1 |
|||
-2 |
|||
-3 |
|||
-4 |
|||
-5 |
|||
-6 |
|||
-7 |
|||
-8 |
|||
-9 |
|||
--best |
|||
--brute |
|||
--ultra-brute |
|||
|
|||
|
|||
-1 #very fast |
|||
--ultra-brute #very slow but very strong |
@ -0,0 +1 @@ |
|||
upx_c=-1 |
@ -0,0 +1,39 @@ |
|||
#!/bin/bash |
|||
|
|||
#usage: |
|||
#to use colors start with initializeANSI first |
|||
#example red color text |
|||
#echo -e $r_n"red text"$re_"normal text" |
|||
|
|||
initializeANSI(){ |
|||
nc='\033[0;'; #nc normal color |
|||
lc='\033[1;'; #lc light color |
|||
# normal |
|||
r_n=$nc'31m'; #red |
|||
g_n=$nc'32m'; #green |
|||
y_n=$nc'33m'; #yellow |
|||
b_n=$nc'34m'; #blue |
|||
p_n=$nc'35m'; #pink |
|||
c_n=$nc'36m'; #cyan |
|||
w_n=$nc'37m'; #white |
|||
#light |
|||
r_l=$lc'31m'; #red |
|||
g_l=$lc'32m'; #green |
|||
y_l=$lc'33m'; #yellow |
|||
b_l=$lc'34m'; #blue |
|||
p_l=$lc'35m'; #pink |
|||
c_l=$lc'36m'; #cyan |
|||
w_l=$lc'37m'; #white |
|||
#reset to normal |
|||
re_='\033[0m'; #resets all colors |
|||
re_f='\033[39m'; #resets only foreground color |
|||
re_b='\033[49m'; #resets only background color |
|||
#sed replace |
|||
W=$(echo -e '\033[0m'); #normal |
|||
Y=$(echo -e '\033[1;33m'); #yellow |
|||
R=$(echo -e '\033[1;31m'); #red |
|||
G=$(echo -e '\033[1;32m'); #green |
|||
P=$(echo -e '\033[1;35m'); #pink |
|||
C=$(echo -e '\033[1;36m'); #cyan |
|||
WH=$(echo -e '\033[1;37m'); #lightgray |
|||
}; |
@ -0,0 +1,54 @@ |
|||
#!/bin/bash |
|||
|
|||
_fill_tc_array(){ |
|||
unset AVAI_TCLIST; |
|||
unset INST_TCLIST; |
|||
tcempty=0; |
|||
cd "$tccfgdir"; |
|||
[ "$(ls -A "$tccfgdir")" ] && AVAI_TCLIST=(*) || echo "error fix it"; |
|||
cd "$tcdir"; |
|||
if [ "$(ls -A "$tcdir")" ];then |
|||
tmp_tclist=(*); |
|||
for t in "${tmp_tclist[@]}";do |
|||
for a in "${AVAI_TCLIST[@]}";do |
|||
[ "$t" == "$a" ] && INST_TCLIST+=($t); |
|||
done; |
|||
done; |
|||
else |
|||
tcempty=1; |
|||
fi; |
|||
if [ "$tcempty" == "1" ];then |
|||
MISS_TCLIST=$(echo ${AVAI_TCLIST[@]} |sort); |
|||
else |
|||
MISS_TCLIST=($(for el in $(diff_array AVAI_TCLIST[@] INST_TCLIST[@]);do echo "$el";done |sort)); |
|||
fi; |
|||
}; |
|||
_create_module_arrays(){ |
|||
i=0; |
|||
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';);do |
|||
SHORT_ADDONS+=($e); |
|||
SHORT_MODULENAMES+=($e); |
|||
done; |
|||
for e in ${protocols//MODULE_/};do |
|||
SHORT_PROTOCOLS+=($e); |
|||
SHORT_MODULENAMES+=($e); |
|||
done; |
|||
for e in ${readers//READER_/};do |
|||
SHORT_READERS+=($e); |
|||
SHORT_MODULENAMES+=($e); |
|||
done; |
|||
for e in ${card_readers//CARDREADER_/};do |
|||
SHORT_CARD_READERS+=($e); |
|||
SHORT_MODULENAMES+=($e); |
|||
done; |
|||
for e in $addons $protocols $readers $card_readers;do |
|||
ALL_MODULES_LONG+=($e); |
|||
done; |
|||
for e in "${SHORT_MODULENAMES[@]}";do |
|||
INTERNAL_MODULES["$e"]="${ALL_MODULES_LONG[i]}"; |
|||
((i++)); |
|||
done; |
|||
}; |
|||
diff_array(){ |
|||
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}"); |
|||
}; |
@ -0,0 +1,203 @@ |
|||
#!/bin/bash |
|||
|
|||
_cmd_build(){ |
|||
[ ! -d "$svndir" ] || [ -f "$workdir/NEED-CHECKOUT" ] && checkout; |
|||
if [ "$_toolchainname" == "native" ];then |
|||
log_name="$(date +%F).$(date +%X).$(hostname).log"; |
|||
|
|||
else |
|||
log_name="$(date +%F).$(date +%X).$_toolchainname.log"; |
|||
fi; |
|||
source "$tccfgdir/$_toolchainname"; |
|||
_reset_config; |
|||
#_fix_config_h; |
|||
echo $WH; |
|||
ologo >"$ldir/$log_name"; |
|||
|
|||
#set build defaults |
|||
CROSS="$tcdir/$_toolchainname/bin/$_compiler"; |
|||
[ -f "$configdir/compiler_option" ] && co=$(cat "$configdir/compiler_option") || co="-O2"; |
|||
|
|||
#toolchain defaults |
|||
for defa in $default_use;do |
|||
USE_vars[$defa]="$defa=1"; |
|||
done; |
|||
|
|||
#disable by cmd |
|||
for e in ${USE_vars[*]};do |
|||
for d in ${USE_vars_disable[*]};do |
|||
[ "$e" == "$d" ] && USE_vars[${e:0: -2}]=; |
|||
done; |
|||
done; |
|||
_nl; |
|||
cd "$svndir"; |
|||
|
|||
#make clean |
|||
make distclean > /dev/null 2>&1; |
|||
|
|||
#do enable and disable modules |
|||
for am in "${all_cc[@]}";do |
|||
chose="false"; |
|||
if [ "${am:${#am} - 3}" == "_on" ];then |
|||
e="${am:0: -3}";"$svndir/config.sh" -E "$e" |awk '{printf "\033[1;37m"} {printf " | %s : ", $1} {printf "\033[1;32m"} {printf "%s\n", $2}'; |
|||
fi; |
|||
if [ "${am:${#am} - 4}" == "_off" ];then |
|||
d="${am:0: -4}";"$svndir/config.sh" -D "$d" |awk '{printf "\033[1;37m"} {printf " | %s : ", $1} {printf "\033[1;31m"} {printf "%s\n", $2}'; |
|||
fi; |
|||
done; |
|||
|
|||
#fix smargo case |
|||
if [ "$(./config.sh -e CARDREADER_SMARGO)" == "Y" ] || [ "${USE_vars[$e]}" == "USE_LIBUSB=1" ];then |
|||
silent=$(./config.sh -E CARDREADER_SMARGO); |
|||
check_smargo; |
|||
else |
|||
silent=$(./config.sh -D CARDREADER_SMARGO); |
|||
check_smargo; |
|||
fi; |
|||
|
|||
#fill use variables and set name addons |
|||
USESTRING=; |
|||
_usb=; |
|||
_pcsc=; |
|||
_stapi=; |
|||
_stapi5=; |
|||
_do_patch="0"; |
|||
for e in "${!USE_vars[@]}";do |
|||
for e1 in $_block;do |
|||
USE_vars[$e1]=; |
|||
done; |
|||
uv=${USE_vars[$e]}; |
|||
if [ ! "$e" == "USE_CONFDIR" ];then |
|||
USESTRING="$uv $USESTRING"; |
|||
if [ "${#USE_vars[$e]}" -gt "5" ];then |
|||
echo -e "$w_l | set : $c_l${USE_vars[$e]}"; |
|||
fi; |
|||
fi; |
|||
case "$uv" in |
|||
"USE_LIBUSB=1") |
|||
_usb="-libusb";; # set libusb suffix to name |
|||
"USE_PCSC=1") |
|||
_pcsc_on;_pcsc="-pcsc";;# set pcsc suffix to name |
|||
"USE_PATCH=1") |
|||
_do_patch="1";; # enable patching |
|||
"USE_TARGZ=1") |
|||
s3cfg_vars[TARGZ]=1;; # overwrite global |
|||
"USE_COMPRESS=1") |
|||
s3cfg_vars[COMPRESS]=1;;# overwrite global |
|||
"USE_STAPI=1") |
|||
_stapi="-stapi"; |
|||
STAPI_LIB="STAPI_LIB=$sdir/stapi/liboscam_stapi.a"; |
|||
echo -e "$w_l | LIB : "$c_l"liboscam_stapi.a"$w_l;; |
|||
"USE_STAPI5=1") |
|||
_stapi5="-stapi5"; |
|||
[ "$OPENBOX" == "1" ] && STAPI_LIB="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_OPENBOX.a" && echo -e "$w_l| LIB : "$c_l"liboscam_stapi5_OPENBOX.a"$w_l; |
|||
[ "$UFS916003" == "1" ] && STAPI_LIB="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916_0.03.a" && echo -e "$w_l| LIB : "$c_l"liboscam_stapi5_UFS916_0.03.a"$w_l; |
|||
[ "$UFS916003" == "0" ] && [ "$OPENBOX" == "0" ] && STAPI_LIB="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916.a" && echo -e "$w_l| LIB : "$c_l"liboscam_stapi5_UFS916.a"$w_l;; |
|||
esac; |
|||
done; |
|||
|
|||
#change default oscam CONF_DIR |
|||
if [ ! "$_oscamconfdir_custom" == "not_set" ] && [ ${#_oscamconfdir_custom} -gt 3 ]; then |
|||
[ ! "$CUSTOM_CONFDIR" == "not_set" ] && _oscamconfdir_custom=$CUSTOM_CONFDIR; |
|||
CONFDIR="$_oscamconfdir_custom"; |
|||
echo -e $w_l" | set : "$r_l"custom CONF_DIR=$CONFDIR"$w_l; |
|||
else |
|||
CONFDIR="$_oscamconfdir_default"; |
|||
fi; |
|||
|
|||
#patching |
|||
if [ "$_do_patch" == "1" ];then |
|||
if [ -f "$workdir/SVN-IS-PATCHED" ];then |
|||
quicksvnrestore $_toolchainname; |
|||
_apply_consolepatch; |
|||
else |
|||
_apply_consolepatch; |
|||
fi; |
|||
fi; |
|||
|
|||
#echo if build with profile |
|||
[ ! "$pf" == "empty" ] && echo -e "$y_l | PROFILE : $pf_name"; |
|||
|
|||
#echo IF SVN is Patched |
|||
[ -f "$workdir/SVN-IS-PATCHED" ] && echo -e $w_l" ISPATCHED : "$P" YES"; |
|||
|
|||
#echo max cpu usage |
|||
if [ -f "$configdir/max_cpus" ];then |
|||
cpus="$(cat "$configdir/max_cpus")"; |
|||
[ ! "$cpus" -gt "1" ] && cpus="1"; |
|||
[ "$cpus" -gt "$(CPUS)" ] && cpus="$(CPUS)"; |
|||
echo -en "$y_l\n | MAX_CPUS : $txt_use $cpus $txt_of $(CPUS) CPU(s)"; |
|||
else |
|||
cpus="$(CPUS)"; |
|||
fi; |
|||
[ "${s3cfg_vars[USE_VERBOSE]}" == "1" ] && _verbose="V=1"; |
|||
|
|||
#killstapi for nonsh4 |
|||
if [ ! "$_toolchainname" == "sh4" ] || [ ! "$_toolchainname" == "sh_4" ];then |
|||
silent=$("$svndir/config.sh" --disable CARDREADER_STAPI CARDREADER_STAPI5); |
|||
fi; |
|||
|
|||
#build |
|||
timer_start; |
|||
_generate_oscam_name "$_toolchainname"; |
|||
_nl; |
|||
USESTRING=${USE_vars[@]}; |
|||
make -j"$cpus" $_verbose \ |
|||
"CONF_DIR=$CONFDIR" \ |
|||
"OSCAM_BIN=$bdir/$oscam_name" \ |
|||
"CC_OPTS=$co $cc_opts" \ |
|||
"CC_WARN=$cc_warn" \ |
|||
"CROSS=$CROSS" $STAPI_LIB $USESTRING 2>&1 \ |
|||
|tee -a "$ldir/$log_name" \ |
|||
|grep --line-buffered -v 'BFD' \ |
|||
|grep --line-buffered '^CC\|^GEN\|UseFlags\| CONF_DIR =\|Binary\|LINK\|STRIP\|BUILD\|Addons\|Protocols\|Readers\|CardRdrs\|^/' \ |
|||
|sed -e "s/^|/"$Y" |/g;s/^LINK/"$P" LINK ------->$W/g;s/^STRIP/"$P" STRIP ------>$W/g;s/^CC\|^BUILD/"$G" BUILD ------>$W/g;s/^GEN/"$C" GEN -------->/g; |
|||
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;" |
|||
|
|||
#calc buildtime |
|||
timer_stop; |
|||
timer_calc; |
|||
bt="[ $txt_buildtime $((Tcalc / 60)) min(s) $((Tcalc % 60)) secs ]"; |
|||
|
|||
#save list_smargo |
|||
cd "$svndir/Distribution"; |
|||
lsmn="$(ls list_smargo* 2> /dev/null)"; |
|||
if [ "${s3cfg_vars[SAVE_LISTSMARGO]}" == "1" ] && [ -f "$svndir/Distribution/$lsmn" ];then |
|||
if [ "$_toolchainname" == "native" ];then |
|||
echo -e "$g_n"" SAVE -------> $w_l$lsmn$g_l $txt_as$y_l oscam-svn$(REVISION)-$(hostname)-list_smargo"; |
|||
mv -f "$lsmn" "$bdir/oscam-svn$(REVISION)-$(hostname)-list_smargo"; |
|||
tartmp="oscam-svn$(REVISION)-$(hostname)-list_smargo"; |
|||
else |
|||
echo -e "$g_n"" SAVE -------> $w_l$lsmn$g_l $txt_as$y_l oscam-svn$(REVISION)-$_toolchainname-list_smargo"; |
|||
mv -f "$lsmn" "$bdir/oscam-svn$(REVISION)-$_toolchainname-list_smargo"; |
|||
tartmp="oscam-svn$(REVISION)-$_toolchainname-list_smargo"; |
|||
fi; |
|||
fi; |
|||
|
|||
#remove debug binary |
|||
if [ "${s3cfg_vars[delete_oscamdebugbinary]}" == "1" ] && [ -f "$bdir/$oscam_name.debug" ];then |
|||
echo -e "$r_l"" REMOVE -----> $w_l$bdir/$oscam_name.debug";rm "$bdir/$oscam_name.debug"; |
|||
fi; |
|||
|
|||
#show build time |
|||
echo -e "$g_n""\n TIME -------> $bt\n$re_"; |
|||
|
|||
#compress cam |
|||
if [ "${s3cfg_vars[COMPRESS]}" == "1" ];then |
|||
echo -en "$w_l"" ENABLE -----> COMPRESSION:$y_l $txt_wait"; |
|||
compress_cam "$oscam_name"; |
|||
fi; |
|||
if [ "${s3cfg_vars[TARGZ]}" == "1" ];then |
|||
echo -en "$w_l"" ENABLE ----> TARGZ:$y_l $txt_wait\n"; |
|||
tar_cam "$oscam_name" "$tartmp"; |
|||
fi; |
|||
|
|||
#link lastlog |
|||
ln -sf "$ldir/$log_name" "$workdir/lastbuild.log"; |
|||
|
|||
#build error message |
|||
error_on_build=$(grep -c1 error "$ldir/$log_name"); |
|||
[ "$error_on_build" -gt "0" ] && echo -e "$r_l\terrors on build found$w_l"; |
|||
echo -e "$re_"; |
|||
exit; |
|||
}; |
@ -0,0 +1,93 @@ |
|||
#!/bin/bash |
|||
|
|||
compress_cam(){ |
|||
cd "$bdir"; |
|||
upx_c="-1"; |
|||
[ -f "$configdir/upx_option" ] && source "$configdir/upx_option"; |
|||
erg=$(upx "$upx_c" "$1" |grep oscam |awk '{print $1" "$3" "$4 }'); |
|||
e1="$(echo "$erg"| awk '{printf("%4.2f k\n", $1 /1024)}')"; |
|||
e2="$(echo "$erg"| awk '{printf("%4.2fk\n", $2 /1024)}')"; |
|||
e3="$(echo "$erg"| awk '{print $3}')"; |
|||
echo -e "$w_l\n\n BEFORE -----> $txt_compress1\t= $g_n$e1$w_l\n AFTER ------> $txt_compress2\t= $g_l$e2$w_l\n RESULT -----> $txt_compress3\t= $c_n$e3$rs_\n"; |
|||
}; |
|||
compress_cam_gui(){ |
|||
cd "$bdir"; |
|||
upx_c="-1"; |
|||
[ -f "$configdir/upx_option" ] && source "$configdir/upx_option"; |
|||
erg=$(upx "$upx_c" "$1" |grep oscam |awk '{print $1" "$3" "$4 }'); |
|||
e1="$(echo "$erg"| awk '{printf("%4.2f k\n", $1 /1024)}')"; |
|||
e2="$(echo "$erg"| awk '{printf("%4.2fk\n", $2 /1024)}')"; |
|||
e3="$(echo "$erg"| awk '{print $3}')"; |
|||
echo -e "\n $txt_compress1\t= $e1\n $txt_compress2\t= $e2\n $txt_compress3\t= $e3"; |
|||
}; |
|||
tar_cam_gui(){ |
|||
cd "$bdir"; |
|||
erg=$(tar zcf $1.tar.gz $1 $2); |
|||
if [ -f "$1.tar.gz" ];then |
|||
echo -e "\n $1.tar.gz\n created"; |
|||
if [ -f "$adir/$1.tar.gz" ];then |
|||
rm -rf "$adir/$1.tar.gz"; |
|||
mv -f "$1.tar.gz" "$adir"; |
|||
echo -e "\n $1.tar.gz\n moved to $workdir/archive\n"; |
|||
else |
|||
mv -f "$1.tar.gz" "$adir"; |
|||
echo -e "\n $1.tar.gz\n moved to $workdir/archive\n"; |
|||
fi; |
|||
else |
|||
echo -e "\nerror\n no $1.tar.gz\n created"; |
|||
fi; |
|||
}; |
|||
tar_cam(){ |
|||
cd "$bdir"; |
|||
if [ -n $2 ];then |
|||
echo -en "$y_n\n TAR -------->$w_l $1$g_l $txt_as$w_l $1.tar.gz$rs_"; |
|||
fi; |
|||
erg=$(tar zcf $1.tar.gz $1 $2); |
|||
if [ -f "$1.tar.gz" ];then |
|||
echo -e "$p_n$txt_done$rs_"; |
|||
if [ -f "$adir/$1.tar.gz" ];then |
|||
rm -rf "$adir/$1.tar.gz"; |
|||
mv -f "$1.tar.gz" "$adir"; |
|||
echo -e "$c_l"" MOVE -------> $p_l$1.tar.gz $g_l$txt_to $y_n$workdir/archive\n$rs_"; |
|||
else |
|||
mv -f "$1.tar.gz" "$adir"; |
|||
echo -e "$c_l"" MOVE -------> $p_l$1.tar.gz $g_l$txt_to $y_n$workdir/archive\n$rs_"; |
|||
fi; |
|||
else |
|||
echo -e "$r_l\nerror\n no $1.tar.gz\n created$rs_"; |
|||
fi; |
|||
}; |
|||
tarsvn(){ |
|||
cd "$workdir"; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
cat "$svndir/config.sh" >"$configdir/config.sh.master"; |
|||
[ -f "$svndir/Makefile" ]&& cat "$svndir/Makefile" >"$configdir/Makefile.master"; |
|||
echo -en "$w_l SVN Backup :$c_l "; |
|||
tar -zcf "$bsvn/$("$svndir/config.sh" -r).tar.gz" oscam-svn; |
|||
fi; |
|||
cd "$bsvn"; |
|||
ln -sf "$bsvn/$("$svndir/config.sh" -r).tar.gz" "last.tar.gz"; |
|||
echo -e "done\n$re_"; |
|||
}; |
|||
untarsvn(){ |
|||
cd "$workdir"; |
|||
[ -d oscam-svn ] && rm -rf oscam-svn; |
|||
if [ -z "$1" ];then |
|||
[ -f "$bsvn/last.tar.gz" ] && tar -xf "$bsvn/last.tar.gz"; |
|||
else |
|||
if [ -f "$bsvn/$1.tar.gz" ];then |
|||
tar -xf "$bsvn/$1.tar.gz"; |
|||
cd $bsvn; |
|||
ln -sf "$bsvn/$("$svndir/config.sh" -r).tar.gz" "last.tar.gz"; |
|||
else |
|||
if [ -f "$bsvn/last.tar.gz" ];then |
|||
tar -xf "$bsvn/last.tar.gz"; |
|||
else |
|||
echo -en "$w_l SVN Backup :$r_l $txt_not_found"; |
|||
sleep 3; |
|||
checkout; |
|||
fi; |
|||
fi; |
|||
fi; |
|||
[ -f "$workdir/SVN-IS-PATCHED" ] && rm -f "$workdir/SVN-IS-PATCHED"; |
|||
}; |
@ -0,0 +1,117 @@ |
|||
#!/bin/bash |
|||
|
|||
_gui_build(){ |
|||
|
|||
#init |
|||
oc_size=${#_oscamconfdir_custom}; |
|||
[ "$oc_size" -gt "4" ] && _oscamconfdir_default="$_oscamconfdir_custom"; |
|||
|
|||
if [ "$_toolchainname" == "native" ];then |
|||
log_name="$(date +%F).$(date +%X).$(hostname).log"; |
|||
else |
|||
log_name="$(date +%F).$(date +%X).$_toolchainname.log"; |
|||
fi; |
|||
|
|||
ologo >"$ldir/$log_name"; |
|||
[ -f "$configdir/max_cpus" ] && cpus="$(cat "$configdir/max_cpus")" || cpus="$(CPUS)"; |
|||
CROSS="$tcdir/$_toolchainname/bin/$_compiler"; |
|||
[ -f "$configdir/compiler_option" ] && co=$(cat "$configdir/compiler_option") || co="-O2"; |
|||
|
|||
#make clean |
|||
cd "$svndir"; |
|||
make distclean > /dev/null 2>&1; |
|||
USESTRING_=''; |
|||
|
|||
#do use_vars |
|||
for e2 in $USESTRING;do |
|||
[ "USE_$e2" == "USE_PATCH" ] && _apply_menupatch;is_blocked=0; |
|||
for e1 in $_block;do |
|||
if [ "$e1" == "USE_$e2" ];then |
|||
is_blocked=1; |
|||
[ "USE_$e2" == "USE_LIBUSB" ] && silent=$(./config.sh -D CARDREADER_SMARGO); |
|||
fi; |
|||
done; |
|||
[ "$is_blocked" == "0" ] && _us="USE_$e2 $_us"; |
|||
done; |
|||
|
|||
for e in $_us;do |
|||
if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_COMPRESS" ] && [ ! "$e" == "USE_PATCH" ];then |
|||
USESTRING_="$e=1 $USESTRING_"; |
|||
fi; |
|||
done; |
|||
|
|||
if [ "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ];then |
|||
_pcsc="-pcsc" ; |
|||
else |
|||
_pcsc=; |
|||
fi; |
|||
if [ "${USE_vars[USE_LIBUSB]}" == "USE_LIBUSB=1" ];then |
|||
_usb="-libusb"; |
|||
else |
|||
_usb=; |
|||
fi; |
|||
USESTRING_=${USE_vars[@]}; |
|||
|
|||
#todo add switch for verbose |
|||
_generate_oscam_name "$_toolchainname"; |
|||
targztmp="$(mktemp)"; |
|||
if [ ! "${USE_vars[USE_TARGZ]}" == "USE_TARGZ=1" ];then |
|||
s3cfg_vars[USE_TARGZ]=0; |
|||
fi; |
|||
check_smargo; |
|||
|
|||
#build |
|||
_sz; |
|||
(ologo; _nl; |
|||
timer_start; |
|||
make -j"$cpus" \ |
|||
"CONF_DIR=$_oscamconfdir_default" "OSCAM_BIN=$bdir/$oscam_name" "CC_OPTS=$co $cc_opts" "CC_WARN=$cc_warn" "CROSS=$CROSS" $stapivar $USESTRING_ 2>&1 \ |
|||
|tee "$ldir/$log_name" \ |
|||
|grep --line-buffered -v 'BFD' \ |
|||
|grep --line-buffered '^CC\|^GEN\|UseFlags\| CONF_DIR =\|Binary\|LINK\|STRIP\|BUILD\|Addons\|Protocols\|Readers\|CardRdrs\|^/' \ |
|||
|sed -u "s/^|/ |/g;s/^LINK/ LINK >/g;s/^STRIP/ STRIP >/g;s/^CC\|^BUILD/ BUILD >/g;s/^GEN/ GEN >/g;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;" |
|||
timer_stop; |
|||
timer_calc; |
|||
|
|||
#save list_smargo |
|||
cd "$svndir/Distribution"; |
|||
lsmn="$(ls list_smargo* 2> /dev/null)"; |
|||
if [ "${s3cfg_vars[SAVE_LISTSMARGO]}" == "1" ] && [ -f "$svndir/Distribution/$lsmn" ];then |
|||
if [ "$_toolchainname" == "native" ];then |
|||
echo -e "SAVE\t$lsmn $txt_as oscam-svn$(REVISION)-$(hostname)-list_smargo"| tee -a "$ldir/$log_name"; |
|||
mv -f "$lsmn" "$bdir/oscam-svn$(REVISION)-$(hostname)-list_smargo"; |
|||
echo "oscam-svn$(REVISION)-$(hostname)-list_smargo" >"$targztmp"; |
|||
else |
|||
echo -e "SAVE\t$lsmn $txt_as oscam-svn$(REVISION)-$_toolchainname-list_smargo"|tee -a "$ldir/$log_name"; |
|||
mv -f "$lsmn" "$bdir/oscam-svn$(REVISION)-$_toolchainname-list_smargo"; |
|||
echo "oscam-svn$(REVISION)-$_toolchainname-list_smargo" >"$targztmp"; |
|||
fi; |
|||
fi; |
|||
|
|||
#show buildtime |
|||
echo -e "\n TIME\t[ $txt_buildtime $((Tcalc / 60)) min(s) $((Tcalc % 60)) secs ]"| tee -a "$ldir/$log_name";sleep 1; |
|||
|
|||
#remove debug binary |
|||
if [ "${s3cfg_vars[delete_oscamdebugbinary]}" == "1" ] && [ -f "$bdir/$oscam_name.debug" ];then |
|||
rm "$bdir/$oscam_name.debug"; |
|||
echo -e "\n $txt_delete $oscam_name.debug\n"|tee -a "$ldir/$log_name"; |
|||
fi;) | "$gui" "$st_" --colors --title " -[ Build ]- " "$pb_" "$_lines" "$_cols";sleep 2; |
|||
|
|||
#COMPRESS |
|||
if [ ! "$stapi_allowed" == "1" ];then |
|||
if [ "${s3cfg_vars[COMPRESS]}" == "1" ] || [ "${USE_vars[USE_COMPRESS]}" == "USE_COMPRESS=1" ];then |
|||
(compress_cam_gui "$oscam_name") |tee -a "$ldir/$log_name"| "$gui" "$st_" --title " -[ COMPRESS ]- " "$pb_" 7 50; |
|||
sleep 2; |
|||
fi; |
|||
fi; |
|||
|
|||
#tar |
|||
if [ "${USE_vars[USE_TARGZ]}" == "USE_TARGZ=1" ];then |
|||
(tar_cam_gui "$oscam_name" "$(cat "$targztmp")") |tee -a "$ldir/$log_name"| "$gui" "$st_" --title " -[ TAR Binary ]- " "$pb_" 10 70; |
|||
sleep 2; |
|||
fi; |
|||
|
|||
#link log |
|||
ln -sf "$ldir/$log_name" "$workdir/lastbuild.log"; |
|||
[ -f "$targztmp" ] && rm -rf "$targztmp"; |
|||
}; |
@ -0,0 +1,55 @@ |
|||
#!/bin/bash |
|||
|
|||
_help_toolchain(){ |
|||
echo -e "$w_l toolchains :\n ------------$g_n"; |
|||
helpline1 "${AVAI_TCLIST[@]}"; |
|||
echo -e "\n"; |
|||
}; |
|||
helpline0(){ |
|||
ll=0; |
|||
echo -en " "; |
|||
for s in "$@";do |
|||
ll=$((ll + (${#s} + 4))); |
|||
if [ "$ll" -lt "30" ];then |
|||
echo -en "$s(_off) "; |
|||
else |
|||
echo -en "$s(_off)\n "; |
|||
ll=""; |
|||
fi; |
|||
done; |
|||
}; |
|||
helpline1(){ |
|||
ll=0; |
|||
echo -en " "; |
|||
for s in "$@";do |
|||
ll=$((ll + (${#s} + 4))); |
|||
if [ "$ll" -lt "45" ];then |
|||
echo -en "$s " ; |
|||
else |
|||
echo -en "$s\n " ; |
|||
ll=""; |
|||
fi; |
|||
done; |
|||
}; |
|||
_help(){ clear;s3logo; |
|||
echo -e " ----------------------------------"; |
|||
echo -e " $txt_help1 $0 menu"; |
|||
echo -e " $txt_help2"; |
|||
echo -e " ----------------------------------"; |
|||
echo -e "$w_l\n toolchains :\n ------------$g_n"; |
|||
helpline1 "${AVAI_TCLIST[@]}"; |
|||
echo -e "$w_l\n simplebuild options :\n ---------------------$c_n"; |
|||
helpline1 "${s3opts[@]}";_wait; |
|||
echo -e "$w_l config_cases:\n --------$c_n"; |
|||
helpline0 "${config_cases[@]}"; |
|||
echo -e "$w_l\n\n addons :\n --------$p_l"; |
|||
helpline0 "${SHORT_ADDONS[@]}";_wait; |
|||
echo -e "$w_l protocols :\n -----------$y_l"; |
|||
helpline0 "${SHORT_PROTOCOLS[@]}"; |
|||
echo -e "$w_l\n readers :\n ---------$r_l"; |
|||
helpline0 "${SHORT_READERS[@]}";_wait; |
|||
echo -e "$w_l card_readers :\n --------------$b_l"; |
|||
helpline0 "${SHORT_CARD_READERS[@]}"; |
|||
echo -e "$w_l\n use_vars :\n --------$w_n"; |
|||
helpline0 "${!USE_vars[@]}";_wait; |
|||
}; |
@ -0,0 +1,29 @@ |
|||
#!/bin/bash |
|||
|
|||
ologo(){ |
|||
echo -en "$w_h"; |
|||
printf " %-s\n" " ___ ____ ___" " / _ \\/ ___| / __|__ _ _ __ ___" "| | | \\___ \\| | / _\` | '_ \` _ \ " "| |_| |___) | |_| (_| | | | | | |" " \\___/|____/ \\___\\__,_|_| |_| |_|" " "; |
|||
}; |
|||
slogo(){ |
|||
echo -en "$w_h"; |
|||
printf " %-s\n" " _ _ _ " " ___| |_ _ __ ___ __ _ _ __ ___ | |__ ___ __ _ _ __ __| |" "/ __| __| '__/ _ \/ _\` | '_ \` _ \| '_ \ / _ \ / _\` | '__/ _\` |" "\__ \ |_| | | __/ (_| | | | | | | |_) | (_) | (_| | | | (_| |" "|___/\__|_| \___|\__,_|_| |_| |_|_.__/ \___/ \__,_|_| \__,_|" " "; |
|||
}; |
|||
bye(){ |
|||
clear; |
|||
echo -en "$re_$w_l"; |
|||
printf "\n\t\t simplebuild made for"; |
|||
echo -e "$c_l"; |
|||
slogo; |
|||
echo -e "\e[8;50H \e[8;50f" && echo -en "$g_l\t\t\t\t\t\t by gorgone $re_"; |
|||
echo -e "\n"; |
|||
exit; |
|||
}; |
|||
s3logo(){ |
|||
echo -e $C" |
|||
_________________ |
|||
/ _____/\\_____ \\ =============== |
|||
\_____ \\ _(__ < $w_l Version $SIMPLEVERSION$C |
|||
/ \\ / \\ =============== |
|||
/_______ //______ / $y_l by gorgone$p_l 2019$C |
|||
\\/ \/ ===============\n$W"; |
|||
}; |
@ -0,0 +1,547 @@ |
|||
#!/bin/bash |
|||
|
|||
CPUS(){ nproc;}; |
|||
clean(){ _clean;}; |
|||
_nl(){ echo -e "$rs_";}; |
|||
_set_dialog_types(){ |
|||
gui="$(which dialog)"; |
|||
st_="--stdout"; |
|||
ib_="--infobox"; |
|||
ip_="--inputbox"; |
|||
nc_="--no-cancel"; |
|||
cl_="--checklist"; |
|||
rl_="--radiolist"; |
|||
bt_="--backtitle"; |
|||
pb_="--progressbox"; |
|||
title_="SIMPLEBUILD_V($SIMPLEVERSION)";}; |
|||
cedit(){ s3cfg_menu;bye;}; |
|||
counter(){ COUNT="$((COUNT+1))";}; |
|||
timer_calc(){ Tcalc="$((Te-Ts))";}; |
|||
timer_stop(){ Te="$(date +%s)";}; |
|||
timer_start(){ Ts="$(date +%s)";}; |
|||
decode(){ echo -en "$1" | base64 -d;}; |
|||
get_module_name(){ echo "${INTERNAL_MODULES[$1]}";}; |
|||
_fix_config_h(){ _=0; |
|||
#_pcsc_off;_stapi5_off; |
|||
}; |
|||
_wait(){ echo -e "$w_l";read -n1 -r -p " $txt_help3" key;tput cuu1;echo ' ';} |
|||
_systype(){ systype="bad";case "$(uname -m)" in x86|x86_64|amd64|i686) systype="ok";;esac;}; |
|||
_pcsc_on(){ sed -i 's@^//#define CARDREADER_PCSC 1@#define CARDREADER_PCSC 1@g' "$svndir/config.h";}; |
|||
_pcsc_off(){ sed -i 's@^#define CARDREADER_PCSC 1@//#define CARDREADER_PCSC 1@g' "$svndir/config.h";}; |
|||
_stapi5_on(){ sed -i 's@^//#define CARDREADER_STAPI5 1@#define CARDREADER_STAPI5 1@g' "$svndir/config.h";}; |
|||
_stapi5_off(){ sed -i 's@^#define CARDREADER_STAPI5 1@//#define CARDREADER_STAPI5 1@g' "$svndir/config.h";}; |
|||
_generate_oscam_name(){ cd "$svndir";_dvbapi=$( |
|||
[ "$(./config.sh --enabled HAVE_DVBAPI)" == Y ] && echo -n -dvbapi || echo ''; );_webif=$( |
|||
[ "$(./config.sh --enabled WEBIF)" == Y ] && echo -n -webif || echo ''; );_ssl=$( |
|||
[ "$(./config.sh --enabled WITH_SSL)" == Y ] && echo -n -ssl || echo ''; );_emu=$( |
|||
[ "$(./config.sh --enabled WITH_EMU)" == Y ] && echo -n -emu || echo ''; );_ipv6=$( |
|||
[ "$(./config.sh --enabled IPV6SUPPORT)" == Y ] && echo -n -ipv6 || echo ''; ); |
|||
[ "${USE_vars[USE_COMPRESS]}" == "USE_COMPRESS=1" ] && _upx="-upx" || _upx=''; |
|||
[ "$1" == "native" ] && _b_name="$(hostname)$_upx" || _b_name="$1"; |
|||
oscam_name="oscam-svn$(REVISION)-$_b_name$_webif$_dvbapi$_ssl$_usb$_pcsc$_stapi$_stapi5$_emu$_ipv6$_upx";}; |
|||
e_readers(){ silent=$("$svndir/config.sh" -s readers);echo ${silent//READER_/};}; |
|||
e_protocols() { silent=$("$svndir/config.sh" -s protocols);echo ${silent//MODULE_/};}; |
|||
e_card_readers(){ silent=$("$svndir/config.sh" -s card_readers);echo ${silent//CARDREADER_/};}; |
|||
e_addons(){ "$svndir/config.sh" -s 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';}; |
|||
sysinfo(){ |
|||
echo -e "$g_l\nSYSTEM$w_l"; |
|||
system_info=$(which lsb_release); |
|||
[ ${#system_info} -ge 11 ] && lsb_release -irc; |
|||
echo -e "Uptime:\t\t$(uptime -p)"; |
|||
echo -e "$g_l\nMEMORY$w_l"; |
|||
free -mht | awk '/Mem/{print "Memory:\t\tTotal: " $2 "Mb\tUsed: " $3 "Mb\tFree: " $4 "Mb"} /Swap/{print "Swap:\t\tTotal: " $2 "Mb\tUsed: " $3 "Mb\tFree: " $4 "Mb" }'; |
|||
[ -f /sys/dev/block ] && lsblk; |
|||
echo -e "$g_l\n CPU$w_l"; |
|||
cpu_info=$(which lscpu); |
|||
[ ${#cpu_info} -ge 5 ] && lscpu | grep -iE 'model name|vendor id|Architecture|per socket|MHz'; |
|||
echo -e "$g_l\nNetwork"; |
|||
echo -e "$w_l""Hostname:\t$HOSTNAME"; |
|||
ip -o addr | awk '/inet /{print "IP (" $2 "):\t" $4}'; |
|||
route -n | awk '/^0.0.0.0/{ printf "Gateway:\t"$2"\n" }'; |
|||
awk '/^nameserver/{ printf "Name Server:\t" $2 "\n"}' /etc/resolv.conf; |
|||
echo -e "$re_"; |
|||
exit; |
|||
}; |
|||
_pget(){ |
|||
tc_dl="$dldir/$(decode "$_t1e""$_toolchainfilename")"; |
|||
[ -f "$tc_dl" ] && rm -rf "$tc_dl"; |
|||
#tput civis; |
|||
cd "$dldir"; |
|||
zeile=$(expr 12+$zzusatz); |
|||
spalte=$(expr 17+$szusatz); |
|||
wget -N --progress=dot "$(decode "$_u1e")/$dln" 2>&1 |grep --line-buffered "%"|awk '{ printf "\033["'$zeile'";"'$spalte'"H\033[K%-4s ", $7;} {printf "'"$txt_wait >"'";} {printf " %-6s",$9;}'; |
|||
echo -e "\033["$zeile";"$spalte"H\033[K100% done... "$W; |
|||
#tput cnorm; |
|||
}; |
|||
_clean(){ |
|||
[ -L "$workdir/lastbuild.log" ] && rm -rf "$workdir/lastbuild.log"; |
|||
[ -L "$workdir/lastpatch.log" ] && rm -rf "$workdir/lastpatch.log"; |
|||
clear; |
|||
echo -e "$w_l"; |
|||
ologo; |
|||
for e in "$menudir" "$bdir" "$ldir" "$tcdir";do |
|||
echo -e " $r_l$txt_delete$w_l\t$e"| sed "s@$workdir@@g"; |
|||
done; |
|||
rm -rf "$menudir" "$bdir" "$ldir" "$tcdir" 2>/dev/null; |
|||
for e in "$menudir" "$bdir" "$ldir" "$tcdir";do |
|||
echo -e " $g_l$txt_create$w_l\t$e"| sed "s@$workdir@@g"; |
|||
done; |
|||
mkdir -p "$menudir" "$bdir" "$ldir" "$tcdir" 2>/dev/null; |
|||
sleep 2; |
|||
svnrestore; |
|||
_nl; |
|||
}; |
|||
_sz(){ |
|||
lmin=24; |
|||
lmax=40; |
|||
_lin=$(tput lines); |
|||
cmin=79; |
|||
cmax=200; |
|||
_col=$(tput cols); |
|||
if [ "$_lin" -gt "$lmin" ];then |
|||
if [ "$_lin" -lt "$lmax" ] || [ "$_lin" -eq "$lmax" ];then |
|||
_lines="$((_lin-6))"; |
|||
fi; |
|||
if [ "$_lin" -gt "$lmax" ];then |
|||
_lines="$((lmax-6))"; |
|||
fi; |
|||
fi; |
|||
if [ "$_col" -gt "$cmin" ];then |
|||
if [ "$_col" -lt "$cmax" ] || [ "$_col" -eq "$cmax" ];then |
|||
_cols="$((_col-6))"; |
|||
fi; |
|||
if [ "$_col" -gt "$cmax" ];then |
|||
_cols="$((cmax-6))"; |
|||
fi; |
|||
fi; |
|||
}; |
|||
save_master(){ |
|||
[ -f "$svndir/config.sh" ] && cat "$svndir/config.sh" >"$configdir/config.sh.master"; |
|||
[ -f "$svndir/Makefile" ] && cat "$svndir/Makefile" >"$configdir/Makefile.master"; |
|||
}; |
|||
_pre_build(){ |
|||
_oscamconfdir_default=""; |
|||
_oscamconfdir_custom=""; |
|||
source "$tccfgdir/$1"; |
|||
clear; |
|||
_nl; |
|||
echo $WH; |
|||
ologo; |
|||
_tcfile=""; |
|||
dln="$(decode "$_t1e")$(decode "$_toolchainfilename")"; |
|||
tc_dl="$dldir/$dln"; |
|||
if [ -f "$tcdir/$_toolchainname/bin/$_compiler""gcc" ];then |
|||
if [ "$run" == "0" ];then |
|||
echo -e "$w_l toolchain :$y_l $_toolchainname"; |
|||
echo -e "$w_l status :$g_l compiler $txt_found "; |
|||
echo -e "$w_l compiler :$p_l $_compiler""gcc"; |
|||
else |
|||
echo -e "$w_l toolchain :$y_l $_toolchainname "; |
|||
echo -e "$w_l recheck :$g_l ok $txt_now compiler $txt_found"; |
|||
echo -e "$w_l compiler :$p_l $_compiler""gcc "; |
|||
fi; |
|||
else |
|||
[ "$run" == "1" ] && echo "$txt_error : build not possible" && exit; |
|||
_nl; |
|||
echo -e "$w_l toolchain :$y_l $_toolchainname "; |
|||
echo -e "$w_l status :$r_l compiler $txt_not_found"; |
|||
echo -en "$w_l backupcheck : "; |
|||
if [ -f "$dldir/$dln" ];then |
|||
echo -e "$g_l$dln $txt_found"; |
|||
echo -en "$w_l $txt_extracting :$y_l $txt_wait"; |
|||
_console_extract_toolchain; |
|||
run=1; |
|||
else |
|||
echo -e "$r_l$dln $txt_not_found "; |
|||
echo -en "$w_l $txt_loading :$g_l"; |
|||
zzusatz=1;szusatz=1; |
|||
_pget; |
|||
_nl; |
|||
echo -en "$w_l $txt_extracting :$y_l $txt_wait"; |
|||
_console_extract_toolchain 1; |
|||
run=1; |
|||
fi; |
|||
_pre_build "$1"; |
|||
fi; |
|||
_cmd_build "$_toolchainname"; |
|||
}; |
|||
_init_menu(){ IFS="#";COUNT=0;MENU_OPTIONS="BACK#$txt_back#";counter;}; |
|||
_select_menu(){ |
|||
revision_="$(REVISION)"; |
|||
_menutext="Simplebuild V$SIMPLEVERSION by Gorgone"; |
|||
smenu=$( |
|||
"$gui" "$st_" "$bt_" "$title_" "$nc_" --title "-[ $txt_start_menu ]-" --menu "\n $_menutext" 13 55 7 "Continue" "$txt_firstmenu_continue r$revision_" "CHANGE" "$txt_firstmenu_chose" "CEDIT" "$txt_firstmenu_cedit" "LANG" "$txt_firstmenu_lang" "EXIT" "$txt_firstmenu_exit"); |
|||
[ $? = 255 ] && _select_menu; |
|||
case $smenu in |
|||
Continue) |
|||
if [ ! -f "$svndir/config.sh" ];then |
|||
"$gui" "$st_" "$bt_" "$title_" --infobox "\n $txt_no oscam-svn $txt_found" 5 35; |
|||
sleep 2; |
|||
_select_menu; |
|||
else |
|||
_toolchain_main_menu; |
|||
fi;; |
|||
CHANGE) |
|||
new_rev=$("$gui" "$st_" "$nc_" --cr-wrap "$ip_" "Revision: 7000+ \nRevision: 0 = $txt_latest" 9 35); |
|||
[[ $new_rev =~ ^-?[0-9]+$ ]] && [ ! "$new_rev" -le "7000" ] && _rev="$new_rev" || _rev=0; |
|||
_dialog_checkout1 "$_rev"; |
|||
_select_menu;; |
|||
CEDIT) |
|||
s3cfg_menu; |
|||
_select_menu;; |
|||
LANG) |
|||
lang_select; |
|||
cd "$workdir"; |
|||
./s3 menu;; |
|||
EXIT) |
|||
bye;; |
|||
esac; |
|||
exit; |
|||
}; |
|||
_oscam_extra_menu(){ |
|||
uv=; |
|||
check_smargo; |
|||
unset MENU_OPTIONS; |
|||
for e in "${!USE_vars[@]}";do |
|||
if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_COMPRESS" ] && [ ! "$e" == "USE_PATCH" ] && [ ! "$e" == "USE_LIBUSB" ];then |
|||
if [ "${#USE_vars[$e]}" -gt "4" ];then |
|||
MENU_OPTIONS+=( "$e" "$e" on ); |
|||
else |
|||
MENU_OPTIONS+=( "$e" "$e" off ); |
|||
fi; |
|||
fi; |
|||
done; |
|||
oextra=$("$gui" "$st_" "$nc_" "$bt_" "$title_" --title "-[ Oscam EXTRA ]-" "$cl_" " OPTIONS " 19 40 12 ${MENU_OPTIONS[@]}); |
|||
[ $? = 255 ] && _toolchain_extra_menu; |
|||
for e in "${!USE_vars[@]}";do |
|||
if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_COMPRESS" ] && [ ! "$e" == "USE_PATCH" ] && [ ! "$e" == "USE_LIBUSB" ];then |
|||
ok=0; |
|||
for oex in $oextra;do |
|||
o=$(echo "$oex" | tr -d '"'); |
|||
[ "$e" == "$o" ] && ok=1; |
|||
done; |
|||
if [ "$ok" == "1" ];then |
|||
USE_vars[$e]="$e=1"; |
|||
else |
|||
USE_vars[$e]=; |
|||
fi; |
|||
fi; |
|||
done; |
|||
[ "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ] && _pcsc_on; |
|||
[ ! "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ] && _pcsc_off; |
|||
save_config; |
|||
_toolchain_config_menu; |
|||
}; |
|||
_build_extra_menu(){ |
|||
us=; |
|||
check_smargo; |
|||
unset MENU_OPTIONS; |
|||
for e in USE_COMPRESS USE_TARGZ USE_PATCH;do |
|||
[ "${#USE_vars[$e]}" -gt "4" ] && MENU_OPTIONS+=( "$e" "$e=1" on ) || MENU_OPTIONS+=( "$e" "$e=1" off ); |
|||
done; |
|||
bextra=$("$gui" "$st_" "$nc_" "$bt_" "$title_" --title "-[ Build EXTRA ]-" "$cl_" " OPTIONS " 10 40 3 ${MENU_OPTIONS[@]}); |
|||
[ $? = 255 ] && _build_extra_menu; |
|||
USE_vars[USE_COMPRESS]=; |
|||
USE_vars[USE_PATCH]=; |
|||
USE_vars[USE_TARGZ]=; |
|||
for bex in $bextra;do |
|||
b=$(echo "$bex" | tr -d '"'); |
|||
USE_vars[$b]="$b=1"; |
|||
done; |
|||
save_config; |
|||
_toolchain_config_menu; |
|||
}; |
|||
_pre_main_menu(){ |
|||
IFS="#"; |
|||
COUNT=0; |
|||
MENU_OPTIONS="EXIT#$txt_menu_builder1#"; |
|||
counter; |
|||
MENU_OPTIONS=${MENU_OPTIONS}"ADD#$txt_menu_builder2#"; |
|||
counter; |
|||
if [ "$tcempty" == "0" ];then |
|||
MENU_OPTIONS="${MENU_OPTIONS}REMOVE#$txt_menu_builder3#"; |
|||
counter; |
|||
fi; |
|||
MENU_OPTIONS="${MENU_OPTIONS}NATIVE#$txt_menu_builder4$native#"; |
|||
counter; |
|||
_a=$(uname -m); |
|||
if [ "$systype" == "ok" ];then |
|||
if [ "$tcempty" == "0" ];then |
|||
for i in "${INST_TCLIST[@]}";do |
|||
source "$tccfgdir/$i"; |
|||
MENU_OPTIONS="${MENU_OPTIONS}$_toolchainname#$_description#"; |
|||
counter; |
|||
done; |
|||
fi; |
|||
fi; |
|||
out=$("$gui" --help-button --help-label INFO --title "-[ Toolchain Menu V$SIMPLEVERSION ]-" --menu "$txt_t_menu1$REVISION" "${COUNT+8}" 75 0 "${MENU_OPTIONS}"); |
|||
IFS=$OIFS; |
|||
first=$(echo "$out" | awk '{printf $1}'); |
|||
tc_info=$(echo "$out" | awk '{printf $2}'); |
|||
if [ "$first" == "HELP" ];then |
|||
if [ -f "$tccfgdir/$(echo "$out" | awk '{printf $2}')" ];then |
|||
source "$tccfgdir/$tc_info"; |
|||
echo -e "\n\n\tinfobox $_tc_info"; |
|||
sleep 4; |
|||
fi; |
|||
fi; |
|||
if [ "$first" == "EXIT" ];then |
|||
bye; |
|||
else |
|||
toolchain_main_menu; |
|||
fi; |
|||
}; |
|||
tedit(){ |
|||
clear; |
|||
if [ -f "$tccfgdir/$1" ];then |
|||
source "$tccfgdir/$1"; |
|||
echo -e $y_l; |
|||
slogo; |
|||
echo -e " $p_l change CONF_DIR for $c_l$_toolchainname$w_l\n"; |
|||
echo -e $w_l" current =$c_l $_oscamconfdir_custom"; |
|||
echo -e $w_l" default =$c_l $_oscamconfdir_default"; |
|||
echo -en $w_l" Enter new =$w_l ";read name; |
|||
echo -e " now =$y_l CONF_DIR=$name\n$re_"; |
|||
sed -i s@^_oscamconfdir_custom.*@_oscamconfdir_custom=\"$name\"@ "$tccfgdir/$_toolchainname"; |
|||
fi; |
|||
}; |
|||
_gtedit(){ |
|||
if [ -f "$tccfgdir/$_toolchainname" ];then |
|||
source "$tccfgdir/$_toolchainname"; |
|||
input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " --inputbox "\n CONF_DIR=$_oscamconfdir_default 'default'\n [ESC] = default\n" 0 0 "$_oscamconfdir_custom"); |
|||
retval=$?; |
|||
case $retval in |
|||
0) |
|||
confdir="$input";; |
|||
1) |
|||
confdir="$_oscamconfdir_custom";; |
|||
255) |
|||
confdir="$_oscamconfdir_default";; |
|||
esac; |
|||
sed -i s@^_oscamconfdir_custom.*@_oscamconfdir_custom=\"$confdir\"@ "$tccfgdir/$_toolchainname"; |
|||
source "$tccfgdir/$_toolchainname"; |
|||
fi; |
|||
}; |
|||
check_smargo(){ |
|||
if [ -f "$svndir/config.sh" ];then |
|||
if [ "$("$svndir/config.sh" -e CARDREADER_SMARGO)" == "Y" ];then |
|||
USE_vars[USE_LIBUSB]="USE_LIBUSB=1"; |
|||
else |
|||
USE_vars[USE_LIBUSB]=; |
|||
fi; |
|||
fi; |
|||
}; |
|||
_reset_config(){ |
|||
if [ -f "$svndir/config.sh" ];then |
|||
[ -f "$menudir/$_toolchainname.save" ] && rm -rf "$menudir/$_toolchainname.save"; |
|||
if [ ! -f "$workdir/SVN-IS-PATCHED" ];then |
|||
reset_="$("$svndir/config.sh" -R)"; |
|||
fi; |
|||
else |
|||
_select_menu; |
|||
fi; |
|||
}; |
|||
_get_config_menu(){ |
|||
tmp="$(mktemp)"; |
|||
while read -r _l;do |
|||
c=$(echo "$_l" | tr -cd \" | wc -c); |
|||
_c=$((_c + c)); |
|||
[ ${_c} -lt 11 ] && echo "$_l" >>"$tmp"; |
|||
[ ${_c} -eq 10 ] && break; |
|||
done <"$svndir/config.sh"; |
|||
mk="$(grep '^ USE_' "$workdir/oscam-svn/Makefile" |sort -u|awk '{print $1}')"; |
|||
for e in $mk;do |
|||
USE_vars[${e:0:-2}]=; |
|||
done; |
|||
check_smargo; |
|||
source "$tmp"; |
|||
rm -rf "$tmp"; |
|||
}; |
|||
read_s3cfg(){ |
|||
if [ -f "$s3cfg" ];then |
|||
while read l;do |
|||
s3cfg_vars[$(echo "$l"| awk -F'=' '{print $1}')]=$(echo "$l"| awk -F'=' '{print $2}'); |
|||
done < "$s3cfg"; |
|||
fi; |
|||
}; |
|||
s3cfg_menu(){ |
|||
unset CFG_MENU; |
|||
declare -a CFG_MENU; |
|||
old_IFS=$IFS; |
|||
COUNT=0; |
|||
found=""; |
|||
for e in "${!s3cfg_vars[@]}";do |
|||
CFG_MENU+="$e#on/off#$([ "${s3cfg_vars[$e]}" -gt "0" ] && echo on || echo off)#"; |
|||
counter; |
|||
done; |
|||
IFS="#"; |
|||
erg=$("$gui" "$st_" "$bt_" "$title_" "$cl_" "enable/disable options" 16 45 10 ${CFG_MENU[@]}); |
|||
IFS=$old_IFS; |
|||
for e1 in "${!s3cfg_vars[@]}";do |
|||
for e2 in $erg;do |
|||
found="0"; |
|||
if [ "$e1" == "${e2//\'}" ];then |
|||
found="1"; |
|||
break; |
|||
fi; |
|||
done; |
|||
if [ "$found" == "1" ];then |
|||
s3cfg_vars[$e1]=1; |
|||
else |
|||
s3cfg_vars[$e1]=0; |
|||
fi; |
|||
done; |
|||
write_s3cfg; |
|||
}; |
|||
write_s3cfg(){ |
|||
[ -f "$s3cfg" ] && rm -rf "$s3cfg"; |
|||
for e in "${!s3cfg_vars[@]}";do |
|||
echo "$e=${s3cfg_vars[${e}]}" >>"$s3cfg"; |
|||
done; |
|||
}; |
|||
_stapi_select(){ |
|||
if [ "$stapi_allowed" == "1" ];then |
|||
stapivar=''; |
|||
addstapi=; |
|||
USESTRING=; |
|||
stapimode=$($gui $rl_ " SELECT STAPI MODE" 12 0 5 0 "STAPI_OFF" on 1 "USE_STAPI" off 2 "USE_STAPI5 UFS916" off 3 "USE_STAPI5 UFS916003" off 4 "USE_STAPI5 OPENBOX" off 3>&1 1>&2 2>&3); |
|||
usevars=$(echo $usevars | sed "s@USE_STAPI5@@" | xargs); |
|||
usevars=$(echo $usevars | sed "s@USE_STAPI@@" | xargs); |
|||
case $stapimode in |
|||
0) |
|||
stapivar=;; |
|||
1) |
|||
stapivar="STAPI_LIB=$sdir/stapi/liboscam_stapi.a"; |
|||
addstapi="USE_STAPI";; |
|||
2) |
|||
stapivar="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916.a"; |
|||
addstapi="USE_STAPI5";; |
|||
3) |
|||
stapivar="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916_0.03.a"; |
|||
addstapi="USE_STAPI5";; |
|||
4) |
|||
stapivar="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_OPENBOX.a"; |
|||
addstapi="USE_STAPI5";; |
|||
esac; |
|||
save_config; |
|||
else |
|||
"$gui" "$st_" --title "STAPI INFO" --msgbox "NOT for $_toolchainname" 0 0; |
|||
_toolchain_config_menu; |
|||
fi; |
|||
}; |
|||
|
|||
save_config(){ |
|||
usevars=; |
|||
enabled=; |
|||
disabled=; |
|||
check_smargo; |
|||
enabled=($("$svndir/config.sh" -s)); |
|||
disabled=($("$svndir/config.sh" -Z)); |
|||
[ "$_toolchainname" == "sh4" ] && unset USE_vars[USE_COMPRESS]; |
|||
[ "$_toolchainname" == "sh_4" ] && unset USE_vars[USE_COMPRESS]; |
|||
unset USE_vars[USE_STAPI]; |
|||
unset USE_vars[USE_STAPI5]; |
|||
for e in ${USE_vars[*]};do |
|||
usevars="${e:0:-2} $usevars"; |
|||
done; |
|||
[ -f "$menudir/$_toolchainname.save" ] && rm -rf "$menudir/$_toolchainname.save"; |
|||
echo "enabled=\"${enabled[*]}\"" >"$menudir/$_toolchainname.save"; |
|||
echo "disabled=\"${disabled[*]}\"">>"$menudir/$_toolchainname.save"; |
|||
if [ "$stapi_allowed" == "1" ];then |
|||
if [ "${#stapivar}" -gt "15" ];then |
|||
echo "stapivar=\"$stapivar\"">>"$menudir/$_toolchainname.save"; |
|||
echo "usevars=\"$usevars $addstapi\"" >>"$menudir/$_toolchainname.save"; |
|||
else |
|||
echo "usevars=\"$usevars\"" >>"$menudir/$_toolchainname.save"; |
|||
fi; |
|||
else |
|||
echo "usevars=\"$usevars\"" >>"$menudir/$_toolchainname.save"; |
|||
fi; |
|||
}; |
|||
|
|||
load_config(){ |
|||
_stapi=; |
|||
_stapi5=; |
|||
enabled=; |
|||
disabled=; |
|||
stapivar=""; |
|||
USESTRING=; |
|||
usevars=; |
|||
unset USE_vars[USE_STAPI]; |
|||
unset USE_vars[USE_STAPI5]; |
|||
if [ -f "$menudir/$_toolchainname.save" ];then |
|||
source "$menudir/$_toolchainname.save"; |
|||
ena=$("$svndir/config.sh" -E $enabled); |
|||
dis=$("$svndir/config.sh" -D $disabled); |
|||
for e in $usevars;do |
|||
USE_vars[$e]="$e=1"; |
|||
[ "$e" == "USE_LIBUSB" ] && silent=$("$svndir/config.sh" --enable CARDREADER_SMARGO); |
|||
[ "$e" == "USE_PCSC" ] && sed -i 's@^//#define CARDREADER_PCSC 1@#define CARDREADER_PCSC 1@g' "$svndir/config.h"; |
|||
done; |
|||
else |
|||
_reset_config; |
|||
[ "${s3cfg_vars[USE_TARGZ]}" == "1" ] && USE_vars[USE_TARGZ]="USE_TARGZ=1"; |
|||
[ "${s3cfg_vars[USE_COMPRESS]}" == "1" ] && USE_vars[USE_COMPRESS]="USE_COMPRESS=1"; |
|||
for e in $default_use;do |
|||
USE_vars[$e]="$e=1"; |
|||
done; |
|||
fi; |
|||
check_smargo; |
|||
[ "$_toolchainname" == "sh4" ] && unset USE_vars[USE_COMPRESS]; |
|||
[ "$_toolchainname" == "sh_4" ] && unset USE_vars[USE_COMPRESS]; |
|||
USESTRING="$(echo "${USE_vars[@]}"| sed 's@USE_@@g'| sed 's@=1@@g'| tr -s ' ')"; |
|||
}; |
|||
_get_config_con(){ |
|||
if [ ! "$1" == "checkout" ] && [ ! "$1" == "clean" ];then |
|||
tmp="$(mktemp)"; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
while read -r _l;do |
|||
c=$(echo "$_l" | tr -cd \" | wc -c); |
|||
_c=$((_c + c)); |
|||
[ ${_c} -lt 11 ] && echo "$_l" >>"$tmp"; |
|||
[ ${_c} -eq 10 ] && break; |
|||
done <"$svndir/config.sh"; |
|||
else |
|||
while read -r _l;do |
|||
c=$(echo "$_l" | tr -cd \" | wc -c); |
|||
_c=$((_c + c)); |
|||
[ ${_c} -lt 11 ] && echo "$_l" >>"$tmp"; |
|||
[ ${_c} -eq 10 ] && break; |
|||
done <"$configdir/config.sh.master"; |
|||
fi; |
|||
if [ -f "$workdir/oscam-svn/Makefile" ];then |
|||
str_="$(grep '^ USE_' "$workdir/oscam-svn/Makefile"| sort -u| awk '{print $1}')"; |
|||
for e in $str_;do |
|||
es="${e:0:-2}"; |
|||
USE_vars[$es]=; |
|||
done; |
|||
else |
|||
str_="$(grep '^ USE_' "$configdir/Makefile.master"| sort -u| awk '{print $1}')"; |
|||
for e in $str_;do |
|||
es="${e:0:-2}"; |
|||
USE_vars[$es]=; |
|||
done; |
|||
fi; |
|||
check_smargo; |
|||
source "$tmp"; |
|||
rm -rf "$tmp" "$tmp1"; |
|||
rm -rf "$tmp.load" "$tmp1.load"; |
|||
fi; |
|||
}; |
|||
_gtedit(){ |
|||
if [ -f "$tccfgdir/$_toolchainname" ];then |
|||
source "$tccfgdir/$_toolchainname"; |
|||
input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " --inputbox "\n CONF_DIR=$_oscamconfdir_default 'default'\n [ESC] = default\n" 0 0 "$_oscamconfdir_custom"); |
|||
retval=$?; |
|||
case $retval in |
|||
0) |
|||
confdir="$input";; |
|||
1) |
|||
confdir="$_oscamconfdir_custom";; |
|||
255) |
|||
confdir="$_oscamconfdir_default";; |
|||
esac; |
|||
sed -i s@^_oscamconfdir_custom.*@_oscamconfdir_custom=\"$confdir\"@ "$tccfgdir/$_toolchainname"; |
|||
source "$tccfgdir/$_toolchainname"; |
|||
fi; |
|||
}; |
@ -0,0 +1,102 @@ |
|||
#!/bin/bash |
|||
|
|||
get_patch(){ _get_patch; }; |
|||
_get_patch(){ |
|||
cd $pdir; |
|||
[ -f patch.url ] && source patch.url; |
|||
clear; |
|||
echo -e $C; |
|||
ologo; |
|||
echo -e $WH; |
|||
[ -f $PATCHNAME ] && echo -e "$Y old patch found\n remove $P$PATCHNAME" && rm -f $PATCHNAME; |
|||
echo -e $W" load $PATCHNAME"; |
|||
wget -q -O$PATCHNAME $PATCHURL; |
|||
[ -f $PATCHNAME ] && echo -e $G" ok$W new $PATCHNAME loadet\n" || echo -e $R" patch not found\n"$W; |
|||
}; |
|||
_apply_menupatch(){ |
|||
cd "$pdir"; |
|||
pf=(*); |
|||
if [ ${#pf[@]} -gt 1 ];then |
|||
[ -f "$workdir/SVN-IS-PATCHED" ] && quicksvnrestore $_toolchainname 2>/dev/null; |
|||
if [ ! -f "$workdir/SVN-IS-PATCHED" ];then |
|||
(if [ "$(ls -A "$pdir"/*.patch 2>/dev/null)" ];then |
|||
cd "$pdir"; |
|||
unset patchlist;patchlist=`ls *.patch | sort -st '/' -k1,1`; |
|||
for e in ${patchlist[@]};do |
|||
_w="ok"; |
|||
cd "$svndir"; |
|||
patchlog="$(mktemp)"; |
|||
echo "PATCH : apply $e"; |
|||
patch -f -p0 < "$pdir/$e" >>"$patchlog" 2>/dev/null; |
|||
hunks=$(grep -c1 '^Hunk' "$patchlog"); |
|||
fails=$(grep -c1 'hunks FAILED' "$patchlog"); |
|||
if [ "$hunks" -gt "0" ];then |
|||
echo "PATCH : $hunks x HUNK for $e"; |
|||
_w="hunk"; |
|||
fi; |
|||
if [ "$fails" -gt "0" ];then |
|||
echo "PATCH : $fails x FAILS for $e"; |
|||
_w="fail"; |
|||
fi; |
|||
done; |
|||
case $_w in |
|||
ok) |
|||
echo "PATCH : done all ok"; |
|||
touch "$workdir/SVN-IS-PATCHED";; |
|||
hunk) |
|||
echo "PATCH : done with warnings save $e.log"; |
|||
cat $patchlog >>"$ldir/$e.log"; |
|||
ln -sf "$ldir/$e.log" "$workdir/lastpatch.log"; |
|||
touch "$workdir/SVN-IS-PATCHED";; |
|||
fail) |
|||
echo "PATCH : break build save $e.log"; |
|||
cat $patchlog >>"$ldir/$e.log"; |
|||
ln -sf "$ldir/$e.log" "$workdir/lastpatch.log"; |
|||
touch "$workdir/SVN-IS-PATCHED";; |
|||
esac; |
|||
rm -rf "$patchlog"; |
|||
fi;)|"$gui" "$st_" "$bt_" "$title_" "$pb_" 12 62;sleep 2; |
|||
fi; |
|||
fi; |
|||
}; |
|||
_apply_consolepatch(){ |
|||
if [ ! -f "$workdir/SVN-IS-PATCHED" ];then |
|||
cd "$pdir"; |
|||
if [ "$(ls -1 "$pdir"/*.patch 2>/dev/null | wc -l)" -gt "0" ];then |
|||
unset patchlist;patchlist=`ls *.patch | sort -st '/' -k1,1`; |
|||
for e in ${patchlist[@]};do |
|||
_w=0;cd "$svndir"; |
|||
patchlog="$(mktemp)"; |
|||
echo -e "$y_l| PATCH : apply $e"; |
|||
patch -F 10 -f -p0 < "$pdir/$e" >>"$patchlog" 2>/dev/null; |
|||
hunks=$(grep -c1 "^Hunk" "$patchlog"); |
|||
fails=$(grep -c1 "hunks FAILED" "$patchlog"); |
|||
if [ "$hunks" -gt "0" ];then |
|||
echo -e "$y_l| PATCH :$w_l $hunks x HUNK for $e"; |
|||
_w=1; |
|||
fi; |
|||
if [ "$fails" -gt "0" ];then |
|||
echo -e "$y_l| PATCH :$r_n FAIL (breaking Build) = $fails"; |
|||
echo -en "$w_l| RESTORE :$c_w LAST SVN BACKUP in "; |
|||
for (( i=6; i>0; i--));do |
|||
sleep 1 & echo -en "$i\b"; |
|||
wait; |
|||
done; |
|||
svnrestore lastsvn; |
|||
exit; |
|||
fi; |
|||
cat $patchlog >"$ldir/$e.log"; |
|||
ln -sf "$ldir/$e.log" "$workdir/lastpatch.log"; |
|||
rm -rf "$patchlog"; |
|||
done; |
|||
if [ "$_w" -gt "0" ];then echo -e "$y_l| PATCH : done with warnings"; |
|||
touch "$workdir/SVN-IS-PATCHED"; |
|||
else |
|||
echo -e "$y_l| PATCH :$g_l done all ok$rs_"; |
|||
touch "$workdir/SVN-IS-PATCHED"; |
|||
fi; |
|||
else |
|||
echo -en "$y_l| PATCH : no patch found\n"; |
|||
fi; |
|||
fi; |
|||
}; |
@ -0,0 +1,104 @@ |
|||
#!/bin/bash |
|||
|
|||
profiles(){ |
|||
_list_profiles; |
|||
exit; |
|||
}; |
|||
_list_profiles(){ |
|||
cd "$profdir"; |
|||
profiles=(*.profile); |
|||
if [ ${#profiles[@]} -gt 0 ];then |
|||
echo -e "$c_l"; |
|||
clear; |
|||
slogo; |
|||
echo -e "$y_l\n $txt_profiles $txt_found $txt_for ( ./$(basename "$0") \"tcname\" -p=name.profile )"; |
|||
echo -e "$w_l ======================================================\n";i=0; |
|||
for e in "${profiles[@]}";do |
|||
((i++)); |
|||
echo -e "$w_l ($i) > $e"; |
|||
done; |
|||
fi; |
|||
echo -e "\n$rs_"; |
|||
}; |
|||
_save_profile(){ |
|||
if [ -f "$menudir/$_toolchainname.save" ];then |
|||
source "$menudir/$_toolchainname.save"; |
|||
input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " $ip_ "\n SAVE PROFILE\n" 0 0 "$_toolchainname"); |
|||
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"; |
|||
fi; |
|||
}; |
|||
_load_profile(){ |
|||
if [ "$(ls -A "$profdir")" ];then |
|||
ok=0; |
|||
loadprofile="no"; |
|||
USESTRING=; |
|||
_create_module_arrays; |
|||
unset selection; |
|||
declare -a SELECTION; |
|||
cd "$profdir"; |
|||
p_files=(*.profile); |
|||
i=0; |
|||
for e in "${p_files[@]}";do |
|||
((i++));SELECTION+=($e '<'); |
|||
done; |
|||
pselect=$("$gui" "$st_" "$bt_" "$title_" --no-cancel --title " -[ $txt_select_profile_title ]- " --menu "\n $txt_select_profile\n\n" 0 0 "$i" "${SELECTION[@]}"); |
|||
[ $? = 255 ] && loadprofile="yes" && _toolchain_build_menu; |
|||
"$gui" "$st_" "$bt_" "$title_" --yesno "\n$txt_confirm_profile_select\n\n$pselect\n\n" 0 0; |
|||
response=$?; |
|||
case "$response" in |
|||
1) |
|||
loadprofile="yes"; |
|||
_toolchain_build_menu;; |
|||
255) |
|||
loadprofile="yes"; |
|||
_toolchain_build_menu;; |
|||
esac; |
|||
if [ -f "$profdir/$pselect" ];then |
|||
profile_vars=$(cat "$profdir/$pselect";); |
|||
reset_="$("$svndir/config.sh" -D all)"; |
|||
for e in "${!USE_vars[@]}";do |
|||
USE_vars[$e]=; |
|||
done; |
|||
for e1 in $profile_vars;do |
|||
for e2 in "${!USE_vars[@]}";do |
|||
[ "$e1" == "$e2" ] && USE_vars[$e1]="$e1=1"; |
|||
done; |
|||
for sm in "${SHORT_MODULENAMES[@]}";do |
|||
if [ "$e1" == "$sm" ];then |
|||
_em_="$_em_ $(get_module_name "$sm")"; |
|||
fi; |
|||
done; |
|||
done; |
|||
_set_=$("$svndir/config.sh" -E $_em_); |
|||
USESTRING="$(echo "${USE_vars[@]}"| sed 's@USE_@@g' | sed 's@=1@@g'| tr -s ' ')"; |
|||
loadprofile="yes"; |
|||
fi; |
|||
else |
|||
$gui --msgbox "\n$txt_no_profile_found \n " 0 0; |
|||
fi; |
|||
loadprofile="no"; |
|||
}; |
|||
_create_native_profile(){ |
|||
[ ! -d "$tcdir/native/bin" ] && mkdir -p "$tcdir/native/bin"; |
|||
cd "$tcdir/native/bin"; |
|||
g="$(which gcc)"; |
|||
stripvar="$(which strip)"; |
|||
compiler_link="$($g -dumpmachine)-gcc"; |
|||
strip_link="$($g -dumpmachine)-strip"; |
|||
[ ! -L "$compiler_link" ] && ln -sf "$g" "$compiler_link"; |
|||
[ ! -L "$strip_link" ] && ln -sf "$stripvar" "$strip_link"; |
|||
cd "$tccfgdir"; |
|||
cat << EOF > native |
|||
_toolchainname="native"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_oscamconfdir_default="/usr/local/etc"; |
|||
_oscamconfdir_custom="not_set"; |
|||
_compiler="$($g -dumpmachine)-"; |
|||
_tc_info="Native System Compiler \ |
|||
$(gcc --version)"; |
|||
_libsearchdir="/lib"; |
|||
_menuname="native"; |
|||
_sysroot="/"; |
|||
EOF |
|||
cd "$workdir"; |
|||
}; |
@ -0,0 +1,193 @@ |
|||
#!/bin/bash |
|||
|
|||
checkout(){ |
|||
echo -en "$c_l"; |
|||
fc1="$(mktemp)"; |
|||
clear; |
|||
ologo; |
|||
i=0; |
|||
COUNT=0; |
|||
if [ -d "$svndir" ];then |
|||
rm -rf "$svndir"; |
|||
echo -e "$p_l\n $txt_delete $txt_existing oscam-svn $re_\n"; |
|||
else |
|||
echo -e "$p_l\n $txt_no oscam-svn $txt_found\n$re_"; |
|||
fi; |
|||
echo -e "$w_l SVN TrunkURL : $g_l$trunkurl$re_"; |
|||
[ ! -z "$1" ] && [ $(($1)) -gt 6999 ] && opt_="-r$1" && mac_="($txt_selected)" || opt_=''; |
|||
echo -en "$w_l SVN FileCount : "; |
|||
svn info -R "$trunkurl" |grep '^URL' |uniq |wc -l >"$fc1"; |
|||
n=$(cat "$fc1"); |
|||
echo -e "$g_l""$txt_found $n"; |
|||
echo -en "$w_l SVN checkout : "; |
|||
while read line filename;do |
|||
counter=$(( 100*(++i)/n)); |
|||
tput cup 11 18; |
|||
[ "$counter" -lt "100" ] && echo -en "$g_l""$counter%$re_" || echo -en "$g_l""100%$re_"; |
|||
done < <( svn co "$trunkurl" $opt_ "$svndir" |sed "s|$svndir/||g"); |
|||
tput cup 11 18; |
|||
echo -en "$g_l""100%$re_"; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
tput cup 12 2; |
|||
echo -en "$w_l""SVN Revision : $y_l""$("$svndir/config.sh" -r) $b_l$mac_$re_\n$w_l SVN UserPath : $y_l""$svndir"; |
|||
fi; |
|||
[ -f "$svndir/config.h" ]&& reset_="$("$svndir/config.sh" -R)"; |
|||
_fix_config_h; |
|||
rm -rf "$fc1"; |
|||
_nl; |
|||
[ -f "$workdir/SVN-IS-PATCHED" ] && rm -f "$workdir/SVN-IS-PATCHED"; |
|||
tarsvn; |
|||
}; |
|||
svnrestore(){ |
|||
clear; |
|||
echo -en "$c_l"; |
|||
ologo; |
|||
if [ "$1" == "list" ];then |
|||
cd "$bsvn"; |
|||
bfiles="$(find . -type f |sed 's|./||' |sed 's|.tar.gz||')"; |
|||
bcount=$(echo "$bfiles" |wc -w); |
|||
if [ "$bcount" -gt "0" ];then |
|||
echo -e "\n$c_l $bcount$w_l svn backups found\n ____________________$re_\n"; |
|||
for b in $bfiles;do |
|||
echo -e "$c_l --> $w_l$b"; |
|||
done; |
|||
_nl; |
|||
else |
|||
echo -e "\n$r_l $bcount$w_l svn backups found\n ____________________$re_\n"; |
|||
fi; |
|||
exit; |
|||
fi; |
|||
if [ -d "$svndir" ];then |
|||
rm -rf "$svndir"; |
|||
echo -e "$p_l\n $txt_delete $txt_existing oscam-svn $re_\n"; |
|||
else |
|||
echo -e "$p_l\n $txt_no oscam-svn $txt_found\n$re_"; |
|||
fi; |
|||
untarsvn $1; |
|||
[ -f "$svndir/config.h" ]&& echo -en "$w_l"" SVN Revision : $y_l""$("$svndir/config.sh" -r) restored\n\n$re_"; |
|||
}; |
|||
quicksvnrestore(){ |
|||
untarsvn $1; |
|||
}; |
|||
svnup(){ |
|||
echo -en "$c_l"; |
|||
clear; |
|||
ologo; |
|||
i=1; |
|||
if [ -d "$svndir" ];then |
|||
echo -en "$p_l\n $txt_update oscam-svn $re_\n"; |
|||
else |
|||
checkout; |
|||
return; |
|||
fi; |
|||
echo -en "\n$w_l SVN TrunkURL : $g_l""$trunkurl""$re_"; |
|||
svn co "$trunkurl" "$svndir" -q; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
tput cup 10 2; |
|||
echo -e "$w_l""SVN Revision : ""$y_l$("$svndir/config.sh" -r) $b_l$mac_$re_\n$w_l SVN UserPath : $y_l""$svndir\n$re_"; |
|||
fi; |
|||
if [ -f "$svndir/config.h" ];then |
|||
reset_="$("$svndir/config.sh" -R)"; |
|||
_fix_config_h; |
|||
fi; |
|||
}; |
|||
svnpatch(){ |
|||
if [ ! -f "$workdir/SVN-IS-PATCHED" ];then |
|||
clear; |
|||
echo -e $C; |
|||
ologo; |
|||
unset patchlist; |
|||
cd "$pdir"; |
|||
patchlist=(*.patch); |
|||
if [ "$(ls -A "$pdir"/*.patch 2>/dev/null)" ];then |
|||
touch "$workdir/SVN-IS-PATCHED"; |
|||
for p in "${patchlist[@]}";do |
|||
echo -e $WH"\n\n -> $p <-\n"$W; |
|||
sleep 1; |
|||
patch -d$svndir/ -p0 < "$pdir/$p" |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;"; |
|||
done; |
|||
else |
|||
echo -e $WH" $txt_no patch $txt_found"; |
|||
fi; |
|||
else |
|||
clear; |
|||
echo -e $C; |
|||
ologo; |
|||
echo -e $WH" already patched"; |
|||
fi; |
|||
echo -e $W; |
|||
}; |
|||
_dialog_checkout(){ |
|||
upc="$(mktemp)"; |
|||
(echo -en " $txt_verify_syscheck "; |
|||
[ "$sanity" == "1" ] && echo -e "ok" && sleep 1; |
|||
if [ "${s3cfg_vars[NO_SVN_AUTOUPDATE]}" == "0" ];then |
|||
echo -en " $txt_verify_svn "; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
echo "ok"; |
|||
sleep 1; |
|||
echo -en " $txt_update_svn $txt_wait\n"; |
|||
cd "$svndir"; |
|||
svn -q update; |
|||
echo 1 >"$upc"; |
|||
sleep 1; |
|||
fi; |
|||
fi;) | "$gui" "$st_" "$bt_" "$title_" "$pb_" 5 52; |
|||
if [ "${s3cfg_vars[NO_SVN_AUTOUPDATE]}" == "0" ];then |
|||
upc1=$(cat "$upc" 2>/dev/null); |
|||
rm -f "$upc"; |
|||
[ ! "$upc1" == "1" ] && _dialog_checkout1; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
reset_="$("$svndir/config.sh" -R)"; |
|||
_fix_config_h; |
|||
fi; |
|||
_get_config_menu; |
|||
fi; |
|||
if [ -n "$1" ];then |
|||
if [ -f "$tccfgdir/$1" ] && [ -f "$svndir/config.sh" ];then |
|||
source "$tccfgdir/$1"; |
|||
if [ ! -f "$tcdir/$_toolchainname/bin/$_compiler""gcc" ];then |
|||
first="$1"; |
|||
_toolchain_gui_install; |
|||
fi; |
|||
loadprofile="yes"; |
|||
_toolchain_build_menu "$1"; |
|||
else |
|||
_select_menu; |
|||
fi; |
|||
fi; |
|||
_select_menu; |
|||
}; |
|||
_dialog_checkout1(){ |
|||
rm -rf "$svndir" 2>/dev/null; |
|||
COUNT=0; |
|||
[ -z "$1" ] && rn=0 || rn="$1"; |
|||
if [ "$rn" -ge "7000" ];then |
|||
_rev="-r $rn"; |
|||
sc_text="Revision: $rn"; |
|||
else |
|||
_rev=''; |
|||
sc_text="$txt_latest"; |
|||
fi; |
|||
(echo -en "$txt_prepare_svn $txt_wait";)| "$gui" "$st_" "$bt_" "$title_" "$pb_" 3 55; |
|||
nnn="$(svn info $_rev -R "$trunkurl" |grep "^URL: " |uniq |wc -l)"; |
|||
"$gui" "$st_" "$bt_" "$title_" --title " -[ SVN Checkout $sc_text ]- " --gauge " $txt_wait" 6 75 < <(while read line filename;do ((++i));PCT=$(( 100*i/(nnn+1) )); |
|||
cat <<EOF |
|||
XXX |
|||
$PCT |
|||
$line |
|||
XXX |
|||
EOF |
|||
done < <(svn co "$trunkurl" "$svndir" $_rev| sed "s@$svndir@@g"| awk '{print $2}'; |
|||
cd "$svndir"; |
|||
if [ -f "$svndir/config.sh" ];then |
|||
reset_="$("$svndir/config.sh" -R)"; |
|||
echo "Revision: $(REVISION) done..."; |
|||
_fix_config_h; |
|||
[ -f "$workdir/SVN-IS-PATCHED" ] && rm -f "$workdir/SVN-IS-PATCHED"; |
|||
_get_config_menu; |
|||
fi;)); |
|||
}; |
|||
REVISION(){ |
|||
[ -d "$svndir" ] && cd "$svndir" && svnversion -n . 2>/dev/null| sed 's/[^0-9]//g' || echo " nosvn "; |
|||
}; |
@ -0,0 +1,122 @@ |
|||
#!/bin/bash |
|||
|
|||
prerequisites(){ |
|||
|
|||
failed=0; |
|||
missing="(not found)"; |
|||
[[ $1 ]] && output=": &&" || output="echo"; |
|||
|
|||
$output -e "$w_l\n CHECK for binaries\n ==================\n"; |
|||
|
|||
# check for a forgotten and unusable 'upx' and remove this crap |
|||
[ -x "$bindir"/upx ] && "$bindir"/upx -V &>/dev/null || rm -f "$bindir"/upx &>/dev/null; |
|||
|
|||
for e in "${binvars[@]}"; |
|||
do |
|||
if hash "$e" 2>/dev/null; then |
|||
$output -e "$w_l have\t$g_l$e\t\t$y_l$(which "$e")"; |
|||
else |
|||
failed=1; |
|||
$output -e "$r_l need\t$w_l$e\t\t$r_l$missing"; |
|||
fi; |
|||
done; |
|||
|
|||
if hash upx 2>/dev/null; then |
|||
upxversion=($(upx -V | awk 'NR==1 { verok=$2>=3.91; printf "%.2f %i", $2, verok }')); |
|||
$output -n -e "$w_l version$g_l upx$y_l ${upxversion[0]}"; |
|||
if [ ${upxversion[1]} == 1 ]; then |
|||
$output -e "$g_l ok"; |
|||
else |
|||
$output -e "$r_l nok"; |
|||
failed=1; |
|||
fi |
|||
fi |
|||
|
|||
$output -e " \n $w_l CHECK for headers\n =================\n" ; |
|||
|
|||
for e in "${headervars[@]}"; |
|||
do |
|||
e1=$(find /usr/include/* | grep -m1 "$e"); |
|||
if [ ${#e1} -gt 8 ]; then |
|||
$output -e "$w_l have\t$g_l$e$w_l$y_l\t$e1" |
|||
else |
|||
failed=1; |
|||
$output -e "$r_l need\t$w_l$e\t\t$r_l$missing"; |
|||
fi; |
|||
done; |
|||
|
|||
$output -e " \n $w_l CHECK for libraries\n ===================\n" ; |
|||
|
|||
for e in "${libvars[@]}"; |
|||
do |
|||
e1=$(find /usr/lib* 2>/dev/null | grep -m1 "$e"); |
|||
if [ ${#e1} -gt 8 ]; then |
|||
$output -e "$w_l have\t$g_l$e$w_l$y_l\t$e1" |
|||
else |
|||
failed=1; |
|||
$output -e "$r_l need\t$w_l$e\t\t$r_l$missing"; |
|||
fi; |
|||
done; |
|||
|
|||
if [ "$(uname -m)" == "x86_64" ]; then |
|||
$output -e " \n $w_l CHECK for zlib32\n ================\n" ; |
|||
e="zlib32"; |
|||
e1="/usr/lib/libz.so"; |
|||
e2="/usr/lib32/libz.so.1"; |
|||
if [ -f $e1 ]; then |
|||
$output -e "$w_l have\t$g_l$e$w_l$y_l\t$e1" |
|||
elif [ -f $e2 ]; then |
|||
$output -e "$w_l have\t$g_l$e$w_l$y_l\t$e2" |
|||
else |
|||
failed=1; |
|||
$output -e "$r_l need\t$w_l$e\t\t$r_l$missing"; |
|||
fi |
|||
fi |
|||
|
|||
return $failed; |
|||
} |
|||
|
|||
# Parameters (all optional): |
|||
# $1: installer name (or "auto") |
|||
# $2: add architecture (not implemented yet) |
|||
# |
|||
# Example: |
|||
# syscheck debian_os |
|||
# call installer 'debian_os' (Do not care about the actual Linux distribution.) |
|||
syscheck(){ |
|||
[[ $1 ]] && [ "$1" != "auto" ] && override="$1"; |
|||
|
|||
if [ -d "$osdir" ];then cd "$osdir";x=(*); for i in "${x[@]}";do source "$i"; done fi |
|||
|
|||
binvars=( dialog grep gawk wget tar bzip2 svn xz upx patch gcc make scp sshpass openssl dos2unix ); |
|||
headervars=( crypto.h libusb.h pcsclite.h pthread.h ); |
|||
libvars=( libccidtwin.so ); |
|||
|
|||
sanity=1; |
|||
|
|||
if ! prerequisites silent; then |
|||
echo -e "$w_l"; clear; ologo; |
|||
prerequisites; |
|||
sanity=0; |
|||
installer="unknown"; |
|||
# Debian and Ubuntu |
|||
[ -f /etc/debian_version ] && installer="debian_os"; |
|||
# CentOS and Redhat |
|||
[ -f /etc/redhat-release ] && installer="redhat_os"; |
|||
# Manjaro (/etc/os-release) |
|||
[ -f /etc/manjaro-release ] && installer="manjaro_os"; |
|||
# SuSE (/etc/SuSE-release is depreciated -> check for YaST2) |
|||
[ -d /etc/YaST2 ] && installer="suse_os"; |
|||
# Optional override via parameter |
|||
[[ $override ]] && installer=$override; |
|||
echo -e "\n$w_l Selected installer: $installer"; |
|||
if type -t "$installer" >/dev/null; then |
|||
$installer && prerequisites && sanity=1; |
|||
else |
|||
echo -e "\n$r_l Needs manual installation."; |
|||
fi |
|||
echo -e "$re_"; |
|||
fi |
|||
|
|||
return $sanity; |
|||
} |
@ -0,0 +1,285 @@ |
|||
#!/bin/bash |
|||
|
|||
_toolchain_build_menu(){ |
|||
[ "$loadprofile" == "yes" ] && load_config; |
|||
selected=$( |
|||
"$gui" "$st_" "$bt_" "$title_" --no-cancel --title " -[ $txt_bmenu_title ]- " --menu "_________________________________________________________ \n $txt_bmenu_user = $(whoami)\n Toolchain = $_toolchainname\n $txt_bmenu_comp = $_compiler""gcc\n $txt_bmenu_debu = CPU-Threads($(CPUS)) SVN($(REVISION)) SCRIPT($SIMPLEVERSION)\n $txt_bmenu_use = $(echo $USESTRING| sed -e 's/^[ \t]*//')\n _________________________________________________________ \n" 22 65 10 BUILD "$txt_bmenu_build" CONFIGURE "$txt_bmenu_config" LOAD_PROFILE "$txt_bmenu_profile" SAVE_PROFILE "$txt_bmenus_profile" SHOW_BUILDLOG "$txt_bmenu_log" EDIT_CONF_DIR "Oscam config PATH" BACK "$txt_bmenu_back" EXIT "$txt_firstmenu_exit"); |
|||
[ $? = 255 ] && _toolchain_build_menu; |
|||
case $selected in |
|||
BUILD) |
|||
_gui_build;; |
|||
CONFIGURE) |
|||
_toolchain_config_menu;; |
|||
EDIT_CONF_DIR) |
|||
_gtedit; |
|||
_toolchain_build_menu;; |
|||
SHOW_BUILDLOG) |
|||
_sz; |
|||
if [ -f "$workdir/lastbuild.log" ];then |
|||
"$gui" "$st_" "$bt_" "$title_" --textbox "$workdir/lastbuild.log" "$_lines" "$_cols"; |
|||
fi; |
|||
_toolchain_build_menu;; |
|||
LOAD_PROFILE) |
|||
_load_profile;; |
|||
SAVE_PROFILE) |
|||
_save_profile;; |
|||
BACK) |
|||
_toolchain_main_menu;; |
|||
EXIT) |
|||
bye; |
|||
exit;; |
|||
esac; |
|||
_toolchain_build_menu; |
|||
}; |
|||
_toolchain_config_menu(){ |
|||
[ "$loadprofile" == "yes" ] && load_config; |
|||
selected=$( |
|||
"$gui" "$st_" "$bt_" "$title_" --no-cancel --title " -[ $txt_config_menu ]- " --menu " ADDONS :\n $(e_addons)\n\n PROTOCOLS :\n $(e_protocols)\n\n READERS :\n $(e_readers)\n\n CARD_READERS :\n $(e_card_readers)\n\n USE VARIABLES :\n $(echo $USESTRING| sed -e 's/^[ \t]*//')\n\n" 29 75 6 BACK "$txt_back_build" OSCAM_MODULE "$txt_module_configure" OSCAM_EXTRA "$txt_oscam_extra" BUILD_EXTRA "$txt_build_extra" SELECT_STAPI "select stapi" RESET "$txt_build_reset"); |
|||
[ $? = 255 ] && _toolchain_config_menu; |
|||
case $selected in |
|||
BACK) |
|||
save_config; |
|||
_toolchain_build_menu;; |
|||
OSCAM_EXTRA) |
|||
_oscam_extra_menu;; |
|||
BUILD_EXTRA) |
|||
_build_extra_menu;; |
|||
OSCAM_MODULE) |
|||
eval "$svndir/config.sh -g" 2>/dev/null; |
|||
save_config;; |
|||
SELECT_STAPI) |
|||
_stapi_select;; |
|||
RESET) |
|||
_reset_config; |
|||
load_config; |
|||
_toolchain_config_menu;; |
|||
esac; |
|||
_toolchain_config_menu; |
|||
}; |
|||
_toolchain_main_menu(){ |
|||
_fill_tc_array; |
|||
IFS="#"; |
|||
COUNT=0; |
|||
MENU_OPTIONS="BACK#$txt_back_main#"; |
|||
counter; |
|||
if [ "$systype" == "ok" ];then |
|||
MENU_OPTIONS+="ADD#$txt_menu_builder2#"; |
|||
counter; |
|||
[ "$tcempty" == "0" ] && MENU_OPTIONS+="REMOVE#$txt_menu_builder3#" && counter; |
|||
fi; |
|||
MENU_OPTIONS+="native#$txt_menu_builder4 $(hostname)-$(uname -m)#"; |
|||
counter; |
|||
if [ "$systype" == "ok" ];then |
|||
if [ "$tcempty" == "0" ];then |
|||
for i in "${INST_TCLIST[@]}";do |
|||
if [ ! "$i" == "native" ];then |
|||
source "$tccfgdir/$i"; |
|||
MENU_OPTIONS+="$_toolchainname#$_description#"; |
|||
counter; |
|||
fi; |
|||
done; |
|||
fi; |
|||
fi; |
|||
MENU_OPTIONS+="EXIT#$txt_firstmenu_exit#"; |
|||
counter; |
|||
out=$( |
|||
"$gui" "$st_" "$nc_" "$bt_" "$title_" --help-button --help-label INFO --title "-[ Toolchain $txt_menu ]-" --menu "$txt_main_revision$(REVISION)" "${COUNT+8}" 75 0 ${MENU_OPTIONS}); |
|||
IFS=$OIFS; |
|||
first=$(echo "$out" | awk '{printf $1}'); |
|||
tc_info=$(echo "$out" | awk '{printf $2}';); |
|||
case $first in |
|||
EXIT) |
|||
bye;; |
|||
BACK) |
|||
_select_menu;; |
|||
ADD) |
|||
_toolchain_add_menu;; |
|||
REMOVE) |
|||
_toolchain_remove_menu;; |
|||
HELP) |
|||
if [ -f "$tccfgdir/$tc_info" ];then |
|||
source "$tccfgdir/$tc_info"; |
|||
"$gui" "$st_" "$nc_" "$bt_" "$title_" "$ib_" "$_tc_info" $((_tc_infolines + 5)) 65; |
|||
sleep 5; |
|||
fi; |
|||
_toolchain_main_menu;; |
|||
*) |
|||
[ -f "$tccfgdir/$first" ] && stapi_allowed="" && source "$tccfgdir/$first" || exit; |
|||
loadprofile="yes"; |
|||
_toolchain_build_menu "$first";; |
|||
esac; |
|||
}; |
|||
get_toolchain_config(){ |
|||
get_toolchain_list; |
|||
for ((i=0;i<${#toolchain_list[@]};i++));do |
|||
[ "${toolchain_list[$i]}" == "$1" ] && source "$sdir/toolchain.cfgs/$1"; |
|||
done; |
|||
}; |
|||
_load_toolchain(){ |
|||
[ ! -z "$1" ] && source "$tccfgdir/$1"; |
|||
dln="$(decode "$_t1e")$(decode "$_toolchainfilename")"; |
|||
tc_dl="$dldir/$dln"; |
|||
[ -f "$dln" ] && rm -rf "$dln"; |
|||
clear; |
|||
echo -e "$c_l"; |
|||
ologo; |
|||
_nl; |
|||
echo -e "$p_l load only"; |
|||
_nl; |
|||
echo -e "$w_l Toolchain :$y_l $dln"; |
|||
echo -en "$w_l download :$g_l "; |
|||
_pget; |
|||
}; |
|||
get_toolchain_list(){ |
|||
[ -d "$sdir/toolchain.cfgs" ] && cd "$sdir/toolchain.cfgs" || echo "please fix $sdir/toolchain.cfgs"; |
|||
toolchain_list=(); |
|||
toolchain_list+=('native'); |
|||
toolchain_list+=(*); |
|||
cd "$workdir"; |
|||
}; |
|||
_console_extract_toolchain(){ |
|||
[ -d "$tcdir/$_toolchainname" ] && rm -rf "$tcdir/$_toolchainname"; |
|||
mkdir "$tcdir/$_toolchainname"; |
|||
cd "$tcdir/$_toolchainname"; |
|||
xz -d "$tc_dl" -c | tar -x; |
|||
echo -en "$txt_done!$w_l"; |
|||
}; |
|||
_toolchain_check(){ |
|||
clear; |
|||
echo -e "$w_l"; |
|||
ologo; |
|||
headervars=( crypto.h pcsclite.h libusb.h pthread.h ); |
|||
[ -f "$tccfgdir/$1" ] && source "$tccfgdir/$1"; |
|||
if [ -d "$tcdir/$1/bin" ];then |
|||
cd "$tcdir/$1/bin"; |
|||
else |
|||
echo -e "$r_l $txt_error:$y_l $1$w_l Toolchain $txt_n_installed""$rs_"; |
|||
_nl; |
|||
exit; |
|||
fi; |
|||
compilername="$_compiler""gcc"; |
|||
[ ${#_realcompiler} -gt 4 ] && compilername="$_realcompiler"; |
|||
version=$("./$compilername" -dumpversion); |
|||
machine=$("./$compilername" -dumpmachine); |
|||
sr=$("./$compilername" -print-sysroot 2>/dev/null); |
|||
sysroot=${tcdir//"$1/bin"/}; |
|||
[ -z "$sysroot" ] && sysroot="$r_l$txt_too_old"; |
|||
echo -e "$w_l Compiler Info\n =============\n"; |
|||
echo -e "$w_l Version :$y_l $version"; |
|||
echo -e "$w_l Target :$y_l $machine"; |
|||
echo -e "$w_l Sysroot :$y_l $sysroot"; |
|||
for e in "${headervars[@]}";do |
|||
temp=$(find "$sr"/* |grep -m1 "$e"); |
|||
[ ${#temp} -gt 8 ] && echo -e "$w_l Header :$y_l $e$g_l\t$txt_found" || echo -e "$w_l Header :$y_l $e$r_l\t($txt_not_found)"; |
|||
done; |
|||
_nl; |
|||
exit; |
|||
}; |
|||
_toolchain_repair(){ |
|||
clear; |
|||
echo -e "$w_l\n"; |
|||
s3logo; |
|||
cd $dldir;zzusatz=0;szusatz=0; |
|||
[ -f "$tccfgdir/$1" ] && source "$tccfgdir/$1"; |
|||
fn=$(echo $_md5sum |awk '{ printf $2 }'); |
|||
if [ -f $fn ];then |
|||
md5file=$(mktemp); |
|||
echo $_md5sum > $md5file; |
|||
answer=$(md5sum -c $md5file 2>&1); |
|||
if [ "$answer" == "$fn: OK" ];then |
|||
echo -en $w_l" Toolchain md5 check :$g_l"; |
|||
echo -en $answer |awk '{{print " " $2;}}'; |
|||
echo -en $w_l;tc_dl="$dldir/$fn"; |
|||
echo -en $w_l" Toolchain repair :$g_l" |
|||
_console_extract_toolchain; |
|||
echo -e "\n"$W; |
|||
else |
|||
echo -en $w_l"\n Toolchain md5 check :$r_l"; |
|||
echo -en $answer |awk '{{print " " $2;}}' |head -1; |
|||
echo -en $W;sleep 1;zzusatz=0;szusatz=8; |
|||
echo -en $w_l" Toolchain download :$g_l"; |
|||
dln=$fn;_pget; sleep 1; |
|||
echo -en $w_l" Toolchain repair :$g_l"; |
|||
_console_extract_toolchain;echo -e $W"\n"; |
|||
exit; |
|||
fi |
|||
else |
|||
echo -e $w_l" Toolchain Filename :$y_l $fn"; |
|||
echo -en $w_l" Toolchain download :$g_l "; |
|||
zzusatz=-1;szusatz=7; |
|||
dln=$fn;_pget; sleep 1; |
|||
echo -en $w_l" Toolchain repair :$g_l"; |
|||
_console_extract_toolchain;echo -e $W"\n"; |
|||
exit; |
|||
fi |
|||
}; |
|||
_toolchain_add_menu(){ |
|||
_fill_tc_array; |
|||
_init_menu; |
|||
for i in "${MISS_TCLIST[@]}";do |
|||
if [ ! "$i" == "native" ];then |
|||
source "$tccfgdir/$i"; |
|||
MENU_OPTIONS+="$_toolchainname#$_description#"; |
|||
counter; |
|||
fi; |
|||
done; |
|||
MENU_OPTIONS+="EXIT#$txt_menu_builder1#"; |
|||
counter; |
|||
out=$( |
|||
"$gui" "$st_" "$nc_" "$bt_" "$title_" --help-button --help-label INFO --title "-[ $txt_add_menu ]-" --menu "$txt_main_revision$(REVISION)" "${COUNT+8}" 75 0 ${MENU_OPTIONS[@]}); |
|||
IFS=$OIFS; |
|||
first=$(echo "$out" | awk '{printf $1}'); |
|||
case $first in |
|||
EXIT) |
|||
bye;; |
|||
BACK) |
|||
_toolchain_main_menu;; |
|||
*) |
|||
_toolchain_gui_install; |
|||
_toolchain_main_menu;; |
|||
esac; |
|||
}; |
|||
_toolchain_remove_menu(){ |
|||
_fill_tc_array; |
|||
_init_menu; |
|||
if [ "$tcempty" == "0" ];then |
|||
for i in "${INST_TCLIST[@]}";do |
|||
if [ ! "$i" == "native" ];then |
|||
source "$tccfgdir/$i"; |
|||
MENU_OPTIONS+="$_toolchainname#$_description#"; |
|||
counter; |
|||
fi; |
|||
done; |
|||
fi; |
|||
MENU_OPTIONS+="EXIT#$txt_menu_builder1#"; |
|||
counter; |
|||
out=$( |
|||
"$gui" "$st_" "$nc_" "$bt_" "$title_" --title "-[ $txt_remove_menu ]-" --menu "$txt_main_revision$(REVISION)" "${COUNT+8}" 75 0 ${MENU_OPTIONS}); |
|||
IFS=$OIFS; |
|||
first=$(echo "$out" | awk '{printf $1}'); |
|||
case $first in |
|||
EXIT) |
|||
bye;; |
|||
BACK) |
|||
_toolchain_main_menu;; |
|||
*) |
|||
[ -d "$tcdir/$first" ] && rm -rf "$tcdir/$first"; |
|||
_toolchain_main_menu;; |
|||
esac; |
|||
}; |
|||
_toolchain_gui_install(){ |
|||
[ -d "$tcdir/$first" ] && rm -rf "$tcdir/$first" && echo "$txt_delete $tcdir/$first"; |
|||
mkdir "$tcdir/$first"; |
|||
cd "$tcdir/$first"; |
|||
source "$tccfgdir/$first"; |
|||
tcname="$(decode "$_t1e$_toolchainfilename")"; |
|||
stcname="$(decode "$_toolchainfilename")"; |
|||
if [ -f "$dldir/$tcname" ];then |
|||
(xz -d "$dldir/$tcname" -c| tar -xv) |"$gui" "$st_" --title " -[ $txt_extracting ]- " "$pb_" 20 74; |
|||
else |
|||
cd "$dldir"; |
|||
wget "$(decode "$_u1e")/$tcname" 2>&1 | stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | "$gui" "$st_" "$bt_" "$title_" --title " -[ download ]- " --gauge " $txt_loading $stcname $txt_wait" 6 74; |
|||
cd "$tcdir/$first"; |
|||
(xz -d "$dldir/$tcname" -c |tar -xv) |"$gui" "$st_" --title " -[ $txt_extracting ]- " "$pb_" 20 74; |
|||
fi; |
|||
}; |
@ -0,0 +1,51 @@ |
|||
#!/bin/bash |
|||
|
|||
auto_langset(){ |
|||
langset="fail"; |
|||
cd "$tdir"; |
|||
langsupport=(*); |
|||
if [ -f "$configdir/force_lang" ];then |
|||
lng1=$(head -n 1 "$configdir/force_lang"); |
|||
for lng in "${langsupport[@]}";do |
|||
if [ "$lng" == "$lng1" ];then |
|||
source "$tdir/$lng"; |
|||
langset="ok"; |
|||
return; |
|||
fi; |
|||
done; |
|||
fi; |
|||
for lng in "${langsupport[@]}";do |
|||
if [ "${LANG:0:2}" == "$lng" ];then |
|||
source "$tdir/$lng"; |
|||
langset="ok"; |
|||
return; |
|||
fi; |
|||
done; |
|||
if [ ! "$langset" == "ok" ];then |
|||
[ -f "$tdir/en" ] && source "$tdir/en"; |
|||
fi; |
|||
}; |
|||
lang_select(){ |
|||
lng="none"; |
|||
[ -f "$configdir/force_lang" ] && lng=$(head -n 1 "$configdir/force_lang"); |
|||
unset MENU_OPTIONS;COUNT=0; |
|||
for e in "${langsupport[@]}";do |
|||
if [ "$lng" == "none" ];then |
|||
[ "${LANG:0:2}" == "$e" ] && _stat="on" || _stat="off"; |
|||
else |
|||
[ "$lng" == "$e" ] && _stat="on" || _stat="off"; |
|||
fi; |
|||
txt=$(head -3 "$tdir/$e" |tail -1); |
|||
MENU_OPTIONS+=($e $txt $_stat);counter; |
|||
done; |
|||
lng=$("$gui" "$st_" "$bt_" "$title_" --title "-[ lang set ...to edit... ]-" "$rl_" "...langset...to...edit..." "${COUNT+7}" 40 0 "${MENU_OPTIONS[@]}"); |
|||
if [ ! "${LANG:0:2}" == "$lng" ];then |
|||
for lng1 in "${langsupport[@]}";do |
|||
if [ "$lng" == "$lng1" ];then |
|||
echo "$lng" >"$configdir/force_lang"; |
|||
fi; |
|||
done; |
|||
else |
|||
[ -f "$configdir/force_lang" ] && rm -rf "$configdir/force_lang"; |
|||
fi; |
|||
}; |
@ -0,0 +1,55 @@ |
|||
#!/bin/bash |
|||
|
|||
upload_cam(){ |
|||
clear; |
|||
slogo; |
|||
FILENAME=$1; |
|||
|
|||
if [ ! -f "$profdir/$FILENAME" ];then |
|||
echo -e "$r_l\n $txt_error $FILENAME $txt_upload_cam1 $re_"; |
|||
exit; |
|||
else |
|||
echo -e "$w_l\n CONFIG : $g_l$FILENAME $txt_upload_cam2 $re_"; |
|||
fi; |
|||
|
|||
#load data from config |
|||
source "$profdir/$FILENAME"; |
|||
|
|||
#find newest build by date for toolchain |
|||
cd "$bdir"; |
|||
buildcamname="$(find . -type f \( -iname "*$toolchain*" ! -iname "*list_smargo" \) -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " |sed 's@./@@g')"; |
|||
cd "$workdir"; |
|||
|
|||
#output date from cam |
|||
if [ -f "$bdir/$buildcamname" ];then |
|||
echo -e "$w_l CAMNAME : $y_l$buildcamname"; |
|||
echo -en "$w_l FILEDATE: "$( |
|||
stat -c %y "$bdir/$buildcamname" |awk '{print $1" "; printf substr($2,1,8)}'); |
|||
echo -e "$w_l"; |
|||
else |
|||
echo -e "$r_l\n matching \$CAM not found in $bdir$re_"; |
|||
exit; |
|||
fi; |
|||
echo -e "$p_l\n $txt_LOAD > $w_l$txt_to IP:$b_l$ip$w_l port:$b_l$port"; |
|||
sshpass -p "$password" scp -P "$port" "$bdir/$buildcamname" "$loginname@$ip":/tmp; |
|||
|
|||
#replace target cam |
|||
if [ "$replace_target" == "y" ];then |
|||
echo -en "$p_l REPLACE > $y_l$targetcam$re_"; |
|||
sshpass -p "$password" ssh -p "$port" -o StrictHostKeyChecking=no "$loginname@$ip" \ |
|||
"cd /tmp;if [ -f \"$buildcamname\" ];then if [ -f \"$targetcam\" ];then mv -f \"$buildcamname\" \"$targetcam\";fi;fi;exit;"; |
|||
echo -e "$g_l$txt_done!$re_"; |
|||
fi; |
|||
|
|||
#stop target cam |
|||
if [ "$stop_target" == 'y' ];then |
|||
stop="killall -9 $(basename "$targetcam")"; |
|||
fi; |
|||
|
|||
#remote command (example restart cam) |
|||
if [ ! "$remote_command" == "none" ];then |
|||
echo -e "$w_l SSH COMMANDS $remote_command $y_l$txt_wait"; |
|||
# do remote commands |
|||
sshpass -p "$password" ssh -p "$port" -o StrictHostKeyChecking=no "$loginname@$ip" "$remote_command;"; |
|||
fi; |
|||
}; |
@ -0,0 +1,137 @@ |
|||
#!/bin/bash |
|||
|
|||
debian_os(){ |
|||
install_log="$ldir/os-install.log"; |
|||
failed=0; |
|||
prefix="sudo"; |
|||
packages=""; |
|||
|
|||
echo -n >"$install_log" &2>/dev/null; |
|||
|
|||
echo -e "$w_l\n INSTALLATION\n ============\n"; |
|||
|
|||
debian_version=$(sed -n 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/p' /etc/debian_version 2>/dev/null); |
|||
|
|||
if [[ $debian_version ]]; then |
|||
[ "$debian_version" -lt 7 ] && { echo -e "$r_l This system is not supported anymore!\n"; return 1; } |
|||
[ "$debian_version" -gt 8 ] && echo -e "$r_l This installer is still in the testing stage!"; |
|||
else |
|||
# all known Ubuntu systems have 'lsb_release' |
|||
! hash lsb_release 2>/dev/null && { echo -e "$r_l System not recognised -> Abort!\n"; return 1; } |
|||
ubuntu_version=$(lsb_release -rs | cut -f 1 -d '.'); |
|||
[ "$ubuntu_version" -lt 12 ] && { echo -e "$r_l This system is not supported anymore!\n"; return 1; } |
|||
[ "$ubuntu_version" -gt 16 ] && echo -e "$r_l This installer is still in the testing stage!"; |
|||
fi |
|||
|
|||
# without sudo no user installation allowed |
|||
hash sudo 2>/dev/null || { [ "$(whoami)" != "root" ] && { echo -e "$r_l You need to be root for that!\n"; return 1; } } |
|||
|
|||
# root needs no sudo |
|||
[ "$(whoami)" == "root" ] && prefix=""; |
|||
|
|||
for e in "${binvars[@]}"; |
|||
do |
|||
if ! hash "$e" 2>/dev/null; then |
|||
inst="$e"; |
|||
case $e in |
|||
svn) |
|||
inst="subversion"; |
|||
;; |
|||
xz) |
|||
inst="xz-utils"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${headervars[@]}"; |
|||
do |
|||
e1=$(find /usr/include/* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
crypto.h) |
|||
inst="libssl-dev"; |
|||
;; |
|||
libusb.h) |
|||
inst="libusb-1.0.0-dev"; |
|||
;; |
|||
pcsclite.h) |
|||
inst="libpcsclite-dev"; |
|||
;; |
|||
pthread.h) |
|||
inst="libc-dev-bin"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${libvars[@]}"; |
|||
do |
|||
e1=$(find /usr/lib* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
libccidtwin.so) |
|||
inst="libccid"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib32/libz.so.1 ]; then |
|||
if [ ! -f /usr/lib32/libz.so.1 ]; then |
|||
e="zlib32"; |
|||
inst="lib32z1"; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi |
|||
fi |
|||
|
|||
if [ ${#packages} -gt 0 ]; then |
|||
echo -n -e "$w_l update$g_l package list..."; |
|||
echo "+++ $(date): apt-get -y update" >> "$install_log" |
|||
$prefix apt-get -y update >> "$install_log" 2>&1; |
|||
echo -e "$y_l done"; |
|||
echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; |
|||
echo "+++ $(date): apt-get -y install$packages" >> "$install_log" |
|||
$prefix apt-get -y install $packages >> "$install_log" 2>&1 || failed=1; |
|||
if [ $failed == 0 ]; then |
|||
echo -e "$y_l done"; |
|||
else |
|||
echo -e "$r_l failed!"; |
|||
fi |
|||
fi |
|||
|
|||
if hash upx 2>/dev/null; then |
|||
upxversion=($(upx -V | awk 'NR==1 { verok=$2>=3.91; printf "%.2f %i", $2, verok }')); |
|||
if [ ${upxversion[1]} == 0 ]; then |
|||
[ -f "$bindir/upx" ] && rm -f "$bindir/upx" &>/dev/null; |
|||
if [ "$(uname -m)" == "x86_64" ]; then |
|||
upxarch="upx-3.95-amd64_linux"; |
|||
else |
|||
upxarch="upx-3.95-i386_linux"; |
|||
fi |
|||
upxarchive=$upxarch".tar.bz2"; |
|||
[ -f "$dldir/$upxarchive" ] && rm -f "$dldir/$upxarchive" &>/dev/null; |
|||
upxurl="http://upx.sourceforge.net/download/$upxarchive"; |
|||
echo -e "$w_l get newer$g_l upx$y_l\tfrom: $upxurl"; |
|||
echo "+++ $(date): wget $upxurl" >> "$install_log"; |
|||
if wget --directory-prefix="$dldir" --append-output="$install_log" $upxurl; then |
|||
echo "+++ $(date): tar xjvf $upxarchive" >> "$install_log"; |
|||
tar xjvf "$dldir"/$upxarchive --directory="$bindir" $upxarch/upx --strip-components=1 >> "$install_log" 2>&1 || failed=1; |
|||
[ -f "$dldir"/$upxarchive ] && rm -f "$dldir"/$upxarchive &>/dev/null; |
|||
else |
|||
failed=1; |
|||
fi |
|||
fi |
|||
fi |
|||
|
|||
[ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; |
|||
|
|||
return $failed; |
|||
} |
@ -0,0 +1,126 @@ |
|||
#!/bin/bash |
|||
|
|||
manjaro_os(){ |
|||
install_log="$ldir/os-install.log"; |
|||
failed=0; |
|||
prefix="sudo"; |
|||
packages=""; |
|||
|
|||
echo -n >"$install_log" &2>/dev/null; |
|||
echo -e "$w_l\n INSTALLATION\n ============\n"; |
|||
|
|||
source /etc/lsb-release |
|||
manjaro_version=$DISTRIB_RELEASE |
|||
|
|||
# without sudo no user installation allowed |
|||
hash sudo 2>/dev/null || { [ "$(whoami)" != "root" ] && { echo -e "$r_l You need to be root for that!\n"; return 1; } } |
|||
|
|||
# root needs no sudo |
|||
[ "$(whoami)" == "root" ] && prefix=""; |
|||
|
|||
for e in "${binvars[@]}"; |
|||
do |
|||
if ! hash "$e" 2>/dev/null; then |
|||
inst="$e"; |
|||
case $e in |
|||
svn) |
|||
inst="subversion"; |
|||
;; |
|||
xz) |
|||
inst="xz-utils"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${headervars[@]}"; |
|||
do |
|||
e1=$(find /usr/include/* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
crypto.h) |
|||
inst="libssl-dev"; |
|||
;; |
|||
libusb.h) |
|||
inst="libusb-1.0.0-dev"; |
|||
;; |
|||
pcsclite.h) |
|||
inst="pcsclite"; |
|||
;; |
|||
pthread.h) |
|||
inst="libc-dev-bin"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${libvars[@]}"; |
|||
do |
|||
e1=$(find /usr/lib* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
libccidtwin.so) |
|||
inst="ccid"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib32/libz.so.1 ]; then |
|||
if [ ! -f /usr/lib32/libz.so.1 ]; then |
|||
e="zlib32"; |
|||
inst="lib32z1"; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi |
|||
fi |
|||
|
|||
if [ ${#packages} -gt 0 ]; then |
|||
echo -n -e "$w_l update$g_l package list..."; |
|||
echo "+++ $(date): pacman -Syu" >> "$install_log" |
|||
$prefix pacman -Syu >> "$install_log" 2>&1; |
|||
echo -e "$y_l done"; |
|||
echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; |
|||
echo "+++ $(date): pacman -Sy install$packages" >> "$install_log" |
|||
$prefix pacman -S --noconfirm $packages >> "$install_log" 2>&1 || failed=1; |
|||
if [ $failed == 0 ]; then |
|||
echo -e "$y_l done"; |
|||
else |
|||
echo -e "$r_l failed!"; |
|||
fi |
|||
fi |
|||
|
|||
if hash upx 2>/dev/null; then |
|||
upxversion=($(upx -V | awk 'NR==1 { verok=$2>=3.91; printf "%.2f %i", $2, verok }')); |
|||
if [ ${upxversion[1]} == 0 ]; then |
|||
[ -f "$bindir/upx" ] && rm -f "$bindir/upx" &>/dev/null; |
|||
if [ "$(uname -m)" == "x86_64" ]; then |
|||
upxarch="upx-3.95-amd64_linux"; |
|||
else |
|||
upxarch="upx-3.95-i386_linux"; |
|||
fi |
|||
upxarchive=$upxarch".tar.bz2"; |
|||
[ -f "$dldir/$upxarchive" ] && rm -f "$dldir/$upxarchive" &>/dev/null; |
|||
upxurl="http://upx.sourceforge.net/download/$upxarchive"; |
|||
echo -e "$w_l get newer$g_l upx$y_l\tfrom: $upxurl"; |
|||
echo "+++ $(date): wget $upxurl" >> "$install_log"; |
|||
if wget --directory-prefix="$dldir" --append-output="$install_log" $upxurl; then |
|||
echo "+++ $(date): tar xjvf $upxarchive" >> "$install_log"; |
|||
tar xjvf "$dldir"/$upxarchive --directory="$bindir" $upxarch/upx --strip-components=1 >> "$install_log" 2>&1 || failed=1; |
|||
[ -f "$dldir"/$upxarchive ] && rm -f "$dldir"/$upxarchive &>/dev/null; |
|||
else |
|||
failed=1; |
|||
fi |
|||
fi |
|||
fi |
|||
|
|||
[ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; |
|||
|
|||
return $failed; |
|||
} |
@ -0,0 +1,182 @@ |
|||
#!/bin/bash |
|||
|
|||
redhat_os(){ |
|||
install_log="$ldir/os-install.log"; |
|||
failed=0; |
|||
prefix="sudo"; |
|||
packages=""; |
|||
|
|||
echo -n >"$install_log" &2>/dev/null; |
|||
|
|||
echo -e "$w_l\n INSTALLATION\n ============\n"; |
|||
|
|||
rh_version=$(sed -n 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/p' /etc/redhat-release 2>/dev/null); |
|||
! [[ $rh_version ]] && { echo -e "$r_l System not recognised -> Abort!\n"; return 1; } |
|||
|
|||
sshpass_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/sshpass-1.05-1.el6.rf.x86_64.rpm"; |
|||
sshpass86_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/i386/dag/RPMS/sshpass-1.05-1.el6.rf.i686.rpm"; |
|||
installer="yum"; |
|||
|
|||
case $rh_version in |
|||
5) |
|||
echo -e "$r_l Five - Has a too old glibc!"; return 1; |
|||
sshpass_src="ftp://rpmfind.net/linux/epel/5/x86_64/sshpass-1.05-1.el5.x86_64.rpm"; |
|||
sshpass86_src="ftp://rpmfind.net/linux/epel/5/i386/sshpass-1.05-1.el5.i386.rpm"; |
|||
;; |
|||
[6-7]) |
|||
# Redhat/CentOS 6+7 ok |
|||
;; |
|||
2[2-3]) |
|||
# Fedora 22+23 ok |
|||
installer="dnf"; |
|||
;; |
|||
24) |
|||
# Fedora 24 still beta |
|||
installer="dnf"; |
|||
echo -e "$r_l This installer is still in the testing stage!"; |
|||
;; |
|||
*) |
|||
echo "This version is not supported!" >"$install_log" 2>/dev/null; |
|||
echo -e "$r_l \"$(cat /etc/redhat-release)\" is not supported!"; |
|||
return 1; |
|||
esac |
|||
|
|||
# without sudo no user installation allowed |
|||
hash sudo 2>/dev/null || { [ "$(whoami)" != "root" ] && { echo -e "$r_l You need to be root for that!\n"; return 1; } } |
|||
|
|||
# root needs no sudo |
|||
[ "$(whoami)" == "root" ] && prefix=""; |
|||
|
|||
# care about the repos on Redhat |
|||
if hash subscription-manager 2>/dev/null; then |
|||
$prefix subscription-manager status >/dev/null || { echo -e "$r_l You need an active subscription!\n"; return 1; } |
|||
echo -e "$w_l Retreiving repo list..."; |
|||
if ! $prefix subscription-manager repos --list-enabled | grep -q "server-optional-rpms"; then |
|||
cmdline="subscription-manager repos --enable=rhel-$rh_version-server-optional-rpms"; |
|||
echo -e "$w_l Add needed repo$g_l optional:$y_l $cmdline"; |
|||
echo "+++ $(date): $cmdline" >> "$install_log"; |
|||
$prefix $cmdline >> "$install_log" 2>&1 || failed=1; |
|||
fi |
|||
fi |
|||
|
|||
for e in "${binvars[@]}"; |
|||
do |
|||
if ! hash "$e" 2>/dev/null; then |
|||
inst="$e"; |
|||
case $e in |
|||
svn) |
|||
inst="subversion"; |
|||
;; |
|||
# the following guys have no official packages |
|||
sshpass) |
|||
continue; |
|||
;; |
|||
upx) |
|||
continue; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${headervars[@]}"; |
|||
do |
|||
e1=$(find /usr/include/* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
crypto.h) |
|||
inst="openssl-devel"; |
|||
;; |
|||
libusb.h) |
|||
# no official package for older versions |
|||
[ "$rh_version" -lt 6 ] && continue; |
|||
# hopelully they stick to it from now :-) |
|||
inst="libusbx-devel"; |
|||
[ "$rh_version" == 6 ] && inst="libusb1-devel"; |
|||
;; |
|||
pcsclite.h) |
|||
inst="pcsc-lite-devel"; |
|||
;; |
|||
pthread.h) |
|||
inst="glibc-headers"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${libvars[@]}"; |
|||
do |
|||
e1=$(find /usr/lib* 2>/dev/null | grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
libccidtwin.so) |
|||
inst="ccid"; |
|||
[ "$rh_version" -gt 6 ] && inst="pcsc-lite-ccid"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib/libz.so ]; then |
|||
if [ ! -f /usr/lib/libz.so ]; then |
|||
e="zlib32"; |
|||
inst="zlib-devel.i686"; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi |
|||
fi |
|||
|
|||
if [ ${#packages} -gt 0 ]; then |
|||
echo -n -e "$w_l update$g_l package list..."; |
|||
echo "+++ $(date): $installer -y check-update" >> "$install_log" |
|||
$prefix $installer -y check-update >> "$install_log" 2>&1; |
|||
echo -e "$y_l done"; |
|||
echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; |
|||
echo "+++ $(date): $installer -y install$packages" >> "$install_log" |
|||
$prefix $installer -y install $packages >> "$install_log" 2>&1 || failed=1; |
|||
if [ $failed == 0 ]; then |
|||
echo -e "$y_l done"; |
|||
else |
|||
echo -e "$r_l failed!"; |
|||
fi |
|||
fi |
|||
|
|||
# additional rpm |
|||
if ! hash sshpass 2>/dev/null; then |
|||
[ "$(arch)" == "i686" ] && sshpass_src=$sshpass86_src; |
|||
echo -e "$w_l install$g_l sshpass$y_l\tfrom: $sshpass_src"; |
|||
echo "+++ $(date): rpm -i $sshpass_src" >> "$install_log"; |
|||
$prefix rpm -i $sshpass_src >> "$install_log" 2>&1 || failed=1; |
|||
fi |
|||
|
|||
if ! hash upx 2>/dev/null; then |
|||
[ -f "$bindir"/upx ] && rm -f "$bindir"/upx &>/dev/null; |
|||
if [ "$(uname -m)" == "x86_64" ]; then |
|||
upxarch="upx-3.95-amd64_linux"; |
|||
else |
|||
upxarch="upx-3.95-i386_linux"; |
|||
fi |
|||
upxarchive=$upxarch".tar.bz2"; |
|||
[ -f "$dldir"/$upxarchive ] && rm -f "$dldir"/$upxarchive &>/dev/null; |
|||
upxurl="http://upx.sourceforge.net/download/$upxarchive"; |
|||
echo -e "$w_l get$g_l upx$y_l\tfrom: $upxurl"; |
|||
echo "+++ $(date): wget $upxurl" >> "$install_log"; |
|||
if wget --directory-prefix="$dldir" --append-output="$install_log" $upxurl; then |
|||
echo "+++ $(date): tar xjvf $upxarchive" >> "$install_log"; |
|||
tar xjvf "$dldir"/$upxarchive --directory="$bindir" $upxarch/upx --strip-components=1 >> "$install_log" 2>&1 || failed=1; |
|||
[ -f "$dldir"/$upxarchive ] && rm -f "$dldir"/$upxarchive &>/dev/null; |
|||
else |
|||
failed=1; |
|||
fi |
|||
fi |
|||
|
|||
|
|||
[ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; |
|||
|
|||
return $failed; |
|||
} |
@ -0,0 +1,154 @@ |
|||
#!/bin/bash |
|||
|
|||
suse_os(){ |
|||
install_log="$ldir/os-install.log"; |
|||
failed=0; |
|||
prefix="sudo"; |
|||
packages=""; |
|||
|
|||
echo -n >"$install_log" &2>/dev/null; |
|||
|
|||
echo -e "$w_l\n INSTALLATION\n ============\n"; |
|||
|
|||
suse_version=$(grep VERSION= /etc/os-release 2>/dev/null | sed -n 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/p'); |
|||
|
|||
sshpass_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/sshpass-1.05-1.el6.rf.x86_64.rpm"; |
|||
sshpass86_src="ftp://rpmfind.net/linux/dag/redhat/el6/en/i386/dag/RPMS/sshpass-1.05-1.el6.rf.i686.rpm"; |
|||
|
|||
if [[ "$suse_version" ]]; then |
|||
[ "$suse_version" -lt 12 ] && { echo -e "$r_l This system is not supported anymore!\n"; return 1; } |
|||
[ "$suse_version" -gt 13 ] && [ "$suse_version" -lt 42 ] && echo -e "$r_l This installer is still in the testing stage!"; |
|||
[ "$suse_version" -gt 42 ] && echo -e "$r_l This installer is still in the testing stage!"; |
|||
else |
|||
echo -e "$r_l System not recognised -> Abort!\n"; return 1; |
|||
fi |
|||
|
|||
# without sudo no user installation allowed |
|||
hash sudo 2>/dev/null || { [ "$(whoami)" != "root" ] && { echo -e "$r_l You need to be root for that!\n"; return 1; } } |
|||
|
|||
# root needs no sudo |
|||
[ "$(whoami)" == "root" ] && prefix=""; |
|||
|
|||
# check for sufficient repositories - SLES & SLED need an additional "SUSE Linux Enterprise Software Development Kit" |
|||
if grep "Enterprise" /etc/os-release >/dev/null; then |
|||
echo -n -e "$w_l SUSE Linux Enterprise detected$g_l check for SDK repository..."; |
|||
if ! zypper wp subversion >/dev/null; then |
|||
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; |
|||
fi |
|||
echo -e "$y_l ok"; |
|||
fi |
|||
|
|||
for e in "${binvars[@]}"; |
|||
do |
|||
if ! hash "$e" 2>/dev/null; then |
|||
inst="$e"; |
|||
case $e in |
|||
svn) |
|||
inst="subversion"; |
|||
;; |
|||
xz) |
|||
inst="xz-utils"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${headervars[@]}"; |
|||
do |
|||
e1=$(find /usr/include/* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
crypto.h) |
|||
inst="libopenssl-devel"; |
|||
;; |
|||
libusb.h) |
|||
inst="libusb-1_0-devel"; |
|||
;; |
|||
pcsclite.h) |
|||
inst="pcsc-lite-devel"; |
|||
;; |
|||
pthread.h) |
|||
inst="glibc-devel"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
for e in "${libvars[@]}"; |
|||
do |
|||
e1=$(find /usr/lib* |grep -m1 "$e"); |
|||
if [ ! ${#e1} -gt 8 ]; then |
|||
case $e in |
|||
libccidtwin.so) |
|||
inst="pcsc-ccid"; |
|||
;; |
|||
esac; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi; |
|||
done; |
|||
|
|||
if [ "$(uname -m)" == "x86_64" ] && [ ! -f /usr/lib/libz.so ]; then |
|||
if [ ! -f /usr/lib/libz.so ]; then |
|||
e="zlib32"; |
|||
inst="zlib-devel-32bit glibc-32bit libz1-32bit"; |
|||
echo -e "$w_l select $g_l$e$y_l\tfrom: $inst"; |
|||
packages="$packages $inst"; |
|||
fi |
|||
fi |
|||
|
|||
if [ ${#packages} -gt 0 ]; then |
|||
echo -n -e "$w_l update$g_l package list..."; |
|||
echo "+++ $(date): zypper --non-interactive refresh" >> "$install_log" |
|||
$prefix zypper --non-interactive refresh >> "$install_log" 2>&1; |
|||
echo -e "$y_l done"; |
|||
echo -n -e "$w_l install$g_l selected packages$y_l please wait..."; |
|||
echo "+++ $(date): zypper --non-interactive --ignore-unknown install$packages" >> "$install_log" |
|||
$prefix zypper --non-interactive --ignore-unknown install $packages >> "$install_log" 2>&1 || failed=1; |
|||
if [ $failed == 0 ]; then |
|||
echo -e "$y_l done"; |
|||
else |
|||
echo -e "$r_l failed!"; |
|||
fi |
|||
fi |
|||
|
|||
# additional rpm |
|||
if ! hash sshpass 2>/dev/null; then |
|||
[ "$(arch)" == "i686" ] && sshpass_src=$sshpass86_src; |
|||
echo -e "$w_l install$g_l sshpass$y_l\tfrom: $sshpass_src"; |
|||
echo "+++ $(date): rpm -i $sshpass_src" >> "$install_log"; |
|||
$prefix rpm -i $sshpass_src >> "$install_log" 2>&1 || failed=1; |
|||
echo -e -n ; |
|||
fi |
|||
|
|||
upxversion=(0 0); |
|||
hash upx 2>/dev/null && upxversion=($(upx -V | awk 'NR==1 { verok=$2>=3.91; printf "%.2f %i", $2, verok }')); |
|||
if [ ${upxversion[1]} == 0 ]; then |
|||
[ -f "$bindir"/upx ] && rm -f "$bindir"/upx &>/dev/null; |
|||
if [ "$(uname -m)" == "x86_64" ]; then |
|||
upxarch="upx-3.95-amd64_linux"; |
|||
else |
|||
upxarch="upx-3.95-i386_linux"; |
|||
fi |
|||
upxarchive=$upxarch".tar.bz2"; |
|||
[ -f "$dldir"/$upxarchive ] && rm -f "$dldir"/$upxarchive &>/dev/null; |
|||
upxurl="http://upx.sourceforge.net/download/$upxarchive"; |
|||
echo -e "$w_l get newer$g_l upx$y_l\tfrom: $upxurl"; |
|||
echo "+++ $(date): wget $upxurl" >> "$install_log"; |
|||
if wget --directory-prefix="$dldir" --append-output="$install_log" $upxurl; then |
|||
echo "+++ $(date): tar xjvf $upxarchive" >> "$install_log"; |
|||
tar xjvf "$dldir"/$upxarchive --directory="$bindir" $upxarch/upx --strip-components=1 >> "$install_log" 2>&1 || failed=1; |
|||
[ -f "$dldir"/$upxarchive ] && rm -f "$dldir"/$upxarchive &>/dev/null; |
|||
else |
|||
failed=1; |
|||
fi |
|||
fi |
|||
|
|||
[ $failed == 1 ] && echo -e "\n$r_l Installation with errors - see: $install_log"; |
|||
|
|||
return $failed; |
|||
} |
@ -0,0 +1,5 @@ |
|||
readers_on |
|||
USE_UTF8 |
|||
WEBIF DEBUG DVBAPI READ_SDT LIVELOG JQUERY LB CACHEEX IPV6 |
|||
CCCAM CAMD35 CAMD35_TCP |
|||
INTERNAL PHOENIX STINGER SMARGO_off |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,19 @@ |
|||
_toolchainname="arm_s3_ssl098" |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="Dreambox ARM" |
|||
_oscamconfdir_default="/var/keys" |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="arm-simplebuild3-linux-gnueabi-" |
|||
_sysroot="arm-simplebuild3-linux-gnueabi/sysroot" |
|||
_libsearchdir="/usr/lib" |
|||
_toolchainfilename="YXJtX3MzX3NzbDA5OC50YXIueHo="; |
|||
_md5sum="02215a912feb4fc499572e5cd53567f2 Toolchain-arm_s3_ssl098.tar.xz" |
|||
_tc_info="\n |
|||
!!! GENERIC ARM Toolchain !!!\n |
|||
with OPENSSL 0.9.8zh \n |
|||
\n |
|||
\n |
|||
"; |
|||
|
|||
_tc_infolines="6" |
@ -0,0 +1,19 @@ |
|||
_toolchainname="arm_s3_ssl100" |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="Dreambox ARM" |
|||
_oscamconfdir_default="/var/keys" |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="arm-simplebuild3-linux-gnueabi-" |
|||
_sysroot="arm-simplebuild3-linux-gnueabi/sysroot" |
|||
_libsearchdir="/usr/lib" |
|||
_toolchainfilename="YXJtX3MzX3NzbDEwMC50YXIueHo="; |
|||
_md5sum="0d040f672f57ae37672b6f94413a9d8e Toolchain-arm_s3_ssl100.tar.xz"; |
|||
_tc_info="\n |
|||
!!! GENERIC ARM Toolchain !!!\n |
|||
with OPENSSL 1.0.0t \n |
|||
\n |
|||
\n |
|||
"; |
|||
|
|||
_tc_infolines="6" |
@ -0,0 +1,19 @@ |
|||
_toolchainname="arm_s3_ssl102" |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="Dreambox ARM" |
|||
_oscamconfdir_default="/var/keys" |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="arm-simplebuild3-linux-gnueabi-" |
|||
_sysroot="arm-simplebuild3-linux-gnueabi/sysroot" |
|||
_libsearchdir="/usr/lib" |
|||
_toolchainfilename="YXJtX3MzX3NzbDEwMi50YXIueHo="; |
|||
_md5sum="515ed7582dc8e6044069d4ab34ee35da Toolchain-arm_s3_ssl102.tar.xz"; |
|||
_tc_info="\n |
|||
!!! GENERIC ARM Toolchain !!!\n |
|||
with OPENSSL 1.0.2q \n |
|||
\n |
|||
\n |
|||
"; |
|||
|
|||
_tc_infolines="6" |
@ -0,0 +1,20 @@ |
|||
_toolchainname="mipsel_s3_ssl098"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="generic mipsel ssl 0.9.8"; |
|||
_oscamconfdir_default="/var/keys"; |
|||
_oscamconfdir_custom="" |
|||
_compiler="mipsel-simplebuild3-linux-gnu-"; |
|||
|
|||
_sysroot="/"; |
|||
_libsearchdir="/lib"; |
|||
_toolchainfilename="bWlwc2VsX3MzX3NzbDA5OC50YXIueHoK"; |
|||
_md5sum="966c590d2178f6d401c93993eba4f7f9 Toolchain-mipsel_s3_ssl098.tar.xz"; |
|||
_tc_info="\n |
|||
!!! generic mipsel ssl 0.9.8 !!!\n |
|||
this toolchain is compatible with\n |
|||
\n |
|||
Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, |
|||
7025,8000\n |
|||
VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; |
|||
|
|||
_tc_infolines="6"; |
@ -0,0 +1,20 @@ |
|||
_toolchainname="mipsel_s3_ssl100"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="generic mipsel ssl 1.0.0"; |
|||
_oscamconfdir_default="/var/keys"; |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="mipsel-simplebuild3-linux-gnu-"; |
|||
_sysroot="/"; |
|||
_libsearchdir="/lib"; |
|||
_toolchainfilename="bWlwc2VsX3MzX3NzbDEwMC50YXIueHoK"; |
|||
_md5sum="b1ff681eff62b0e639d37e001b97e1e0 Toolchain-mipsel_s3_ssl100.tar.xz"; |
|||
_tc_info="\n |
|||
!!! generic mipsel ssl 1.0.0 !!!\n |
|||
this toolchain is compatible with\n |
|||
\n |
|||
Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, |
|||
7025,8000\n |
|||
VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; |
|||
|
|||
_tc_infolines="6"; |
@ -0,0 +1,20 @@ |
|||
_toolchainname="mipsel_s3_ssl102"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="generic mipsel ssl 1.0.2"; |
|||
_oscamconfdir_default="/var/keys"; |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="mipsel-simplebuild3-linux-gnu-"; |
|||
_sysroot="/"; |
|||
_libsearchdir="/lib"; |
|||
_toolchainfilename="bWlwc2VsX3MzX3NzbDEwMi50YXIueHoK"; |
|||
md5sum="985ba51ae41cacd008fb6c7490e2f287 Toolchain-mipsel_s3_ssl102.tar.xz" |
|||
_tc_info="\n |
|||
!!! generic mipsel ssl 1.0.2 !!!\n |
|||
this toolchain is compatible with\n |
|||
\n |
|||
Dreambox: dm500,dm800,500HD,800HD,800SE,7020HD, |
|||
7025,8000\n |
|||
VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; |
|||
|
|||
_tc_infolines="6"; |
@ -0,0 +1,12 @@ |
|||
_toolchainname="native"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_oscamconfdir_default="/usr/local/etc"; |
|||
_oscamconfdir_custom="not_set"; |
|||
_compiler="x86_64-linux-gnu-"; |
|||
_tc_info="Native System Compiler gcc (Debian 8.2.0-16) 8.2.0 |
|||
Copyright (C) 2018 Free Software Foundation, Inc. |
|||
This is free software; see the source for copying conditions. There is NO |
|||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."; |
|||
_libsearchdir="/lib"; |
|||
_menuname="native"; |
|||
_sysroot="/"; |
@ -0,0 +1,20 @@ |
|||
_toolchainname="openpli40" |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="Openpli Dreambox Vu+ and other" |
|||
_oscamconfdir_default="/usr/keys" |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="mipsel-openpli40-linux-gnu-" |
|||
_sysroot="mipsel-openpli40-linux-gnu/sysroot" |
|||
_libsearchdir="/lib" |
|||
_toolchainfilename="T3BlblBMSV80LjAudGFyLnh6"; |
|||
|
|||
_tc_info="\n |
|||
!!! beware the box must have FPU !!!\n |
|||
this toolchain is compatible with\n |
|||
\n |
|||
Dreambox: 500HD,800HD,800SE,7020HD,7025,8000\n |
|||
VU+ : Zero,Solo²,SoloSE,SoloSE(V2),Duo,Duo²"; |
|||
|
|||
_tc_infolines="6" |
|||
|
@ -0,0 +1,20 @@ |
|||
_toolchainname="openwrt1505cc"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="OpenWRT 15.05.1 Chaos Calmer" |
|||
_oscamconfdir_default="/etc/config/oscam" |
|||
_oscamconfdir_custom="/etc/config/oscam" |
|||
_stagingdir=1 |
|||
|
|||
_compiler="mips-openwrt-linux-uclibc-" |
|||
_sysroot="" |
|||
_libsearchdir="/lib" |
|||
_toolchainfilename="b3BlbndydDE1MDVjYy50YXIueHo="; |
|||
_block="USE_PCSC" |
|||
_tc_info="\n |
|||
!!! OpenWRT 15.05.1 Chaos Calmer !!!\n |
|||
this toolchain is compatible with\n |
|||
fill with info\n |
|||
\n |
|||
"; |
|||
|
|||
_tc_infolines="6" |
@ -0,0 +1,18 @@ |
|||
_toolchainname="osmio4k"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="Edision OS MIO 4k aarch64"; |
|||
_oscamconfdir_default="/var/keys/"; |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="aarch64-osmio4k-linux-gnu-"; |
|||
_sysroot="aarch64-osmio4k-linux-gnu/sysroot/"; |
|||
_libsearchdir="/lib"; |
|||
_toolchainfilename="b3NtaW80ay50YXIueHoK"; |
|||
_md5sum="41fbf9b4f91eb61cb926565da644b6ed Toolchain-osmio4k.tar.xz"; |
|||
_tc_info="\n |
|||
!!! beware the box must have FPU !!!\n |
|||
this toolchain is compatible with\n |
|||
\n |
|||
Edsion : OS MIO 4K aarch64"; |
|||
|
|||
_tc_infolines="5" |
@ -0,0 +1,18 @@ |
|||
_toolchainname="solo4k"; |
|||
default_use="USE_UTF8 USE_LIBCRYPTO"; |
|||
_description="VU+ Solo4k"; |
|||
_oscamconfdir_default="/var/tuxbox/config"; |
|||
_oscamconfdir_custom="" |
|||
|
|||
_compiler="arm-linux-gnueabihf-"; |
|||
_sysroot="arm-linux-gnueabihf"; |
|||
_libsearchdir="/lib"; |
|||
_toolchainfilename="c29sbzRrLnRhci54ego="; |
|||
|
|||
_tc_info="\n |
|||
!!! beware the box must have FPU !!!\n |
|||
this toolchain is compatible with\n |
|||
\n |
|||
VU+ : Solo4k"; |
|||
|
|||
_tc_infolines="5" |
@ -0,0 +1,113 @@ |
|||
#!/bin/bash |
|||
|
|||
#deutsch |
|||
txt_as='als'; |
|||
txt_of='von'; |
|||
txt_for='für'; |
|||
txt_b2="baue"; |
|||
txt_to="nach"; |
|||
txt_now='nun'; |
|||
txt_b1='bauen'; |
|||
txt_menu='Menü'; |
|||
txt_no='keinen'; |
|||
txt_name='Name'; |
|||
txt_use='benutze'; |
|||
txt_back='zurück'; |
|||
txt_done=' fertig'; |
|||
txt_error='Fehler'; |
|||
txt_missing='fehlt'; |
|||
txt_sel='auswählen'; |
|||
txt_delete='lösche'; |
|||
txt_found='gefunden'; |
|||
txt_create='erstelle'; |
|||
txt_loading=' lade'; |
|||
txt_profile='Profil'; |
|||
txt_profiles='Profile'; |
|||
txt_conf='Konfiguration'; |
|||
txt_parameter='Parameter'; |
|||
txt_extracting='entpacke'; |
|||
txt_wait='bitte warten...'; |
|||
txt_existing='vorhandenen'; |
|||
txt_ssh_profiles='SSH $txt_profiles'; |
|||
txt_not_found='nicht gefunden'; |
|||
txt_n_installed='ist nicht installiert'; |
|||
txt_start_menu='Hauptmenü'; |
|||
txt_back_main="$txt_back zum $txt_start_menu"; |
|||
txt_too_old='(zu alt wird nicht unterstützt)'; |
|||
txt_selected='ausgewählten'; |
|||
txt_update='aktualisiere'; |
|||
txt_example_name='Beispiel: dm820.stube'; |
|||
txt_save='speichern'; |
|||
txt_filename='Dateiname'; |
|||
txt_LOAD="UPLOAD"; |
|||
txt_tc="Toolchain"; |
|||
|
|||
# menu txt |
|||
txt_remove_menu="$txt_tc entfernen"; |
|||
txt_add_menu="$txt_tc hinzufügen"; |
|||
txt_main_revision="\n Die aktuelle SVN REVISION ist : r"; |
|||
txt_bmenu_title="Baumenü"; |
|||
|
|||
# help txt |
|||
txt_help1="beginnen mit" |
|||
txt_help2="Kommandozeilen Parameter sind" |
|||
txt_help3="Taste [ENTER] zum fortsetzen..." |
|||
|
|||
# firstmenu ################################################ |
|||
txt_firstmenu_continue="weiter mit lokalem SVN"; |
|||
txt_firstmenu_chose="anderen SVN Stand (7000+) laden"; |
|||
txt_firstmenu_cedit="$txt_conf""s Editor starten"; |
|||
txt_firstmenu_lang="Systemsprache manuell $txt_sel"; |
|||
txt_firstmenu_exit="simplebuild sofort beenden"; |
|||
|
|||
# _toolchain_config_menu ################################### |
|||
txt_config_menu="$txt_conf $txt_menu"; |
|||
txt_back_build="$txt_back zum $txt_bmenu_title"; |
|||
txt_module_configure="oscam Module $txt_sel"; |
|||
txt_oscam_extra="oscam Extras USB/PCSC $txt_sel"; |
|||
txt_build_extra="build Extras compress/patch $txt_sel"; |
|||
txt_build_load="letzte $txt_conf laden"; |
|||
txt_build_save="$txt_conf speichern"; |
|||
txt_build_reset="$txt_conf $txt_back setzen"; |
|||
txt_use_targz='erstelle tar Archiv nach dem Bauen'; |
|||
txt_use_patch='patche oscam vor dem Bauen'; |
|||
txt_use_compress='Binärkompression von oscam'; |
|||
|
|||
# _toolchain_build_menu #################################### |
|||
txt_bmenu_user="Benutzername "; |
|||
txt_bmenu_comp="Compiler "; |
|||
txt_bmenu_debu="Debug Info "; |
|||
txt_bmenu_use="USE_Variablen "; |
|||
txt_bmenu_build="oscam jetzt $txt_b1"; |
|||
txt_bmenu_config="oscam/Build $txt_conf"; |
|||
txt_bmenu_profile="vorhandenes $txt_profile laden"; |
|||
txt_bmenus_profile="$txt_profile $txt_save"; |
|||
txt_bmenu_log="zeige lastbuild.log"; |
|||
txt_bmenu_back="$txt_back zur Toolchainauswahl"; |
|||
txt_compress1="Dateigröße davor "; |
|||
txt_compress2="Dateigröße danach "; |
|||
txt_compress3="Dateigröße verkleinert auf"; |
|||
|
|||
# _toolchain_main_menu #################################### |
|||
txt_menu_builder1="Beende simplebuild"; |
|||
txt_menu_builder2="einen neuen $txt_tc hinzufügen"; |
|||
txt_menu_builder3="entferne einen installierten $txt_tc"; |
|||
txt_menu_builder4="Nativ $txt_for"; |
|||
txt_menu_back="Zurück zum $txt_tc $txt_menu"; |
|||
|
|||
# _dialog_checkout ######################################## |
|||
txt_verify_syscheck='überprüfe System :'; |
|||
txt_verify_svn='überprüfe existierenden SVN :'; |
|||
txt_update_svn="$txt_update SVN :"; |
|||
txt_prepare_svn="bereite SVN checkout vor :"; |
|||
txt_latest="letzter Stand"; |
|||
|
|||
# _load_profile ########################################### |
|||
txt_select_profile_title="Verfügbare $txt_profiles"; |
|||
txt_select_profile="bitte ein $txt_profile auswählen"; |
|||
txt_confirm_profile_select="bitte bestätigen sie die Auswahl von:"; |
|||
txt_no_profile_found="kein $txt_profile gefunden in\n\n$profdir"; |
|||
|
|||
# _upload_cam ############################################# |
|||
txt_upload_cam1="ssh $txt_profile existiert nicht"; |
|||
txt_upload_cam2="ssh $txt_profile gefunden"; |
@ -0,0 +1,100 @@ |
|||
#!/bin/bash |
|||
|
|||
#english |
|||
|
|||
txt_as='as'; |
|||
txt_of='of'; |
|||
txt_for='for'; |
|||
txt_b2="build"; |
|||
txt_to="to"; |
|||
txt_now='now'; |
|||
txt_b1='build'; |
|||
txt_menu='menu'; |
|||
txt_done=' done'; |
|||
txt_no='no'; |
|||
txt_use='use'; |
|||
txt_back='back'; |
|||
txt_error='error'; |
|||
txt_loading=' load'; |
|||
txt_sel='select'; |
|||
txt_delete='delete'; |
|||
txt_found='found'; |
|||
txt_create='create'; |
|||
txt_conf='configuration'; |
|||
txt_extracting='extracting'; |
|||
txt_wait='please wait...'; |
|||
txt_existing='exists'; |
|||
txt_profiles='profiles'; |
|||
txt_not_found='not found'; |
|||
txt_n_installed='is not installed'; |
|||
txt_back_main="back to main menu"; |
|||
txt_too_old='(too old or not supported)'; |
|||
txt_selected='selected'; |
|||
txt_update='now updating'; |
|||
txt_tc="Toolchain"; |
|||
|
|||
# menu txt |
|||
txt_start_menu='Main menu'; |
|||
txt_remove_menu='Remove toolchain'; |
|||
txt_add_menu='Add toolchain'; |
|||
txt_main_revision="\n the local SVN revision is : r"; |
|||
|
|||
# help txt |
|||
txt_help1="begin with" |
|||
txt_help2="commandline Parameters are" |
|||
txt_help3="[ENTER] to continue..." |
|||
|
|||
# firstmenu ################################################ |
|||
txt_firstmenu_continue="continue with local SVN"; |
|||
txt_firstmenu_chose="load a different SVN (7000+)"; |
|||
txt_firstmenu_cedit="start configuration editor"; |
|||
txt_firstmenu_lang="manual system language selection"; |
|||
txt_firstmenu_exit="close simplebuild now"; |
|||
|
|||
# _toolchain_config_menu ################################### |
|||
txt_config_menu="configuration menu"; |
|||
txt_back_build="back to build menu"; |
|||
txt_module_configure="select oscam modules "; |
|||
txt_oscam_extra="select oscam extras USB/PCSC"; |
|||
txt_build_extra="select build extras compress/patch"; |
|||
txt_build_load="load last configuration"; |
|||
txt_build_save="save configuration"; |
|||
txt_build_reset="reset configuration"; |
|||
|
|||
# _toolchain_build_menu##################################### |
|||
txt_bmenu_title="build menu"; |
|||
txt_bmenu_user="username "; |
|||
txt_bmenu_comp="compiler "; |
|||
txt_bmenu_debu="debug info "; |
|||
txt_bmenu_use="USE_variables "; |
|||
txt_bmenu_build="build oscam now"; |
|||
txt_bmenu_config="oscam/build configuration"; |
|||
txt_bmenu_log="show lastbuild.log"; |
|||
txt_bmenu_back="back to toolchain selection"; |
|||
txt_compress1="filesize before "; |
|||
txt_compress2="filesize after "; |
|||
txt_compress3="filesize reduced to "; |
|||
|
|||
# _toolchain_main_menu##################################### |
|||
txt_menu_builder1="close simplebuild"; |
|||
txt_menu_builder2="add new toolchain"; |
|||
txt_menu_builder3="remove installed toolchain"; |
|||
txt_menu_builder4="build native for"; |
|||
txt_menu_back="back to toolchain menu"; |
|||
|
|||
# _dialog_checkout |
|||
txt_verify_syscheck='check system :'; |
|||
txt_verify_svn='check existing SVN :'; |
|||
txt_update_svn="$txt_update SVN :"; |
|||
txt_prepare_svn="prepare SVN checkout :"; |
|||
txt_latest="latest SVN"; |
|||
|
|||
# _load_profile ########################################### |
|||
txt_select_profile_title="available profiles"; |
|||
txt_select_profile="please select a profile"; |
|||
txt_confirm_profile_select="please confirm the selection of:"; |
|||
txt_no_profile_found="no profile found in\n\n$profdir"; |
|||
|
|||
# _upload_cam ############################################# |
|||
txt_upload_cam1="ssh profile doesn't exist"; |
|||
txt_upload_cam2="ssh profile found"; |
@ -0,0 +1,158 @@ |
|||
#!/bin/bash |
|||
|
|||
#francais |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
txt_create='crée dans'; |
|||
txt_bmenu_user="Utilisateur "; |
|||
txt_bmenu_comp="Compilateur "; |
|||
txt_bmenu_debu="Info Debug "; |
|||
txt_bmenu_acti="Options Actives"; |
|||
txt_wait="Veuillez patienter..."; |
|||
txt_build="Compilation"; |
|||
txt_to="à"; |
|||
txt_lc="utiliser"; |
|||
txt_lang_select="Change langue"; |
|||
txt_force="Forcer une MAJ rapide"; |
|||
txt_back="Retour au choix de la toolchain"; |
|||
txt_end="Quitter Simplebuild"; |
|||
txt_offline="Hors Ligne"; |
|||
txt_error="Erreur"; |
|||
txt_LOAD="UPLOAD"; |
|||
txt_DOWNLOAD="Téléchargment en cours"; |
|||
txt_REMOVE="Supprimer"; |
|||
txt_found_in="trouvé dans"; |
|||
txt_found_in_archiv="localisé dans archiv"; |
|||
txt_buildtime="Temps de Compilation"; |
|||
txt_nosvn="Pas de version SVN trouvée"; |
|||
txt_with="avec"; |
|||
txt_old="Ancien"; |
|||
txt_no_stapi="pas de STAPI SH4 disponible !!!"; |
|||
txt_rm="effacé"; |
|||
txt_help1="démarrer avec"; |
|||
txt_help2="les paramètres de lignes de commande possibles sont"; |
|||
txt_help3="touche [ENTER] pour continuer..." |
|||
txt_compressor1="Choisissez le compresseur de binaires\n pour votre systeme de compilation"; |
|||
txt_compressor2="résultat : "; |
|||
txt_compressor3="détecté"; |
|||
txt_compressor4="non détecté"; |
|||
txt_packok="est compressé dans archiv"; |
|||
txt_packfail="n'a pu compresser"; |
|||
txt_rcheckout="Structure SVN manquante ... Mise à jour, Veuillez Patienter !\n"; |
|||
txt_extra1=" Choisissez les options :\n [*] = activer; [ ] = désactiver"; |
|||
txt_extra2="Support des lecteurs USB"; |
|||
txt_extra3="Support des lecteurs PCSC"; |
|||
txt_extra4="Support de STAPI"; |
|||
txt_extra5="Support de COOLAPI"; |
|||
txt_extra6="Compiler les libs dans OScam"; |
|||
txt_extra7="Compacter le binaire oscam en .tar.gz"; |
|||
txt_extra8="Compresser le binaire oscam avec UPX"; |
|||
txt_checksys1="\n vérification des fichiers\n -------------------------\n"; |
|||
txt_checksys2="\n vérification des packages\n -------------------------\n"; |
|||
txt_checksys3="est installé"; |
|||
txt_checksys4="... nest pas installé"; |
|||
txt_checksys5="installé "; |
|||
txt_checksys6="... nest pas installé"; |
|||
txt_checksys7=" trouvé dans "; |
|||
txt_cfg_path1="valeur par défaut"; |
|||
txt_cfg_path2="valeur actuelle"; |
|||
txt_cfg_path3="répertoire de configuration"; |
|||
txt_lib_path1="répertoire de librairies"; |
|||
txt_custom_suffix="laissez vide pour utiliser les valeurs par défaut"; |
|||
txt_online_update1="version locale"; |
|||
txt_online_update2="version en ligne"; |
|||
txt_online_update3="Voulez-vous mettre à jour SIMPLEBUILD ?"; |
|||
txt_conf_update1="version locale"; |
|||
txt_conf_update2="version en ligne"; |
|||
txt_conf_update3="Voulez-vous mettre à jour le fichier de CONFIG ?"; |
|||
txt_patch="utiliser patch"; |
|||
txt_patch_off1="patche(s) trouvé(s) pour suppression\n------------------------------------"; |
|||
txt_patch_off2="supprimer patch"; |
|||
txt_patch_off3="supprimer"; |
|||
txt_patch_off4="fichier de la source"; |
|||
txt_patch_on1="patche(s) trouvé(s) pour application\n------------------------------------"; |
|||
txt_patch_on2="appliquer patch"; |
|||
txt_con_check1="Téléchargement manquant"; |
|||
txt_con_check2="taille de toolchain incorrecte. Supprimez et recommencez !"; |
|||
txt_con_check3="Téléchargement impossible"; |
|||
txt_configure_title="[ CONFIGURATION ]"; |
|||
txt_configure_menu0="Configuration"; |
|||
txt_configure_menu1="Add-ons, Protocoles, Systèmes CA, Lecteurs de Cartes"; |
|||
txt_configure_menu2="Autres Réglages (USB/PCSC/STAPI/COOL/PACK/PATCH/COMPRESS)"; |
|||
txt_configure_menu3="Changer le répertoire de config par défaut"; |
|||
txt_configure_menu4="Changer le répertoire des librairies par défaut"; |
|||
txt_configure_menu5="Choisir le Compresseur Binaire"; |
|||
txt_configure_menu6="Choisir un suffixe personnalisé pour le binaire OSCAM"; |
|||
txt_configure_menu7="Retour au MENU DE COMPILATION"; |
|||
txt_cmdline1="Checkout Revision"; |
|||
txt_cmdline2="Checkout trunk"; |
|||
txt_cmdline3="prise en compte du profil par défaut"; |
|||
txt_cmdline4="prise en compte du profil custom"; |
|||
txt_cmdline5="prise en compte du profil saved"; |
|||
txt_cmdline6="profil custom absent\n profil par défaut pris en compte"; |
|||
txt_cmdline7="profil saved absent\n profile par défaut pris en compte"; |
|||
txt_cmd_build1="pas de SVN correct trouvé\n supprimez oscam-svn !!\n ----------------------"; |
|||
txt_cmd_build2="SVN effacé\n redemarrez simplebuild !!\n --------------------------------------"; |
|||
txt_cmd_build3="appliquer le(s) patche(s)\n -------------------------"; |
|||
txt_cmd_build4="patches trouvé(s) pour être appliqué(s)"; |
|||
txt_cmd_build5="appliquer le patch"; |
|||
txt_cmd_build6="Nettoyer le SVN d'OSCam local"; |
|||
txt_cmd_build7="Taille du binaire avant compression"; |
|||
txt_cmd_build8="Taille du binaire après compression"; |
|||
txt_cmd_build9="Taille du binaire réduite à"; |
|||
txt_cmd_build10="supprimer les patches\n ---------------------"; |
|||
txt_cmd_build11="patche(s) trouvé(s) pour être appliqués"; |
|||
txt_cmd_build12="échec de compilation"; |
|||
txt_cmd_build13="voir le fichier build.log"; |
|||
txt_cmd_build14="supprimer patch"; |
|||
txt_cmd_build_title="[ INFO Compression ]"; |
|||
txt_b_menu_title="[ Options de compilation ]"; |
|||
txt_b_menu_options1="pas d'options actives"; |
|||
txt_b_menu1="[ MENU DE COMPILATION ]"; |
|||
txt_b_menu2="Informations"; |
|||
txt_b_menu3="Réglages Actuels"; |
|||
txt_b_menu4="Configuration et Réglages d'OSCam"; |
|||
txt_b_menu5="Compiler OSCam"; |
|||
txt_b_menu6="Voir build.log"; |
|||
txt_b_menu7="Voir la configuration d'OSCam"; |
|||
txt_upload_cam1="le fichier de configuration n'existe pas"; |
|||
txt_upload_cam2="le fichier de config existe"; |
|||
txt_t_menu1="\n La révision actuelle d'OSCam SVN est : r"; |
|||
txt_rem_chains1="Veuillez choisir la toolchain à supprimer"; |
|||
txt_add_chains1="AJOUTER Toolchain"; |
|||
txt_add_chains2="Veuillez choisir la toolchain à ajouter"; |
|||
txt_menu_builder1="Quitter Simplebuild"; |
|||
txt_menu_builder2="Nouvelle Toolchain"; |
|||
txt_menu_builder3="Toolchain installées"; |
|||
txt_menu_builder4="Native pour"; |
|||
txt_menu_back="Retour à la sélection de Toolchain"; |
|||
txt_cedit1="Supprimer le binaire de debug"; |
|||
txt_cedit2="Verifier les Toolchains installées"; |
|||
txt_cedit3="Activer le système de Patches Automatique"; |
|||
txt_cedit4="Activer la vérification de Mises à jour"; |
|||
txt_cedit5="Informations detaillées sur la compilation"; |
|||
txt_revcheck1="VERIFICATION DE MISE A JOUR"; |
|||
txt_revcheck2="Vérification de la version d'OSCam SVN en ligne\n\t\b"; |
|||
txt_revcheck3="Révision disponible:"; |
|||
txt_revcheck4="Entrer le numéro de Révision..."; |
|||
txt_revcheck5="impossible. SVN hors ligne !"; |
|||
txt_revcheck6="Vérification de la version d'OSCam SVN locale\n\t\b"; |
|||
txt_revsel1="avec locale:"; |
|||
txt_revsel2="Effacer la"; |
|||
txt_revsel3="et tous les fichiers de configuration"; |
|||
txt_revsel4="Editeur de configuration"; |
|||
txt_revsel5="Programme"; |
|||
txt_revsel6="Mettre à jour vers la dernière Révision"; |
|||
txt_options1="Editer Options :"; |
|||
txt_options2="activer"; |
|||
txt_options3="activer"; |
|||
txt_options4="OK rédemarre Simplebuild"; |
|||
txt_options_title="Editeur de Configuration"; |
|||
txt_disksvn="révision locale est maintenant " |
@ -0,0 +1,149 @@ |
|||
#!/bin/bash |
|||
|
|||
#italiano |
|||
|
|||
txt_create='creato in'; |
|||
txt_bmenu_user="Nome utente "; |
|||
txt_bmenu_comp="Compilatore "; |
|||
txt_bmenu_debu="Informazioni di Debug "; |
|||
txt_bmenu_acti="Caratteristiche attive"; |
|||
txt_wait="attendere prego..."; |
|||
txt_build="compilo"; |
|||
txt_lc="utilizzare"; |
|||
txt_to="verso"; |
|||
txt_force="Checkout rapido"; |
|||
txt_back="Torna al menu Toolchain"; |
|||
txt_end="Termina Simplebuild"; |
|||
txt_offline="offline"; |
|||
txt_error="Errore"; |
|||
txt_LOAD="CARICA"; |
|||
txt_DOWNLOAD="Sto scaricando"; |
|||
txt_REMOVE="RIMUOVI"; |
|||
txt_found_in="trovato in"; |
|||
txt_found_in_archiv="trovato in archivio"; |
|||
txt_buildtime="tempo di compilazione"; |
|||
txt_nosvn="nessuna svn trovata"; |
|||
txt_with="con"; |
|||
txt_old="vecchio"; |
|||
txt_no_stapi="nessun sh4 STAPI presente!"; |
|||
txt_rm="rimosso"; |
|||
txt_help1="inizia con"; |
|||
txt_help2="Le linee di comando sono"; |
|||
txt_help3="Premi [ENTER] per continuare..." |
|||
txt_compressor1="scegli la COMPRESSIONE BINARIA\n per il tuo SISTEMA DI COMPILAZIONE"; |
|||
txt_compressor2="Risultato : "; |
|||
txt_compressor3="trovato"; |
|||
txt_compressor4="non trovato"; |
|||
txt_packok="è compresso nell'arvhivio"; |
|||
txt_packfail="errore durante la compressione"; |
|||
txt_rcheckout=" manca SVN. Vengono cerati aggioranmenti. Attendere prego...\n"; |
|||
txt_extra1=" Scegliere le caratteristiche :\n [*] = on; [ ] = off"; |
|||
txt_extra2="supporto periferiche USB"; |
|||
txt_extra3="supporto periferiche PCSC"; |
|||
txt_extra4="utilizza la funzione STAPI"; |
|||
txt_extra5="utilizza la funzione COOLAPI"; |
|||
txt_extra6="includi le librerie in Oscam"; |
|||
txt_extra7="comprimere Oscam come .tar.gz"; |
|||
txt_extra8="Comprimere Oscam con UPX"; |
|||
txt_checksys1="\n controllo file\n --------------\n"; |
|||
txt_checksys2="\n controllo pacchetto\n -------------------\n"; |
|||
txt_checksys3="è intallato"; |
|||
txt_checksys4="... non è installato"; |
|||
txt_checksys5="installato "; |
|||
txt_checksys6="... maca"; |
|||
txt_checksys7=" trovato in "; |
|||
txt_cfg_path1="default è"; |
|||
txt_cfg_path2="impostato è"; |
|||
txt_cfg_path3="La CONF_DIR è impostata a"; |
|||
txt_lib_path1="La LIB_DIR è impostata a"; |
|||
txt_custom_suffix="lasciare vuoto per Standard"; |
|||
txt_online_update1="versione locale"; |
|||
txt_online_update2="versione online"; |
|||
txt_online_update3="Volete cambiare alla versione attuale dello script SIMPLEBUILD"; |
|||
txt_conf_update1="versione locale"; |
|||
txt_conf_update2="versione online"; |
|||
txt_conf_update3="Volete cambiare alla versione attuale del file CONFIG"; |
|||
txt_patch="usare patch"; |
|||
txt_patch_off1="Patch(e) trovati da eliminare\n-----------------------------"; |
|||
txt_patch_off2="rimuovi Patch(s)"; |
|||
txt_patch_off3="rimuovo"; |
|||
txt_patch_off4="files dalla svn"; |
|||
txt_patch_on1="Patch(s) da applicare trovati\n-----------------------------"; |
|||
txt_patch_on2="Patch(s) applicare"; |
|||
txt_con_check1="carico mancanti"; |
|||
txt_con_check2="riconosciuta dimensione Toolchain errata! Rimuovo e ricarico."; |
|||
txt_con_check3="errore durante il caricamento"; |
|||
txt_configure_title="[ CONFIGURAZIONE ]"; |
|||
txt_configure_menu0="Configurare"; |
|||
txt_configure_menu1="Moduli, Protocolli, Lettori, Carten e Driver per Reader"; |
|||
txt_configure_menu2="Caratteristiche (USB/PCSC/PACK/PATCH/STAPI/COOLAPI/COMPRESS)"; |
|||
txt_configure_menu3="Configurazioni standard- impostazione directory"; |
|||
txt_configure_menu4="Librerie standard- impostazione directory"; |
|||
txt_configure_menu6="eigene oscam Endung verwenden"; |
|||
txt_configure_menu7="Salvare e tornare al menu di compilazione"; |
|||
txt_cmdline1="Revisions Checkout"; |
|||
txt_cmdline2="Trunk Checkout"; |
|||
txt_cmdline3="utilizza il profilo standard"; |
|||
txt_cmdline4="utilizza il profilo personalizzato"; |
|||
txt_cmdline5="utilizza il profilo salvato"; |
|||
txt_cmdline6="profilo personalizzato non trovato\n utilizzo profilo standard"; |
|||
txt_cmdline7="profilo salvato non trovato\n utilizzo profilo standard"; |
|||
txt_cmd_build1="nessuna SVN originale trovata\n rimuovi subito oscam-svn !!\n ---------------------------"; |
|||
txt_cmd_build2="SVN rimossa\n Riavvia Simplebuild!\n --------------------"; |
|||
txt_cmd_build3="applico Patch(s)\n ----------------"; |
|||
txt_cmd_build4="trovato Patch(s) da rimuovere"; |
|||
txt_cmd_build5="applicare Patch(s)"; |
|||
txt_cmd_build6="pulire SVN"; |
|||
txt_cmd_build7="Dimensione file prima "; |
|||
txt_cmd_build8="Dimensione file dopo "; |
|||
txt_cmd_build9="Dimensione file rimpicciolita di"; |
|||
txt_cmd_build10="rimuovo Patch(s)\n ----------------"; |
|||
txt_cmd_build11="trovato Patch(s) da rimuovere"; |
|||
txt_cmd_build12="errore durante la compilazione"; |
|||
txt_cmd_build13="leggere build.log" |
|||
txt_cmd_build14="rimuovo Patch(s)"; |
|||
txt_cmd_build_title="[ INFO compressione ]"; |
|||
txt_b_menu_title="[ Opzioni compilazione ]"; |
|||
txt_b_menu_options1="nessuna caratteristica attiva" |
|||
txt_b_menu1="[ MENU COMPILAZIONE ]"; |
|||
txt_b_menu2="Informazioni"; |
|||
txt_b_menu3="impostazioni applicate"; |
|||
txt_b_menu4="imposta OScam"; |
|||
txt_b_menu5="Compilo Oscam"; |
|||
txt_b_menu6="Mostra build.log"; |
|||
txt_b_menu7="mostra la configurazione OScam"; |
|||
txt_upload_cam1="manca il file config"; |
|||
txt_upload_cam2="file config trovato"; |
|||
txt_t_menu1="\n La versione SVN attuale è : r"; |
|||
txt_rem_chains1="Selezione per favore il Toolchain da rimuovere"; |
|||
txt_add_chains1="Aggiungi Toolchain"; |
|||
txt_add_chains2="Selezionare per favore il Toolchain da aggiungere"; |
|||
txt_menu_builder1="Termina Simplebuild"; |
|||
txt_menu_builder2="Aggiungi un Toolchain"; |
|||
txt_menu_builder3="Rimuovi un Toolchain installato"; |
|||
txt_menu_builder4="Nativo per"; |
|||
txt_menu_back="Torna al menu Toolchain"; |
|||
txt_cedit1="Rimuovi il file .debug"; |
|||
txt_cedit2="Controlla i Toolchains installati"; |
|||
txt_cedit3="Attiva AUTO PATCH SYSTEM"; |
|||
txt_cedit4="Attiva Update Check"; |
|||
txt_cedit5="SCRIPT mit maximalen Infos beim bau"; |
|||
txt_revcheck1="CONTROLLO_UPDATE"; |
|||
txt_revcheck2="Controllo versione ONLINE di Oscam"; |
|||
txt_revcheck3="Versione trovata:"; |
|||
txt_revcheck4="Immettere il numero della SVN desiderata..."; |
|||
txt_revcheck5="impossibile. SVN è offline!"; |
|||
txt_revcheck6="Controllare la SVN locale"; |
|||
txt_revsel1="Continua con SVN locale:"; |
|||
txt_revsel2="SVN"; |
|||
txt_revsel3="riscaricare e rimuovere le configurazioni"; |
|||
txt_revsel4="Editore configurazioni"; |
|||
txt_revsel5="Esci dal programma"; |
|||
txt_revsel6="Aggiornare all'ultima versione"; |
|||
txt_wrong1="buildcamname errato o non trovato"; |
|||
txt_options1="Modifica opzioni:"; |
|||
txt_options2="ativare"; |
|||
txt_options3="Disattivare"; |
|||
txt_options4="OK riavvia SIMPLEBUILD"; |
|||
txt_options_title="Editore CONFIG"; |
|||
txt_disksvn="revisione locale è ora " |
@ -0,0 +1,114 @@ |
|||
#!/bin/bash |
|||
|
|||
#nederlands |
|||
|
|||
txt_as='als'; |
|||
txt_of='van'; |
|||
txt_for='voor'; |
|||
txt_b2="build"; |
|||
txt_to="naar"; |
|||
txt_now='nu'; |
|||
txt_b1='compileren'; |
|||
txt_menu='Menu'; |
|||
txt_no='geen'; |
|||
txt_name='Naam'; |
|||
txt_use='gebruik'; |
|||
txt_back='terug'; |
|||
txt_done=' klaar'; |
|||
txt_error='Fout'; |
|||
txt_missing='ontbreekt'; |
|||
txt_sel='selecteren'; |
|||
txt_delete='verwijderen'; |
|||
txt_found='gevonden'; |
|||
txt_create='maak'; |
|||
txt_loading=' laden'; |
|||
txt_profile='profiel'; |
|||
txt_profiles='Profielen'; |
|||
txt_conf='Configuratie'; |
|||
txt_parameter='Parameter'; |
|||
txt_extracting='uitpakken'; |
|||
txt_wait='momentje...'; |
|||
txt_existing='bestaande'; |
|||
txt_ssh_profiles='SSH $txt_profiles'; |
|||
txt_not_found='niet gevonden'; |
|||
txt_n_installed='is niet geïnstalleerd'; |
|||
txt_start_menu='Hoofdmenu'; |
|||
txt_back_main="$txt_back naar $txt_start_menu"; |
|||
txt_too_old='(te oud of niet ondersteund)'; |
|||
txt_selected='geselecteerd'; |
|||
txt_update='nu bijwerken'; |
|||
txt_example_name='Voorbeeld: dm820.slaapkmr'; |
|||
txt_save='opslaan'; |
|||
txt_filename='Bestandsnaam'; |
|||
txt_LOAD="UPLOAD"; |
|||
txt_tc="Toolchain"; |
|||
|
|||
# menu txt |
|||
txt_remove_menu='$txt_tc verwijderen'; |
|||
txt_add_menu='$txt_tc toevoegen'; |
|||
txt_main_revision="\n De actuele SVN versie is : r"; |
|||
txt_bmenu_title="Buildmenü"; |
|||
|
|||
# help txt |
|||
txt_help1="begin met" |
|||
txt_help2="Opdrachtregel parameters zijn" |
|||
txt_help3="Druk op [ENTER] om door te gaan..." |
|||
|
|||
# firstmenu ################################################ |
|||
txt_firstmenu_continue="Doorgaan met lokale SVN"; |
|||
txt_firstmenu_chose="Andere SVN versie (7000+) laden"; |
|||
txt_firstmenu_cedit="$txt_conf""s Editor starten"; |
|||
txt_firstmenu_lang="Taal handmatig $txt_sel"; |
|||
txt_firstmenu_exit="Afsluiten"; |
|||
|
|||
# _toolchain_config_menu ################################### |
|||
txt_config_menu="$txt_conf $txt_menu"; |
|||
txt_back_build="$txt_back naar $txt_bmenu_title"; |
|||
txt_module_configure="Oscam module $txt_sel"; |
|||
txt_oscam_extra="Oscam extra's USB/PCSC $txt_sel"; |
|||
txt_build_extra="build Extra's Compress/Patch $txt_sel"; |
|||
txt_build_load="Laatste $txt_conf laden"; |
|||
txt_build_save="$txt_conf bewaren"; |
|||
txt_build_reset="$txt_conf $txt_back zetten"; |
|||
txt_use_targz='maak .tar bestand na het compileren'; |
|||
txt_use_patch='patch oscam voor het compileren'; |
|||
txt_use_compress='Binaire compressie van oscam'; |
|||
|
|||
# _toolchain_build_menu #################################### |
|||
txt_bmenu_user="Gebruikersnaam "; |
|||
txt_bmenu_comp="Compiler "; |
|||
txt_bmenu_debu="Debug info "; |
|||
txt_bmenu_use="GEBRUIK variabelen "; |
|||
txt_bmenu_build="OScam nu $txt_b1"; |
|||
txt_bmenu_config="OScam/Build $txt_conf"; |
|||
txt_bmenu_profile="beschikbare $txt_profile laden"; |
|||
txt_bmenus_profile="$txt_profile $txt_save"; |
|||
txt_bmenu_log="Toon lastbuild.log"; |
|||
txt_bmenu_back="$txt_back naar $txt_tc selectie"; |
|||
txt_compress1="Bestandgrootte eerst "; |
|||
txt_compress2="Bestandgrootte na "; |
|||
txt_compress3="Bestandgrootte verkleind tot "; |
|||
|
|||
# _toolchain_main_menu##################################### |
|||
txt_menu_builder1="Simplebuild afsluiten"; |
|||
txt_menu_builder2="Voeg nieuwe $txt_tc toe"; |
|||
txt_menu_builder3="Verwijder geïnstalleerde $txt_tc"; |
|||
txt_menu_builder4="Huidig system:"; |
|||
txt_menu_back="Naar $txt_tc $txt_menu"; |
|||
|
|||
# _dialog_checkout |
|||
txt_verify_syscheck='Systeem controleren :'; |
|||
txt_verify_svn='Huidige SVN controleren :'; |
|||
txt_update_svn="SVN $txt_update :"; |
|||
txt_prepare_svn="SVN controle voorbereiden :"; |
|||
txt_latest="Nieuwste SVN"; |
|||
|
|||
# _load_profile ########################################### |
|||
txt_select_profile_title="Beschikbare $txt_profiles"; |
|||
txt_select_profile="Kies een $txt_profile a.u.b."; |
|||
txt_confirm_profile_select="Bevestig a.u.b. de keuze van:"; |
|||
txt_no_profile_found="geen $txt_profile gevonden in\n\n$profdir"; |
|||
|
|||
# _upload_cam ############################################# |
|||
txt_upload_cam1="ssh $txt_profile bestaat niet"; |
|||
txt_upload_cam2="ssh $txt_profiles gevonden"; |
@ -0,0 +1,115 @@ |
|||
#!/bin/bash |
|||
|
|||
#polski |
|||
|
|||
txt_as='niż'; |
|||
txt_of='z'; |
|||
txt_for='dla'; |
|||
txt_b2="buduję"; |
|||
txt_to="do"; |
|||
txt_now='teraz'; |
|||
txt_b1='kompiluj'; |
|||
txt_menu='menu'; |
|||
txt_no='żaden'; |
|||
txt_name='nazwa'; |
|||
txt_use='użyj'; |
|||
txt_back='powrót'; |
|||
txt_done=' gotowe'; |
|||
txt_error='błąd'; |
|||
txt_missing='brak'; |
|||
txt_sel='wybierz'; |
|||
txt_delete='usuń'; |
|||
txt_found='znaleziono'; |
|||
txt_create='utwórz'; |
|||
txt_loading='ładuj'; |
|||
txt_profiles='profil'; |
|||
txt_conf='kofiguracja'; |
|||
txt_parameter='parametr'; |
|||
txt_extracting='rozpakuj'; |
|||
txt_wait='proszę czekać ...'; |
|||
txt_existing='istniejący'; |
|||
txt_ssh_profiles='SSH Profile'; |
|||
txt_not_found='nie znaleziono'; |
|||
txt_n_installed='nie jest zainstlowane'; |
|||
txt_back_main="$txt_back do menu głównego"; |
|||
txt_too_old='(zbyt stary nie jest obsługiwany)'; |
|||
txt_selected='wybrane'; |
|||
txt_update='aktualizacja'; |
|||
txt_example_name='przykład: dm820.stube'; |
|||
txt_save='zapisz'; |
|||
txt_filename='nazwa pliku'; |
|||
txt_LOAD="UPLOAD\przesłać"; |
|||
|
|||
# menu txt |
|||
txt_start_menu='menu główne'; |
|||
txt_remove_menu='usuń Toolchain'; |
|||
txt_add_menu='dodaj Toolchain'; |
|||
txt_main_revision="\n aktualna SVN REVISION to : r"; |
|||
|
|||
# help txt |
|||
txt_help1="zaczać z" |
|||
txt_help2="wiersz poleceń to" |
|||
txt_help3="[ENTER] > dalej ..." |
|||
|
|||
# firstmenu ################################################ |
|||
txt_firstmenu_continue="dalej z lokalnym SVN"; |
|||
txt_firstmenu_chose="załaduj inny SVN (od 7000)"; |
|||
txt_firstmenu_cedit="$txt_conf"" - wystartuj edytor"; |
|||
txt_firstmenu_lang="opcje językowe"; |
|||
txt_firstmenu_exit="zakończ Simplebuild"; |
|||
|
|||
# _toolchain_config_menu ################################### |
|||
txt_config_menu="menu konfiguratora"; |
|||
txt_back_build="$txt_back do menu kompilacji"; |
|||
txt_module_configure="$txt_sel moduły Oscam"; |
|||
txt_oscam_extra="$txt_sel kompilacyjne extra USB/PCSC "; |
|||
txt_build_extra="$txt_sel kompilacyjne extra Compress/Patch"; |
|||
txt_build_load="z$txt_loading ostatnia $txt_conf"; |
|||
txt_build_save="$txt_save $txt_conf "; |
|||
txt_build_reset="resetuj konfigurację "; |
|||
txt_use_targz='$txt_create plik.tar po kompilacji '; |
|||
txt_use_patch='użyj Patch przed kompilacją'; |
|||
txt_use_compress='spakuj binarke oscam'; |
|||
|
|||
# _toolchain_build_menu #################################### |
|||
txt_bmenu_title="menu kompilacji"; |
|||
txt_bmenu_user="nazwa usera "; |
|||
txt_bmenu_comp="Compiler "; |
|||
txt_bmenu_debu="Debug Info "; |
|||
txt_bmenu_use="variable "; |
|||
txt_bmenu_build="$txt_b1 OScam"; |
|||
txt_bmenu_config="konfiguracja OScam/Build"; |
|||
txt_bmenu_profile="załaduj $txt_existing profil"; |
|||
txt_bmenus_profile="Profil $txt_save"; |
|||
txt_bmenu_log="pokaż lastbuild.log"; |
|||
txt_bmenu_back="$txt_back do wyboru Toolchain"; |
|||
txt_compress1="wielkość pliku przed "; |
|||
txt_compress2="wielkość pliku po "; |
|||
txt_compress3="wielkość pliku zmniejszona do"; |
|||
|
|||
# _toolchain_main_menu #################################### |
|||
#txt_menu_title="menu toolchaini"; |
|||
txt_menu_builder1="zakończ Simplebuild"; |
|||
txt_menu_builder2="dodaj nowy Toolchain"; |
|||
txt_menu_builder3="usuń zainstalowany Toolchain"; |
|||
txt_menu_builder4="nativ dla"; |
|||
txt_menu_back="powrót do menu toolchain"; |
|||
|
|||
# _dialog_checkout ######################################## |
|||
txt_verify_syscheck='sprawdzanie systemu :'; |
|||
txt_verify_svn='sprawdzanie istniejącego svn :'; |
|||
txt_update_svn="$txt_update svn :"; |
|||
txt_prepare_svn="przygotowanie svn checkout :"; |
|||
txt_latest="ostatni aktualny"; |
|||
|
|||
# _load_profile ########################################### |
|||
txt_select_profile_title="dostępne profile"; |
|||
txt_select_profile="wybierz profil"; |
|||
txt_confirm_profile_select="potwierdzić wybór :"; |
|||
txt_no_profile_found="nie znaleziono profilu w\n\n$profdir"; |
|||
|
|||
# _upload_cam ############################################# |
|||
txt_upload_cam1="SSH profil nie istnieje"; |
|||
txt_upload_cam2="SSH profil znaleziony"; |
|||
|
|||
|
@ -0,0 +1,150 @@ |
|||
#!/bin/bash |
|||
|
|||
#portugues-portugal |
|||
|
|||
txt_create='criar em'; |
|||
txt_bmenu_user="Utilizador "; |
|||
txt_bmenu_comp="Compilador "; |
|||
txt_bmenu_debu="Informacao do Debug "; |
|||
txt_bmenu_acti="Opcoes Ativadas"; |
|||
txt_wait="Por favor Aguarde..."; |
|||
txt_build="Compilacao"; |
|||
txt_to="para"; |
|||
txt_lc="utilizar"; |
|||
txt_lang_select="Mudar de Lingua"; |
|||
txt_force="Forcar um MAJ rapido"; |
|||
txt_back="Voltar para o menu de escolhas da toolchain"; |
|||
txt_end="Sair do Simplebuild"; |
|||
txt_offline="Desligado"; |
|||
txt_error="Erro"; |
|||
txt_LOAD="Enviando"; |
|||
txt_DOWNLOAD="Descarregando ..."; |
|||
txt_REMOVE="Apagar"; |
|||
txt_found_in="Encontrar em"; |
|||
txt_found_in_archiv="Localizar no arquivo"; |
|||
txt_buildtime="Tempo de Compilacao"; |
|||
txt_nosvn="Nenhuma Versao SVN encontrada"; |
|||
txt_with="com"; |
|||
txt_old="Antigo"; |
|||
txt_no_stapi="sem STAPI SH4 disponivel !!!"; |
|||
txt_rm="apagado"; |
|||
txt_help1="iniciar com"; |
|||
txt_help2="os parametros das linhas de comando disponiveis sao"; |
|||
txt_help3="prime [ENTER] para continuar..." |
|||
txt_compressor1="Escolhe o meio de compressao de binarios\n para o seu sistema de compilacao"; |
|||
txt_compressor2="resultado : "; |
|||
txt_compressor3="detectado"; |
|||
txt_compressor4="nao detectado"; |
|||
txt_packok="esta compressado no arquivo"; |
|||
txt_packfail="nao conseguiu compressar"; |
|||
txt_rcheckout="Estructura do SVN nao encontrada ... A actualizar, Por Favor Aguarde !\n"; |
|||
txt_extra1=" Escolha as opcoes :\n [*] = Activar; [ ] = Desactivar"; |
|||
txt_extra2="Suporte dos leitores USB"; |
|||
txt_extra3="Suporte dos leitores PCSC"; |
|||
txt_extra4="Suporte do STAPI"; |
|||
txt_extra5="Suporte do COOLAPI"; |
|||
txt_extra6="Compilar as Librarias dentro do OScam"; |
|||
txt_extra7="Compactar o binario do OScam em .tar.gz"; |
|||
txt_extra8="Compressar o binario OScam com UPX"; |
|||
txt_checksys1="\n Verificacao dos ficheiros \n -------------------------\n"; |
|||
txt_checksys2="\n Verificacao dos pacotes\n -------------------------\n"; |
|||
txt_checksys3="esta instalado"; |
|||
txt_checksys4="... nao esta instalado"; |
|||
txt_checksys5="instalado "; |
|||
txt_checksys6="... nao esta instalado"; |
|||
txt_checksys7=" encotrado em "; |
|||
txt_cfg_path1="valor por defeito"; |
|||
txt_cfg_path2="valor actual"; |
|||
txt_cfg_path3="directorio de configuracoes"; |
|||
txt_lib_path1="directorio de librarias"; |
|||
txt_custom_suffix="deixar vazio para os valores por defeito"; |
|||
txt_online_update1="versao local"; |
|||
txt_online_update2="versao online"; |
|||
txt_online_update3="Deseja actualizar o seu SIMPLEBUILD ?"; |
|||
txt_conf_update1="versao local"; |
|||
txt_conf_update2="versao online"; |
|||
txt_conf_update3="Deseja actualizar o ficheiro CONFIG ?"; |
|||
txt_patch="utilizar o patch"; |
|||
txt_patch_off1="patch(s) encontrado(s) para supressao\n------------------------------------"; |
|||
txt_patch_off2="apagar o patch"; |
|||
txt_patch_off3="apagar"; |
|||
txt_patch_off4="ficheiro da fonte"; |
|||
txt_patch_on1="patch(s) encontrado(s) para aplicacao\n------------------------------------\n------------------------------------"; |
|||
txt_patch_on2="aplicar patch"; |
|||
txt_con_check1="Transferencia nao encontrada"; |
|||
txt_con_check2="tamanho da toolchain incorrecto. Apague e comece de novo !"; |
|||
txt_con_check3="Impossivel transferir"; |
|||
txt_configure_title="[ CONFIGURACAO ]"; |
|||
txt_configure_menu0="Configuracao"; |
|||
txt_configure_menu1="Add-ons, Protocolos, Sistemas CA, Leitores de Cartoes"; |
|||
txt_configure_menu2="Outros Parametros (USB/PCSC/STAPI/COOL/PACK/PATCH/COMPRESS)"; |
|||
txt_configure_menu3="Mudar o directorio das configs por defeito"; |
|||
txt_configure_menu4="Mudar o directorio das librarias por defeito"; |
|||
txt_configure_menu5="Escolher o compressor do bianario"; |
|||
txt_configure_menu6="Escolher um suffixo personalizado para o binario do OSCAM"; |
|||
txt_configure_menu7="Voltar para o MENU DE COMPILACAO"; |
|||
txt_cmdline1="Verificacao da Revision "; |
|||
txt_cmdline2="Verificacao do trunk"; |
|||
txt_cmdline3="consideracao do perfil por defeito"; |
|||
txt_cmdline4="consideracao do perfil modificado"; |
|||
txt_cmdline5="consideracao do perfil guardado"; |
|||
txt_cmdline6="perfil modificado ausente\n perfil por defeito tomado em conta (Selecionado)"; |
|||
txt_cmdline7="perfil guardado ausente\n perfil por defeito tomado em conta (Selecionado) "; |
|||
txt_cmd_build1="nenhum SVN correcto encontrado\n apague oscam-svn !!\n ----------------------"; |
|||
txt_cmd_build2="SVN apagado\n re-inicie o simplebuild !!\n --------------------------------------"; |
|||
txt_cmd_build3="aplicar o(s) patch(s) \n -------------------------"; |
|||
txt_cmd_build4="patch(s) encontrado(s) para serem aplicado(s)"; |
|||
txt_cmd_build5="aplicar o patch"; |
|||
txt_cmd_build6="Limpar SVN do OSCam local"; |
|||
txt_cmd_build7="Tamanho do bianario antes da compressao"; |
|||
txt_cmd_build8="Tamanho do bianario depois da compressao"; |
|||
txt_cmd_build9="Tamanho do bianario reduzido a"; |
|||
txt_cmd_build10="apagar patch\n ---------------------"; |
|||
txt_cmd_build11="patch(s) encontrado(s) para serem aplicado(s)"; |
|||
txt_cmd_build12="falha de compilacao"; |
|||
txt_cmd_build13="visionar o ficheiro build.log"; |
|||
txt_cmd_build14="apagar patch"; |
|||
txt_cmd_build_title="[ INFO Compressao ]"; |
|||
txt_b_menu_title="[ Opcoes de compilacao ]"; |
|||
txt_b_menu_options1="nenhuma Opcao activa"; |
|||
txt_b_menu1="[ MENU DE COMPILACAO ]"; |
|||
txt_b_menu2="Informacoes"; |
|||
txt_b_menu3="Configuracoes Actuais"; |
|||
txt_b_menu4="Configuracoes et Parametros do OSCam"; |
|||
txt_b_menu5="Compilar OSCam"; |
|||
txt_b_menu6="Visionar build.log"; |
|||
txt_b_menu7="Ver a configuracao do OSCam"; |
|||
txt_upload_cam1="o ficheiro de configuracao nao existe"; |
|||
txt_upload_cam2="o ficheiro config existe"; |
|||
txt_t_menu1="\n A Revisao actual do OSCam SVN é : r"; |
|||
txt_rem_chains1="Por favor escolhe a Toolchain a ser apagada"; |
|||
txt_add_chains1="ADICIONAR Toolchain"; |
|||
txt_add_chains2="Por favor escolhe a Toolchain a adicionar"; |
|||
txt_menu_builder1="Sair do Simplebuild"; |
|||
txt_menu_builder2="Nova Toolchain"; |
|||
txt_menu_builder3="Toolchain Instaladas"; |
|||
txt_menu_builder4="Nativo para"; |
|||
txt_menu_back="Voltar á seleccao da(s) Toolchain(s)"; |
|||
txt_cedit1="Apagar o binario de debug"; |
|||
txt_cedit2="Verificar as Toolchain(s) instaladas"; |
|||
txt_cedit3="Activar o sistema de Patch Automatico"; |
|||
txt_cedit4="Activar a verificacao de Actualizacoes"; |
|||
txt_cedit5="Informacoes detalhadas sobre a compilacao"; |
|||
txt_revcheck1="VERIFICACAO DAS ATUALIZACOES"; |
|||
txt_revcheck2="Verificacao da versao do OSCam SVN online\n\t\b"; |
|||
txt_revcheck3="Revisao disponivel:"; |
|||
txt_revcheck4="Insira o numero da Revisao..."; |
|||
txt_revcheck5="impossivel. SVN offline !"; |
|||
txt_revcheck6="Verificacao da versao do OSCam SVN local\n\t\b"; |
|||
txt_revsel1="com local:"; |
|||
txt_revsel2="Apagar a"; |
|||
txt_revsel3="e todos os ficheiros de configuracao"; |
|||
txt_revsel4="Editor de configuracao"; |
|||
txt_revsel5="Programa"; |
|||
txt_revsel6="Actualizar para a ultima Revisao"; |
|||
txt_options1="Editar Opcoes :"; |
|||
txt_options2="activar"; |
|||
txt_options3="activar"; |
|||
txt_options4="OK reinicie o Simplebuild"; |
|||
txt_options_title="Editor de Configuracoes"; |
|||
txt_disksvn="revisao local esta agora " |
@ -0,0 +1,115 @@ |
|||
#!/bin/bash |
|||
|
|||
#turkish |
|||
|
|||
txt_as='as'; |
|||
txt_of='/'; |
|||
txt_for='için'; |
|||
txt_b2="yapı"; |
|||
txt_to="after"; |
|||
txt_now='şimdi'; |
|||
txt_b1='build'; |
|||
txt_menu='Menü'; |
|||
txt_no='none'; |
|||
txt_name='Ad'; |
|||
txt_use='kullanım'; |
|||
txt_back='geri dön'; |
|||
txt_done='hazır'; |
|||
txt_error='hata'; |
|||
txt_missing='eksik'; |
|||
txt_sel='seçmek'; |
|||
txt_delete='sil'; |
|||
txt_found='bulundu'; |
|||
txt_create='oluştur'; |
|||
txt_loading='load'; #7karakter |
|||
txt_profile='profil'; |
|||
txt_profiles='Profiller'; |
|||
txt_conf='yapılandırma'; |
|||
txt_parameter='Parametre'; |
|||
txt_extracting='ayıklanıyor'; #10karakter |
|||
txt_wait='lütfen bekleyin...'; |
|||
txt_existing='var'; |
|||
txt_ssh_profiles="SSH $txt_profiles"; |
|||
txt_not_found='bulunamadı'; |
|||
txt_n_installed='yüklü değil'; |
|||
txt_start_menu='Ana menü'; |
|||
txt_back_main="$txt_start_menu'ye geri dön"; |
|||
txt_too_old='(çok eski desteklenmiyor)'; |
|||
txt_selected='seçildi'; |
|||
txt_update='güncelleniyor'; |
|||
txt_example_name='Örnek:dm820.stube'; |
|||
txt_save='kayıt'; |
|||
txt_filename='dosya adı'; |
|||
txt_LOAD="UPLOAD"; |
|||
txt_tc="Toolchain"; |
|||
|
|||
# menu txt |
|||
txt_start_menu='Ana menü'; |
|||
txt_remove_menu="$txt_tc kaldır"; |
|||
txt_add_menu="$txt_tc ekle"; |
|||
txt_main_revision="\n yerel SVN revizyonu : r"; |
|||
|
|||
# help txt |
|||
txt_help1="ile başla" |
|||
txt_help2="komut satırıyla başlayın Parametreler" |
|||
txt_help3="[ENTER] ile devam eder ..." |
|||
|
|||
# firstmenu #################### ########################### |
|||
txt_firstmenu_continue="yerel SVN ile devam et"; |
|||
txt_firstmenu_chose="Farklı bir SVN yükle (7000+)"; |
|||
txt_firstmenu_cedit="yapılandırma düzenleyicisini başlat"; |
|||
txt_firstmenu_lang="sistem dili seç"; |
|||
txt_firstmenu_exit="Simplebuild'i kapat"; |
|||
|
|||
# _toolchain_config_menu ##################################### |
|||
txt_config_menu="yapılandırma menüsü"; |
|||
txt_back_build="menüye geri dön"; |
|||
txt_module_configure="oscam modüllerini seç"; |
|||
txt_oscam_extra="USB/PCSC ekstralarını seçin"; |
|||
txt_build_extra="build ekstralar sıkıştır / yama seç"; |
|||
txt_build_load="son yapılandırmayı yükle"; |
|||
txt_build_save="konfigürasyonu kaydet"; |
|||
txt_build_reset="yapılandırmayı sıfırla"; |
|||
txt_use_targz='oscam derlemeden sonra file.tar.gz'; |
|||
txt_use_patch="patch yamasını oscam'a ekle"; |
|||
txt_use_compress="Oscam'den ikili sıkıştırma"; |
|||
|
|||
# _toolchain_build_menu #################################### |
|||
txt_bmenu_title="menü oluşturma"; |
|||
txt_bmenu_user="kullanıcı adı "; |
|||
txt_bmenu_comp="derleyici "; |
|||
txt_bmenu_debu="hata ayıklama bilgisi"; |
|||
txt_bmenu_use="USE_değişkenler "; |
|||
txt_bmenu_build="şimdi oscam oluştur"; |
|||
txt_bmenu_config="oscam/build yapılandırma"; |
|||
txt_bmenu_profile="mevcut $txt_profile ile yükle"; |
|||
txt_bmenus_profile="$txt_profile $txt_save et"; |
|||
txt_bmenu_log="göster lastbuild.log"; |
|||
txt_bmenu_back="$txt_tc seçimine geri dön"; |
|||
txt_compress1="önce dosya boyutu "; |
|||
txt_compress2="sonra dosya boyutu "; |
|||
txt_compress3="dosya boyutu azaldı "; |
|||
|
|||
# _toolchain_main_menu ###################################### |
|||
txt_menu_builder1="close simplebuild"; |
|||
txt_menu_builder2="yeni $txt_tc ekle"; |
|||
txt_menu_builder3="yüklü $txt_tc kaldır"; |
|||
txt_menu_builder4="mevcut yerel yapı için oluştur"; |
|||
txt_menu_back="$txt_tc menüsüne geri dön"; |
|||
|
|||
# _dialog_checkout |
|||
txt_verify_syscheck="sistemi kontrol et :"; |
|||
txt_verify_svn="mevcut SVN'yi kontrol et :"; |
|||
txt_update_svn="$txt_update SVN :"; |
|||
txt_prepare_svn="SVN ödemesini hazırla :"; |
|||
txt_latest="en son SVN"; |
|||
|
|||
# _load_profile ############################################ |
|||
txt_select_profile_title="kullanılabilir profiller "; |
|||
txt_select_profile="lütfen bir profil seçin"; |
|||
txt_confirm_profile_select="lütfen seçiminizi onaylayın:"; |
|||
txt_no_profile_found="içinde profil bulunamadı\n\n$profdir"; |
|||
|
|||
# _upload_cam ########################################### |
|||
txt_upload_cam1="ssh profili mevcut değil "; |
|||
txt_upload_cam2="ssh profili bulundu"; |
Loading…
Reference in new issue