Compare commits
No commits in common. "rawhide" and "f37" have entirely different histories.
27 changed files with 648 additions and 734 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -111,8 +111,3 @@ hplip-3.10.6.tar.gz
|
|||
/hplip-3.23.3-repack.tar.gz
|
||||
/hplip-3.23.5-repack.tar.gz
|
||||
/hplip-3.23.8-repack.tar.gz
|
||||
/hplip-3.23.12-repack.tar.gz
|
||||
/hplip-3.24.4-repack.tar.gz
|
||||
/hplip-3.25.2-repack.tar.gz
|
||||
/hplip-3.25.6-repack.tar.gz
|
||||
/hplip-3.25.8-repack.tar.gz
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ product_versions:
|
|||
decision_context: bodhi_update_push_testing
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional}
|
||||
|
||||
#Rawhide
|
||||
--- !Policy
|
||||
|
|
@ -13,7 +13,7 @@ product_versions:
|
|||
decision_context: bodhi_update_push_stable
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional}
|
||||
|
||||
#gating rhel
|
||||
--- !Policy
|
||||
|
|
@ -21,5 +21,7 @@ product_versions:
|
|||
- rhel-*
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tedude.validation}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/public.functional}
|
||||
|
|
|
|||
32
hp-plugin.in
32
hp-plugin.in
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# get version from base hplip rpm
|
||||
VER=$(@bindir@/rpm -q hplip --queryformat='%{version}')
|
||||
# get version from base hplip rpm - it is always in the second column
|
||||
VER=$(@bindir@/rpm -q hplip | @bindir@/awk -F '-' '{print $2}')
|
||||
|
||||
if test "x$VER" = "x"
|
||||
then
|
||||
|
|
@ -9,20 +9,12 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# link to the plugin
|
||||
PLUGIN_SOURCE="https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-${VER}-plugin.run"
|
||||
|
||||
# plugin name
|
||||
PLUGIN_FILE="hplip-${VER}-plugin.run"
|
||||
|
||||
download()
|
||||
{
|
||||
SOURCE="$1"
|
||||
|
||||
@bindir@/curl --create-dirs -O --output-dir ~/.hplip --location ${SOURCE}
|
||||
}
|
||||
|
||||
# link to the plugin
|
||||
PLUGIN_SOURCE="https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${PLUGIN_FILE}"
|
||||
FALLBACK_SOURCE="https://developers.hp.com/sites/default/files/${PLUGIN_FILE}"
|
||||
|
||||
# create a hidden hplip dir to store a file indicating the plugin version after successful install
|
||||
# the directory can be used by other hplip tools, so we don't have to remove it if the failure happens
|
||||
if [ ! -d ~/.hplip ]
|
||||
|
|
@ -30,19 +22,11 @@ then
|
|||
@bindir@/mkdir ~/.hplip || (@bindir@/echo "Cannot create the ~/.hplip dir, exiting" && exit 1)
|
||||
fi
|
||||
|
||||
for link in ${PLUGIN_SOURCE} ${FALLBACK_SOURCE}
|
||||
do
|
||||
download ${link}
|
||||
@bindir@/curl --create-dir -O --output-dir ~/.hplip ${PLUGIN_SOURCE}
|
||||
|
||||
if test "x$(file --mime ~/.hplip/${PLUGIN_FILE} | grep -o 'text/x-shellscript')" = "xtext/x-shellscript"
|
||||
then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if test "x$(file --mime ~/.hplip/${PLUGIN_FILE} | grep -o 'text/x-shellscript')" = "x"
|
||||
if [ ! -f ~/.hplip/${PLUGIN_FILE} ]
|
||||
then
|
||||
@bindir@/echo "The downloaded file does not exist or is not a shell script - error during downloading, exiting..."
|
||||
@bindir@/echo "The downloaded file does not exist - error during downloading, exiting..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,16 @@
|
|||
diff -up hplip-3.23.3/setup.py.add-ppd-crash hplip-3.23.3/setup.py
|
||||
--- hplip-3.23.3/setup.py.add-ppd-crash 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/setup.py 2023-05-29 13:55:03.443497903 +0200
|
||||
@@ -553,6 +553,9 @@ else: # INTERACTIVE_MODE
|
||||
|
||||
if file_path.endswith('.gz'):
|
||||
nickname = gzip.GzipFile(file_path, 'r').read(4096)
|
||||
+ if sys.version_info[0] > 2:
|
||||
+ nickname = nickname.decode('utf-8')
|
||||
+
|
||||
else:
|
||||
nickname = open(file_path, 'r').read(4096)
|
||||
|
||||
diff -up hplip-3.23.3/ui5/setupdialog.py.add-ppd-crash hplip-3.23.3/ui5/setupdialog.py
|
||||
--- hplip-3.23.3/ui5/setupdialog.py.add-ppd-crash 2023-05-29 13:55:03.443497903 +0200
|
||||
+++ hplip-3.23.3/ui5/setupdialog.py 2023-05-29 13:57:19.014700721 +0200
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
diff -up hplip-3.25.2/common/utils.c.covscan hplip-3.25.2/common/utils.c
|
||||
--- hplip-3.25.2/common/utils.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/common/utils.c 2025-04-11 10:21:58.034950818 +0200
|
||||
diff -up hplip-3.23.3/common/utils.c.covscan hplip-3.23.3/common/utils.c
|
||||
--- hplip-3.23.3/common/utils.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/common/utils.c 2023-05-29 13:58:10.969395214 +0200
|
||||
@@ -1,5 +1,9 @@
|
||||
+#ifndef _GNU_SOURCE
|
||||
+#define _GNU_SOURCE
|
||||
|
|
@ -12,10 +12,10 @@ diff -up hplip-3.25.2/common/utils.c.covscan hplip-3.25.2/common/utils.c
|
|||
#include <dlfcn.h>
|
||||
#include <sys/stat.h>
|
||||
#include <errno.h>
|
||||
diff -up hplip-3.25.2/io/hpmud/hpmud.c.covscan hplip-3.25.2/io/hpmud/hpmud.c
|
||||
--- hplip-3.25.2/io/hpmud/hpmud.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/io/hpmud/hpmud.c 2025-04-11 10:21:58.035151792 +0200
|
||||
@@ -769,6 +769,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_
|
||||
diff -up hplip-3.23.3/io/hpmud/hpmud.c.covscan hplip-3.23.3/io/hpmud/hpmud.c
|
||||
--- hplip-3.23.3/io/hpmud/hpmud.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/io/hpmud/hpmud.c 2023-05-29 13:58:10.970395208 +0200
|
||||
@@ -759,6 +759,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_
|
||||
}
|
||||
|
||||
strncpy(ds->uri, msp->device[dd].uri, sizeof(ds->uri));
|
||||
|
|
@ -23,9 +23,9 @@ diff -up hplip-3.25.2/io/hpmud/hpmud.c.covscan hplip-3.25.2/io/hpmud/hpmud.c
|
|||
ds->io_mode = msp->device[dd].io_mode;
|
||||
ds->channel_cnt = msp->device[dd].channel_cnt;
|
||||
ds->mlc_up = msp->device[dd].mlc_up;
|
||||
diff -up hplip-3.25.2/io/hpmud/jd.c.covscan hplip-3.25.2/io/hpmud/jd.c
|
||||
--- hplip-3.25.2/io/hpmud/jd.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/io/hpmud/jd.c 2025-04-11 10:21:58.035328288 +0200
|
||||
diff -up hplip-3.23.3/io/hpmud/jd.c.covscan hplip-3.23.3/io/hpmud/jd.c
|
||||
--- hplip-3.23.3/io/hpmud/jd.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/io/hpmud/jd.c 2023-05-29 13:58:10.970395208 +0200
|
||||
@@ -31,6 +31,7 @@
|
||||
#endif
|
||||
|
||||
|
|
@ -34,9 +34,9 @@ diff -up hplip-3.25.2/io/hpmud/jd.c.covscan hplip-3.25.2/io/hpmud/jd.c
|
|||
#include "hpmud.h"
|
||||
#include "hpmudi.h"
|
||||
|
||||
diff -up hplip-3.25.2/io/hpmud/model.c.covscan hplip-3.25.2/io/hpmud/model.c
|
||||
--- hplip-3.25.2/io/hpmud/model.c.covscan 2025-04-11 10:21:58.023885145 +0200
|
||||
+++ hplip-3.25.2/io/hpmud/model.c 2025-04-11 10:21:58.035487541 +0200
|
||||
diff -up hplip-3.23.3/io/hpmud/model.c.covscan hplip-3.23.3/io/hpmud/model.c
|
||||
--- hplip-3.23.3/io/hpmud/model.c.covscan 2023-05-29 13:58:10.958395279 +0200
|
||||
+++ hplip-3.23.3/io/hpmud/model.c 2023-05-29 13:58:10.970395208 +0200
|
||||
@@ -117,6 +117,7 @@ static int ReadConfig()
|
||||
if (rcbuf[0] == '[')
|
||||
{
|
||||
|
|
@ -53,9 +53,9 @@ diff -up hplip-3.25.2/io/hpmud/model.c.covscan hplip-3.25.2/io/hpmud/model.c
|
|||
break; /* done */
|
||||
}
|
||||
}
|
||||
diff -up hplip-3.25.2/io/hpmud/musb.c.covscan hplip-3.25.2/io/hpmud/musb.c
|
||||
--- hplip-3.25.2/io/hpmud/musb.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/io/hpmud/musb.c 2025-04-11 10:21:58.035717762 +0200
|
||||
diff -up hplip-3.23.3/io/hpmud/musb.c.covscan hplip-3.23.3/io/hpmud/musb.c
|
||||
--- hplip-3.23.3/io/hpmud/musb.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/io/hpmud/musb.c 2023-05-29 13:58:10.970395208 +0200
|
||||
@@ -776,7 +776,7 @@ static int device_id(int fd, unsigned ch
|
||||
len = size-1; /* leave byte for zero termination */
|
||||
if (len > 2)
|
||||
|
|
@ -65,9 +65,9 @@ diff -up hplip-3.25.2/io/hpmud/musb.c.covscan hplip-3.25.2/io/hpmud/musb.c
|
|||
buffer[len]=0;
|
||||
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
|
||||
|
||||
diff -up hplip-3.25.2/io/hpmud/pp.c.covscan hplip-3.25.2/io/hpmud/pp.c
|
||||
--- hplip-3.25.2/io/hpmud/pp.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/io/hpmud/pp.c 2025-04-11 10:21:58.035977040 +0200
|
||||
diff -up hplip-3.23.3/io/hpmud/pp.c.covscan hplip-3.23.3/io/hpmud/pp.c
|
||||
--- hplip-3.23.3/io/hpmud/pp.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/io/hpmud/pp.c 2023-05-29 13:58:10.970395208 +0200
|
||||
@@ -632,7 +632,7 @@ static int device_id(int fd, char *buffe
|
||||
len = size-1; /* leave byte for zero termination */
|
||||
if (len > 2)
|
||||
|
|
@ -77,9 +77,9 @@ diff -up hplip-3.25.2/io/hpmud/pp.c.covscan hplip-3.25.2/io/hpmud/pp.c
|
|||
buffer[len]=0;
|
||||
|
||||
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
|
||||
diff -up hplip-3.25.2/Makefile.am.covscan hplip-3.25.2/Makefile.am
|
||||
--- hplip-3.25.2/Makefile.am.covscan 2025-04-11 10:21:58.010155532 +0200
|
||||
+++ hplip-3.25.2/Makefile.am 2025-04-11 10:22:52.826357214 +0200
|
||||
diff -up hplip-3.23.3/Makefile.am.covscan hplip-3.23.3/Makefile.am
|
||||
--- hplip-3.23.3/Makefile.am.covscan 2023-05-29 13:58:10.944395361 +0200
|
||||
+++ hplip-3.23.3/Makefile.am 2023-05-29 13:58:10.969395214 +0200
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# (c) 2004-2015 Copyright HP Development Company, LP
|
||||
|
|
@ -90,7 +90,7 @@ diff -up hplip-3.25.2/Makefile.am.covscan hplip-3.25.2/Makefile.am
|
|||
CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
|
||||
|
||||
@@ -310,7 +310,7 @@ dist_pcard_DATA = pcard/__init__.py pcar
|
||||
pcardextdir = $(PYTHONEXECDIR)
|
||||
pcardextdir = $(pyexecdir)
|
||||
pcardext_LTLIBRARIES = pcardext.la
|
||||
pcardext_la_LDFLAGS = -module -avoid-version
|
||||
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
|
||||
|
|
@ -107,9 +107,9 @@ diff -up hplip-3.25.2/Makefile.am.covscan hplip-3.25.2/Makefile.am
|
|||
libhpipp_la_LDFLAGS = -version-info 0:1:0
|
||||
libhpipp_la_LIBADD = libhpmud.la
|
||||
|
||||
diff -up hplip-3.25.2/pcard/fat.c.covscan hplip-3.25.2/pcard/fat.c
|
||||
--- hplip-3.25.2/pcard/fat.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/pcard/fat.c 2025-04-11 10:21:58.036450105 +0200
|
||||
diff -up hplip-3.23.3/pcard/fat.c.covscan hplip-3.23.3/pcard/fat.c
|
||||
--- hplip-3.23.3/pcard/fat.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/pcard/fat.c 2023-05-29 13:58:10.971395203 +0200
|
||||
@@ -519,14 +519,17 @@ int FatFreeSpace(void)
|
||||
|
||||
int FatDiskAttributes( PHOTO_CARD_ATTRIBUTES * pa )
|
||||
|
|
@ -139,9 +139,9 @@ diff -up hplip-3.25.2/pcard/fat.c.covscan hplip-3.25.2/pcard/fat.c
|
|||
cwd.StartSector = ConvertClusterToSector(fa.StartCluster);
|
||||
cwd.CurrSector = cwd.StartSector;
|
||||
cwd.StartCluster = fa.StartCluster;
|
||||
diff -up hplip-3.25.2/prnt/hpijs/context2.cpp.covscan hplip-3.25.2/prnt/hpijs/context2.cpp
|
||||
--- hplip-3.25.2/prnt/hpijs/context2.cpp.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/prnt/hpijs/context2.cpp 2025-04-11 10:21:58.036656862 +0200
|
||||
diff -up hplip-3.23.3/prnt/hpijs/context2.cpp.covscan hplip-3.23.3/prnt/hpijs/context2.cpp
|
||||
--- hplip-3.23.3/prnt/hpijs/context2.cpp.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/prnt/hpijs/context2.cpp 2023-05-29 13:58:10.971395203 +0200
|
||||
@@ -1302,6 +1302,7 @@ DRIVER_ERROR PrintContext::SelectDevice
|
||||
if(0 == strnlen((const char *)pSS->strDevID, DevIDBuffSize))
|
||||
{
|
||||
|
|
@ -150,9 +150,9 @@ diff -up hplip-3.25.2/prnt/hpijs/context2.cpp.covscan hplip-3.25.2/prnt/hpijs/co
|
|||
}
|
||||
thePrinter = pPFI->CreatePrinter (pSS, familyHandle);
|
||||
if (thePrinter->constructor_error != NO_ERROR)
|
||||
diff -up hplip-3.25.2/prnt/hpijs/systemservices.cpp.covscan hplip-3.25.2/prnt/hpijs/systemservices.cpp
|
||||
--- hplip-3.25.2/prnt/hpijs/systemservices.cpp.covscan 2025-02-27 13:12:44.000000000 +0100
|
||||
+++ hplip-3.25.2/prnt/hpijs/systemservices.cpp 2025-04-11 10:21:58.036891582 +0200
|
||||
diff -up hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan hplip-3.23.3/prnt/hpijs/systemservices.cpp
|
||||
--- hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan 2023-03-28 09:26:27.000000000 +0200
|
||||
+++ hplip-3.23.3/prnt/hpijs/systemservices.cpp 2023-05-29 13:58:10.971395203 +0200
|
||||
@@ -396,7 +396,10 @@ void SystemServices::AdjustIO(IO_MODE IM
|
||||
IOMode.bDevID =IM.bDevID && IOMode.bDevID;
|
||||
|
||||
|
|
@ -164,10 +164,10 @@ diff -up hplip-3.25.2/prnt/hpijs/systemservices.cpp.covscan hplip-3.25.2/prnt/hp
|
|||
}
|
||||
|
||||
APDK_END_NAMESPACE
|
||||
diff -up hplip-3.25.2/prnt/hpps/hppsfilter.c.covscan hplip-3.25.2/prnt/hpps/hppsfilter.c
|
||||
--- hplip-3.25.2/prnt/hpps/hppsfilter.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/prnt/hpps/hppsfilter.c 2025-04-11 10:21:58.037072084 +0200
|
||||
@@ -329,13 +329,13 @@ static void WriteHeader(char **argument)
|
||||
diff -up hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan hplip-3.23.3/prnt/hpps/hppsfilter.c
|
||||
--- hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/prnt/hpps/hppsfilter.c 2023-05-29 13:58:10.972395197 +0200
|
||||
@@ -274,13 +274,13 @@ static void WriteHeader(char **argument)
|
||||
/* Writing Header Information
|
||||
argument[1] = JOB ID , argument[2]= USERNAME, argument[3] = TITLE */
|
||||
hpwrite("\x1b%-12345X@PJL JOBNAME=", strlen("\x1b%-12345X@PJL JOBNAME="));
|
||||
|
|
@ -184,9 +184,9 @@ diff -up hplip-3.25.2/prnt/hpps/hppsfilter.c.covscan hplip-3.25.2/prnt/hpps/hpps
|
|||
hpwrite(buffer, strlen(buffer));
|
||||
fprintf(stderr, "HP PS filter func = WriteHeader : WRITING PJL HEADER INFO\n");
|
||||
return;
|
||||
diff -up hplip-3.25.2/protocol/hp_ipp.h.covscan hplip-3.25.2/protocol/hp_ipp.h
|
||||
--- hplip-3.25.2/protocol/hp_ipp.h.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/protocol/hp_ipp.h 2025-04-11 10:21:58.037239020 +0200
|
||||
diff -up hplip-3.23.3/protocol/hp_ipp.h.covscan hplip-3.23.3/protocol/hp_ipp.h
|
||||
--- hplip-3.23.3/protocol/hp_ipp.h.covscan 2023-05-29 13:58:10.972395197 +0200
|
||||
+++ hplip-3.23.3/protocol/hp_ipp.h 2023-05-29 13:59:03.645085468 +0200
|
||||
@@ -168,6 +168,11 @@ HPIPP_RESULT parseResponseHeader(char* h
|
||||
HPIPP_RESULT prepend_http_header(raw_ipp *raw_request,const char *resource);
|
||||
enum HPMUD_RESULT sendUSBRequest(char *buf, int size, raw_ipp *responseptr, char * device_uri);
|
||||
|
|
@ -199,9 +199,9 @@ diff -up hplip-3.25.2/protocol/hp_ipp.h.covscan hplip-3.25.2/protocol/hp_ipp.h
|
|||
|
||||
ipp_t * createFaxDetailRequest(const char *printer_name);
|
||||
ipp_t * getDeviceFaxModemAttributes(char* device_uri,char* printer_name, int *count);
|
||||
diff -up hplip-3.25.2/scan/sane/bb_ledm.c.covscan hplip-3.25.2/scan/sane/bb_ledm.c
|
||||
--- hplip-3.25.2/scan/sane/bb_ledm.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/bb_ledm.c 2025-04-11 10:21:58.037378913 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/bb_ledm.c.covscan hplip-3.23.3/scan/sane/bb_ledm.c
|
||||
--- hplip-3.23.3/scan/sane/bb_ledm.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/bb_ledm.c 2023-05-29 13:58:10.972395197 +0200
|
||||
@@ -26,6 +26,7 @@
|
||||
# include "http.h"
|
||||
# include "xml.h"
|
||||
|
|
@ -210,9 +210,9 @@ diff -up hplip-3.25.2/scan/sane/bb_ledm.c.covscan hplip-3.25.2/scan/sane/bb_ledm
|
|||
|
||||
# include <stdint.h>
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/common.h.covscan hplip-3.25.2/scan/sane/common.h
|
||||
--- hplip-3.25.2/scan/sane/common.h.covscan 2025-04-11 10:21:57.806326475 +0200
|
||||
+++ hplip-3.25.2/scan/sane/common.h 2025-04-11 10:21:58.037532413 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/common.h.covscan hplip-3.23.3/scan/sane/common.h
|
||||
--- hplip-3.23.3/scan/sane/common.h.covscan 2023-05-29 13:58:10.727396637 +0200
|
||||
+++ hplip-3.23.3/scan/sane/common.h 2023-05-29 13:58:10.972395197 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
#define _STRINGIZE(x) #x
|
||||
#define STRINGIZE(x) _STRINGIZE(x)
|
||||
|
|
@ -222,9 +222,9 @@ diff -up hplip-3.25.2/scan/sane/common.h.covscan hplip-3.25.2/scan/sane/common.h
|
|||
#define BUG_DUMP(data, size) bugdump((data), (size))
|
||||
#define BUG_SZ(args...) {syslog(LOG_ERR, args); DBG(2, args);}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/escl.c.covscan hplip-3.25.2/scan/sane/escl.c
|
||||
--- hplip-3.25.2/scan/sane/escl.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/escl.c 2025-04-11 10:21:58.037677793 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c
|
||||
--- hplip-3.23.3/scan/sane/escl.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/escl.c 2023-05-29 13:58:10.972395197 +0200
|
||||
@@ -849,7 +849,7 @@ SANE_Status escl_control_option(SANE_Han
|
||||
//DBG8("escl_control_option (option=%s) action=%d\n", ps->option[option].name, action);
|
||||
if (stat != SANE_STATUS_GOOD)
|
||||
|
|
@ -243,9 +243,9 @@ diff -up hplip-3.25.2/scan/sane/escl.c.covscan hplip-3.25.2/scan/sane/escl.c
|
|||
return;
|
||||
}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/http.c.covscan hplip-3.25.2/scan/sane/http.c
|
||||
--- hplip-3.25.2/scan/sane/http.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/http.c 2025-04-11 10:21:58.037859247 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/http.c.covscan hplip-3.23.3/scan/sane/http.c
|
||||
--- hplip-3.23.3/scan/sane/http.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/http.c 2023-05-29 13:58:10.973395191 +0200
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <string.h>
|
||||
#include <syslog.h>
|
||||
|
|
@ -254,9 +254,9 @@ diff -up hplip-3.25.2/scan/sane/http.c.covscan hplip-3.25.2/scan/sane/http.c
|
|||
#include "hpmud.h"
|
||||
#include "http.h"
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/io.c.covscan hplip-3.25.2/scan/sane/io.c
|
||||
--- hplip-3.25.2/scan/sane/io.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/io.c 2025-04-11 10:21:58.037998005 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
|
||||
--- hplip-3.23.3/scan/sane/io.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/io.c 2023-05-29 13:58:10.973395191 +0200
|
||||
@@ -50,7 +50,7 @@ int __attribute__ ((visibility ("hidden"
|
||||
|
||||
if (dbus_error_is_set(&dbus_err))
|
||||
|
|
@ -284,9 +284,9 @@ diff -up hplip-3.25.2/scan/sane/io.c.covscan hplip-3.25.2/scan/sane/io.c
|
|||
return 0;
|
||||
}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/ledm.c.covscan hplip-3.25.2/scan/sane/ledm.c
|
||||
--- hplip-3.25.2/scan/sane/ledm.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/ledm.c 2025-04-11 10:21:58.038131991 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c
|
||||
--- hplip-3.23.3/scan/sane/ledm.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/ledm.c 2023-05-29 13:58:10.973395191 +0200
|
||||
@@ -813,7 +813,7 @@ SANE_Status ledm_control_option(SANE_Han
|
||||
|
||||
if (stat != SANE_STATUS_GOOD)
|
||||
|
|
@ -305,9 +305,9 @@ diff -up hplip-3.25.2/scan/sane/ledm.c.covscan hplip-3.25.2/scan/sane/ledm.c
|
|||
return;
|
||||
}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/marvell.c.covscan hplip-3.25.2/scan/sane/marvell.c
|
||||
--- hplip-3.25.2/scan/sane/marvell.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/marvell.c 2025-04-11 10:21:58.038309394 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell.c
|
||||
--- hplip-3.23.3/scan/sane/marvell.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/marvell.c 2023-05-29 13:58:10.976395173 +0200
|
||||
@@ -134,7 +134,7 @@ static int get_ip_data(struct marvell_se
|
||||
|
||||
if (!ps->ip_handle)
|
||||
|
|
@ -407,9 +407,9 @@ diff -up hplip-3.25.2/scan/sane/marvell.c.covscan hplip-3.25.2/scan/sane/marvell
|
|||
goto bugout;
|
||||
}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/sclpml.c.covscan hplip-3.25.2/scan/sane/sclpml.c
|
||||
--- hplip-3.25.2/scan/sane/sclpml.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/sclpml.c 2025-04-11 10:21:58.038605168 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/sclpml.c.covscan hplip-3.23.3/scan/sane/sclpml.c
|
||||
--- hplip-3.23.3/scan/sane/sclpml.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/sclpml.c 2023-05-29 13:58:10.976395173 +0200
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
|
@ -427,9 +427,9 @@ diff -up hplip-3.25.2/scan/sane/sclpml.c.covscan hplip-3.25.2/scan/sane/sclpml.c
|
|||
return;
|
||||
}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/soap.c.covscan hplip-3.25.2/scan/sane/soap.c
|
||||
--- hplip-3.25.2/scan/sane/soap.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/soap.c 2025-04-11 10:21:58.038894758 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
|
||||
--- hplip-3.23.3/scan/sane/soap.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/soap.c 2023-05-29 13:58:10.977395167 +0200
|
||||
@@ -142,7 +142,7 @@ static int get_ip_data(struct soap_sessi
|
||||
|
||||
if (!ps->ip_handle)
|
||||
|
|
@ -520,9 +520,9 @@ diff -up hplip-3.25.2/scan/sane/soap.c.covscan hplip-3.25.2/scan/sane/soap.c
|
|||
goto bugout;
|
||||
}
|
||||
|
||||
diff -up hplip-3.25.2/scan/sane/soapht.c.covscan hplip-3.25.2/scan/sane/soapht.c
|
||||
--- hplip-3.25.2/scan/sane/soapht.c.covscan 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/scan/sane/soapht.c 2025-04-11 10:21:58.039106018 +0200
|
||||
diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
|
||||
--- hplip-3.23.3/scan/sane/soapht.c.covscan 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/scan/sane/soapht.c 2023-05-29 13:58:10.977395167 +0200
|
||||
@@ -136,7 +136,7 @@ static int get_ip_data(struct soap_sessi
|
||||
|
||||
if (!ps->ip_handle)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,14 @@
|
|||
--- hplip-3.20.3/prnt/hpps/hppsfilter.c.orig 2020-03-25 01:09:51.585129957 +0000
|
||||
+++ hplip-3.20.3/prnt/hpps/hppsfilter.c 2020-03-25 01:10:15.610058293 +0000
|
||||
@@ -104,7 +104,7 @@ static void open_tempbookletfile(char *m
|
||||
if(ptempbooklet_file == NULL)
|
||||
{
|
||||
fprintf(stderr, "ERROR: Unable to open temp file %s\n", temp_filename);
|
||||
- return 1;
|
||||
+ return;
|
||||
}
|
||||
chmod(temp_filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
|
||||
--- hplip-3.20.3/scan/sane/hpaio.c.orig 2020-03-25 01:24:15.558732638 +0000
|
||||
+++ hplip-3.20.3/scan/sane/hpaio.c 2020-03-25 02:48:36.097054366 +0000
|
||||
@@ -406,20 +406,34 @@ extern SANE_Status sane_hpaio_open(SANE_
|
||||
|
|
|
|||
|
|
@ -1,53 +0,0 @@
|
|||
From 839a216f17ce17a5667eecd54de2a70b1383df2c Mon Sep 17 00:00:00 2001
|
||||
From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
|
||||
Date: Wed, 5 Jan 2022 21:57:06 -0500
|
||||
Subject: [PATCH 1/2] Info dlg: Use QDateTime.toString()
|
||||
|
||||
---
|
||||
ui5/infodialog.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ui5/infodialog.py b/ui5/infodialog.py
|
||||
index 0de62fb..eaa846d 100644
|
||||
--- a/ui5/infodialog.py
|
||||
+++ b/ui5/infodialog.py
|
||||
@@ -186,7 +186,7 @@ class InfoDialog(QDialog, Ui_Dialog):
|
||||
for row, h in enumerate(history):
|
||||
dt = QDateTime()
|
||||
dt.setTime_t(int(h.timedate))
|
||||
- dt = value_str(dt)
|
||||
+ dt = value_str(dt.toString())
|
||||
|
||||
ess = device.queryString(h.event_code, 0)
|
||||
|
||||
--
|
||||
2.33.1
|
||||
|
||||
From f6e7ab1542afe7fbcd2d29b6cb15b97484e3779c Mon Sep 17 00:00:00 2001
|
||||
From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
|
||||
Date: Wed, 5 Jan 2022 21:56:39 -0500
|
||||
Subject: [PATCH 2/2] value_str: Handle QDateTime correctly
|
||||
|
||||
---
|
||||
ui5/ui_utils.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ui5/ui_utils.py b/ui5/ui_utils.py
|
||||
index caba339..225ca1c 100644
|
||||
--- a/ui5/ui_utils.py
|
||||
+++ b/ui5/ui_utils.py
|
||||
@@ -105,7 +105,10 @@ def value_str(data):
|
||||
if data is None:
|
||||
return ""
|
||||
try:
|
||||
- if not PY3:
|
||||
+ if PY3:
|
||||
+ if isinstance(data, QDateTime):
|
||||
+ data = data.toString()
|
||||
+ else:
|
||||
try:
|
||||
data = data.toString()
|
||||
except AttributeError as e:
|
||||
--
|
||||
2.33.1
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/scan/sane/ledmi.h b/scan/sane/ledmi.h
|
||||
index a987c5d..f72847b 100644
|
||||
--- a/scan/sane/ledmi.h
|
||||
+++ b/scan/sane/ledmi.h
|
||||
@@ -162,7 +162,7 @@ struct ledm_session
|
||||
int bb_open(struct ledm_session*);
|
||||
int bb_close(struct ledm_session*);
|
||||
int bb_get_parameters(struct ledm_session*, SANE_Parameters*, int);
|
||||
-int bb_is_paper_in_adf(); /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
|
||||
+int bb_is_paper_in_adf(struct ledm_session*); /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
|
||||
SANE_Status bb_start_scan(struct ledm_session*);
|
||||
int bb_get_image_data(struct ledm_session*, int);
|
||||
int bb_end_page(struct ledm_session*, int);
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
|
||||
index 79f8fa8..28a77b3 100644
|
||||
--- a/ui5/devmgr5.py
|
||||
+++ b/ui5/devmgr5.py
|
||||
@@ -816,6 +816,9 @@ class DevMgr5(Ui_MainWindow_Derived, Ui_MainWindow, QMainWindow):
|
||||
|
||||
|
||||
def updateWindowTitle(self):
|
||||
+ if self.cur_device is None or self.cur_device_uri is None:
|
||||
+ return
|
||||
+
|
||||
if self.cur_device.device_type == DEVICE_TYPE_FAX:
|
||||
self.setWindowTitle(self.__tr("HP Device Manager - %s (Fax)"%self.cur_device.model_ui))
|
||||
else:
|
||||
@@ -1876,6 +1879,9 @@ class DevMgr5(Ui_MainWindow_Derived, Ui_MainWindow, QMainWindow):
|
||||
|
||||
|
||||
def updatePrintControlTab(self):
|
||||
+ if self.cur_device is None or self.cur_printer is None:
|
||||
+ return
|
||||
+
|
||||
if self.cur_device.device_type == DEVICE_TYPE_PRINTER:
|
||||
self.PrintControlPrinterNameLabel.setText(self.__tr("Printer Name:"))
|
||||
self.groupBox.setTitle(QApplication.translate("MainWindow", "Printer Queue Control", None))
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
|
||||
index 57d1dde..3475929 100644
|
||||
--- a/scan/sane/hpaio.c
|
||||
+++ b/scan/sane/hpaio.c
|
||||
@@ -379,7 +379,7 @@ extern SANE_Status sane_hpaio_get_devices(const SANE_Device ***deviceList, SANE_
|
||||
ResetDeviceList(&DeviceList);
|
||||
DevDiscovery(localOnly);
|
||||
*deviceList = (const SANE_Device **)DeviceList;
|
||||
- SANE_Device*** devList;
|
||||
+ const SANE_Device*** devList;
|
||||
orblite_get_devices(devList, localOnly);
|
||||
|
||||
return SANE_STATUS_GOOD;
|
||||
diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
|
||||
index 2eb7aba..4eaa468 100644
|
||||
--- a/scan/sane/orblite.c
|
||||
+++ b/scan/sane/orblite.c
|
||||
@@ -64,28 +64,28 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
|
||||
SANE_NAME_SCAN_TL_X, SANE_TITLE_SCAN_TL_X, SANE_DESC_SCAN_TL_X, // name, title, desc
|
||||
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeLeft // constraint_type, constraint
|
||||
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeLeft // constraint_type, constraint
|
||||
},
|
||||
|
||||
{
|
||||
SANE_NAME_SCAN_TL_Y, SANE_TITLE_SCAN_TL_Y, SANE_DESC_SCAN_TL_Y, // name, title, desc
|
||||
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeTop // constraint_type, constraint
|
||||
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeTop // constraint_type, constraint
|
||||
},
|
||||
|
||||
{
|
||||
SANE_NAME_SCAN_BR_X, SANE_TITLE_SCAN_BR_X, SANE_DESC_SCAN_BR_X, // name, title, desc
|
||||
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeRight // constraint_type, constraint
|
||||
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeRight // constraint_type, constraint
|
||||
},
|
||||
|
||||
{
|
||||
SANE_NAME_SCAN_BR_Y, SANE_TITLE_SCAN_BR_Y, SANE_DESC_SCAN_BR_Y, // name, title, desc
|
||||
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeBottom // constraint_type, constraint
|
||||
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeBottom // constraint_type, constraint
|
||||
},
|
||||
|
||||
// optResolution, // resolution group
|
||||
@@ -93,7 +93,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
|
||||
SANE_NAME_SCAN_RESOLUTION, SANE_TITLE_SCAN_RESOLUTION, SANE_DESC_SCAN_RESOLUTION, // name, title, desc
|
||||
SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word), // type, unit, size,
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // constraint type, constraint
|
||||
+ SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions // constraint type, constraint
|
||||
},
|
||||
|
||||
// optMode, // color/depth group
|
||||
@@ -101,7 +101,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
|
||||
SANE_NAME_SCAN_MODE, SANE_TITLE_SCAN_MODE, SANE_DESC_SCAN_MODE, // name, title, desc
|
||||
SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_modes // constraint type, constraint
|
||||
+ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_modes // constraint type, constraint
|
||||
},
|
||||
|
||||
// optSource,
|
||||
@@ -109,7 +109,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
|
||||
SANE_NAME_SCAN_SOURCE, SANE_TITLE_SCAN_SOURCE, SANE_DESC_SCAN_SOURCE, // name, title, desc
|
||||
SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_sources // constraint type, constraint
|
||||
+ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_sources // constraint type, constraint
|
||||
},
|
||||
|
||||
// optPaperSize,
|
||||
@@ -117,7 +117,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
|
||||
SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, SANE_DESC_PAPER_SIZE, // name, title, desc
|
||||
SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_paper_sizes // constraint type, constraint
|
||||
+ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_paper_sizes // constraint type, constraint
|
||||
},
|
||||
|
||||
// optPaperSize,
|
||||
@@ -125,7 +125,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
|
||||
SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, SANE_DESC_PAPER_SIZE, // name, title, desc
|
||||
SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word), // type, unit, size,
|
||||
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
|
||||
- SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // constraint type, constraint
|
||||
+ SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions // constraint type, constraint
|
||||
},
|
||||
#ifdef NOTDEF
|
||||
// default template
|
||||
@@ -274,6 +274,7 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * handle)
|
||||
SANE_Auth_Callback authorize;
|
||||
const SANE_Device *** device_list;
|
||||
SANE_Bool local_only;
|
||||
+ void * temp_handle;
|
||||
|
||||
|
||||
// Allocate handle, set all handle values to zero
|
||||
@@ -305,7 +306,9 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * handle)
|
||||
if (stat != SANE_STATUS_GOOD)
|
||||
return stat;
|
||||
|
||||
- stat = g_handle->bb_orblite_open(devicename, &g_handle);
|
||||
+ temp_handle = g_handle;
|
||||
+ stat = g_handle->bb_orblite_open(devicename, &temp_handle);
|
||||
+ g_handle = temp_handle;
|
||||
if (stat == SANE_STATUS_GOOD)
|
||||
*handle = g_handle;
|
||||
|
||||
|
|
@ -10,3 +10,47 @@ index 99bda7b..0f90f92 100644
|
|||
self.prev_length = len(y)
|
||||
self.spinner_pos = (self.spinner_pos + 1) % 8
|
||||
|
||||
diff --git a/base/validation.py b/base/validation.py
|
||||
index ee6b05a..5e955dc 100644
|
||||
--- a/base/validation.py
|
||||
+++ b/base/validation.py
|
||||
@@ -42,8 +42,11 @@ class DigiSign_Verification(object):
|
||||
|
||||
|
||||
class GPG_Verification(DigiSign_Verification):
|
||||
- def __init__(self, pgp_site = 'pgp.mit.edu', key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
|
||||
- self.__pgp_site = pgp_site
|
||||
+ def __init__(self, keyservers = ['keyserver.ubuntu.com',
|
||||
+ 'pgp.surf.nl',
|
||||
+ 'pgp.mit.edu'],
|
||||
+ key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
|
||||
+ self.__keyservers = keyservers
|
||||
self.__key = key
|
||||
self.__gpg = utils.which('gpg',True)
|
||||
|
||||
@@ -82,13 +85,18 @@ class GPG_Verification(DigiSign_Verification):
|
||||
|
||||
|
||||
def __acquire_gpg_key(self):
|
||||
-
|
||||
- cmd = '%s --homedir %s --no-permission-warning --keyserver %s --recv-keys 0x%X' \
|
||||
- % (self.__gpg, self.__gpg_dir, self.__pgp_site, self.__key)
|
||||
-
|
||||
- log.info("Receiving digital keys: %s" % cmd)
|
||||
- status, output = utils.run(cmd)
|
||||
- log.debug(output)
|
||||
+ for kserver in self.__keyservers:
|
||||
+ cmd = '%s --homedir %s --no-permission-warning --keyserver %s --recv-keys 0x%X' \
|
||||
+ % (self.__gpg, self.__gpg_dir, kserver, self.__key)
|
||||
+
|
||||
+ log.info("Receiving digital keys: %s" % cmd)
|
||||
+ status, output = utils.run(cmd)
|
||||
+ log.debug(output)
|
||||
+
|
||||
+ if not status:
|
||||
+ break
|
||||
+ log.info("Receiving keys from {} failed, trying the next keyserver."
|
||||
+ .format(kserver))
|
||||
|
||||
self.__change_owner(True)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/base/utils.py b/base/utils.py
|
||||
index e2de550..55848b8 100644
|
||||
--- a/base/utils.py
|
||||
+++ b/base/utils.py
|
||||
@@ -474,7 +474,7 @@ def sort_dict_by_value(d):
|
||||
|
||||
|
||||
def commafy(val):
|
||||
- return locale.format("%s", val, grouping=True)
|
||||
+ return locale.format_string("%s", val, grouping=True)
|
||||
|
||||
|
||||
def format_bytes(s, show_bytes=False):
|
||||
26
hplip-no-readfp.patch
Normal file
26
hplip-no-readfp.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
diff --git a/base/g.py b/base/g.py
|
||||
index 0aa0e2e..96b3131 100644
|
||||
--- a/base/g.py
|
||||
+++ b/base/g.py
|
||||
@@ -128,7 +128,7 @@ class ConfigBase(object):
|
||||
try:
|
||||
fp = open(self.filename, "r")
|
||||
try:
|
||||
- self.conf.readfp(fp)
|
||||
+ self.conf.read_file(fp, self.filename)
|
||||
except configparser.MissingSectionHeaderError:
|
||||
print("")
|
||||
log.error("Found No Section in %s. Please set the http proxy for root and try again." % self.filename)
|
||||
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
|
||||
index 3110a0f..3761f89 100644
|
||||
--- a/ui5/devmgr5.py
|
||||
+++ b/ui5/devmgr5.py
|
||||
@@ -1072,7 +1072,7 @@ class DevMgr5(Ui_MainWindow_Derived, Ui_MainWindow, QMainWindow):
|
||||
|
||||
hplip_conf = configparser.ConfigParser()
|
||||
fp = open("/etc/hp/hplip.conf", "r")
|
||||
- hplip_conf.readfp(fp)
|
||||
+ hplip_conf.read_file(fp, "/etc/hp/hplip.conf")
|
||||
fp.close()
|
||||
|
||||
try:
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
diff --git a/base/device.py b/base/device.py
|
||||
index 2fdb29c..ca0d97e 100644
|
||||
--- a/base/device.py
|
||||
+++ b/base/device.py
|
||||
@@ -2526,9 +2526,9 @@ Content-length: %d\r
|
||||
data = None
|
||||
|
||||
log.debug("Opening: %s" % url2)
|
||||
- opener = LocalOpener({})
|
||||
+ opener = LocalOpener()
|
||||
try:
|
||||
- f = opener.open(url2, data)
|
||||
+ f = opener.open_hp(url2, data)
|
||||
|
||||
except Error:
|
||||
log.error("Status read failed: %s" % url2)
|
||||
@@ -2548,7 +2548,7 @@ Content-length: %d\r
|
||||
try:
|
||||
url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), url)
|
||||
data = self
|
||||
- opener = LocalOpenerEWS_LEDM({})
|
||||
+ opener = LocalOpenerEWS_LEDM()
|
||||
try:
|
||||
if footer:
|
||||
return opener.open_hp(url2, data, footer)
|
||||
@@ -2563,7 +2563,7 @@ Content-length: %d\r
|
||||
try:
|
||||
url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), url)
|
||||
data = self
|
||||
- opener = LocalOpener_LEDM({})
|
||||
+ opener = LocalOpener_LEDM()
|
||||
try:
|
||||
if footer:
|
||||
return opener.open_hp(url2, data, footer)
|
||||
@@ -2580,7 +2580,7 @@ Content-length: %d\r
|
||||
url="/cdm/supply/v1/suppliesPublic"
|
||||
url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), url)
|
||||
data = self
|
||||
- opener = LocalOpener_CDM({})
|
||||
+ opener = LocalOpener_CDM()
|
||||
try:
|
||||
if footer:
|
||||
return opener.open_hp(url2, data, footer)
|
||||
@@ -2688,7 +2688,7 @@ Content-length: %d\r
|
||||
|
||||
|
||||
# URLs: hp:/usb/HP_LaserJet_3050?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
|
||||
-class LocalOpener(urllib_request.URLopener):
|
||||
+class LocalOpener():
|
||||
def open_hp(self, url, dev):
|
||||
log.debug("open_hp(%s)" % url)
|
||||
|
||||
@@ -2718,7 +2718,7 @@ class LocalOpener(urllib_request.URLopener):
|
||||
return response#.fp
|
||||
|
||||
# URLs: hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
|
||||
-class LocalOpenerEWS_LEDM(urllib_request.URLopener):
|
||||
+class LocalOpenerEWS_LEDM():
|
||||
def open_hp(self, url, dev, foot=""):
|
||||
log.debug("open_hp(%s)" % url)
|
||||
|
||||
@@ -2744,7 +2744,7 @@ class LocalOpenerEWS_LEDM(urllib_request.URLopener):
|
||||
|
||||
|
||||
# URLs: hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
|
||||
-class LocalOpener_LEDM(urllib_request.URLopener):
|
||||
+class LocalOpener_LEDM():
|
||||
def open_hp(self, url, dev, foot=""):
|
||||
log.debug("open_hp(%s)" % url)
|
||||
|
||||
@@ -2771,7 +2771,7 @@ class LocalOpener_LEDM(urllib_request.URLopener):
|
||||
|
||||
|
||||
# URLs: hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
|
||||
-class LocalOpener_CDM(urllib_request.URLopener):
|
||||
+class LocalOpener_CDM():
|
||||
def open_hp(self, url, dev, foot=""):
|
||||
log.debug("open_hp(%s)" % url)
|
||||
match_obj = http_pat_url.search(url)
|
||||
|
|
@ -1,13 +1,29 @@
|
|||
diff -up hplip-3.25.6/Makefile.am.pcardext-disable hplip-3.25.6/Makefile.am
|
||||
--- hplip-3.25.6/Makefile.am.pcardext-disable 2025-08-11 12:52:35.359621088 +0200
|
||||
+++ hplip-3.25.6/Makefile.am 2025-08-11 12:54:58.654515582 +0200
|
||||
@@ -306,14 +306,6 @@ if !HPLIP_CLASS_DRIVER
|
||||
The pcardext Python extension cannot be loaded because it has not been
|
||||
ported to Python 3:
|
||||
|
||||
>>> import pcardext
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
ImportError: /usr/lib64/python3.11/site-packages/pcardext.so: undefined symbol: PyString_AsStringAndSize
|
||||
>>>
|
||||
|
||||
Stop building this extension because it breaks the build if the
|
||||
compiler lacks support for implicit function declarations.
|
||||
|
||||
Bug: <https://bugzilla.redhat.com/show_bug.cgi?id=2148210>
|
||||
|
||||
Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index ddac16a9dd514008..15d953af9150c09e 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -306,13 +306,6 @@ if !HPLIP_CLASS_DRIVER
|
||||
pcarddir = $(hplipdir)/pcard
|
||||
dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
|
||||
|
||||
-# pcardext
|
||||
-pcardextdir = $(PYTHONEXECDIR)
|
||||
-pcardextdir = $(PYTHONEXECDIR)
|
||||
-pcardextdir = $(pyexecdir)
|
||||
-pcardext_LTLIBRARIES = pcardext.la
|
||||
-pcardext_la_LDFLAGS = -module -avoid-version
|
||||
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ index 56683fb..031ceec 100755
|
|||
- cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,src)
|
||||
+ curl = utils.which("curl", True)
|
||||
+ if curl:
|
||||
+ cmd = "%s --create-dirs -O --output-dir %s --location %s" % (curl,self.__plugin_path,src)
|
||||
+ cmd = "%s --create-dirs -O --output-dir %s %s" % (curl,self.__plugin_path,src)
|
||||
log.debug(cmd)
|
||||
status, output = utils.run(cmd)
|
||||
- log.debug("wget returned: %d" % status)
|
||||
|
|
@ -43,7 +43,7 @@ index 56683fb..031ceec 100755
|
|||
src = os.path.join(PLUGIN_FALLBACK_LOCATION, self.__plugin_name)
|
||||
log.info("Plugin is not accessible. Trying to download it from fallback location: [%s]" % src)
|
||||
- cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,src)
|
||||
+ cmd = "%s --create-dirs -O --output-dir %s --location %s" % (curl,self.__plugin_path,src)
|
||||
+ cmd = "%s --create-dirs -O --output-dir %s %s" % (curl,self.__plugin_path,src)
|
||||
log.debug(cmd)
|
||||
status, output = utils.run(cmd)
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ index 56683fb..031ceec 100755
|
|||
status, filename = utils.download_from_network(digsig_url, digsig_file, True)
|
||||
else:
|
||||
- cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,digsig_url)
|
||||
+ cmd = "%s --create-dirs -O --output-dir %s --location %s" % (curl, self.__plugin_path,digsig_url)
|
||||
+ cmd = "%s --create-dirs -O --output-dir %s %s" % (curl, self.__plugin_path,digsig_url)
|
||||
log.debug(cmd)
|
||||
status, output = utils.run(cmd)
|
||||
except IOError as e:
|
||||
|
|
|
|||
|
|
@ -1,41 +0,0 @@
|
|||
diff --git a/base/os_utils.py b/base/os_utils.py
|
||||
index 82a8b42..d918822 100644
|
||||
--- a/base/os_utils.py
|
||||
+++ b/base/os_utils.py
|
||||
@@ -26,6 +26,7 @@ import locale
|
||||
import stat
|
||||
import subprocess
|
||||
import shlex
|
||||
+import sys
|
||||
|
||||
#Local
|
||||
from . import logger
|
||||
@@ -37,17 +38,22 @@ def execute(cmd):
|
||||
try:
|
||||
# Use shlex.split to safely split the command into arguments
|
||||
args = shlex.split(cmd)
|
||||
- process = subprocess.Popen(args,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
+ process = subprocess.Popen(args,stdout=sys.stdout, stderr=sys.stderr, stdin=sys.stdin)
|
||||
process.wait()
|
||||
stdout, stderr = process.communicate()
|
||||
- log.debug(f"Command executed: {cmd}\n{stdout.decode()}")
|
||||
+
|
||||
+ log.debug(f"Command executed: {cmd}{f'\n{stdout.decode()}' if stdout else ''}")
|
||||
+
|
||||
if process.returncode != 0:
|
||||
- error_message = f"Command failed with return code {process.returncode}: {cmd}\n{stderr.decode()}"
|
||||
- log.error(error_message)
|
||||
+ log.error(f"Command failed with return code" \
|
||||
+ f"{process.returncode}: {cmd}" \
|
||||
+ f"{f'\n{stderr.decode()}' if stderr else ''}")
|
||||
+
|
||||
return process.returncode
|
||||
except subprocess.CalledProcessError as e:
|
||||
- error_message = f"Command failed with return code {e.returncode}: {cmd}\n{e.stderr.decode()}"
|
||||
- log.error(error_message)
|
||||
+ log.error(f"Command failed with return code" \
|
||||
+ f"{e.returncode}: {cmd}" \
|
||||
+ f"{f'\n{e.stderr.decode()}' if e.stderr else ''}")
|
||||
return e.returncode
|
||||
except Exception as e:
|
||||
log.error(f"Error executing command: {cmd}\n{str(e)}")
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
diff --git a/scan.py b/scan.py
|
||||
index b262ef2..cb0ffc1 100755
|
||||
--- a/scan.py
|
||||
+++ b/scan.py
|
||||
@@ -83,7 +83,7 @@ edge_erase_value = 0
|
||||
contrast = 0
|
||||
set_contrast = False
|
||||
|
||||
-page_size = ''
|
||||
+page_size = 'a4'
|
||||
size_desc = ''
|
||||
page_units = 'mm'
|
||||
default_res = 300
|
||||
@@ -1615,7 +1615,7 @@ try:
|
||||
else:
|
||||
im = im.convert("RGB")
|
||||
|
||||
- #im = imageprocessing.resize_to_scan_area(im,PAGE_SIZES[size],res)
|
||||
+ #im = imageprocessing.resize_to_scan_area(im,PAGE_SIZES[page_size],res)
|
||||
if barcode_count>0:
|
||||
if barcode_first_occurence == True:
|
||||
if barcode_first_page == False:
|
||||
@@ -1718,12 +1718,12 @@ try:
|
||||
#so that the output image size matches with the input scan area
|
||||
#for Flatbad
|
||||
if im:
|
||||
- im = imageprocessing.resize_to_scan_area(im,PAGE_SIZES[size],res)
|
||||
+ im = imageprocessing.resize_to_scan_area(im,PAGE_SIZES[page_size],res)
|
||||
"""
|
||||
#for ADF
|
||||
for Image_file in adf_page_files:
|
||||
image = Image.open(Image_file)
|
||||
- resized_image = imageprocessing.resize_to_scan_area(image,PAGE_SIZES[size],res)
|
||||
+ resized_image = imageprocessing.resize_to_scan_area(image,PAGE_SIZES[page_size],res)
|
||||
resized_image.save(Image_file)
|
||||
"""
|
||||
if adf and (save_file =='jpg' or save_file == 'png' or save_file == 'tiff' or save_file == 'pdf' or save_file == 'bmp'):
|
||||
51
hplip-snprintf-format.patch
Normal file
51
hplip-snprintf-format.patch
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
diff -up hplip-3.23.3/protocol/hp_ipp.c.snprintf-format hplip-3.23.3/protocol/hp_ipp.c
|
||||
--- hplip-3.23.3/protocol/hp_ipp.c.snprintf-format 2023-03-28 09:26:11.000000000 +0200
|
||||
+++ hplip-3.23.3/protocol/hp_ipp.c 2023-05-29 14:21:30.872871575 +0200
|
||||
@@ -108,10 +108,10 @@ int addCupsPrinter(char *name, char *dev
|
||||
goto abort;
|
||||
}
|
||||
|
||||
- if ( info == NULL )
|
||||
- snprintf( info,sizeof(info), name );
|
||||
+ if ( info == NULL )
|
||||
+ info = name;
|
||||
|
||||
- sprintf(printer_uri, "ipp://localhost/printers/%s", name);
|
||||
+ snprintf( printer_uri, sizeof(printer_uri), "ipp://localhost/printers/%s", name);
|
||||
|
||||
cupsSetUser("root");
|
||||
/* Connect to the HTTP server */
|
||||
@@ -514,27 +514,27 @@ int __parsePrinterAttributes(ipp_t *resp
|
||||
|
||||
if ( strcmp(attr_name, "printer-name") == 0 &&
|
||||
val_tag == IPP_TAG_NAME ) {
|
||||
- snprintf(t_printer->name, sizeof(t_printer->name),ippGetString(attr, 0, NULL) );
|
||||
+ snprintf(t_printer->name, sizeof(t_printer->name), "%s", ippGetString(attr, 0, NULL));
|
||||
}
|
||||
else if ( strcmp(attr_name, "device-uri") == 0 &&
|
||||
val_tag == IPP_TAG_URI ) {
|
||||
- snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), ippGetString(attr, 0, NULL) );
|
||||
+ snprintf(t_printer->device_uri, sizeof(t_printer->device_uri), "%s", ippGetString(attr, 0, NULL));
|
||||
}
|
||||
else if ( strcmp(attr_name, "printer-uri-supported") == 0 &&
|
||||
val_tag == IPP_TAG_URI ) {
|
||||
- snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), ippGetString(attr, 0, NULL) );
|
||||
+ snprintf(t_printer->printer_uri, sizeof(t_printer->printer_uri), "%s", ippGetString(attr, 0, NULL));
|
||||
}
|
||||
else if ( strcmp(attr_name, "printer-info") == 0 &&
|
||||
val_tag == IPP_TAG_TEXT ) {
|
||||
- snprintf(t_printer->info,sizeof(t_printer->info), ippGetString(attr, 0, NULL) );
|
||||
+ snprintf(t_printer->info, sizeof(t_printer->info), "%s", ippGetString(attr, 0, NULL));
|
||||
}
|
||||
else if ( strcmp(attr_name, "printer-location") == 0 &&
|
||||
val_tag == IPP_TAG_TEXT ) {
|
||||
- snprintf(t_printer->location,sizeof(t_printer->location),ippGetString(attr, 0, NULL) );
|
||||
+ snprintf(t_printer->location, sizeof(t_printer->location), "%s", ippGetString(attr, 0, NULL));
|
||||
}
|
||||
else if ( strcmp(attr_name, "printer-make-and-model") == 0 &&
|
||||
val_tag == IPP_TAG_TEXT ) {
|
||||
- snprintf(t_printer->make_model,sizeof(t_printer->make_model),ippGetString(attr, 0, NULL) );
|
||||
+ snprintf(t_printer->make_model, sizeof(t_printer->make_model), "%s", ippGetString(attr, 0, NULL));
|
||||
}
|
||||
else if ( strcmp(attr_name, "printer-state") == 0 &&
|
||||
val_tag == IPP_TAG_ENUM ) {
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
diff -up hplip-3.25.2/prnt/hpcups/HPCupsFilter.cpp.strncpy hplip-3.25.2/prnt/hpcups/HPCupsFilter.cpp
|
||||
--- hplip-3.25.2/prnt/hpcups/HPCupsFilter.cpp.strncpy 2025-04-11 10:16:00.438702562 +0200
|
||||
+++ hplip-3.25.2/prnt/hpcups/HPCupsFilter.cpp 2025-04-11 10:21:25.088096376 +0200
|
||||
@@ -211,6 +211,7 @@ HPCupsFilter::HPCupsFilter() : m_pPrinte
|
||||
diff -up hplip-3.14.10/prnt/hpcups/HPCupsFilter.cpp.strncpy hplip-3.14.10/prnt/hpcups/HPCupsFilter.cpp
|
||||
--- hplip-3.14.10/prnt/hpcups/HPCupsFilter.cpp.strncpy 2015-01-21 16:52:44.066497631 +0000
|
||||
+++ hplip-3.14.10/prnt/hpcups/HPCupsFilter.cpp 2015-01-21 16:59:46.216434376 +0000
|
||||
@@ -203,6 +203,7 @@ HPCupsFilter::HPCupsFilter() : m_pPrinte
|
||||
adj_k_width = 0;
|
||||
black_raster = NULL;
|
||||
color_raster = NULL;
|
||||
|
|
@ -9,7 +9,7 @@ diff -up hplip-3.25.2/prnt/hpcups/HPCupsFilter.cpp.strncpy hplip-3.25.2/prnt/hpc
|
|||
}
|
||||
|
||||
HPCupsFilter::~HPCupsFilter()
|
||||
@@ -428,15 +429,15 @@ DRIVER_ERROR HPCupsFilter::startPage (cu
|
||||
@@ -384,9 +385,9 @@ DRIVER_ERROR HPCupsFilter::startPage (cu
|
||||
m_JA.media_attributes.physical_height = cups_header->PageSize[1];
|
||||
m_JA.media_attributes.printable_width = ((cups_header->ImagingBoundingBox[2]-cups_header->ImagingBoundingBox[0]) * horz_res) / 72;
|
||||
m_JA.media_attributes.printable_height = ((cups_header->ImagingBoundingBox[3]-cups_header->ImagingBoundingBox[1]) * vert_res) / 72;
|
||||
|
|
@ -20,18 +20,11 @@ diff -up hplip-3.25.2/prnt/hpcups/HPCupsFilter.cpp.strncpy hplip-3.25.2/prnt/hpc
|
|||
+ strncpy(m_JA.media_attributes.MediaTypeName, cups_header->MediaType, sizeof(m_JA.media_attributes.MediaTypeName)-1);
|
||||
+ strncpy(m_JA.quality_attributes.hbpl1_print_quality, cups_header->OutputType, sizeof(m_JA.quality_attributes.hbpl1_print_quality)-1);
|
||||
m_JA.color_mode = cups_header->cupsRowStep;
|
||||
|
||||
if (m_JA.media_attributes.PageSizeName[0] == '\0') {
|
||||
// Copy the value of cups_header->cupsPageSizeName if it isnot null
|
||||
if (cups_header->cupsPageSizeName != nullptr) {
|
||||
- strncpy(m_JA.media_attributes.PageSizeName, cups_header->cupsPageSizeName, sizeof(m_JA.media_attributes.PageSizeName));
|
||||
+ strncpy(m_JA.media_attributes.PageSizeName, cups_header->cupsPageSizeName, sizeof(m_JA.media_attributes.PageSizeName) - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
diff -up hplip-3.25.2/prnt/hpijs/hpijs.cpp.strncpy hplip-3.25.2/prnt/hpijs/hpijs.cpp
|
||||
--- hplip-3.25.2/prnt/hpijs/hpijs.cpp.strncpy 2025-04-11 10:16:00.434453252 +0200
|
||||
+++ hplip-3.25.2/prnt/hpijs/hpijs.cpp 2025-04-11 10:16:00.501228045 +0200
|
||||
else {
|
||||
diff -up hplip-3.14.10/prnt/hpijs/hpijs.cpp.strncpy hplip-3.14.10/prnt/hpijs/hpijs.cpp
|
||||
--- hplip-3.14.10/prnt/hpijs/hpijs.cpp.strncpy 2015-01-21 17:00:03.225512410 +0000
|
||||
+++ hplip-3.14.10/prnt/hpijs/hpijs.cpp 2015-01-21 17:04:59.308870785 +0000
|
||||
@@ -605,7 +605,7 @@ int main (int argc, char *argv[], char *
|
||||
}
|
||||
|
||||
|
|
@ -41,9 +34,9 @@ diff -up hplip-3.25.2/prnt/hpijs/hpijs.cpp.strncpy hplip-3.25.2/prnt/hpijs/hpijs
|
|||
|
||||
#ifdef HAVE_LIBHPIP
|
||||
char *pDev;
|
||||
diff -up hplip-3.25.2/prnt/hpijs/hpijsfax.cpp.strncpy hplip-3.25.2/prnt/hpijs/hpijsfax.cpp
|
||||
--- hplip-3.25.2/prnt/hpijs/hpijsfax.cpp.strncpy 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/prnt/hpijs/hpijsfax.cpp 2025-04-11 10:16:00.501403513 +0200
|
||||
diff -up hplip-3.14.10/prnt/hpijs/hpijsfax.cpp.strncpy hplip-3.14.10/prnt/hpijs/hpijsfax.cpp
|
||||
--- hplip-3.14.10/prnt/hpijs/hpijsfax.cpp.strncpy 2015-01-21 17:05:06.585904171 +0000
|
||||
+++ hplip-3.14.10/prnt/hpijs/hpijsfax.cpp 2015-01-21 17:05:15.787946389 +0000
|
||||
@@ -282,7 +282,7 @@ int hpijsFaxServer (int argc, char **arg
|
||||
char user_name[32]={0,};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
diff -up hplip-3.25.2/base/device.py.raw-strings hplip-3.25.2/base/device.py
|
||||
diff -up hplip-3.25.2/base/g.py.raw-strings hplip-3.25.2/base/g.py
|
||||
diff -up hplip-3.25.2/base/LedmWifi.py.raw-strings hplip-3.25.2/base/LedmWifi.py
|
||||
--- hplip-3.25.2/base/LedmWifi.py.raw-strings 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/base/LedmWifi.py 2025-04-11 10:26:18.519166530 +0200
|
||||
diff --git a/base/LedmWifi.py b/base/LedmWifi.py
|
||||
index f63a050..074d5a2 100644
|
||||
--- a/base/LedmWifi.py
|
||||
+++ b/base/LedmWifi.py
|
||||
@@ -31,7 +31,7 @@ from .g import *
|
||||
from . import device, utils
|
||||
from .sixext import to_bytes_utf8
|
||||
|
|
@ -12,12 +11,136 @@ diff -up hplip-3.25.2/base/LedmWifi.py.raw-strings hplip-3.25.2/base/LedmWifi.py
|
|||
HTTP_OK = 200
|
||||
HTTP_ACCEPTED = 202
|
||||
HTTP_NOCONTENT = 204
|
||||
diff -up hplip-3.25.2/base/logger.py.raw-strings hplip-3.25.2/base/logger.py
|
||||
diff -up hplip-3.25.2/base/models.py.raw-strings hplip-3.25.2/base/models.py
|
||||
diff -up hplip-3.25.2/base/password.py.raw-strings hplip-3.25.2/base/password.py
|
||||
diff -up hplip-3.25.2/base/queues.py.raw-strings hplip-3.25.2/base/queues.py
|
||||
--- hplip-3.25.2/base/queues.py.raw-strings 2025-04-11 10:26:18.512773352 +0200
|
||||
+++ hplip-3.25.2/base/queues.py 2025-04-11 10:26:18.520514306 +0200
|
||||
diff --git a/base/device.py b/base/device.py
|
||||
index fbe6c34..a551403 100644
|
||||
--- a/base/device.py
|
||||
+++ b/base/device.py
|
||||
@@ -47,7 +47,7 @@ from . import models, mdns, slp, avahi
|
||||
from .strings import *
|
||||
from .sixext import PY3, to_bytes_utf8, to_unicode, to_string_latin, to_string_utf8, xStringIO
|
||||
|
||||
-http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I)
|
||||
+http_result_pat = re.compile(r"""HTTP/\d.\d\s(\d+)""", re.I)
|
||||
|
||||
HTTP_OK = 200
|
||||
HTTP_ERROR = 500
|
||||
diff --git a/base/g.py b/base/g.py
|
||||
index 96b3131..023aeea 100644
|
||||
--- a/base/g.py
|
||||
+++ b/base/g.py
|
||||
@@ -302,7 +302,7 @@ prop.hpcups_build = to_bool(sys_conf.get('configure', 'hpcups-install', '0'))
|
||||
prop.hpijs_build = to_bool(sys_conf.get('configure', 'hpijs-install', '0'))
|
||||
|
||||
# Spinner, ala Gentoo Portage
|
||||
-spinner = "\|/-\|/-"
|
||||
+spinner = r"\|/-\|/-"
|
||||
spinpos = 0
|
||||
enable_spinner = True
|
||||
|
||||
@@ -352,7 +352,7 @@ def check_extension_module_env(ext_mod):
|
||||
log.error('%s not present in the system. Please re-install HPLIP.' %ext_mod)
|
||||
sys.exit(1)
|
||||
|
||||
- m = re.search('python(\d(\.\d){0,2})', ext_path) #get the python version where the .so file is found
|
||||
+ m = re.search(r'python(\d(\.\d){0,2})', ext_path) #get the python version where the .so file is found
|
||||
ext_ver = xint(m.group(1))
|
||||
|
||||
if ext_ver[0] == 3:
|
||||
diff --git a/base/logger.py b/base/logger.py
|
||||
index dd92a9c..68e4f13 100644
|
||||
--- a/base/logger.py
|
||||
+++ b/base/logger.py
|
||||
@@ -437,10 +437,10 @@ class Logger(object):
|
||||
start = start + " "
|
||||
number_chars = number_chars + 1
|
||||
try:
|
||||
- elem_start = re.findall("(\<\W{0,1}\w+) ?", line)[0]
|
||||
- elem_finished = re.findall("([?|\]\]]*\>)", line)[0]
|
||||
+ elem_start = re.findall(r"(\<\W{0,1}\w+) ?", line)[0]
|
||||
+ elem_finished = re.findall(r"([?|\]\]]*\>)", line)[0]
|
||||
#should not have *
|
||||
- attrs = re.findall("(\S*?\=\".*?\")", line)
|
||||
+ attrs = re.findall(r"(\S*?\=\".*?\")", line)
|
||||
#output.write(start + elem_start)
|
||||
self.log(start+elem_start, level, False)
|
||||
number_chars = len(start + elem_start)
|
||||
diff --git a/base/models.py b/base/models.py
|
||||
index dc6cc39..48dd2ef 100644
|
||||
--- a/base/models.py
|
||||
+++ b/base/models.py
|
||||
@@ -35,7 +35,7 @@ except ImportError:
|
||||
datetime = None
|
||||
|
||||
|
||||
-pat_prod_num = re.compile("""(\d+)""", re.I)
|
||||
+pat_prod_num = re.compile(r"""(\d+)""", re.I)
|
||||
|
||||
TYPE_UNKNOWN = 0
|
||||
TYPE_STRING = 1
|
||||
@@ -427,25 +427,25 @@ class ModelData:
|
||||
}
|
||||
|
||||
self.RE_FIELD_TYPES = {
|
||||
- re.compile('^r(\d+)-agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^r(\d+)-agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^r(\d+)-agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
|
||||
- re.compile('^agent(\d+)-desc', re.IGNORECASE) : TYPE_STR,
|
||||
- re.compile('^agent(\d+)-virgin', re.IGNORECASE) : TYPE_BOOL,
|
||||
- re.compile('^agent(\d+)-dvc', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^agent(\d+)-id', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^agent(\d+)-hp-ink', re.IGNORECASE) : TYPE_BOOL,
|
||||
- re.compile('^agent(\d+)-health-desc', re.IGNORECASE) : TYPE_STR,
|
||||
- re.compile('^agent(\d+)-health$', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^agent(\d+)-known', re.IGNORECASE) : TYPE_BOOL,
|
||||
- re.compile('^agent(\d+)-level', re.IGNORECASE) : TYPE_INT,
|
||||
- re.compile('^agent(\d+)-ack', re.IGNORECASE) : TYPE_BOOL,
|
||||
- re.compile('^agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
|
||||
- re.compile('^in-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
|
||||
- re.compile('^out-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
|
||||
- re.compile('^model(\d+)', re.IGNORECASE) : TYPE_STR,
|
||||
+ re.compile(r'^r(\d+)-agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^r(\d+)-agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^r(\d+)-agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
|
||||
+ re.compile(r'^agent(\d+)-desc', re.IGNORECASE) : TYPE_STR,
|
||||
+ re.compile(r'^agent(\d+)-virgin', re.IGNORECASE) : TYPE_BOOL,
|
||||
+ re.compile(r'^agent(\d+)-dvc', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^agent(\d+)-id', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^agent(\d+)-hp-ink', re.IGNORECASE) : TYPE_BOOL,
|
||||
+ re.compile(r'^agent(\d+)-health-desc', re.IGNORECASE) : TYPE_STR,
|
||||
+ re.compile(r'^agent(\d+)-health$', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^agent(\d+)-known', re.IGNORECASE) : TYPE_BOOL,
|
||||
+ re.compile(r'^agent(\d+)-level', re.IGNORECASE) : TYPE_INT,
|
||||
+ re.compile(r'^agent(\d+)-ack', re.IGNORECASE) : TYPE_BOOL,
|
||||
+ re.compile(r'^agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
|
||||
+ re.compile(r'^in-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
|
||||
+ re.compile(r'^out-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
|
||||
+ re.compile(r'^model(\d+)', re.IGNORECASE) : TYPE_STR,
|
||||
}
|
||||
|
||||
self.TYPE_CACHE = {}
|
||||
diff --git a/base/password.py b/base/password.py
|
||||
index 259bf82..a4ed107 100644
|
||||
--- a/base/password.py
|
||||
+++ b/base/password.py
|
||||
@@ -167,8 +167,8 @@ class Password(object):
|
||||
|
||||
elif i == 1: # TIMEOUT
|
||||
if('true' in cmd and self.__password_prompt_str == ""): # sudo true or su -c "true"
|
||||
- cb = cb.replace("[", "\[")
|
||||
- cb = cb.replace("]", "\]")
|
||||
+ cb = cb.replace("[", r"\[")
|
||||
+ cb = cb.replace("]", r"\]")
|
||||
|
||||
self.__password_prompt_str = cb
|
||||
try:
|
||||
diff --git a/base/queues.py b/base/queues.py
|
||||
index 0818574..8625f53 100755
|
||||
--- a/base/queues.py
|
||||
+++ b/base/queues.py
|
||||
@@ -46,7 +46,7 @@ HPPS = 3
|
||||
HPOTHER = 4
|
||||
|
||||
|
|
@ -36,12 +159,101 @@ diff -up hplip-3.25.2/base/queues.py.raw-strings hplip-3.25.2/base/queues.py
|
|||
except AttributeError:
|
||||
desc = ''
|
||||
|
||||
diff -up hplip-3.25.2/base/status.py.raw-strings hplip-3.25.2/base/status.py
|
||||
diff -up hplip-3.25.2/base/tui.py.raw-strings hplip-3.25.2/base/tui.py
|
||||
diff -up hplip-3.25.2/base/utils.py.raw-strings hplip-3.25.2/base/utils.py
|
||||
diff -up hplip-3.25.2/check.py.raw-strings hplip-3.25.2/check.py
|
||||
--- hplip-3.25.2/check.py.raw-strings 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/check.py 2025-04-11 10:26:18.521601431 +0200
|
||||
diff --git a/base/status.py b/base/status.py
|
||||
index 37c774e..01f455d 100644
|
||||
--- a/base/status.py
|
||||
+++ b/base/status.py
|
||||
@@ -1341,7 +1341,7 @@ def MapPJLErrorCode(error_code, str_code=None):
|
||||
return status_code
|
||||
|
||||
|
||||
-pjl_code_pat = re.compile("""^CODE\s*=\s*(\d.*)$""", re.IGNORECASE)
|
||||
+pjl_code_pat = re.compile(r"""^CODE\s*=\s*(\d.*)$""", re.IGNORECASE)
|
||||
|
||||
|
||||
|
||||
diff --git a/base/tui.py b/base/tui.py
|
||||
index 0f90f92..3b36c65 100644
|
||||
--- a/base/tui.py
|
||||
+++ b/base/tui.py
|
||||
@@ -217,7 +217,7 @@ class ProgressMeter(object):
|
||||
self.progress = 0
|
||||
self.prompt = prompt
|
||||
self.prev_length = 0
|
||||
- self.spinner = "\|/-\|/-*"
|
||||
+ self.spinner = r"\|/-\|/-*"
|
||||
self.spinner_pos = 0
|
||||
self.max_size = ttysize()[1] - len(prompt) - 25
|
||||
self.update(0)
|
||||
diff --git a/base/utils.py b/base/utils.py
|
||||
index 2b631ce..2fb57c4 100644
|
||||
--- a/base/utils.py
|
||||
+++ b/base/utils.py
|
||||
@@ -148,7 +148,7 @@ def get_cups_systemgroup_list():
|
||||
return lis
|
||||
|
||||
try:
|
||||
- lis = ((re.findall('SystemGroup [\w* ]*',fp.read()))[0].replace('SystemGroup ','')).split(' ')
|
||||
+ lis = ((re.findall(r'SystemGroup [\w* ]*',fp.read()))[0].replace('SystemGroup ','')).split(' ')
|
||||
except IndexError:
|
||||
return lis
|
||||
|
||||
@@ -1597,7 +1597,7 @@ def mixin(cls):
|
||||
# ------------------------- Usage Help
|
||||
USAGE_OPTIONS = ("[OPTIONS]", "", "heading", False)
|
||||
USAGE_LOGGING1 = ("Set the logging level:", "-l<level> or --logging=<level>", 'option', False)
|
||||
-USAGE_LOGGING2 = ("", "<level>: none, info\*, error, warn, debug (\*default)", "option", False)
|
||||
+USAGE_LOGGING2 = ("", r"<level>: none, info\*, error, warn, debug (\*default)", "option", False)
|
||||
USAGE_LOGGING3 = ("Run in debug mode:", "-g (same as option: -ldebug)", "option", False)
|
||||
USAGE_LOGGING_PLAIN = ("Output plain text only:", "-t", "option", False)
|
||||
USAGE_ARGS = ("[PRINTER|DEVICE-URI]", "", "heading", False)
|
||||
@@ -1605,13 +1605,13 @@ USAGE_ARGS2 = ("[PRINTER]", "", "heading", False)
|
||||
USAGE_DEVICE = ("To specify a device-URI:", "-d<device-uri> or --device=<device-uri>", "option", False)
|
||||
USAGE_PRINTER = ("To specify a CUPS printer:", "-p<printer> or --printer=<printer>", "option", False)
|
||||
USAGE_BUS1 = ("Bus to probe (if device not specified):", "-b<bus> or --bus=<bus>", "option", False)
|
||||
-USAGE_BUS2 = ("", "<bus>: cups\*, usb\*, net, bt, fw, par\* (\*defaults) (Note: bt and fw not supported in this release.)", 'option', False)
|
||||
+USAGE_BUS2 = ("", r"<bus>: cups\*, usb\*, net, bt, fw, par\* (\*defaults) (Note: bt and fw not supported in this release.)", 'option', False)
|
||||
USAGE_HELP = ("This help information:", "-h or --help", "option", True)
|
||||
USAGE_SPACE = ("", "", "space", False)
|
||||
USAGE_EXAMPLES = ("Examples:", "", "heading", False)
|
||||
USAGE_NOTES = ("Notes:", "", "heading", False)
|
||||
USAGE_STD_NOTES1 = ("If device or printer is not specified, the local device bus is probed and the program enters interactive mode.", "", "note", False)
|
||||
-USAGE_STD_NOTES2 = ("If -p\* is specified, the default CUPS printer will be used.", "", "note", False)
|
||||
+USAGE_STD_NOTES2 = (r"If -p\* is specified, the default CUPS printer will be used.", "", "note", False)
|
||||
USAGE_SEEALSO = ("See Also:", "", "heading", False)
|
||||
USAGE_LANGUAGE = ("Set the language:", "--loc=<lang> or --lang=<lang>. Use --loc=? or --lang=? to see a list of available language codes.", "option", False)
|
||||
USAGE_LANGUAGE2 = ("Set the language:", "--lang=<lang>. Use --lang=? to see a list of available language codes.", "option", False)
|
||||
@@ -1839,7 +1839,7 @@ encoding: utf8
|
||||
|
||||
elif typ == 'man':
|
||||
log.info('.TH "%s" 1 "%s" Linux "User Manuals"' % (crumb, version))
|
||||
- log.info(".SH NAME\n%s \- %s" % (crumb, title))
|
||||
+ log.info(r".SH NAME\n%s \- %s" % (crumb, title))
|
||||
|
||||
for line in text_list:
|
||||
text1, text2, format, trailing_space = line
|
||||
@@ -1938,7 +1938,7 @@ def unescape(text):
|
||||
except KeyError:
|
||||
pass
|
||||
return text # leave as is
|
||||
- return re.sub("&#?\w+;", fixup, text)
|
||||
+ return re.sub(r"&#?\w+;", fixup, text)
|
||||
|
||||
|
||||
# Adds HTML or XML character references and entities from a text string
|
||||
@@ -1991,7 +1991,7 @@ def Is_HPLIP_older_version(installed_version, available_version):
|
||||
log.debug("HPLIP Installed_version=%s Available_version=%s"%(installed_version,available_version))
|
||||
cnt = 0
|
||||
Is_older = False
|
||||
- pat=re.compile('''(\d{1,})([a-z]{1,})''')
|
||||
+ pat=re.compile(r'''(\d{1,})([a-z]{1,})''')
|
||||
try:
|
||||
while cnt <len(installed_array) and cnt <len(available_array):
|
||||
|
||||
diff --git a/check.py b/check.py
|
||||
index 284b88e..86ca832 100755
|
||||
--- a/check.py
|
||||
+++ b/check.py
|
||||
@@ -627,7 +627,7 @@ class DependenciesCheck(object):
|
||||
status, output = utils.run("%s -d03f0:" % lsusb)
|
||||
|
||||
|
|
@ -60,9 +272,10 @@ diff -up hplip-3.25.2/check.py.raw-strings hplip-3.25.2/check.py
|
|||
pat = re.compile('''.*:(.*)''')
|
||||
if pat.search(g):
|
||||
out = out +' '+ pat.search(g).group(1)
|
||||
diff -up hplip-3.25.2/fax/soapfax.py.raw-strings hplip-3.25.2/fax/soapfax.py
|
||||
--- hplip-3.25.2/fax/soapfax.py.raw-strings 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/fax/soapfax.py 2025-04-11 10:26:18.521745824 +0200
|
||||
diff --git a/fax/soapfax.py b/fax/soapfax.py
|
||||
index 9865726..344cb34 100644
|
||||
--- a/fax/soapfax.py
|
||||
+++ b/fax/soapfax.py
|
||||
@@ -42,7 +42,7 @@ from base.sixext import to_bytes_utf8
|
||||
|
||||
# **************************************************************************** #
|
||||
|
|
@ -72,10 +285,34 @@ diff -up hplip-3.25.2/fax/soapfax.py.raw-strings hplip-3.25.2/fax/soapfax.py
|
|||
|
||||
|
||||
TIME_FORMAT_AM_PM = 1
|
||||
diff -up hplip-3.25.2/installer/dcheck.py.raw-strings hplip-3.25.2/installer/dcheck.py
|
||||
diff -up hplip-3.25.2/makeuri.py.raw-strings hplip-3.25.2/makeuri.py
|
||||
--- hplip-3.25.2/makeuri.py.raw-strings 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/makeuri.py 2025-04-11 10:26:18.522024483 +0200
|
||||
diff --git a/installer/dcheck.py b/installer/dcheck.py
|
||||
index a1a4f02..4dbee59 100644
|
||||
--- a/installer/dcheck.py
|
||||
+++ b/installer/dcheck.py
|
||||
@@ -33,8 +33,8 @@ from base.g import *
|
||||
from base import utils, services
|
||||
from base.sixext import to_bytes_utf8
|
||||
|
||||
-ver1_pat = re.compile("""(\d+\.\d+\.\d+)""", re.IGNORECASE)
|
||||
-ver_pat = re.compile("""(\d+.\d+)""", re.IGNORECASE)
|
||||
+ver1_pat = re.compile(r"""(\d+\.\d+\.\d+)""", re.IGNORECASE)
|
||||
+ver_pat = re.compile(r"""(\d+.\d+)""", re.IGNORECASE)
|
||||
PID = 0
|
||||
CMDLINE = 1
|
||||
|
||||
@@ -358,7 +358,7 @@ def get_xsane_version():
|
||||
|
||||
|
||||
if output:
|
||||
- xsane_ver_pat =re.compile('''xsane-(\d{1,}\.\d{1,}).*''')
|
||||
+ xsane_ver_pat =re.compile(r'''xsane-(\d{1,}\.\d{1,}).*''')
|
||||
xsane_ver_info = output.splitlines()[0]
|
||||
if xsane_ver_pat.search(xsane_ver_info):
|
||||
installed_ver = xsane_ver_pat.search(xsane_ver_info).group(1)
|
||||
diff --git a/makeuri.py b/makeuri.py
|
||||
index 4a10de8..6343e31 100755
|
||||
--- a/makeuri.py
|
||||
+++ b/makeuri.py
|
||||
@@ -46,7 +46,7 @@ USAGE = [ (__doc__, "", "name", True),
|
||||
("DEVNODE (parallel only):", '"/dev/parportX", X=0,1,2,...', "option", False),
|
||||
("SERIAL NO. (usb and parallel only):", '"serial no."', "option", True),
|
||||
|
|
@ -85,10 +322,23 @@ diff -up hplip-3.25.2/makeuri.py.raw-strings hplip-3.25.2/makeuri.py
|
|||
("Show the CUPS URI only (quiet mode):", "-c or --cups", "option", False),
|
||||
("Show the SANE URI only (quiet mode):", "-s or --sane", "option", False),
|
||||
("Show the HP Fax URI only (quiet mode):", "-f or --fax", "option", False),
|
||||
diff -up hplip-3.25.2/prnt/cups.py.raw-strings hplip-3.25.2/prnt/cups.py
|
||||
diff -up hplip-3.25.2/probe.py.raw-strings hplip-3.25.2/probe.py
|
||||
--- hplip-3.25.2/probe.py.raw-strings 2025-02-27 13:12:29.000000000 +0100
|
||||
+++ hplip-3.25.2/probe.py 2025-04-11 10:26:18.522312569 +0200
|
||||
diff --git a/prnt/cups.py b/prnt/cups.py
|
||||
index 1ea3099..78b8adc 100644
|
||||
--- a/prnt/cups.py
|
||||
+++ b/prnt/cups.py
|
||||
@@ -168,7 +168,7 @@ CUPS_ERROR_BAD_NAME = 0x0f00
|
||||
CUPS_ERROR_BAD_PARAMETERS = 0x0f01
|
||||
|
||||
nickname_pat = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
|
||||
-pat_cups_error_log = re.compile("""^loglevel\s?(debug|debug2|warn|info|error|none)""", re.I)
|
||||
+pat_cups_error_log = re.compile(r"""^loglevel\s?(debug|debug2|warn|info|error|none)""", re.I)
|
||||
ppd_pat = re.compile(r'''.*hp-(.*?)(-.*)*\.ppd.*''', re.I)
|
||||
ppd_pat1 = re.compile(r'''.*hp-(.*?)(_.*)*\.ppd.*''', re.I)
|
||||
|
||||
diff --git a/probe.py b/probe.py
|
||||
index 2041fb6..2b43ece 100755
|
||||
--- a/probe.py
|
||||
+++ b/probe.py
|
||||
@@ -42,11 +42,11 @@ USAGE = [(__doc__, "", "name", True),
|
||||
("Usage: %s [OPTIONS]" % __mod__, "", "summary", True),
|
||||
utils.USAGE_OPTIONS,
|
||||
|
|
@ -103,10 +353,35 @@ diff -up hplip-3.25.2/probe.py.raw-strings hplip-3.25.2/probe.py
|
|||
("Search:", "-s<search re> or --search=<search re>", "option", False),
|
||||
("", "<search re> must be a valid regular expression (not case sensitive)", "option", False),
|
||||
("Network discovery method:", "-m<method> or --method=<method>: <method> is 'slp'* or 'mdns'.", "option", False),
|
||||
diff -up hplip-3.25.2/scan.py.raw-strings hplip-3.25.2/scan.py
|
||||
diff -up hplip-3.25.2/setup.py.raw-strings hplip-3.25.2/setup.py
|
||||
--- hplip-3.25.2/setup.py.raw-strings 2025-04-11 10:26:18.496992045 +0200
|
||||
+++ hplip-3.25.2/setup.py 2025-04-11 10:26:18.522775511 +0200
|
||||
diff --git a/scan.py b/scan.py
|
||||
index 0bfa6f5..27b8c2e 100755
|
||||
--- a/scan.py
|
||||
+++ b/scan.py
|
||||
@@ -249,9 +249,9 @@ try:
|
||||
extra_options=[utils.USAGE_SPACE,
|
||||
("[OPTIONS] (General)", "", "header", False),
|
||||
("Scan destinations:", "-s<dest_list> or --dest=<dest_list>", "option", False),
|
||||
- ("", "where <dest_list> is a comma separated list containing one or more of: 'file'\*, ", "option", False),
|
||||
+ ("", r"where <dest_list> is a comma separated list containing one or more of: 'file'\*, ", "option", False),
|
||||
("", "'viewer', 'editor', 'pdf', or 'print'. Use only commas between values, no spaces.", "option", False),
|
||||
- ("Scan mode:", "-m<mode> or --mode=<mode>. Where <mode> is 'gray'\*, 'color' or 'lineart'.", "option", False),
|
||||
+ ("Scan mode:", r"-m<mode> or --mode=<mode>. Where <mode> is 'gray'\*, 'color' or 'lineart'.", "option", False),
|
||||
("Scanning resolution:", "-r<resolution_in_dpi> or --res=<resolution_in_dpi> or --resolution=<resolution_in_dpi>", "option", False),
|
||||
("", "where 300 is default.", "option", False),
|
||||
("Image resize:", "--resize=<scale_in_%> (min=1%, max=400%, default=100%)", "option", False),
|
||||
@@ -268,7 +268,7 @@ try:
|
||||
utils.USAGE_SPACE,
|
||||
("[OPTIONS] (Scan area)", "", "header", False),
|
||||
("Specify the units for area/box measurements:", "-t<units> or --units=<units>", "option", False),
|
||||
- ("", "where <units> is 'mm'\*, 'cm', 'in', 'px', or 'pt' ('mm' is default).", "option", False),
|
||||
+ ("", r"where <units> is 'mm'\*, 'cm', 'in', 'px', or 'pt' ('mm' is default).", "option", False),
|
||||
("Scan area:", "-a<tlx>,<tly>,<brx>,<bry> or --area=<tlx>,<tly>,<brx>,<bry>", "option", False),
|
||||
("", "Coordinates are relative to the upper left corner of the scan area.", "option", False),
|
||||
("", "Units for tlx, tly, brx, and bry are specified by -t/--units (default is 'mm').", "option", False),
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 98f57fd..1a74d6d 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -79,11 +79,11 @@ USAGE = [ (__doc__, "", "name", True),
|
||||
utils.USAGE_SPACE,
|
||||
utils.USAGE_OPTIONS,
|
||||
|
|
@ -121,3 +396,25 @@ diff -up hplip-3.25.2/setup.py.raw-strings hplip-3.25.2/setup.py
|
|||
("To specify the device URI to install:", "-d<device> or --device=<device> (--qt4 mode only)", "option", False),
|
||||
("Remove printers or faxes instead of setting-up:", "-r or --rm or --remove", "option", False),
|
||||
utils.USAGE_LANGUAGE,
|
||||
diff --git a/ui5/devmgr_ext.py b/ui5/devmgr_ext.py
|
||||
index 34b4977..6b7a61e 100644
|
||||
--- a/ui5/devmgr_ext.py
|
||||
+++ b/ui5/devmgr_ext.py
|
||||
@@ -12,7 +12,7 @@ class Ui_MainWindow_Derived(object):
|
||||
|
||||
self.latest_available_version = latest_available_version
|
||||
self.Is_autoInstaller_distro = Is_autoInstaller_distro
|
||||
- if self.latest_available_version is not "":
|
||||
+ if self.latest_available_version != "":
|
||||
self.tab_3 = QWidget()
|
||||
self.tab_3.setObjectName("tab_3")
|
||||
self.label = QLabel(self.tab_3)
|
||||
@@ -34,7 +34,7 @@ class Ui_MainWindow_Derived(object):
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
super(Ui_MainWindow_Derived, self).retranslateUi(MainWindow)
|
||||
- if self.latest_available_version is not "":
|
||||
+ if self.latest_available_version != "":
|
||||
self.label.setText(QApplication.translate("MainWindow", "New version of HPLIP-%s is available"%self.latest_available_version, None))
|
||||
self.Tabs.setTabText(self.Tabs.indexOf(self.tab_3), QApplication.translate("MainWindow", "Upgrade", None))
|
||||
if self.Is_autoInstaller_distro:
|
||||
|
|
|
|||
187
hplip.spec
187
hplip.spec
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
Summary: HP Linux Imaging and Printing Project
|
||||
Name: hplip
|
||||
Version: 3.25.8
|
||||
Version: 3.23.8
|
||||
Release: 1%{?dist}
|
||||
# most files (base/*, *, ui*/...) - GPL2+
|
||||
# prnt/hpijs/ jpeg related files - IJG
|
||||
|
|
@ -76,8 +76,6 @@ Patch30: hplip-hpfax-importerror-print.patch
|
|||
Patch31: hplip-wifisetup.patch
|
||||
# pgp.mit.edu keyserver got bad connection, so we need to have pool of keyservers
|
||||
# to choose (Bz#1641100, launchpad#1799212)
|
||||
# F42+ update: HP has new key, and currently only on Ubuntu keyserver - so this patch now
|
||||
# only adjust terminal output, we will see if connection problems reappear
|
||||
Patch32: hplip-keyserver.patch
|
||||
# QMessagebox call was copy-pasted from Qt4 version, but Qt5 has different arguments,
|
||||
# This patch solves most of them
|
||||
|
|
@ -201,62 +199,45 @@ Patch57: hplip-plugin-udevissues.patch
|
|||
# removed
|
||||
# - /lib64/libm.so is not symlink but ld script, which cannot be used in dlopen()
|
||||
Patch58: hplip-no-libhpmud-libm-warnings.patch
|
||||
Patch59: hplip-plugin-script.patch
|
||||
# hplip 3.22.6 doesn't use the correct arguments for snprintf
|
||||
# reported as https://bugs.launchpad.net/hplip/+bug/1982185
|
||||
Patch59: hplip-snprintf-format.patch
|
||||
Patch60: hplip-plugin-script.patch
|
||||
# C99 compatibility fixes by fweimer - use explicit int
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
Patch60: hplip-pserror-c99.patch
|
||||
Patch61: hplip-pserror-c99.patch
|
||||
# C99 compatibility patch by fweimer - several undefined functions in hpaio
|
||||
# backend are declared in orblite.h
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
Patch61: hplip-scan-hpaio-include.patch
|
||||
Patch62: hplip-scan-hpaio-include.patch
|
||||
# C99 compatibility patch by fweimer - undefined _DBG() and dynamic linking funcs in orblite.c
|
||||
# - _DBG() looks like typo and new header is added for funcs
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
Patch62: hplip-scan-orblite-c99.patch
|
||||
Patch63: hplip-scan-orblite-c99.patch
|
||||
# C99 compatibility patch by fweimer:
|
||||
# PyString_AsStringAndSize is removed in Python3, remove its compilation for now
|
||||
# in case there is a request for compiling it again, there is a possible solution
|
||||
# for the function py3 alternative https://opendev.org/openstack/pyeclib/commit/19c8313986
|
||||
# - disabling removes hp-unload and /usr/share/hplip/pcard as well
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
Patch63: hplip-pcardext-disable.patch
|
||||
Patch64: hplip-pcardext-disable.patch
|
||||
# undefined strcasestr() in sclpml.c - build with _GNU_SOURCE
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
Patch64: hplip-sclpml-strcasestr.patch
|
||||
Patch65: hplip-sclpml-strcasestr.patch
|
||||
# 2192131 - parseQueues() doesn't get device uri from 'lpstat -v', because parsing pattern changed
|
||||
# https://bugs.launchpad.net/hplip/+bug/2027972
|
||||
Patch65: hplip-fix-parsing-lpstat.patch
|
||||
Patch67: hplip-fix-parsing-lpstat.patch
|
||||
# switch to curl by downstream patch from wget to workaround openstack dropping IPv6
|
||||
# which causes great delays...
|
||||
# Remove this once internal openstack handles IPv6 better - test by pinging IPv6 in OpenStack,
|
||||
# it should not hang.
|
||||
Patch66: hplip-plugin-curl.patch
|
||||
Patch68: hplip-plugin-curl.patch
|
||||
# 2221311 - [python3.12] hplip tools/binaries crash due depending on removed configparser.readfp()
|
||||
# Upstream https://bugs.launchpad.net/hplip/+bug/2028001
|
||||
Patch69: hplip-no-readfp.patch
|
||||
# fix SyntaxWarning from python3.12
|
||||
# https://bugs.launchpad.net/hplip/+bug/2029480
|
||||
Patch67: hplip-use-raw-strings.patch
|
||||
# FTBFS GCC 14
|
||||
# https://bugs.launchpad.net/hplip/+bug/2048780
|
||||
Patch68: hplip-hpaio-gcc14.patch
|
||||
# format is no longer method in locale module
|
||||
# https://bugs.launchpad.net/hplip/+bug/2045507
|
||||
Patch69: hplip-locale-format.patch
|
||||
# function prototype did not specify argument's data types
|
||||
# https://bugs.launchpad.net/hplip/+bug/2096650
|
||||
Patch70: hplip-gcc15-stdc23.patch
|
||||
# status history table shows unformatted QDateTime values
|
||||
# https://bugs.launchpad.net/hplip/+bug/1956547
|
||||
Patch71: hplip-format-qdatetime.patch
|
||||
# Python 3.14 removed urlopener
|
||||
# https://bugs.launchpad.net/hplip/+bug/2115046
|
||||
Patch72: hplip-no-urlopener.patch
|
||||
# hp-scan command failed to run and gives an error (fedora#2395809)
|
||||
# https://bugs.launchpad.net/hplip/+bug/2124268
|
||||
Patch73: hplip-scan-size.patch
|
||||
# 3.25.8 brings new implementation for calling commands in subprocess,
|
||||
# but again directs I/O into pipes, which does not work for TUI plugin
|
||||
# installation. Additionally it tracebacks if stdout/stderr is None
|
||||
# https://bugs.launchpad.net/hplip/+bug/2110101
|
||||
Patch74: hplip-plugin-stdout.patch
|
||||
Patch70: hplip-use-raw-strings.patch
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} <= 8
|
||||
# mention hplip-gui if you want to have GUI
|
||||
|
|
@ -309,9 +290,6 @@ BuildRequires: sane-backends-devel
|
|||
# macros: %%{_tmpfilesdir}, %%{_udevrulesdir}
|
||||
BuildRequires: systemd
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} <= 8
|
||||
Suggests: hplip-gui
|
||||
%endif
|
||||
# uses avahi-browse for discovering IPP-over-USB printers
|
||||
Recommends: avahi-tools
|
||||
# 1733449 - Scanner on an HP AIO printer is not detected unless libsane-hpaio is installed
|
||||
|
|
@ -325,6 +303,8 @@ Requires: cups
|
|||
# switch to curl by downstream patch from wget to workaround openstack dropping IPv6
|
||||
# which causes great delays...
|
||||
Requires: curl
|
||||
# for bash script acting as hp-plugin (Source7)
|
||||
Requires: gawk
|
||||
# set require directly to /usr/bin/gpg, because gnupg2 and gnupg ships it,
|
||||
# but gnupg will be deprecated in the future
|
||||
Requires: %{_bindir}/gpg
|
||||
|
|
@ -333,8 +313,6 @@ Requires: python3-dbus
|
|||
%if 0%{?rhel} <= 8 || 0%{?fedora}
|
||||
Requires: python3-pillow
|
||||
%endif
|
||||
# user+group lp
|
||||
Requires: setup
|
||||
# /usr/lib/udev/rules.d
|
||||
Requires: systemd
|
||||
# 1788643 - Fedora minimal does not ship tar by default
|
||||
|
|
@ -353,12 +331,14 @@ drivers for HP printers and multi-function peripherals.
|
|||
|
||||
%package common
|
||||
Summary: Files needed by the HPLIP printer and scanner drivers
|
||||
License: GPLv2+
|
||||
|
||||
%description common
|
||||
Files needed by the HPLIP printer and scanner drivers.
|
||||
|
||||
%package libs
|
||||
Summary: HPLIP libraries
|
||||
License: GPLv2+ and MIT
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
Requires: python3
|
||||
|
||||
|
|
@ -368,6 +348,7 @@ Libraries needed by HPLIP.
|
|||
%if 0%{?rhel} <= 8 || 0%{?fedora}
|
||||
%package gui
|
||||
Summary: HPLIP graphical tools
|
||||
License: BSD
|
||||
BuildRequires: libappstream-glib
|
||||
|
||||
# for avahi-browse - looks for devices on local network
|
||||
|
|
@ -388,6 +369,7 @@ HPLIP graphical tools.
|
|||
|
||||
%package -n libsane-hpaio
|
||||
Summary: SANE driver for scanners in HP's multi-function devices
|
||||
License: GPLv2+
|
||||
|
||||
Requires: sane-backends
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
|
@ -581,48 +563,37 @@ done
|
|||
%patch -P 57 -p1 -b .hpplugin-udevperms
|
||||
# 2080235 - Misleading errors about missing shared libraries when scanning
|
||||
%patch -P 58 -p1 -b .no-libm-libhpmud-warn
|
||||
%patch -P 59 -p1 -b .plugin-patch
|
||||
# hplip 3.22.6 doesn't use proper arguments for snprintf
|
||||
%patch -P 59 -p1 -b .snprintf-format
|
||||
%patch -P 60 -p1 -b .plugin-patch
|
||||
# C99 compatibility fixes by fweimer - use explicit int
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
%patch -P 60 -p1 -b .pserror-int
|
||||
%patch -P 61 -p1 -b .pserror-int
|
||||
# C99 compatibility patch by fweimer - several undefined functions in hpaio
|
||||
# backend are declared in orblite.h
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
%patch -P 61 -p1 -b .hpaio-orblite-defs
|
||||
%patch -P 62 -p1 -b .hpaio-orblite-defs
|
||||
# C99 compatibility patch by fweimer - undefined _DBG() and dynamic linking funcs in orblite.c
|
||||
# - _DBG() looks like typo and new header is added for funcs
|
||||
# Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
|
||||
%patch -P 62 -p1 -b .orblite-undefs
|
||||
%patch -P 63 -p1 -b .orblite-undefs
|
||||
# C99 compatibility patch by fweimer - python2 PyString_AsStringAndSize in python3 code
|
||||
# gives undefined reference - removed for now with dependent hp-unload
|
||||
%patch -P 63 -p1 -b .pcardext-disable
|
||||
%patch -P 64 -p1 -b .pcardext-disable
|
||||
# C99 compatibility patch by fweimer - undefined strcasestr() in sclpml.c - build with _GNU_SOURCE
|
||||
%patch -P 64 -p1 -b .sclpml-strcasestr
|
||||
%patch -P 65 -p1 -b .sclpml-strcasestr
|
||||
# 2192131 - parseQueues() doesn't get device uri from 'lpstat -v', because parsing pattern changed
|
||||
# https://bugs.launchpad.net/hplip/+bug/2027972
|
||||
%patch -P 65 -p1 -b .lpstat-parse
|
||||
%patch -P 67 -p1 -b .lpstat-parse
|
||||
# switch to curl by downstream patch from wget to workaround openstack dropping IPv6
|
||||
# which causes great delays...
|
||||
%patch -P 66 -p1 -b .curl-switch
|
||||
%patch -P 68 -p1 -b .curl-switch
|
||||
# 2221311 - [python3.12] hplip tools/binaries crash due depending on removed configparser.readfp()
|
||||
# Upstream https://bugs.launchpad.net/hplip/+bug/2028001
|
||||
%patch -P 69 -p1 -b .no-readfp
|
||||
# fix warnings
|
||||
# upstream https://bugs.launchpad.net/hplip/+bug/2029480
|
||||
%patch -P 67 -p1 -b .raw-strings
|
||||
# FTBFS GCC 14
|
||||
# https://bugs.launchpad.net/hplip/+bug/2048780
|
||||
%patch -P 68 -p1 -b .hpaio-gcc14
|
||||
# format is no longer method in locale module
|
||||
# https://bugs.launchpad.net/hplip/+bug/2045507
|
||||
%patch -P 69 -p1 -b .locale-format
|
||||
# https://bugs.launchpad.net/hplip/+bug/2096650
|
||||
%patch -P 70 -p1 -b .gcc-strc23
|
||||
# https://bugs.launchpad.net/hplip/+bug/1956547
|
||||
%patch -P 71 -p1 -b .format-qdatetime
|
||||
# https://bugs.launchpad.net/hplip/+bug/2115046
|
||||
%patch -P 72 -p1 -b .no-urlopener
|
||||
# https://bugs.launchpad.net/hplip/+bug/2124268
|
||||
%patch -P 73 -p1 -b .scan-size
|
||||
# https://bugs.launchpad.net/hplip/+bug/2110101
|
||||
%patch -P 74 -p1 -b .plugin-stdout
|
||||
%patch -P 70 -p1 -b .raw-strings
|
||||
|
||||
# Fedora specific patches now, don't put a generic patches under it
|
||||
%if 0%{?fedora} || 0%{?rhel} <= 8
|
||||
|
|
@ -994,92 +965,6 @@ find doc/images -type f -exec chmod 644 {} \;
|
|||
%config(noreplace) %{_sysconfdir}/sane.d/dll.d/hpaio
|
||||
|
||||
%changelog
|
||||
* Fri Jan 09 2026 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.8-1
|
||||
- hplip-3.25.8 is available (fedora#2415311)
|
||||
|
||||
* Wed Sep 17 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.6-1
|
||||
- hp-scan command failed to run and gives an error (fedora#2395809)
|
||||
- use new GPG key from HP - new key was used as fix for CVE-2025-43023
|
||||
|
||||
* Tue Aug 12 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.6-1
|
||||
- hplip-3.25.6 is available (fedora#2386814)
|
||||
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.25.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Thu Jun 19 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.2-7
|
||||
- Python 3.14 removed URLopener
|
||||
|
||||
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 3.25.2-6
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Mon May 26 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.2-5
|
||||
- hp-toolbox shows traceback when closing and there is no HP device (fedora#2360501)
|
||||
|
||||
* Mon May 12 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.2-4
|
||||
- plugin.conf now looks to use sha256 as well per email comms with HP, drop the revert
|
||||
|
||||
* Wed May 07 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.2-3
|
||||
- hp-plugin failed checksum due usage of different hashes (fedora#2361230)
|
||||
- output is not seen after installing plugin (fedora#2361230)
|
||||
|
||||
* Wed Apr 16 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.2-2
|
||||
- remove Recommends on hplip-gui due complaint at (fedora#2360020)
|
||||
|
||||
* Fri Apr 11 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.25.2-1
|
||||
- hplip-3.25.2 is available (fedora#2353147)
|
||||
|
||||
* Thu Apr 03 2025 FeRD (Frank Dana) <ferdnyc@gmail.com> - 3.24.5-5
|
||||
- hp-plugin: Use rpm queryformat to get version (no gawk dependency)
|
||||
|
||||
* Thu Apr 03 2025 FeRD (Frank Dana) <ferdnyc@gmail.com> - 3.24.4-5
|
||||
- Use weak rich dependency for hplip-gui
|
||||
|
||||
* Wed Apr 02 2025 FeRD (Frank Dana) <ferdnyc@gmail.com> - 3.24.4-5
|
||||
- Format QDateTime strings in Status History table, elsewhere
|
||||
|
||||
* Wed Apr 02 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.24.4-5
|
||||
- hp-plugin-download did not follow redirections and was missing '-o' in grep
|
||||
|
||||
* Mon Mar 03 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.24.4-4
|
||||
- enable following links with curl in all use cases (fedora#2349177)
|
||||
|
||||
* Tue Feb 11 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.24.4-3
|
||||
- require setup because of lp group
|
||||
|
||||
* Fri Jan 24 2025 Zdenek Dohnal <zdohnal@redhat.com> - 3.24.4-2
|
||||
- fix FTBFS (fedora#2340616)
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Tue Jul 23 2024 Zdenek Dohnal <zdohnal@redhat.com> - 3.24.4-1
|
||||
- 2292623 - hplip-3.24.4 is available
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.23.12-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 3.23.12-7
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Thu Mar 21 2024 Zdenek Dohnal <zdohnal@redhat.com> - 3.23.12-6
|
||||
- hp-plugin-download - curl removed --create-dir parameter
|
||||
|
||||
* Mon Mar 18 2024 Zdenek Dohnal <zdohnal@redhat.com> - 3.23.12-5
|
||||
- 2270031 - hp-firmware: module 'locale' not longer provides method 'format', causing traceback
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.23.12-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.23.12-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Zdenek Dohnal <zdohnal@redhat.com> - 3.23.12-2
|
||||
- add fallback url to hp-plugin-download
|
||||
|
||||
* Mon Jan 08 2024 Zdenek Dohnal <zdohnal@redhat.com> - 3.23.12-1
|
||||
- 2252302 - hplip-3.23.12 is available
|
||||
|
||||
* Tue Oct 03 2023 Zdenek Dohnal <zdohnal@redhat.com> - 3.23.8-1
|
||||
- 2239465 - hplip-3.23.8 is available
|
||||
|
||||
|
|
|
|||
37
plans.fmf
37
plans.fmf
|
|
@ -1,37 +0,0 @@
|
|||
/tier1-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/hplip.git
|
||||
name: /plans/tier1/internal
|
||||
|
||||
/tier1-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/hplip.git
|
||||
name: /plans/tier1/public
|
||||
|
||||
/tier2-tier3-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/hplip.git
|
||||
name: /plans/tier2-tier3/internal
|
||||
|
||||
/tier2-tier3-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/hplip.git
|
||||
name: /plans/tier2-tier3/public
|
||||
|
||||
|
||||
/others-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/hplip.git
|
||||
name: /plans/others/internal
|
||||
|
||||
/others-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/hplip.git
|
||||
name: /plans/others/public
|
||||
|
||||
6
plans/public.fmf
Normal file
6
plans/public.fmf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
summary: Test plan that runs all tests from hplip tests repo.
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/hplip.git
|
||||
execute:
|
||||
how: tmt
|
||||
12
plans/tier1-internal.fmf
Normal file
12
plans/tier1-internal.fmf
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
summary: CI plan, picks internal Tier1 tests, runs in beakerlib.
|
||||
discover:
|
||||
- name: rhel
|
||||
how: fmf
|
||||
filter: 'tier: 1'
|
||||
url: git://pkgs.devel.redhat.com/tests/hplip
|
||||
execute:
|
||||
how: tmt
|
||||
adjust:
|
||||
enabled: false
|
||||
when: distro == centos-stream or distro == fedora
|
||||
because: They don't have access to internal repos.
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
badfuncs:
|
||||
allowed:
|
||||
# printers usually do not live on networks which would require
|
||||
# IPv6 due having too many hosts on one network, so it is not
|
||||
# a priority to have IPv6 support.
|
||||
# It is reported upstream at https://bugzilla.redhat.com/show_bug.cgi?id=2275938
|
||||
/usr/lib*/libhpmud.so.*:
|
||||
- gethostbyname
|
||||
- inet_addr
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (hplip-3.25.8-repack.tar.gz) = e4f82215e2753bee864e5ba643be2ce3566f1691638c35c74016279f92c872713d06e38a066d283f03f3e571d10c8ac2f1539bd32f6bafd1958641d96fe11059
|
||||
SHA512 (hplip-3.23.8-repack.tar.gz) = 07df27ee2389f351c917011c939c221e835bbfe30211bfaa69bbb9b0897bb6cc33ab697b25ac4d614a587be60d96d60b681a51c92e4d8ea60043187275004d2e
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue