Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
wget -O/var/emu/script/oscam-compile.sh ipc.pebkac.at/ipc/scripts/oscam-compile.sh && chmod 755 /var/emu/script/oscam-compile.sh
#!/bin/bash
#
### CONFIG - START
# Enable colored output-lines on shell? [yes/no]
ENABLECOLORS="yes"
# TRUNKs
svnURL="http://178.17.169.213/svn/oscam/trunk"
svnURL2="http://oscam.to/svn/oscam/trunk"
# TAGs
svnURLtags="http://178.17.169.213/svn/oscam/tags"
svnURLtags2="http://oscam.to/svn/oscam/tags"
svnTAGSver="1.10"
### CONFIG - END
. /var/emu/script/functions.sh
[ -z $IPURL ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $OSBIN ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CAMBINS ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
ScriptVer="1.110"
if [ "$ENABLECOLORS" = "yes" ]; then
ROT=`tput setaf 1`
GRUEN=`tput setaf 2`
BOLD=`tput bold`
NORM='tput op && tput sgr0'
else
ROT="" ; GRUEN="" ; BOLD="" ; NORM=""
fi
if [ `uname -m` = 'x86_64' ]; then
SYSBIT="64"
OSCAMbin="oscam.x86_64"
else
SYSBIT="32"
OSCAMbin="oscam.x86"
fi
CPUcores=$(grep ^processor /proc/cpuinfo | wc -l)
[ -z "$CPUcores" ] && CPUcores=1
[[ "$CPUcores" < "1" ]] && CPUcores=1
#### functions
function collect_needed_packs () {
InstallPAK=""
NEEDPACK=${needpacks
[*]}
for PACK in $NEEDPACK; do
[ -z "$(dpkg -l | grep "ii" | awk {'print $2'} | grep -xi $PACK)" ] && InstallPAK="$InstallPAK $PACK"
done
}
install_packs() {
echo " "
echo "Installiere benoetigte Pakete zum Kompilieren von OScam.."
echo " "
sleep 2
collect_needed_packs
apt-get clean
apt-get update -f
#echo "\n... $InstallPAK ...\n"
apt-get install -y $InstallPAK
echo " "; sleep 1
apt-get clean
if [ "`find / -name libusb.h`" = "" ]; then
install_libusb "1.0.9"
fi
touch $CheckInstalledFile >/dev/null 2>&1
echo " "
}
install_libusb() {
if [ -z "$1" ]; then
LibVer="1.0.8"
else
LibVer=$1
fi
cp -f /var/emu/libs/libusb-${LibVer}.tar.bz2 /tmp/ >/dev/null 2>&1
if [ ! -f "/tmp/libusb-${LibVer}.tar.bz2" ]; then
echo -n "Lade libusb-${LibVer}.."
wget -o $WGETLOG $IPURL/scripts/lib/libusb-${LibVer}.tar.bz2 -P /tmp/ >> /dev/null 2>&1
if [ ! "`grep '200 OK' $WGETLOG`" = "" ] ; then
echo " done"
rm -f $WGETLOG
else
echo -e "\033[1;31mVerbindungsfehler! Abbruch!\033[0m"
rm -f $WGETLOG
exit 1
fi
fi
echo -n "Installiere libusb-${LibVer}.."
cd /tmp
if [ -d "libusb-${LibVer}" ]; then
rm -rf libusb-${LibVer}
fi
tar xjf libusb-${LibVer}.tar.bz2 >> /dev/null 2>&1
echo -n ".entpackt."
cd /tmp/libusb-${LibVer} >> /dev/null 2>&1
echo -n ".configure."
./configure >> /dev/null 2>&1
echo -n ".make."
make -j$CPUcores >> /dev/null 2>&1
echo -n ".make install."
make install >> /dev/null 2>&1
if [ $? -ne "0" ]; then
echo " "
echo -e " \033[1;31mInstallation fehlgeschlagen!\033[0m"
echo "Bitte versuchen Sie den manuellen Weg um heraus zu finden was hierbei schief geht:"
echo " cd /tmp/libusb-${LibVer}"
echo " ./configure"
echo " make"
echo " make install"
echo "-------------------------------------------------------------------------------"
exit 1
else
echo " done"
rm -rf /tmp/libusb-${LibVer}* >> /dev/null 2>&1
ln -fs /usr/local/lib/libusb-1.0.so.0 /lib/libusb-1.0.so.0
fi
}
CheckInstalledPacks() {
[ ! -f "$CheckInstalledFile" ] && install_packs
[ ! -f "/lib/libusb-1.0.so.0" ] && ln -fs /usr/local/lib/libusb-1.0.so.0 /lib/libusb-1.0.so.0 >/dev/null 2&>1
}
renewbinary() {
rm -rf $OSBIN
mv -f $filedir_tmp/$oscamBUILD/build_dir/oscam $OSBIN
echo " "
echo "Die neue $OSVERSION befindet sich in $CAMBINS/oscam/"
echo " "
}
OScamRestart() {
if [ "$AutoCompileIT" = "0" ]; then
echo "-------------------------------------------------------------------------------"
echo ""
echo "Soll OScam jetzt neu gestartet werden?"
echo -en "\033[1;33m[J]a | []Nein \033[0m"
read key
case $key in
[JjYy]|[jJ][aA]|[yY][eE][sS])
echo " "
oscam restart
;;
*)
sleep 0.5
;;
esac
echo " "
echo "-------------------------------------------------------------------------------"
echo " "
else
oscam restart
fi
}
WhichRevision() {
echo "-------------------------------------------------------------------------------"
echo ""
echo "Moechten Sie eine bestimmte svn Revisionsnummer kompilieren oder die aktuelle?"
echo -en "\033[1;33m[4801] | []Aktuelle \033[0m"
read key
case $key in
[0-9][0-9][0-9][0-9])
echo " "
revision_num=$key
;;
"")
revision_num=""
;;
*)
echo -e " \033[1;31mUngueltige Eingabe!\033[0m"
sleep 1 ; WhichRevision
;;
esac
echo " "
echo "-------------------------------------------------------------------------------"
echo " "
}
#### vars
CheckInstalledFile="/var/emu/conf/.oscam_compile_check.OK"
NP_old="build-essential cmake gcc subversion libusb-dev libssl-dev tar bzip2 gzip wget gettext"
NP1="build-essential autoconf automake cmake make patch gcc g++ pkg-config subversion"
NP2="libccid libtool libglib2.0-dev libssl-dev libpcsclite1 libpcsclite-dev libusb-1.0-0-dev"
NP3="gettext tar bzip2 gzip ncurses-bin flex bison wget libpng3 zlib1g-dev sudo"
needpacks=("$NP1" "$NP2" "$NP3")
oscamBUILD="oscam-svn"
WGETLOG="/tmp/.wget.log"
filedir_tmp_tool="/tmp/compile/toolchains"
filedir_tmp="/tmp/compile"
ScriptName=$(basename $0)
svnABLE="trunk"
AutoCompileIT=0
#### main
$NORM
echo "$ScriptName v$ScriptVer"
case "$1" in
[hH][eE][lL][pP]|[hH][iI][lL][fF][eE]|\?)
echo "Usage: $0"
echo "or: $0 <revision>"
echo "or: $0 -auto"
echo "or: $0 -tags"
echo "or: $0 -tags -auto"
exit 0
;;
-tag*|--tag*)
svnABLE="tags"
oscamBUILD="oscam-tags"
;;
-auto|--auto)
AutoCompileIT=1
;;
esac
case "$2" in
-auto|--auto)
AutoCompileIT=1
;;
esac
[ ! -d "$filedir_tmp" ] && mkdir -p $filedir_tmp
cd $filedir_tmp
CheckInstalledPacks
[ "$AutoCompileIT" = "0" ] && WhichRevision || revision_num=""
if [ -z "$revision_num" ]; then
if [ "$svnABLE" = "tags" ]; then
revision_num=$(svn info $svnURLtags/$svnTAGSver | grep '^Revision:' | sed -e 's/^Revision: //')
echo "Lade aktuelle $oscamBUILD $svnTAGSver Revision ${revision_num}..."
svn co $svnURLtags/$svnTAGSver ${filedir_tmp}/${oscamBUILD}
if [ $? -ne "0" ]; then
echo -e " \033[1;31mVerbindungsfehler! Versuche Mirror..\033[0m"
svn co $svnURLtags2/$svnTAGSver ${filedir_tmp}/${oscamBUILD}
fi
else
revision_num=$(svn info $svnURL | grep '^Revision:' | sed -e 's/^Revision: //')
echo "Lade aktuelle $oscamBUILD Revision ${revision_num}..."
svn co $svnURL ${filedir_tmp}/${oscamBUILD}
if [ $? -ne "0" ]; then
echo -e " \033[1;31mVerbindungsfehler! Versuche Mirror..\033[0m"
svn co $svnURL2 ${filedir_tmp}/${oscamBUILD}
fi
fi
else
if [ "$svnABLE" = "tags" ]; then
echo "Lade $oscamBUILD $svnTAGSver Revision ${revision_num}..."
svn co -r $revision_num $svnURLtags/$svnTAGSver ${filedir_tmp}/${oscamBUILD}
if [ $? -ne "0" ]; then
echo -e " \033[1;31mVerbindungsfehler! Versuche Mirror..\033[0m"
svn co -r $revision_num $svnURLtags2/$svnTAGSver ${filedir_tmp}/${oscamBUILD}
fi
else
echo "Lade $oscamBUILD Revision ${revision_num}..."
svn co -r $revision_num $svnURL ${filedir_tmp}/${oscamBUILD}
if [ $? -ne "0" ]; then
echo -e " \033[1;31mVerbindungsfehler! Versuche Mirror..\033[0m"
svn co -r $revision_num $svnURL2 ${filedir_tmp}/${oscamBUILD}
fi
fi
fi
if [ $? -ne "0" ]; then
echo " "
echo -e " \033[1;31mVerbindungsfehler! Abbruch!\033[0m"
exit 1
fi
echo " "
if [ ! -d "${filedir_tmp}/${oscamBUILD}" ]; then
echo $ROT "ERROR: ${filedir_tmp}/${oscamBUILD} existiert nicht. Download fehlgeschlagen? Abbruch!" ; $NORM
exit 1
else
if [ "$AutoCompileIT" = "0" ]; then
echo " "
echo "Im folgenden Menue koennen Sie einstellen was OScam unterstuetzen soll "
echo "Mit der <Leer-taste> waehlen sie was aus.."
echo "Mit der <Enter-taste> bestaetigen sie.."
echo "Mit der <ESC-taste> kehren sie ein Menue zurueck.."
echo " "
read -p "Druecken Sie bitte <Enter> um fortzufahren..."
else
if [ -f "$filedir_tmp/oscam-config.h" ]; then
cp -f $filedir_tmp/oscam-config.h ${filedir_tmp}/${oscamBUILD}/
fi
fi
fi
cd ${filedir_tmp}/${oscamBUILD}
[ "$AutoCompileIT" = "0" ] && ./config.sh -g
echo " "
echo "Bereite ${SYSBIT}bit Kompilierung vor.."
echo " "
sleep 3
#read -p "Druecken Sie bitte <Enter> um fortzufahren..."
mkdir -p build_dir ; cd build_dir ; make clean >/dev/null 2>&1
cmake ..
echo " "
echo "Folgendes kompilieren kann einige Zeit in Anspruch nehmen... "
echo " "
[ "$AutoCompileIT" = "0" ] && read -p "Druecken Sie bitte <Enter> um fortzufahren..."
make -j$CPUcores
if [ ! -f "$filedir_tmp/$oscamBUILD/build_dir/oscam" ]; then
echo $ROT "ERROR: compile fehlgeschlagen? Abbruch!" ; $NORM
exit 1
else
echo " "
renewbinary
sleep 1
echo " "
# beep
echo -en "\007"
echo $GRUEN "Neue ${oscamBUILD} build $revision_num erfolgreich erstellt!" ; $NORM
fi
cd /
## cleanup
rm -rf ${filedir_tmp}/${oscamBUILD}
rm -f /tmp/config.mak.*
rm -f /tmp/oscam-config.h.bak
echo " "
OScamRestart
echo $GRUEN "Fertig! ;-)" ; $NORM
echo " "
exit 0
# TRUNKs
svnURL="http://178.17.169.213/svn/oscam/trunk"
svnURL2="http://oscam.to/svn/oscam/trunk"
# TAGs
svnURLtags="http://178.17.169.213/svn/oscam/tags"
svnURLtags2="http://oscam.to/svn/oscam/tags"
svnTAGSver="1.10"
# TRUNKs
svnURL="http://178.17.169.213/svn/oscam/trunk"
# TAGs
svnURLtags="http://178.17.169.213/svn/oscam/tags"
svnTAGSver="1.10"
wget -O/var/emu/script/oscam-compile.sh ipc.pebkac.at/ipc/scripts/oscam-compile.sh && chmod 755 /var/emu/script/oscam-compile.sh
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Das Digital Eliteboard ist ein kostenloses Forum und ist auf Spenden angewiesen, um sich auch in Zukunft selbst zu finanzieren. Wenn auch du mit dem Digital Eliteboard zufrieden bist, würden wir uns über jede Unterstützung freuen.
Hier kannst du uns unterstützen SPENDEN