[QGIS-Developer] Deploying 3.10.8 LTR on Debian 10
Patrick Dunford
enzedrailmaps at gmail.com
Mon Jul 27 23:49:54 PDT 2020
OK so comparing dependencies has not found any that appear significant.
Only differences found were in a couple of OpenJDK packages.
Methodology:
1. Create a list of packages and versions from the entire system using
dpkg-query:
   dpkg-query -W -f='${binary:Package}|${Version}\n' >pkglist.txt
2. Compare two package lists using this Python script:
# pkgcheck.py
# compare package lists and version details
# declarations
import argparse
# set up command line argument parser
parser = argparse.ArgumentParser(prog='pkgcheck')
parser.add_argument('firstfile')
parser.add_argument('secondfile')
# get arguments
argList = sys.argv[1:]Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # drop the script
name parameter
args = parser.parse_args(argList)
firstFile = args.firstfile
secondFile = args.secondfile
# read files as CSV
firstCSV = open(firstFile, mode = 'r')
firstPkgs = firstCSV.readlines()
secondCSV = open(secondFile, mode = 'r')
secondPkgs = secondCSV.readlines()
outFile = open('pkgcheck.txt','w+')
# first iteration with each line of firstPkgs look up in secondPkgs and
compare
print(firstFile + " >< " + secondFile)
for firstPkg in firstPkgs:
   firstLine = firstPkg.split('|')
   firstName = firstLine[0].strip('\n')
   firstVersion = firstLine[1].strip('\n')
   firstFound = False
   for secondPkg in secondPkgs:
       secondLine = secondPkg.split('|')
       secondName = secondLine[0].strip('\n')
       secondVersion = secondLine[1].strip('\n')
       if firstName == secondName:
           firstFound = True
           if firstVersion <> secondVersion:
               outFile.write("Version Mismatch In Second: " +
firstFile + ":: " + firstName + "::" + firstVersion + " <> " +
secondFile + "::" + secondName + "::" + secondVersion + '\n')
   if firstFound == False:
               outFile.write("Package Missing in Second: " + firstFile
+ " :: " + firstName + " :: " + firstVersion + "\n")
# second iteration with each line of secondPkgs look up in firstPkgs and
compare
print(secondFile + " >< " + firstFile)
for secondPkg in secondPkgs:
   secondLine = secondPkg.split('|')
   secondName = secondLine[0].strip('\n')
   secondVersion = secondLine[1].strip('\n')
   secondFound = False
   for firstPkg in firstPkgs:
       firstLine = firstPkg.split('|')
       firstName = firstLine[0].strip('\n')
       firstVersion = firstLine[1].strip('\n')
       if firstName == secondName:
           secondFound = True
           if firstVersion <> secondVersion:
               outFile.write("Version Mismatch In First: " +
secondFile + ":: " + secondName + "::" + secondVersion + " <> " +
firstFile + "::" + firstName + "::" + firstVersion + "\n")
   if secondFound == False:
       outFile.write("Package Missing In First: " + secondFile + ":: "
+ secondName + "::" + secondVersion + "\n")
The only version mismatches found were
openjdk-11-jre:amd64 11.0.8+10-1~deb10u1 <> openjdk-11-jre:amd64
11.0.7+10-3~deb10u1
openjdk-11-jre-headless:amd64 11.0.8+10-1~deb10u1 <>
openjdk-11-jre-headless:amd64 11.0.7+10-3~deb10u1
More information about the QGIS-Developer
mailing list