Ignore:
Timestamp:
Aug 11, 2010, 8:51:19 PM (16 years ago)
Author:
civer
Message:

[FullUSB / IPK ]

  • added new AddonManager 2.08 THX Bauernbub!!

!!! PLZ TEST !!!

Location:
ipk/source/system_addonmanager_2_0
Files:
1 added
13 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • ipk/source/system_addonmanager_2_0/CONTROL/control

    r3743 r3767  
    11Package: enigma2-plugin-system-addonmanager
    2 Version: 2.07
     2Version: 2.08
    33Architecture: sh4
    44OE: This is the AAF- AddonManager. Maybe you know the plugin from BA / FullUSB images!
     
    77Maintainer: AAF
    88Homepage: http://www.aaf-digital.info
    9 Description: AddonManager v2.06
     9Description: AddonManager v2.08
    1010Source: http://www.aaf-digital.info
  • ipk/source/system_addonmanager_2_0/CONTROL/preinst

    r3682 r3767  
    2121        SPACE=`df | grep /dev/mtdblock | grep var | sed 's/ \+/ /g' | cut -d ' ' -f4 | tail -n1`
    2222        FREE=`expr $SPACE - 100`
    23         SIZE=28
     23        SIZE=284
    2424        echo "checking freespace"
    2525        echo packege size $SIZE kb
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/backup.sh

    r3758 r3767  
    11#!/bin/sh
    2 # Backupscript nach Methode niovs
    3 # wird vom Addon-Manager aufgerufen
     2# ***********************************************************
     3#              Backupscript nach Methode niovs
     4#              wird vom Addon-Manager aufgerufen
     5#
     6#           kann beliebig für jede Box weitert werden
     7#
     8#           angepasst fuer Fortis-Boxen by Bauernbub
     9# ***********************************************************
    410
    5 
    6 DIR="/media/hdd/backup_vu"
    7 
    8 echo -e "***********************************************************"
    9 echo -e "**************Sicherung VU Plus oder Dreambox**************"
    10 echo -e "***********************************************************\n"
    11 
    12 echo -e "\nLege Ordner und die Sicherungsdatei an"
    13 mkdir -p $DIR/
    14 rm -f $DIR/backup.log ; touch $DIR/backup.log
     11boxtyp="`cat /proc/stb/info/model`"
    1512
    1613# all settings are saved, but the restore is defined in the AM-Menu
     
    2320sonstige=y
    2421
     22
     23if [ "$boxtyp" == "dm8000" ]
     24  then
     25    DIR="/media/hdd/backup_vu"
     26    echo -e "***********************************************************"
     27    echo -e "**************Sicherung VU Plus oder Dreambox**************"
     28    echo -e "***********************************************************\n"
     29  else
     30    DIR="/media/hdd/backup_fortis"
     31    echo -e "***********************************************************"
     32    echo -e "**************Sicherung Fortis Box gestartet **************"
     33    echo -e "***********************************************************\n"
     34
     35fi
     36
     37echo -e "\nLege Ordner und die Sicherungsdatei an"
     38
     39mkdir -p $DIR/
     40rm -f $DIR/backup.log ; touch $DIR/backup.log
     41
    2542#. /var/etc/restore.cfg   # read config from Addon-Manager, when you wish only saved defined Settings
    26 
    27 if [ "$settings" = "y" ]
     43if [ "$boxtyp" == "dm8000" ]
     44 then
     45 if [ "$settings" = "y" ]
    2846        then
    2947                tar -cvf $DIR/settings.tar /etc/enigma2/* /etc/tuxbox/* >> $DIR/backup.log
     
    3149        else
    3250        echo "******** Settings NICHT gesichert ********\n"
    33 fi
     51 fi
    3452
    35 if [ "$camconfig" = "y" ]
     53 if [ "$camconfig" = "y" ]
    3654  then
    3755   tar -cvf $DIR/camconfig.tar /var/keys/* /usr/scce/* /etc/CC* /usr/scam/* >> $DIR/backup.log
     
    3957  else
    4058   echo "******** Camconfig NICHT gesichert ********\n"
    41 fi
     59 fi
    4260
    43 if [ "$plugins" = "y" ]
     61 if [ "$plugins" = "y" ]
    4462  then
    4563                ipkg list_installed |grep enigma2-plugin > /tmp/ipkg.list
     
    4866  else
    4967    echo -e "******** Plugins NICHT gesichert ********\n"
    50 fi
     68 fi
    5169
    52 if [ "$network" = "y" ]
     70 if [ "$network" = "y" ]
    5371  then
    5472                tar -cvf $DIR/network.tar /etc/hostname /etc/resolv.conf /etc/wpa_supplicant.conf /etc/network/interfaces >> $DIR/backup.log
     
    5674  else
    5775    echo -e "******** Netzwerkkonfiguration NICHT gesichert ********\n"
    58 fi
     76 fi
    5977
    60 if [ "$samba" = "y" ]
     78 if [ "$samba" = "y" ]
    6179  then
    6280    tar -cvf $DIR/samba.tar /etc/samba/smb.conf >> $DIR/backup.log
     
    6482  else
    6583    echo -e "******** Sambakonfiguration NICHT gesichert ********\n"
    66 fi
     84 fi
    6785
    68 if [ "$bilder" = "y" ]
     86 if [ "$bilder" = "y" ]
    6987  then
    7088    tar -cvf $DIR/bilder.tar /usr/share/enigma2/*.mvi /usr/share/*.mvi >> $DIR/backup.log
     
    7290  else
    7391    echo -e "******** Bootbilder und Radiobild NICHT gesichert ********\n"
    74 fi
     92 fi
    7593
    76 if [ "$sonstige" = "y" ]
     94 if [ "$sonstige" = "y" ]
    7795  then
    7896                if [ -e /etc/inadyn.conf ]
     
    86104     else
    87105       echo -e "******** sonstige Konfigurationsdateien NICHT gesichert ********\n"
     106 fi
     107else  # Boxtyp is not dm8000 (vubox)
     108 if [ "$settings" = "y" ]
     109        then
     110                tar -cvf $DIR/settings.tar /usr/local/share/enigma2/* /var/etc/enigma2/* /etc/tuxbox/* /var/etc/blueKey >> $DIR/backup.log
     111                echo -e "******** Settings gesichert ********\n"
     112        else
     113        echo "******** Settings NICHT gesichert ********\n"
     114 fi
     115
     116 if [ "$camconfig" = "y" ]
     117  then
     118   tar -cvf $DIR/camconfig.tar /var/emu/* /var/keys/* /var/etc/*emu /var/etc/active_cam >> $DIR/backup.log
     119   echo -e "******** Camconfig gesichert ********\n"
     120  else
     121   echo "******** Camconfig NICHT gesichert ********\n"
     122 fi
     123
     124 if [ "$plugins" = "y" ]
     125  then
     126                ipkg list_installed |grep enigma2-plugin > /tmp/ipkg.list
     127                cut -f 1 -d " " /tmp/ipkg.list > $DIR/ipkg.list
     128
     129    # welche Plugins wurden zusaetzlich installiert?
     130    cd /usr/lib/enigma2/python/Plugins/Extensions
     131
     132    # welche sind jetzt installiert?
     133    ls -A1 >/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/curlist
     134    cd /usr/lib/enigma2/python/Plugins/Extensions/AddonManager
     135
     136    # vergleiche Standartplugins mit installierten
     137    diff dirlist curlist >difflist
     138    grep "^+[^+_]" difflist | sed ' s/+//g' >difflist2
     139
     140    list="/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/difflist2"
     141    dir2="/usr/lib/enigma2/python/Plugins/Extensions/"
     142
     143    string="$DIR/plugins.tar"
     144    for i in $(cat $list); do
     145      string=$string" "$dir2$i
     146    done
     147    tar -cvf $string >> $DIR/backup.log
     148                tar -cvf $string /var/etc/uninst/*  >> $DIR/backup.log
     149
     150    rm /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/difflist*
     151    rm /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/curlist
     152                echo -e "******** Plugins gesichert ********\n"
     153  else
     154    echo -e "******** Plugins NICHT gesichert ********\n"
     155 fi
     156
     157 if [ "$network" = "y" ]
     158  then
     159                tar -cvf $DIR/network.tar /var/etc/automount/* /var/etc/hostname /var/etc/hosts /var/etc/resolv.conf /var/etc/default_gw /var/etc/wpa_supplicant.conf /var/etc/network/interfaces >> $DIR/backup.log
     160                echo -e "******** Netzwerkkonfiguration gesichert ********\n"
     161  else
     162    echo -e "******** Netzwerkkonfiguration NICHT gesichert ********\n"
     163 fi
     164
     165 if [ "$samba" = "y" ]
     166  then
     167    tar -cvf $DIR/samba.tar /var/etc/smb.conf >> $DIR/backup.log
     168                echo -e "******** Sambakonfiguration gesichert ********\n"
     169  else
     170    echo -e "******** Sambakonfiguration NICHT gesichert ********\n"
     171 fi
     172
     173 if [ "$sonstige" = "y" ]
     174  then
     175                if [ -e /var/etc/inadyn.conf ]
     176        then
     177       tar -cvf $DIR/sonstige.tar /var/etc/fstab /var/etc/localtime /var/etc/inadyn.conf /var/etc/videomode /var/etc/ntpserver /var/etc/passwd>> $DIR/backup.log
     178                   echo -e "******** sonstige Konfigurationsdateien gesichert inkl. DynDNS-Config ********\n"
     179                  else
     180       tar -cvf $DIR/sonstige.tar /var/etc/fstab /var/etc/localtime /var/etc/videomode /var/etc/ntpserver /var/etc/passwd>> $DIR/backup.
     181       echo -e "******** sonstige Konfigurationsdateien gesichert ********\n"
     182    fi
     183     else
     184       echo -e "******** sonstige Konfigurationsdateien NICHT gesichert ********\n"
     185 fi
    88186fi
    89187
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/downloader.py

    r3743 r3767  
    7070config.AddonManager.ungenau = ConfigInteger(0, limits=(0, 1))
    7171config.AddonManager.Schriftart = ConfigInteger(14, limits=(10, 22))
    72 config.AddonManager.ba_settings_on = ConfigInteger(1, limits=(0, 1))
    73 config.AddonManager.ba_plugins_on = ConfigInteger(0, limits=(0, 1))
    74 config.AddonManager.ba_skins_on = ConfigInteger(0, limits=(0, 1))
    75 config.AddonManager.ba_remove_on = ConfigInteger(0, limits=(0, 1))
    76 config.AddonManager.ba_usersettings_on = ConfigInteger(0, limits=(0, 1))
    7772
    7873config.AddonManager2 = ConfigSubsection()
     
    473468                                "2": self.bootbilder_download,
    474469                                "3": self.radiobilder_download,
    475                                 "4": self.image_download,
    476470                                "5": self.settings_backup,
    477471                                "6": self.settings_restore,
     
    555549
    556550                        if os.path.exists("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ufs922") is False:
    557                                 if self.BAtyp == "new":
    558                                         self["key_4"].text = (_("(4) Multip-Image"))
    559                                 else:
    560                                         #self["key_4"].text = (_("(4) BAold-Image"))
    561                                         if box <> "dm8000":
     551                                if box <> "dm8000":
    562552                                                self["key_4"].text = (_("(5,6) Back/Rest"))
    563553
     
    752742                if self.plug == "ipk":
    753743                                fileresultmask = re.compile("(?P<name>.*?)\#\#(?P<url>.*?_sh4.ipk)", re.DOTALL)
    754                 elif self.plug == "ipkimage":
    755                                 fileresultmask = re.compile("(?P<name>.*?)\#\#(?P<url>.*?.img)", re.DOTALL)
    756744                elif box == "dm8000":
    757745                                fileresultmask = re.compile("(?P<name>.*?)\#\#(?P<url>.*?.ipk)", re.DOTALL)
     
    770758                inhalt = inhalt.lower()
    771759                inhalt = inhalt.replace("\r\n","")
    772 
    773                 if self.plug == "ipkimage" or self.plug == "usbimage":
    774                         fd=open("/etc/version")
    775                         inhalt=fd.read() # Lese die Version des aktuellen Flashimage
    776                         fd.close()
    777                         inhalt = inhalt.lower()
    778                         inhalt = inhalt.replace("\r\n","")
    779                         inhalt = inhalt.replace("aaf_m","")
    780                         inhalt = inhalt.split("_")[0]
    781                         print inhalt
    782 
    783760
    784761                searchresults = fileresultmask.finditer(feedhtml)
     
    809786                                font_s = 0
    810787
    811                                 if self.plug == "ipkimage" or self.plug == "usbimage":
    812                                         name_lo = name_lo.split("_")[0]
    813                                         name_lo = name_lo.replace("m","")
    814                                         #print name_lo, str(inhalt.find(name_lo))
    815 
    816788                                if self.marker_on == True:
    817789                                        if inhalt.find(name_lo) > -1:
     
    10871059                self.feed_download()
    10881060
    1089         def image_download(self):
    1090                 if self.BAtyp == "new":
    1091                         if os.path.exists("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ufs922") is False:
    1092                                 self.plug = "image"
    1093                                 if box <> "dm8000":
    1094                                         evfd.getInstance().vfd_write_string("BA-Image")
    1095                                 self.feed_base = serverurl + "%s/" % self.plug
    1096                                 self.plugin_filter = ""
    1097                                 self.feed_download()
    1098 
    10991061        def settings_backup(self):
    11001062                                self["statusbar"].text = _("Backup der Einstellungen ist gestartet ....")
     
    11141076#----- plugin download ------------------------------------------------------------
    11151077        def check_download(self):
    1116                 if self.plug == "usbimage":
    1117                         if self["feedlist"].isValid():
    1118                                 url = self["feedlist"].getPLUGINurl()
    1119                                 print url
    1120                                 self.foundipk = re.search('sh4', str(url))
    1121                                 self.urlname = url
    1122 
    1123                                 if os.path.exists("/var/swap/images") is False:
    1124                                         os.system("mkdir -p /var/swap/images")
    1125 
    1126                                 self.flashname = self.urlname.replace(self.feed_base,"")
    1127                                 print "[Addon-Manager] Flashname: ", self.flashname
    1128                                 self.PLUGINlocal = "/var/swap/images/" + str(self.flashname)
    1129                                 if box <> "dm8000":
    1130                                         evfd.getInstance().vfd_write_string("load USBImage")
    1131 
    1132                                 os.system("rm /tmp/nochmals")
    1133                                 if os.path.exists(self.PLUGINlocal) is True:
    1134                                         self.session.openWithCallback(self.startNochmals, MessageBox, (_("TAR-File ist bereits geladen\nnochmals downloaden?")), MessageBox.TYPE_YESNO)
    1135                                 else:
    1136                                         self.plugin_download()
    1137                 else:
    11381078                        self.plugin_download()
    11391079
     
    11621102
    11631103                        self.PluginPath = "E2/image"
    1164                         if self.plug == "beta":
    1165                                 patternprog = re.compile(".img.tar.gz")
    1166                                 a_match = patternprog.search(str(url))
    1167                                 if ( a_match ):
    1168                                         self.plug = "image"
    1169                                         self.PluginPath = "E2/beta"
    1170 
    1171                         if self.plug == "image":
    1172                                 if self.BAtyp == "new":
    1173                                         # is enough freespace on stick?
    1174                                         os.system("df /var/baroot |grep rootfs|cut -c41-50 >/tmp/free.txt")
    1175                                         if os.path.exists("/tmp/free.txt") is True:
    1176                                                 f = open("/tmp/free.txt", "r" )
    1177                                                 for line in f:
    1178                                                         freesize = line.lstrip()
    1179                                                 f.close
    1180                                                 freesize = freesize.replace("\n","")
    1181                                                 freesize = int(freesize)
    1182 
    1183                                         if 84000 > freesize:
    1184                                                 print "[Addon-Manager] nicht OK"
    1185                                                 message = "%s" % (_("Zu wenig Speicher im Stick frei!"))
    1186                                                 self.session.open(MessageBox, message, MessageBox.TYPE_ERROR)
    1187                                                 self.error_counter = "1"
    1188                                         else:
    1189                                                 print "[Addon-Manager] OK" + str(freesize)
    1190                                                 if os.path.exists("/var/baroot/ba/ba.sh") is False:
    1191                                                         if os.path.exists("/var/baroot") is False:
    1192                                                                 os.system("mkdir /var/baroot")
    1193 
    1194                     # search XBA Stick in bootp.conf
    1195                                                         os.system("cat /bootp.conf | grep BADEVICE= >/tmp/dev.txt")
    1196                                                         if os.path.exists("/tmp/dev.txt") is True:
    1197                                                                 f = open("/tmp/dev.txt", "r" )
    1198                                                                 for line in f:
    1199                                                                         dev = line.replace(u"BADEVICE=","")
    1200                                                                         dev = dev.replace(u"\n","")
    1201                                                                 f.close
    1202 
    1203                     # mount the BA envirmonment
    1204                                                         #os.system("mount /dev/sda1 /var/baroot")
    1205                                                         TarString="mount " + dev + " /var/baroot"
    1206                                                         os.system(TarString)
    1207 
    1208                                                 imgname = url.replace(u".img.tar.gz","")
    1209                                                 findimg = imgname.rfind(self.PluginPath)
    1210                                                 if self.PluginPath == "E2/beta":
    1211                                                         self.urlname = imgname[findimg+8:len(imgname)]
    1212                                                 if self.PluginPath == "E2/image":
    1213                                                         self.urlname = imgname[findimg+9:len(imgname)]
    1214 
    1215                                                 self.PLUGINlocal = '/var/baroot/UFS_Images/%s' % self.urlname
    1216                                                 if box <> "dm8000":
    1217                                                         evfd.getInstance().vfd_write_string("load Image")
    1218 
    1219                                         pngpath = "/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/install.png"
    1220                                         self.previewPath = pngpath
    1221                                         self["Preview"].show()
    1222                                         self["Preview"].instance.setPixmapFromFile(self.previewPath)
    12231104
    12241105                        if self.error_counter == "0":
     
    12641145                ffile.close()
    12651146
    1266                 # is it an multiboot environment?
    1267                 if self.plug == "image":
    1268                         if os.path.exists("/bootp.conf") is True:
    1269                                 if self.BAtyp == "new":
    1270                                         if box <> "dm8000":
    1271                                                 evfd.getInstance().vfd_write_string("install Image")
    1272                                         self["statusbar"].text = _("Decompressing Image in progress...")
    1273                                         self.urlnameorg = self.urlname
    1274                                         self.urlname = self.urlname.replace(".tar.gz","")
    1275                                         self.urlname_org = self.urlname
    1276                                         # check if exist Image, then make a newer
    1277                                         TargetDir = "/var/baroot/ba/ba/" + self.urlname
    1278                                         if os.path.exists(TargetDir) is True:
    1279                                                 self.urlname = self.urlname_org + "_2"
    1280                                         TargetDir = "/var/baroot/ba/ba/" + self.urlname
    1281                                         if os.path.exists(TargetDir) is True:
    1282                                                 self.urlname = self.urlname_org + "_3"
    1283                                         TargetDir = "/var/baroot/ba/ba/" + self.urlname
    1284                                         if os.path.exists(TargetDir) is True:
    1285                                                 self.urlname = self.urlname_org + "_4"
    1286                                         TargetDir = "/var/baroot/ba/ba/" + self.urlname
    1287                                         if os.path.exists(TargetDir) is True:
    1288                                                 self.urlname = self.urlname_org + "_5"
    1289                                         if os.path.exists(TargetDir) is True:
    1290                                                 self.urlname = self.urlname_org + "_6"
    1291                                         TargetDir = "/var/baroot/ba/ba/" + self.urlname
    1292                                         if os.path.exists(TargetDir) is True:
    1293                                                 self.urlname = self.urlname_org + "_7"
    1294                                         if os.path.exists(TargetDir) is True:
    1295                                                 self.urlname = self.urlname_org + "_8"
    1296                                         if os.path.exists(TargetDir) is True:
    1297                                                 self.urlname = self.urlname_org + "_9"
    1298                                         TargetDir = "/var/baroot/ba/ba/" + self.urlname
    1299                                         if os.path.exists(TargetDir) is True:
    1300                                                 self.urlname = self.urlname_org + "_10"
    1301 
    1302                                         TargetDir = "mkdir -p /var/baroot/ba/ba/" + self.urlname
    1303                                         os.system(TargetDir)
    1304 
    1305                                         # write name to userfile
    1306                                         TargetDir = "NewDir=" + self.urlname
    1307                                         ffile = open("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ba_url", "w")
    1308                                         ffile.write(TargetDir)
    1309                                         ffile.close()
    1310 
    1311                                         TarString = "cd /var/baroot/UFS_Images; tar -xzf " + self.urlnameorg + " -C /var/baroot/ba/ba/" + self.urlname
    1312                                         os.system(TarString)
    1313                                         CpString = "cp /bootp.conf /var/baroot/ba/ba/" + self.urlname
    1314                                         os.system(CpString)
    1315                                         if os.path.exists("/bootp2.conf") is True:
    1316                                                 CpString = "cp /bootp2.conf /var/baroot/ba/ba/" + self.urlname
    1317                                                 os.system(CpString)
    1318 
    1319                                         #CpString = "cp /etc/init.d/rcS /var/baroot/ba/ba/" + self.urlname + "/etc/init.d/rcS"
    1320                                         #os.system(CpString)
    1321 
    1322                                         RCS = "/var/baroot/ba/ba/" + self.urlname + "/etc/init.d/rcS"
    1323                                         #CpString = "cat /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/rcs_header > /tmp/rcs.txt"
    1324                                         #os.system(CpString)
    1325 
    1326                                         CpString = "sed -e 's*#!/bin/sh*#*g' -i " + RCS
    1327                                         os.system(CpString)
    1328 
    1329                                         ffile = open("/tmp/rcs.txt", "w")
    1330                                         CpString = "#!/bin/sh"
    1331                                         ffile.write(CpString)
    1332                                         ffile.write("\n")
    1333                                         CpString = ""
    1334                                         ffile.write(CpString)
    1335                                         ffile.write("\n")
    1336                                         CpString = "if [ -e /activImage ]; then"
    1337                                         ffile.write(CpString)
    1338                                         ffile.write("\n")
    1339                                         CpString = "  echo \"Starte chroot\""
    1340                                         ffile.write(CpString)
    1341                                         ffile.write("\n")
    1342                                         CpString = "  mount -o bind /baroot /activImage/var/baroot"
    1343                                         ffile.write(CpString)
    1344                                         ffile.write("\n")
    1345                                         CpString = "  exec chroot /activImage /etc/init.d/rcS"
    1346                                         ffile.write(CpString)
    1347                                         ffile.write("\n")
    1348                                         CpString = "fi"
    1349                                         ffile.write(CpString)
    1350                                         ffile.write("\n")
    1351                                         CpString = ""
    1352                                         ffile.write(CpString)
    1353                                         ffile.write("\n")
    1354                                         ffile.close()
    1355 
    1356                                         CpString = "cat " + RCS + " >> /tmp/rcs.txt"
    1357                                         os.system(CpString)
    1358                                         CpString = "cp /tmp/rcs.txt " + RCS
    1359                                         os.system(CpString)
    1360                                         CpString = "chmode 755 " + RCS
    1361                                         os.system(CpString)
    1362                                         CpString = "sed -e 's/fsck /#fsck /g' -i /var/baroot/ba/ba/" + self.urlname + "/etc/init.d/mountvirtfs"
    1363                                         os.system(CpString)
    1364                                         CpString = "mkdir -p /var/baroot/ba/ba/" + self.urlname + "/var/baroot"
    1365                                         os.system(CpString)
    1366                                         os.system("sync")
    1367 
    1368           # set automount in rcs
    1369                                         os.system("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/makercs.sh")
    1370 
    1371           # and now we copy the settings
    1372                                         if config.AddonManager.ba_settings_on.value == 1:
    1373                                                 if box <> "dm8000":
    1374                                                         evfd.getInstance().vfd_write_string("install Settings")
    1375                                                 self["statusbar"].text = _("Settings werden uebernommen....")
    1376 
    1377                                                 CpString = "rm /var/baroot/ba/ba/" + self.urlname + "/var/etc/.firstboot"
    1378                                                 os.system(CpString)
    1379                                                 CpString = "cp -RP /var/emu /var/baroot/ba/ba/" + self.urlname + "/var/"
    1380                                                 os.system(CpString)
    1381                                                 CpString = "cp -RP /var/keys /var/baroot/ba/ba/" + self.urlname + "/var/"
    1382                                                 os.system(CpString)
    1383                                                 CpString = "cp /var/etc/active_cam /var/baroot/ba/ba/" + self.urlname + "/var/etc/active_cam"
    1384                                                 os.system(CpString)
    1385                                                 CpString = "cp /var/etc/*emu /var/baroot/ba/ba/" + self.urlname + "/var/etc/"
    1386                                                 os.system(CpString)
    1387                                                 CpString = "cp /var/etc/smbfs /var/baroot/ba/ba/" + self.urlname + "/var/etc/"
    1388                                                 os.system(CpString)
    1389                                                 CpString = "cp /var/etc/upnpfs /var/baroot/ba/ba/" + self.urlname + "/var/etc/"
    1390                                                 os.system(CpString)
    1391 
    1392                                                 CpString = "cp /var/*emu /var/baroot/ba/ba/" + self.urlname + "/var/"
    1393                                                 os.system(CpString)
    1394                                                 CpString = "cp /usr/local/share/enigma2/lamedb /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/enigma2/"
    1395                                                 os.system(CpString)
    1396                                                 CpString = "cp /usr/local/share/enigma2/bouquets* /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/enigma2/"
    1397                                                 os.system(CpString)
    1398                                                 CpString = "cp /usr/local/share/enigma2/userbouquet* /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/enigma2/"
    1399                                                 os.system(CpString)
    1400                                                 CpString = "cp /etc/tuxbox/satellites.xml /var/baroot/ba/ba/" + self.urlname + "/etc/tuxbox/satellites.xml"
    1401                                                 os.system(CpString)
    1402                                                 #CpString = "cp /usr/local/share/enigma2/settings /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/enigma2/"
    1403                                                 #os.system(CpString)
    1404                                                 CpString = "cp /usr/automount/amount.ini /var/baroot/ba/ba/" + self.urlname + "/usr/automount/amount.ini"
    1405                                                 os.system(CpString)
    1406                                                 CpString = "cp /usr/share/fonts/*.ttf /var/baroot/ba/ba/" + self.urlname + "/usr/share/fonts/"
    1407                                                 os.system(CpString)
    1408                                                 CpString = "cp /etc/auto.misc  /var/baroot/ba/ba/" + self.urlname + "/etc/"
    1409                                                 os.system(CpString)
    1410 
    1411 
    1412                                                 #// Check for default skin
    1413                                                 defaultSkin = 0
    1414                                                 PathString = "/var/baroot/ba/ba/" + self.urlname + "/var/usr/local/share/enigma2/settings"
    1415                                                 if os.path.exists(PathString) is True:
    1416                                                         em = open(PathString)
    1417                                                         e = em.readlines()
    1418                                                         em.close()
    1419                                                         for line in e:
    1420                                                                 if line.find("config.skin.primary_skin") > -1:
    1421                                                                                 defaultSkin = 1
    1422                                                                                 PrimarySkin = line
    1423 
    1424                                                 CpString = "cp /usr/local/share/enigma2/settings /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/enigma2/"
    1425                                                 os.system(CpString)
    1426 
    1427                                                 if defaultSkin == 1:
    1428                                                                 em = open(PathString, "a")
    1429                                                                 em.write(PrimarySkin)
    1430                                                                 em.close()
    1431 
    1432                                         if config.AddonManager.ba_skins_on.value == 1:
    1433                                                         CpString = "cp -RP /usr/local/share/enigma2/ /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/"
    1434                                                         os.system(CpString)
    1435 
    1436                                                         CpString = "cp -RP /usr/lib/enigma2/python/Plugins/Extensions/InfoBarConfig/ /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Plugins/Extensions/"
    1437                                                         os.system(CpString)
    1438 
    1439                                                         CpString = "cp /usr/lib/enigma2/python/Components/Converter/MaxCryptoInfo.pyc /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Components/Converter/"
    1440                                                         os.system(CpString)
    1441 
    1442                                                         CpString = "cp /usr/lib/enigma2/python/Components/Converter/MaxServiceInfo.pyc /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Components/Converter/"
    1443                                                         os.system(CpString)
    1444 
    1445                                         if config.AddonManager.ba_plugins_on.value == 1:
    1446                                                         # save AddonManager + Aafpanel, because in new image is newer
    1447                                                         os.system("cp -RP /usr/lib/enigma2/python/Plugins/Extensions/AddonManager /tmp/")
    1448                                                         os.system("cp -RP /usr/lib/enigma2/python/Plugins/Extensions/Aafpanel /tmp/")
    1449                                                         CpString = "cp -RP /usr/lib/enigma2/python/Plugins/Extensions /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Plugins/"
    1450                                                         os.system(CpString)
    1451                                                         # restore AddonManager + Aafpanel
    1452                                                         CpString = "cp -RP /tmp/AddonManager /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Plugins/"
    1453                                                         os.system(CpString)
    1454                                                         CpString = "cp -RP /tmp/Aafpanel /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Plugins/"
    1455                                                         os.system(CpString)
    1456 
    1457                                         if config.AddonManager.ba_remove_on.value == 1:
    1458                                                         CpString = "rm -r /var/baroot/UFS_Images/" + self.urlnameorg
    1459                                                         os.system(CpString)
    1460 
    1461                                         if config.AddonManager.ba_usersettings_on.value == 1:
    1462                                                 if os.path.exists("/var/baroot/default_settings") is True:
    1463                                                         CpString = "cp /var/baroot/default_settings /var/baroot/ba/ba/" + self.urlname + "/usr/local/share/enigma2/settings"
    1464                                                         os.system(CpString)
    1465 
    1466                                         if os.path.exists("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ba_script.sh") is True:
    1467                                                 CpString = "cp /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ba_script.sh /var/baroot/ba/ba/" + self.urlname + "/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ba_script.sh"
    1468                                                 os.system(CpString)
    1469                                                 os.system("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ba_script.sh")
    1470 
    1471                                         if box <> "dm8000":
    1472                                                 evfd.getInstance().vfd_write_string("Image Ready!")
    1473                                         restartbox = self.session.openWithCallback(self.restart,MessageBox,_("Das Image ist nun fertig installiert!\nSoll ein Neustart durchgefuehrt werden?"), MessageBox.TYPE_YESNO)
    1474                                         restartbox.setTitle(_("UFS-Box starten?"))
    1475                 else:
    1476                         # no image and an ipk-file
    1477                         if len(str(self.foundipk)) == 4:
     1147                if len(str(self.foundipk)) == 4:
    14781148                                ffile = open("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/inst.log","a")
    14791149                                ffile.write("es ist ein Tarfile ")
     
    17451415                                        os.system("rm -r /tmp/aaf")
    17461416                                        os.system("cd / ; rm *tar.gz")
    1747                         else:
     1417                else:
    17481418                                ffile = open("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/inst.log","a")
    17491419                                ffile.write("IPK wird entpackt!")
     
    17681438        def restart(self, answer):
    17691439                if answer is True:
    1770                         # make bootimage active for restart
    1771                         if self.BAtyp == "new":
    1772                                 ffile = open("/var/baroot/ba/.baboot", "w")
    1773                                 ffile.write(self.urlname)
    1774                                 ffile.write("\n")
    1775                                 ffile.close()
    1776                         else:
    1777                                 ffile = open("/ba/.baboot", "w")
    1778                                 ffile.write(self.urlname_org)
    1779                                 ffile.write("\n")
    1780                                 ffile.close()
    1781                                 # and now we write the devicename
    1782                                 fileread = open("/ba/ba/" + self.urlname_org + "/bootp.conf", "r" )
    1783                                 for line in fileread:
    1784                                         if line.split('=')[0] == "BADEVICE":
    1785                                                         self.device = line.split('=')[1]
    1786                                                         ffile = open("/ba/.badevice", "w")
    1787                                                         ffile.write(self.device)
    1788                                                         #ffile.write("\n")
    1789                                                         ffile.close()
    1790                                 fileread.close()
    1791 
    17921440                        os.system("sync")
    17931441                        os.system("reboot -f")
     
    18701518        self.list.append(getConfigListEntry(_("Markierungsfarbe (0=rot, 1=gruen, 2=blau)"), config.AddonManager.mark_color))
    18711519        self.list.append(getConfigListEntry(_("Installierte Plugins feststellen (0=genau, 1=ungenau)"), config.AddonManager.ungenau))
    1872         self.list.append(getConfigListEntry(_("BA Installation Settingsuebernahme (1=Ein, 0=Aus)"), config.AddonManager.ba_settings_on))
    1873         self.list.append(getConfigListEntry(_("BA Installation Pluginsuebernahme (1=Ein, 0=Aus)"), config.AddonManager.ba_plugins_on))
    1874         self.list.append(getConfigListEntry(_("BA Installation Skinsuebernahme (1=Ein, 0=Aus)"), config.AddonManager.ba_skins_on))
    1875         self.list.append(getConfigListEntry(_("BA temp.Image nach Download entfernen (1=Ein, 0=Aus)"), config.AddonManager.ba_remove_on))
    1876         self.list.append(getConfigListEntry(_("BA Defaultsettings kopieren (1=Ein, 0=Aus)"), config.AddonManager.ba_usersettings_on))
    18771520        self.list.append(getConfigListEntry(_("Restore Settings (1=Ein, 0=Aus)"), config.AddonManager2.sett_on))
    18781521        self.list.append(getConfigListEntry(_("Restore CamConfig (1=Ein, 0=Aus)"), config.AddonManager2.camconfig_on))
     
    19221565        self.close(False)
    19231566
    1924 class RestoreConfigScreen(ConfigListScreen,Screen):
    1925     skin = """
    1926         <screen position="{screen.pos}" size="650,400" title="Backup Restore Setup" >
    1927         <widget name="config" position="40,10" size="570,325" scrollbarMode="showOnDemand" />
    1928         <widget name="buttonred" position="40,360" size="100,40" backgroundColor="red" valign="center" halign="center" zPosition="2"  foregroundColor="white" font="Regular;18"/>
    1929         <widget name="buttongreen" position="160,360" size="100,40" backgroundColor="green" valign="center" halign="center" zPosition="2"  foregroundColor="white" font="Regular;18"/>
    1930         </screen>"""
    1931 
    1932     def __init__(self, session, args = 0):
    1933         self.session = session
    1934         #switch automatic to current skin
    1935         current_w = getDesktop(0).size().width()
    1936         current_h = getDesktop(0).size().height()
    1937         print "[Addon-Manager] DESKTOPsize is",current_w,current_h
    1938         size_w = 650
    1939         size_h = 400
    1940 
    1941         # calculate Skin koordinates
    1942         pos_w = (current_w - size_w)/2
    1943         pos_h = (current_h - size_h)/2
    1944 
    1945         # set Skinvariables
    1946         self.dict = {
    1947                                    'screen.size': "%i,%i"%(size_w,size_h),
    1948                                    'screen.pos': "%i,%i"%(pos_w,pos_h),
    1949                                    }
    1950 
    1951         self.skin = applySkinVars(RestoreConfigScreen.skin,self.dict)
    1952         Screen.__init__(self, session)
    1953         self.list = []
    1954         self.list.append(getConfigListEntry(_("Restore Settings (1=Ein, 0=Aus)"), config.AddonManager2.sett_on))
    1955         self.list.append(getConfigListEntry(_("Restore CamConfig (1=Ein, 0=Aus)"), config.AddonManager2.camconfig_on))
    1956         self.list.append(getConfigListEntry(_("Restore Plugins(1=Ein, 0=Aus)"), config.AddonManager2.plug_on))
    1957         self.list.append(getConfigListEntry(_("Restore Netzwerk (1=Ein, 0=Aus)"), config.AddonManager2.network_on))
    1958         self.list.append(getConfigListEntry(_("Restore Samba (1=Ein, 0=Aus)"), config.AddonManager2.samba_on))
    1959         self.list.append(getConfigListEntry(_("Restore Bootbilder (1=Ein, 0=Aus)"), config.AddonManager2.bilder_on))
    1960         self.list.append(getConfigListEntry(_("Restore sonstiges (1=Ein, 0=Aus)"), config.AddonManager2.sonstige_on))
    1961 
    1962         ConfigListScreen.__init__(self, self.list)
    1963         self["buttonred"] = Label(_("cancel"))
    1964         self["buttongreen"] = Label(_("ok"))
    1965         self["setupActions"] = ActionMap(["SetupActions"],
    1966         {
    1967             "green": self.save,
    1968             "red": self.cancel,
    1969             "save": self.save,
    1970             "cancel": self.cancel,
    1971             "ok": self.save,
    1972         }, -2)
    1973 
    1974     def save(self):
    1975         global activesource, activenam
    1976         for x in self["config"].list:
    1977                               x[1].save()
    1978         config.save()
    1979 
    1980         restore()
    1981         self.close()
    1982 
    1983     def cancel(self):
    1984         print "[Addon-Manager] cancel"
    1985         for x in self["config"].list:
    1986             x[1].cancel()
    1987         self.close(False)
    1988 
    1989 
    19901567#-----------------------------------------------------------------
    19911568
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.sh

    r3758 r3767  
    11#!/bin/sh
    2 # Restorescript nach Methode niovs
    3 # wird vom Addon-Manager aufgerufen
     2# ***********************************************************
     3#              Backupscript nach Methode niovs
     4#              wird vom Addon-Manager aufgerufen
     5#
     6#           kann beliebig für jede Box weitert werden
     7#
     8#           angepasst fuer Fortis-Boxen by Bauernbub
     9# ***********************************************************
     10
    411
    512. /var/etc/restore.cfg   # read config from Addon-Manager
    6 
    7 DIR="/media/hdd/backup_vu"
    813
    914echo -e "***********************************************************"
     
    1116echo -e "***********************************************************\n"
    1217
     18boxtyp="`cat /proc/stb/info/model`"
     19if [ "$boxtyp" == "dm8000" ]
     20  then
     21    DIR="/media/hdd/backup_vu"
     22  else
     23    DIR="/media/hdd/backup_fortis"
     24fi
    1325rm -f $DIR/restore.log ; touch $DIR/restore.log
    1426
     
    2133   for i in `cat $DIR/ipkg.list ` ; do ipkg install $i ; done
    2234     echo -e "******** Plugins wiederhergestellt ********\n"
    23    elif [ -e $DIR/ipkg.list ]
    24      then
    25      ipkg update
    26      for i in `cat $DIR/ipkg.list ` ; do ipkg install $i ; done
    27         echo -e "******** Plugins wiederhergestellt ********\n"
    28       else
    29         echo -e "******** Kein Backup der Plugins vorhanden! ********\n"
     35 elif [ -e $DIR/ipkg.list ]
     36  then
     37   ipkg update
     38   for i in `cat $DIR/ipkg.list ` ; do ipkg install $i ; done
     39     echo -e "******** IPK-Plugins wiederhergestellt ********\n"
     40 else
     41   echo -e "******** Kein Backup der IPK-Plugins vorhanden! ********\n"
     42 fi
     43 if [ -e $DIR/plugins.tar ]
     44  then
     45      tar -xvf $DIR/plugins.tar -C / >> $DIR/restore.log
     46      echo -e "******** Extension/Plugins wiederhergestellt ********\n"
     47  else
     48      echo -e "******** Kein Backup der Plugins vorhanden! ********\n"
    3049 fi
    3150fi
Note: See TracChangeset for help on using the changeset viewer.