diff --git a/hplip-find-driver.patch b/hplip-find-driver.patch index 4f11bb8..f991967 100644 --- a/hplip-find-driver.patch +++ b/hplip-find-driver.patch @@ -1,8 +1,8 @@ diff --git a/prnt/cups.py b/prnt/cups.py -index a9f410a..733891b 100644 +index a9f410a..3783a60 100644 --- a/prnt/cups.py +++ b/prnt/cups.py -@@ -489,49 +489,72 @@ def getPPDFile2(mq,model, ppds): # New PPD find +@@ -489,78 +489,77 @@ def getPPDFile2(mq,model, ppds): # New PPD find #Check if common ppd name is already given in models.dat(This is needed because in case of devices having more than one derivatives #will have diffrent model name strings in device ID, because of which we don't get the common ppd name for search) family_check=isfamilydrv(ppds) @@ -55,6 +55,8 @@ index a9f410a..733891b 100644 - ((prop.hpijs_build and 'hpijs' in pdls) or (prop.hpcups_build and 'hpijs' not in pdls)) or \ - ('ps' in pdls) or ('pdf' in pdls): - matches.append((f, [p for p in pdls if p and p != 'hpijs'])) +- log.debug(matches) +- num_matches = len(matches) + for f in ppds: + # ignore foomatic and gutenprint drivers + if 'foomatic' in f or 'gutenprint' in f: @@ -89,7 +91,22 @@ index a9f410a..733891b 100644 + if pdl in ['hpijs', 'hpcups']: + ppd_model=ppd_model.replace('-{}'.format(pdl), '') + continue -+ + +- if num_matches == 0: +- log.debug("No PPD found for model %s using new algorithm. Trying old algorithm..." % stripped_model) +- #Using Old algo, ignores the series keyword in ppd searching. +- matches2 = list(getPPDFile(stripModel(stripped_model), ppds).items()) +- log.debug(matches2) +- num_matches2 = len(matches2) +- if num_matches2: +- for f, d in matches2: +- match = ppd_pat.match(f) +- if match is not None: +- log.debug("Found match: %s" % f) +- try: +- pdls = match.group(2).split('-') +- except AttributeError: +- pdls = [] + if not models.PDL_TYPES.get(pdl): + log.debug('Unknown PDL named \'{}\' - can be a new PDL or ' + 'just a part of device name. Assume it is ' @@ -102,17 +119,29 @@ index a9f410a..733891b 100644 + continue + + log.debug("Found match: %s" % f) -+ + +- if (prop.hpcups_build and 'hpijs' not in f) or \ +- ((prop.hpijs_build and 'hpijs' in pdls) or (prop.hpcups_build and 'hpijs' not in pdls)) or \ +- ('ps' in pdls) or ('pdf' in pdls): +- matches.append((f, [p for p in pdls if p and p != 'hpijs'])) + if (prop.hpcups_build and 'hpijs' not in f) or \ + ((prop.hpijs_build and 'hpijs' in driver_types) or (prop.hpcups_build and 'hpijs' not in driver_types)) or \ + ('ps' in pdls) or ('pdf' in pdls): + matches.append((f, pdls, [d for d in driver_types if d and d != 'hpijs'])) -+ -+ - log.debug(matches) - num_matches = len(matches) -@@ -570,7 +593,7 @@ def getPPDFile2(mq,model, ppds): # New PPD find +- log.debug(matches) +- num_matches = len(matches) ++ ++ log.debug(matches) ++ num_matches = len(matches) + + if num_matches == 0: +- log.error("No PPD found for model %s using old algorithm." % stripModel(stripped_model)) ++ log.error("No PPD found for model %s." % stripModel(stripped_model)) + return None + + elif num_matches == 1: +@@ -570,7 +569,7 @@ def getPPDFile2(mq,model, ppds): # New PPD find # > 1 log.debug("%d matches found. Searching based on PDL: Host > PS,PDF > PCL/Other" % num_matches) for p in [models.PDL_TYPE_HOST, models.PDL_TYPE_PS,models.PDL_TYPE_PDF, models.PDL_TYPE_PCL]: @@ -121,7 +150,7 @@ index a9f410a..733891b 100644 for x in pdl_list: # default to HOST-based PDLs, as newly supported PDLs will most likely be of this type if models.PDL_TYPES.get(x, models.PDL_TYPE_HOST) == p: -@@ -579,8 +602,8 @@ def getPPDFile2(mq,model, ppds): # New PPD find +@@ -579,8 +578,8 @@ def getPPDFile2(mq,model, ppds): # New PPD find log.debug("%d matches found. Searching based on Filters: HPCUPS > HPIJS" % num_matches) for p in ["hpcups","hpijs"]: diff --git a/hplip.spec b/hplip.spec index 8910dfd..413f539 100644 --- a/hplip.spec +++ b/hplip.spec @@ -7,7 +7,7 @@ Summary: HP Linux Imaging and Printing Project Name: hplip Version: 3.20.11 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2+ and MIT and BSD and IJG and Public Domain and GPLv2+ with exceptions and ISC Url: https://developers.hp.com/hp-linux-imaging-and-printing @@ -810,6 +810,9 @@ rm -f %{buildroot}%{_sysconfdir}/xdg/autostart/hplip-systray.desktop %config(noreplace) %{_sysconfdir}/sane.d/dll.d/hpaio %changelog +* Thu Feb 18 2021 Zdenek Dohnal - 3.20.11-6 +- remove the old search algorithm + * Fri Feb 05 2021 Zdenek Dohnal - 3.20.11-5 - 1925259 - %pre scriptlet enables and starts cups.service, which is unnecessary - 1919556 - hp-fab crashed: QFileDialog.getOpenFileName is not used correctly