Changeset 4370


Ignore:
Timestamp:
Apr 20, 2017, 2:50:46 PM (2 years ago)
Author:
Juanma
Message:

Bugfix with removing debs and version mismatching between installed and available

Location:
lliurex-store/trunk/fuentes
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • lliurex-store/trunk/fuentes/lliurex-store-cli/usr/share/lliurex-store/files/error.json

    r4363 r4370  
    1212        "9":"plugin disabled",
    1313        "10":"unable to initialize n4d client",
     14        "262":"version mismatch",
    1415        "264":"already installed",
    1516        "265":"unreachable network",
  • lliurex-store/trunk/fuentes/lliurex-store-cli/usr/share/lliurex-store/lliurex-store-cli.py

    r4363 r4370  
    115115        else:
    116116                dbg=None
     117        dbg=1
    117118        store=storeManager.StoreManager(dbg)
    118119
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/debManager.py

    r3927 r4370  
    4848                        if appInfo['package'] not in processedPkg:
    4949                                processedPkg.append(appInfo['package'])
    50                                 app=self._resolve_App(appInfo['package'])
     50                                filters=1
     51                                if action=='remove':
     52                                        filters=2
     53                                app=self._resolve_App(appInfo['package'],filters)
    5154                                if app:
    5255                                        if action=='install':
     
    100103                except Exception as e:
    101104                        self._debug("Remove error: " +str(e.code))
     105                        self._debug("Remove error: " +str(e))
    102106                        self._set_status(e.code)
    103107                finally:
     
    163167                applist=[]
    164168                self.return_msg=False
     169                if not filters:
     170                        filters=1
    165171                try:
    166                         result=self.installer.resolve(1,[appName,],None,self._fake_callback, None)
     172                        self._debug("Filter for resolver: "+str(filters))
     173                        result=self.installer.resolve(filters,[appName,],None,self._fake_callback, None)
    167174                        applist=result.get_package_array()
    168                         if applist:
    169                                 self._debug("Application "+applist[0].get_name()+" resolved succesfully")
    170                                 app=applist[0]
     175                        resolvedApp=applist[0]
     176                        #resolver bug: filters not work so if we want to remove an app first we must get the installed version...
     177                        if filters==2:
     178                                for app in applist:
     179                                        if (str(app.get_info()).find('PK_INFO_ENUM_INSTALLED')!=-1):
     180                                                resolvedApp=app
     181                        if resolvedApp:
     182                                self._debug("Application "+resolvedApp.get_name()+" resolved succesfully")
     183                                app=resolvedApp
    171184                except Exception as e:
    172185                        self._debug("Couldn't resolve "+appName)
     
    176189                return(app)
    177190        #def _resolve_App
     191       
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/storeManager.py

    r4363 r4370  
    485485                        #Check if package is installed if we want to remove it or vice versa
    486486                        for appInfo in applistInfo:
    487                                 if (action=='install' and appInfo['state']=='installed') or (action=='remove' and appInfo['state']=='available'):
     487#                               if (action=='install' and appInfo['state']=='installed') or (action=='remove' and appInfo['state']=='available'):
     488                                if (action=='remove' and appInfo['state']=='available'):
    488489                                        if action=='remove':
    489490#                                               self.result[action]['status']={appInfo['package']:3}
     
    491492                                        else:
    492493#                                               self.result[action]['status']={appInfo['package']:4}
    493                                                 self.result[action]['status']={'status':4}
     494#                                               self.result[action]['status']={'status':4}
     495                                                pass
    494496                                        return_msg=False
    495497                                        typeDict={}
Note: See TracChangeset for help on using the changeset viewer.