Advertisement
buonaseva_fatelo

Untitled

Mar 12th, 2024
711
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.25 KB | None | 0 0
  1. '''#
  2. # for sqlite databases
  3. #
  4.  
  5. import json
  6. import rpm
  7. import tarfile
  8.  
  9. dbpath = "/home/ubuntu-wbox-internal/Desktop/activity8/almalinux_db/var/lib/rpm"
  10. #dbtype =   "sqlite"
  11. print("ok")
  12.  
  13.  
  14. # database extraction
  15. #tarfile = tarfile.open("almalinux.tar")
  16. #tarfile.extractall(dbpath)
  17. #tarfile.close()
  18.  
  19.  
  20. #rpm.addMacro("_db_backend", dbtype)
  21. rpm.addMacro("_dbpath", dbpath)
  22. print("ok")
  23.  
  24. ts = rpm.TransactionSet()
  25. ts.openDB()
  26.  
  27. #rpm.delMacro("_db_backend")
  28. rpm.delMacro("_dbpath")
  29.  
  30. allPackages = []
  31. mi = ts.dbMatch()
  32. #mi.pattern("name", rpm.RPMMIRE_GLOB, "kernel*")
  33. print(f"mi = {mi}")
  34.  
  35. for hdr in mi:
  36.    # second method
  37.    pkg = {}
  38.    pkg['name'] = hdr[rpm.RPMTAG_NAME]
  39.    pkg['version'] = str(hdr[rpm.RPMTAG_VERSION])
  40.    pkg['size'] = str(hdr[rpm.RPMTAG_SIZE])
  41.    pkg['license'] = hdr[rpm.RPMTAG_LICENSE]
  42.    pkg['arch'] = hdr[rpm.RPMTAG_ARCH]
  43.    pkg['group'] = hdr[rpm.RPMTAG_GROUP]
  44.    pkg['provides'] = hdr[rpm.RPMTAG_PROVIDES]
  45.    pkg['dependencies'] = hdr[rpm.RPMTAG_REQUIRES]
  46.  
  47.    allPackages.append(pkg)
  48.  
  49. with open("out_rpm.json", "w") as fileout:
  50.    print(json.dump(allPackages, fileout))
  51.  
  52. # ts.closeDB()
  53. '''
  54.  
  55. #
  56. # for sqlite databases
  57. #
  58.  
  59. import json
  60. import rpm
  61. import tarfile
  62.  
  63. dbpath = "/home/ubuntu-wbox-internal/Desktop/activity8/var/lib/rpm"
  64. dbtype = "ndb"
  65. print("ok")
  66.  
  67. # database extraction
  68. # tarfile = tarfile.open("almalinux.tar")
  69. # tarfile.extractall(dbpath)
  70. # tarfile.close()
  71.  
  72.  
  73. rpm.addMacro("_db_backend", dbtype)
  74. rpm.addMacro("_dbpath", dbpath)
  75. print("ok")
  76.  
  77. ts = rpm.TransactionSet()
  78. ts.openDB()
  79.  
  80. rpm.delMacro("_db_backend")
  81. rpm.delMacro("_dbpath")
  82.  
  83. allPackages = []
  84. mi = ts.dbMatch()
  85. # mi.pattern("name", rpm.RPMMIRE_GLOB, "kernel*")
  86. print(f"mi = {mi}")
  87.  
  88. for hdr in mi:
  89.     # second method
  90.     pkg = {}
  91.     pkg['name'] = hdr[rpm.RPMTAG_NAME]
  92.     pkg['version'] = str(hdr[rpm.RPMTAG_VERSION])
  93.     pkg['size'] = str(hdr[rpm.RPMTAG_SIZE])
  94.     pkg['license'] = hdr[rpm.RPMTAG_LICENSE]
  95.     pkg['arch'] = hdr[rpm.RPMTAG_ARCH]
  96.     pkg['group'] = hdr[rpm.RPMTAG_GROUP]
  97.     pkg['provides'] = hdr[rpm.RPMTAG_PROVIDES]
  98.     pkg['dependencies'] = hdr[rpm.RPMTAG_REQUIRES]
  99.  
  100.     allPackages.append(pkg)
  101.  
  102. with open("out_rpm.json", "w") as fileout:
  103.     print(json.dump(allPackages, fileout))
  104.  
  105. # ts.closeD
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement