Example #1
0
 def owner(self, filename):
     'Return the package that owns filename.'
     args = ['--file-info-plist', filename]
     msg = 'Failed to get owner for filename: "{}"'.format(filename)
     rv = pkgutil.call_pkgutil(args, msg=msg)
     pi = plistlib_loads(rv.stdout.encode('utf-8')).get('path-info', None)
     if not pi:
         return None
     return pi[0].get('pkgid', None)
Example #2
0
 def owner(clazz, filename):
     'Return the package that owns filename.'
     cmd = 'pkgutil --file-info-plist %s' % (filename)
     rv = clazz._call_pkgutil(cmd)
     if rv.exit_code != 0:
         raise RuntimeError('Failed to get owner for package: %s' %
                            (package_name))
     pi = plistlib_loads(rv.stdout.encode('utf-8')).get('path-info', None)
     if not pi:
         return None
     return pi[0].get('pkgid', None)
Example #3
0
 def package_info(self, package_name):
     'Return platform specific information about a package.'
     args = ['--pkg-info-plist', package_name]
     msg = 'Failed to get info for package: "{}"'.format(package_name)
     rv = pkgutil.call_pkgutil(args, msg=msg)
     pi = plistlib_loads(rv.stdout.encode('utf-8'))
     return {
         'package_id': pi['pkgid'],
         'install_location': pi['install-location'],
         'volume': pi['volume'],
         'version': pi['pkg-version'],
     }
Example #4
0
 def package_info(clazz, package_name):
     'Return True if native_package_manager is installed.'
     cmd = 'pkgutil --pkg-info-plist %s' % (package_name)
     rv = clazz._call_pkgutil(cmd)
     if rv.exit_code != 0:
         raise RuntimeError('Failed to get info for package: %s' %
                            (package_name))
     pi = plistlib_loads(rv.stdout.encode('utf-8'))
     return {
         'package_id': pi['pkgid'],
         'install_location': pi['install-location'],
         'volume': pi['volume'],
         'version': pi['pkg-version'],
     }
Example #5
0
 def _get_domain_object(clazz, domain):
     plist = clazz._get_domain_plist(domain)
     return plistlib_loads(plist)
Example #6
0
 def _mount_at_temp_dir(clazz, dmg):
   file_check.check_file(dmg)
   tmp_dir = temp_file.make_temp_dir()
   rv = clazz._execute_cmd('hdiutil', 'attach', '-mountpoint', tmp_dir, '-plist', dmg)
   entries = plistlib_loads(rv.stdout.encode('utf-8'))
   return clazz.mount_info(dmg, tmp_dir, entries.get('system-entities', []))
Example #7
0
 def info(clazz):
   rv = clazz._execute_cmd('hdiutil', 'info', '-plist')
   return plistlib_loads(rv.stdout.encode('utf-8')).get('images', [])
Example #8
0
 def _mount_at_temp_dir(clazz, dmg):
   file_check.check_file(dmg)
   tmp_dir = temp_file.make_temp_dir()
   rv = clazz._execute_cmd('hdiutil', 'attach', '-mountpoint', tmp_dir, '-plist', '-readonly', dmg)
   entries = plistlib_loads(rv.stdout.encode('utf-8'))
   return clazz.mount_info(dmg, tmp_dir, entries.get('system-entities', []))
Example #9
0
 def info(clazz):
   rv = clazz._execute_cmd('hdiutil', 'info', '-plist')
   return plistlib_loads(rv.stdout.encode('utf-8')).get('images', [])