Compare commits

...

No commits in common. "imports/c10s/hplip-3.23.12-8.el10" and "c8" have entirely different histories.

90 changed files with 670 additions and 5716 deletions

View File

@ -1 +0,0 @@
1

115
.gitignore vendored
View File

@ -1,114 +1 @@
hplip-0.9.3.tar.gz
hplip-0.9.4.tar.gz
hplip-0.9.5.tar.gz
hplip-0.9.6.tar.gz
hplip-0.9.7.tar.gz
hplip-0.9.8.tar.gz
hplip-0.9.9.tar.gz
hplip-0.9.10.tar.gz
hplip-0.9.11.tar.gz
hplip-1.6.6.tar.gz
hplip-1.6.6a.tar.gz
hplip-1.6.7.tar.gz
hplip-1.6.10.tar.gz
hplip-1.6.12.tar.gz
hplip-1.7.1.tar.gz
hplip-1.7.2.tar.gz
hplip-1.7.4a.tar.gz
hplip-2.7.6.tar.gz
hplip-2.7.7.tar.gz
hplip-2.7.9.tar.gz
hplip-2.7.10.tar.gz
hplip-2.7.12.tar.gz
hplip-2.8.2.tar.gz
hplip-2.8.5.tar.gz
hplip-2.8.6.tar.gz
hplip-2.8.6b.tar.gz
hplip-2.8.7.tar.gz
hplip-2.8.10.tar.gz
hplip-2.8.12.tar.gz
hplip-3.9.2.tar.gz
hplip-3.9.6b.tar.gz
hplip-3.9.8.tar.gz
hplip-3.9.10.tar.gz
hplip-3.9.12.tar.gz
hplip-3.10.2.tar.gz
hpcups-update-ppds.sh
hplip-3.10.5.tar.gz
hplip-3.10.6.tar.gz
/hplip-3.10.9.tar.gz
/hplip-3.11.1.tar.gz
/hplip-3.11.3.tar.gz
/hplip-3.11.3a.tar.gz
/hplip-3.11.5.tar.gz
/hplip-3.11.7.tar.gz
/hplip-3.11.10.tar.gz
/hplip-3.11.12.tar.gz
/hplip-3.12.2.tar.gz
/hplip-3.12.4.tar.gz
/hplip-3.12.6.tar.gz
/hplip-3.12.9.tar.gz
/hplip-3.12.10.tar.gz
/hplip-3.12.10a.tar.gz
/hplip-3.12.11.tar.gz
/hplip-3.13.2.tar.gz
/hplip-3.13.3.tar.gz
/hplip-3.13.4.tar.gz
/hplip-3.13.5.tar.gz
/hplip-3.13.6.tar.gz
/hplip-3.13.7.tar.gz
/hplip-3.13.8.tar.gz
/hplip-3.13.9.tar.gz
/hplip-3.13.10.tar.gz
/hplip-3.13.11.tar.gz
/hplip-3.14.1.tar.gz
/hplip-3.14.3.tar.gz
/hplip-3.14.4.tar.gz
/hplip-3.14.6.tar.gz
/hplip-3.14.10.tar.gz
/hplip-3.15.2.tar.gz
/hplip-3.15.4.tar.gz
/hplip-3.15.6.tar.gz
/hplip-3.15.7.tar.gz
/hplip-3.15.9.tar.gz
/hplip-3.15.11.tar.gz
/hplip-3.16.2.tar.gz
/hplip-3.16.3.tar.gz
/hplip-3.16.5.tar.gz
/hplip-3.16.7.tar.gz
/hplip-3.16.8.tar.gz
/hplip-3.16.9.tar.gz
/hplip-3.16.10.tar.gz
/hplip-3.16.11.tar.gz
/hplip-3.17.4.tar.gz
/hplip-3.17.6.tar.gz
/hplip-3.17.9.tar.gz
/hplip-3.17.10.tar.gz
/hplip-3.17.11.tar.gz
/hplip-3.18.3.tar.gz
/hplip-3.18.4.tar.gz
/hplip-3.18.5.tar.gz
/hplip-3.18.6.tar.gz
/hplip-3.18.12.tar.gz
/hplip-3.19.6.tar.gz
/hplip-3.19.8.tar.gz
/hplip-3.19.10.tar.gz
/hplip-3.19.11.tar.gz
/hplip-3.19.12.tar.gz
/hplip-3.20.2.tar.gz
/hplip-3.20.3.tar.gz
/hplip-3.20.5.tar.gz
/hplip-3.20.6.tar.gz
/hplip-3.20.9.tar.gz
/hplip-3.20.11.tar.gz
/hplip-3.21.2.tar.gz
/hplip-3.21.2-repack.tar.gz
/hplip-3.21.12-repack.tar.gz
/hplip-3.22.2-repack.tar.gz
/hplip-3.22.4-repack.tar.gz
/hplip-3.22.6-repack.tar.gz
/hplip-3.22.10-repack.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
SOURCES/hplip-3.18.4.tar.gz

1
.hplip.metadata Normal file
View File

@ -0,0 +1 @@
ecffcd8287f1bc1491b47e25377ca5d086250798 SOURCES/hplip-3.18.4.tar.gz

View File

@ -1,39 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
index f65afea..12317dc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -167,7 +167,7 @@ if !HPLIP_CLASS_DRIVER
dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
endif #HPLIP_CLASS_DRIVER
-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
dist_noinst_DATA += prnt/ipp-usb/HPLIP.conf
dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
@@ -597,7 +597,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
prnt/hpcups/ImageProcessor.h
hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
+hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
#else
#hpcupsdir = $(cupsfilterdir)
#hpcups_PROGRAMS = hpcups
@@ -687,16 +687,6 @@ endif #HPLIP_CLASS_DRIVER
install-data-hook:
if HPLIP_BUILD
- if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
- cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
- chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
- ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
- fi; \
- if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
- cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
- chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
- ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
- fi
if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
echo "ipp-usb directory exists"; \
cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \

View File

@ -1,417 +0,0 @@
diff -up hplip-3.23.3/ui5/devmgr5.py.qmsgbox-typos-fix hplip-3.23.3/ui5/devmgr5.py
--- hplip-3.23.3/ui5/devmgr5.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/devmgr5.py 2023-05-29 13:48:48.429731297 +0200
@@ -144,8 +144,7 @@ class PluginInstall(QObject):
install_plugin = QMessageBox.warning(self.parent,
self.parent.windowTitle(),
self.__tr("<b>The HPLIP plugin is already installed.</b><p>Do you want to continue and re-install it?"),
- QMessageBox.Yes,
- QMessageBox.No,
+ QMessageBox.Yes | QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes
if install_plugin:
@@ -154,8 +153,7 @@ class PluginInstall(QObject):
QMessageBox.critical(self.parent,
self.parent.windowTitle(),
self.__tr("<b>Unable to find an appropriate su/sudo utility to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>"),
- QMessageBox.Ok,
- QMessageBox.NoButton,
+ QMessageBox.Ok | QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui5/fabwindow.py.qmsgbox-typos-fix hplip-3.23.3/ui5/fabwindow.py
--- hplip-3.23.3/ui5/fabwindow.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/fabwindow.py 2023-05-29 13:48:48.429731297 +0200
@@ -344,7 +344,7 @@ class FABWindow(QMainWindow, Ui_MainWin
new_name = to_unicode(self.NameLineEdit.text())
if new_name != self.name:
if QMessageBox.question(self, self.__tr("Rename?"), "Rename '%s' to '%s'?"%(self.name,new_name), \
- QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
self.db.rename(self.name, new_name)
log.debug("Rename %s to %s" % (self.name, new_name))
diff -up hplip-3.23.3/ui5/nodevicesdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui5/nodevicesdialog.py
--- hplip-3.23.3/ui5/nodevicesdialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/nodevicesdialog.py 2023-05-29 13:48:48.429731297 +0200
@@ -64,8 +64,7 @@ class NoDevicesDialog(QDialog, Ui_NoDevi
QMessageBox.critical(self,
self.windowTitle(),
self.__tr("<b>An error occurred.</b><p>Please re-start the Device Manager and try again."),
- QMessageBox.Ok,
- QMessageBox.NoButton,
+ QMessageBox.Ok | QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui5/plugindialog.py.qmsgbox-typos-fix hplip-3.23.3/ui5/plugindialog.py
--- hplip-3.23.3/ui5/plugindialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/plugindialog.py 2023-05-29 13:48:48.429731297 +0200
@@ -252,7 +252,7 @@ class PluginDialog(QDialog, Ui_Dialog):
if QMessageBox.question(self, " ",
self.__tr("<b>%s</b><p>Without this, it is not possible to authenticate and validate the plug-in prior to installation.</p>Do you still want to install the plug-in?" %error_str),
- QMessageBox.Yes | QMessageBox.No) != QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) != QMessageBox.Yes:
self.pluginObj.deleteInstallationFiles(download_plugin_file)
self.close()
diff -up hplip-3.23.3/ui5/queuesconf.py.qmsgbox-typos-fix hplip-3.23.3/ui5/queuesconf.py
--- hplip-3.23.3/ui5/queuesconf.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/queuesconf.py 2023-05-29 13:48:48.430731291 +0200
@@ -245,7 +245,7 @@ class QueuesDiagnose(QDialog, Ui_Dialog)
if QMessageBox.question(self, " ",
self.__tr("<b>%s</b><p>Without this, it is not possible to authenticate and validate this tool prior to installation.</p>Do you still want to run Smart Install disabler?" %error_str),
- QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
# Disabling without verification.
sts, out = utils.run("sh %s"%smart_install_run)
diff -up hplip-3.23.3/ui5/setupdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui5/setupdialog.py
--- hplip-3.23.3/ui5/setupdialog.py.qmsgbox-typos-fix 2023-05-29 13:48:48.430731291 +0200
+++ hplip-3.23.3/ui5/setupdialog.py 2023-05-29 13:54:03.236851925 +0200
@@ -886,7 +886,7 @@ class SetupDialog(QDialog, Ui_Dialog):
self.windowTitle(),
warn_text,
QMessageBox.Yes |
- QMessageBox.No |
+ QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes):
i = 2
while True:
@@ -1171,7 +1171,7 @@ class SetupDialog(QDialog, Ui_Dialog):
if QMessageBox.critical(self,
self.windowTitle(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
@@ -1223,7 +1223,7 @@ class SetupDialog(QDialog, Ui_Dialog):
if QMessageBox.critical(self,
self.windowTitle(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
diff -up hplip-3.23.3/ui/devmgr4.py.qmsgbox-typos-fix hplip-3.23.3/ui/devmgr4.py
--- hplip-3.23.3/ui/devmgr4.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/devmgr4.py 2023-05-29 13:48:48.424731328 +0200
@@ -1422,7 +1422,7 @@ class DevMgr4(DevMgr4_base):
QMessageBox.critical(self,
self.caption(),
self.__tr("<b>Unable to find an appropriate su/sudo utility to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>"),
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
else:
@@ -2854,7 +2854,7 @@ class DevMgr4(DevMgr4_base):
x = QMessageBox.critical(self,
self.caption(),
self.__tr("<b>Annoying Confirmation: Are you sure you want to remove this device?</b>"),
- QMessageBox.Yes,
+ QMessageBox.Yes |\
QMessageBox.No | QMessageBox.Default,
QMessageBox.NoButton)
if x == QMessageBox.Yes:
@@ -2949,7 +2949,7 @@ class DevMgr4(DevMgr4_base):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -2958,7 +2958,7 @@ class DevMgr4(DevMgr4_base):
QMessageBox.warning(self,
self.caption(),
msg,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -3115,7 +3115,7 @@ class ScrollTestpageView(ScrollView):
QMessageBox.information(self,
self.caption(),
self.__tr("<p><b>A test page should be printing on your printer.</b><p>If the page fails to print, please visit http://hplip.sourceforge.net for troubleshooting and support."),
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -3130,7 +3130,7 @@ class ScrollTestpageView(ScrollView):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -3272,7 +3272,7 @@ class ScrollColorCalView(ScrollView):
QMessageBox.information(self,
self.caption(),
self.__tr("<p><b>A test page should be printing on your printer.</b><p>If the page fails to print, please visit http://hplip.sourceforge.net for troubleshooting and support."),
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -3287,7 +3287,7 @@ class ScrollColorCalView(ScrollView):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix hplip-3.23.3/ui/faxaddrbookform.py
--- hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/faxaddrbookform.py 2023-05-29 13:48:48.424731328 +0200
@@ -228,7 +228,7 @@ class FaxAddrBookGroupsForm(FaxAddrBookG
x = QMessageBox.critical(self,
self.caption(),
self.__tr("<b>Annoying Confirmation: Are you sure you want to delete this group?</b>"),
- QMessageBox.Yes,
+ QMessageBox.Yes |\
QMessageBox.No | QMessageBox.Default,
QMessageBox.NoButton)
if x == QMessageBox.Yes:
@@ -421,7 +421,7 @@ class FaxAddrBookForm(FaxAddrBookForm_ba
if QMessageBox.critical(self,
self.caption(),
self.__tr("<b>Annoying Confirmation: Are you sure you want to delete this address book entry?</b>"),
- QMessageBox.Yes,
+ QMessageBox.Yes |\
QMessageBox.No | QMessageBox.Default,
QMessageBox.NoButton) == QMessageBox.Yes:
db.delete(self.current.entry['name'])
@@ -451,7 +451,7 @@ class FaxAddrBookForm(FaxAddrBookForm_ba
QMessageBox.critical(self,
self.caption(),
QString(error_text),
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/faxsendjobform.py.qmsgbox-typos-fix hplip-3.23.3/ui/faxsendjobform.py
--- hplip-3.23.3/ui/faxsendjobform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/faxsendjobform.py 2023-05-29 13:48:48.424731328 +0200
@@ -210,7 +210,7 @@ class FaxSendJobForm(QMainWindow):
QMessageBox.information(self,
self.caption(),
self.__tr("<p><b>Fax send completed successfully.</b>"),
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -219,7 +219,7 @@ class FaxSendJobForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -228,7 +228,7 @@ class FaxSendJobForm(QMainWindow):
QMessageBox.warning(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/firmwaredialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/firmwaredialog.py
--- hplip-3.23.3/ui/firmwaredialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/firmwaredialog.py 2023-05-29 13:48:48.424731328 +0200
@@ -109,7 +109,7 @@ class FirmwareDialog(QDialog, FirmwareDi
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/makecopiesform.py.qmsgbox-typos-fix hplip-3.23.3/ui/makecopiesform.py
--- hplip-3.23.3/ui/makecopiesform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/makecopiesform.py 2023-05-29 13:48:48.424731328 +0200
@@ -156,7 +156,7 @@ class MakeCopiesForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -164,7 +164,7 @@ class MakeCopiesForm(QMainWindow):
QMessageBox.warning(self,
self.caption(),
msg,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/nodevicesform.py.qmsgbox-typos-fix hplip-3.23.3/ui/nodevicesform.py
--- hplip-3.23.3/ui/nodevicesform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/nodevicesform.py 2023-05-29 13:48:48.424731328 +0200
@@ -67,7 +67,7 @@ class NoDevicesForm(NoDevicesForm_base):
QMessageBox.critical(self,
self.caption(),
self.__tr("<b>An error occurred.</b><p>Please re-start the Device Manager and try again."),
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/pluginform2.py.qmsgbox-typos-fix hplip-3.23.3/ui/pluginform2.py
--- hplip-3.23.3/ui/pluginform2.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/pluginform2.py 2023-05-29 13:48:48.424731328 +0200
@@ -173,7 +173,7 @@ class PluginForm2(PluginForm2_base):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -181,7 +181,7 @@ class PluginForm2(PluginForm2_base):
QMessageBox.information(self,
self.caption(),
text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/printerform.py.qmsgbox-typos-fix hplip-3.23.3/ui/printerform.py
--- hplip-3.23.3/ui/printerform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/printerform.py 2023-05-29 13:48:48.425731321 +0200
@@ -154,7 +154,7 @@ class PrinterForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/settingsdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/settingsdialog.py
--- hplip-3.23.3/ui/settingsdialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/settingsdialog.py 2023-05-29 13:48:48.425731321 +0200
@@ -146,7 +146,7 @@ class SettingsDialog(SettingsDialog_base
## QMessageBox.warning(self,
## self.caption(),
## self.__tr("<b>One or more email addresses are missing.</b><p>Please enter this information and try again."),
-## QMessageBox.Ok,
+## QMessageBox.Ok |\
## QMessageBox.NoButton,
## QMessageBox.NoButton)
## return
@@ -163,7 +163,7 @@ class SettingsDialog(SettingsDialog_base
## QMessageBox.information(self,
## self.caption(),
## self.__tr("<p><b>Please check your email for a test message.</b><p>If the message doesn't arrive, please check your settings and try again."),
-## QMessageBox.Ok,
+## QMessageBox.Ok |\
## QMessageBox.NoButton,
## QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/setupform.py.qmsgbox-typos-fix hplip-3.23.3/ui/setupform.py
--- hplip-3.23.3/ui/setupform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/setupform.py 2023-05-29 13:48:48.425731321 +0200
@@ -602,7 +602,7 @@ class SetupForm(SetupForm_base):
if ( QMessageBox.warning(self,
self.caption(),
warn_text,
- QMessageBox.Yes,
+ QMessageBox.Yes |\
QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes ):
@@ -804,7 +804,7 @@ class SetupForm(SetupForm_base):
if QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
@@ -832,7 +832,7 @@ class SetupForm(SetupForm_base):
if QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
@@ -1003,7 +1003,7 @@ class SetupForm(SetupForm_base):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -1011,7 +1011,7 @@ class SetupForm(SetupForm_base):
QMessageBox.warning(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/unloadform.py.qmsgbox-typos-fix hplip-3.23.3/ui/unloadform.py
--- hplip-3.23.3/ui/unloadform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/unloadform.py 2023-05-29 13:48:48.425731321 +0200
@@ -135,7 +135,7 @@ class UnloadForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/upgradeform.py.qmsgbox-typos-fix hplip-3.23.3/ui/upgradeform.py
--- hplip-3.23.3/ui/upgradeform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/upgradeform.py 2023-05-29 13:48:48.425731321 +0200
@@ -118,7 +118,7 @@ class UpgradeForm(UpgradeForm_base):
QMessageBox.critical(self,
self.caption(),
error_text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)
@@ -126,7 +126,7 @@ class UpgradeForm(UpgradeForm_base):
QMessageBox.information(self,
self.caption(),
text,
- QMessageBox.Ok,
+ QMessageBox.Ok |\
QMessageBox.NoButton,
QMessageBox.NoButton)

View File

@ -1,41 +0,0 @@
From ae211a3fcfb1b827f0ec35d61f28d6b539028812 Mon Sep 17 00:00:00 2001
From: Till Kamppeter <till.kamppeter@gmail.com>
Date: Wed, 3 Oct 2018 15:13:00 +0200
Subject: Fixed incomplete removal of hp-toolbox features, which caused the
hp-toolbox not to start
Looking into the ui5/devmgr5.py of the HPLIP Python source code it
seems that some features got removed by commenting them out, but this
removal seems not to have been completed, making non-existing objects
being called during the start of hp-toolbox and so it crashes right
away.
This patch completes the commenting-out and so makes hp-toolbox start
up and work again.
Bug-Debian: https://bugs.debian.org/912768
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1789184
---
ui5/devmgr5.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
index 0ca016820..9d4e82c58 100644
--- a/ui5/devmgr5.py
+++ b/ui5/devmgr5.py
@@ -319,11 +319,11 @@ class DevMgr5(Ui_MainWindow_Derived, Ui_MainWindow, QMainWindow):
self.PreferencesAction.setIcon(QIcon(load_pixmap('settings', '16x16')))
self.PreferencesAction.triggered.connect(self.PreferencesAction_activated)
- self.DiagnoseQueueAction.setIcon(QIcon(load_pixmap('warning', '16x16')))
- self.DiagnoseQueueAction.triggered.connect(self.DiagnoseQueueAction_activated)
+ #self.DiagnoseQueueAction.setIcon(QIcon(load_pixmap('warning', '16x16')))
+ #self.DiagnoseQueueAction.triggered.connect(self.DiagnoseQueueAction_activated)
- self.DiagnoseHPLIPAction.setIcon(QIcon(load_pixmap('troubleshoot', '16x16')))
- self.DiagnoseHPLIPAction.triggered.connect(self.DiagnoseHPLIP_activated)
+ #self.DiagnoseHPLIPAction.setIcon(QIcon(load_pixmap('troubleshoot', '16x16')))
+ #self.DiagnoseHPLIPAction.triggered.connect(self.DiagnoseHPLIP_activated)
self.ContentsAction.setIcon(QIcon(load_pixmap("help", "16x16")))
self.ContentsAction.triggered.connect(self.helpContents)

View File

@ -1,17 +1,16 @@
diff --git a/installer/core_install.py b/installer/core_install.py
index a6654e2..0bd1e9c 100644
--- a/installer/core_install.py
+++ b/installer/core_install.py
@@ -362,9 +362,9 @@ class CoreInstall(object):
diff -up hplip-3.17.11/installer/core_install.py.check-cups hplip-3.17.11/installer/core_install.py
--- hplip-3.17.11/installer/core_install.py.check-cups 2017-12-07 15:34:24.855761874 +0100
+++ hplip-3.17.11/installer/core_install.py 2017-12-07 15:38:44.749568860 +0100
@@ -349,9 +349,9 @@ class CoreInstall(object):
'automake': (True, ['prnt'], AUTOMAKE_STR, self.check_automake, DEPENDENCY_RUN_AND_COMPILE_TIME, '-', None, GENERALDEP),
'libjpeg': (True, ['base', 'prnt'], JPEG_STR, self.check_libjpeg, DEPENDENCY_RUN_AND_COMPILE_TIME, '-', None, GENERALDEP),
'libtool': (True, ['base', 'prnt'], LIBTOOL_STR, self.check_libtool, DEPENDENCY_COMPILE_TIME, '-', 'libtool --version', COMPILEDEP),
- 'cups': (True, ['base', 'prnt'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME, '1.1', 'cups-config --version', EXTERNALDEP),
- 'cups-devel': (True, ['base', 'prnt'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME, '-', 'cups-config --version', GENERALDEP),
- 'cups-image': (True, ['base', 'prnt'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME, '-', 'cups-config --version', GENERALDEP),
+ 'cups': (True, ['base', 'prnt'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME, '-', None, EXTERNALDEP),
+ 'cups-devel': (True, ['base', 'prnt'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME, '1.1', 'pkgconf --modversion cups', GENERALDEP),
+ 'cups-image': (True, ['base', 'prnt'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME, '1.1', 'pkgconf --modversion cups', GENERALDEP),
+ 'cups': (True, ['base', 'prnt'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME, '1.1', 'lpstat -r', EXTERNALDEP),
+ 'cups-devel': (True, ['base', 'prnt'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME, '-', 'lpstat -r', GENERALDEP),
+ 'cups-image': (True, ['base', 'prnt'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME, '-', 'lpstat -r', GENERALDEP),
'gcc': (True, ['base', 'prnt'], GCC_STR, self.check_gcc, DEPENDENCY_COMPILE_TIME, '-', 'gcc --version', COMPILEDEP),
'make': (True, ['base', 'prnt'], MAKE_STR, self.check_make, DEPENDENCY_COMPILE_TIME, '3.0', 'make --version', COMPILEDEP),
'libpthread': (True, ['base', 'prnt'], THREAD_STR, self.check_libpthread, DEPENDENCY_RUN_AND_COMPILE_TIME, '-', 'FUNC#get_libpthread_version', GENERALDEP),

View File

@ -0,0 +1,63 @@
diff -up hplip-3.17.11/data/models/models.dat.colorlaserjet-mfp-m278-m281 hplip-3.17.11/data/models/models.dat
--- hplip-3.17.11/data/models/models.dat.colorlaserjet-mfp-m278-m281 2017-11-23 13:10:17.000000000 +0100
+++ hplip-3.17.11/data/models/models.dat 2018-01-19 08:24:21.554788787 +0100
@@ -58516,6 +58516,59 @@ usb-pid=3c2a
usb-vid=3f0
wifi-config=3
+[colorlaserjet_mfp_m278-m281]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=7
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=1
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP Color LaserJet MFP M278-281
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+ppd-name=hp-color_laserjet_pro_mfp_m277
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CF400A/CF400X
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CF401A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CF403A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CF402A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=48c3
+support-type=2
+support-ver=3.15.4
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=3c2a
+usb-vid=3f0
+wifi-config=3
+
[hp_color_laserjet_m553]
align-type=0
clean-type=0

View File

@ -1,6 +1,38 @@
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
diff --git a/Makefile.am b/Makefile.am
index 62a25d3..2c4d6f8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@
#
# (c) 2004-2015 Copyright HP Development Company, LP
# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/
+INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ -Iprotocol
CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
@@ -304,7 +304,7 @@ dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
pcardextdir = $(pyexecdir)
pcardext_LTLIBRARIES = pcardext.la
pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
+pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
# prnt
@@ -316,7 +316,7 @@ lib_LTLIBRARIES += libhpipp.la
#hpipp_LTLIBRARIES = hpipp.la
#hpipp_la_LDFLAGS = -module -avoid-version
libhpipp_la_SOURCES = protocol/hp_ipp.c protocol/hp_ipp.h protocol/hp_ipp_i.h
-libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
+libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" -D_GNU_SOURCE
libhpipp_la_LDFLAGS = -version-info 0:1:0
libhpipp_la_LIBADD = libhpmud.la
diff --git a/common/utils.c b/common/utils.c
index d8ecee9..def4e47 100644
--- a/common/utils.c
+++ b/common/utils.c
@@ -1,5 +1,9 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
@ -12,10 +44,11 @@ diff -up hplip-3.23.3/common/utils.c.covscan hplip-3.23.3/common/utils.c
#include <dlfcn.h>
#include <sys/stat.h>
#include <errno.h>
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_
diff --git a/io/hpmud/hpmud.c b/io/hpmud/hpmud.c
index 0eb6fff..358f279 100644
--- a/io/hpmud/hpmud.c
+++ b/io/hpmud/hpmud.c
@@ -759,6 +759,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_DEVICE dd, struct hpmud_dstat *ds)
}
strncpy(ds->uri, msp->device[dd].uri, sizeof(ds->uri));
@ -23,9 +56,10 @@ diff -up hplip-3.23.3/io/hpmud/hpmud.c.covscan hplip-3.23.3/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.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
diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c
index 06f5072..20df27a 100644
--- a/io/hpmud/jd.c
+++ b/io/hpmud/jd.c
@@ -31,6 +31,7 @@
#endif
@ -34,9 +68,10 @@ diff -up hplip-3.23.3/io/hpmud/jd.c.covscan hplip-3.23.3/io/hpmud/jd.c
#include "hpmud.h"
#include "hpmudi.h"
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
diff --git a/io/hpmud/model.c b/io/hpmud/model.c
index 4ea8990..a917d69 100644
--- a/io/hpmud/model.c
+++ b/io/hpmud/model.c
@@ -117,6 +117,7 @@ static int ReadConfig()
if (rcbuf[0] == '[')
{
@ -53,10 +88,11 @@ diff -up hplip-3.23.3/io/hpmud/model.c.covscan hplip-3.23.3/io/hpmud/model.c
break; /* done */
}
}
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
diff --git a/io/hpmud/musb.c b/io/hpmud/musb.c
index 6e99c15..755493e 100644
--- a/io/hpmud/musb.c
+++ b/io/hpmud/musb.c
@@ -775,7 +775,7 @@ static int device_id(int fd, unsigned char *buffer, int size)
len = size-1; /* leave byte for zero termination */
if (len > 2)
len -= 2;
@ -65,10 +101,11 @@ diff -up hplip-3.23.3/io/hpmud/musb.c.covscan hplip-3.23.3/io/hpmud/musb.c
buffer[len]=0;
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
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
diff --git a/io/hpmud/pp.c b/io/hpmud/pp.c
index 74c5fdc..021d627 100644
--- a/io/hpmud/pp.c
+++ b/io/hpmud/pp.c
@@ -632,7 +632,7 @@ static int device_id(int fd, char *buffer, int size)
len = size-1; /* leave byte for zero termination */
if (len > 2)
len -= 2;
@ -77,39 +114,10 @@ diff -up hplip-3.23.3/io/hpmud/pp.c.covscan hplip-3.23.3/io/hpmud/pp.c
buffer[len]=0;
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
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
# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/
+INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ -Iprotocol
CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
@@ -310,7 +310,7 @@ dist_pcard_DATA = pcard/__init__.py pcar
pcardextdir = $(pyexecdir)
pcardext_LTLIBRARIES = pcardext.la
pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
+pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
# prnt
@@ -322,7 +322,7 @@ lib_LTLIBRARIES += libhpipp.la
#hpipp_LTLIBRARIES = hpipp.la
#hpipp_la_LDFLAGS = -module -avoid-version
libhpipp_la_SOURCES = protocol/hp_ipp.c protocol/hp_ipp.h protocol/hp_ipp_i.h
-libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
+libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" -D_GNU_SOURCE
libhpipp_la_LDFLAGS = -version-info 0:1:0
libhpipp_la_LIBADD = libhpmud.la
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
diff --git a/pcard/fat.c b/pcard/fat.c
index caa383f..e1425c0 100644
--- a/pcard/fat.c
+++ b/pcard/fat.c
@@ -519,14 +519,17 @@ int FatFreeSpace(void)
int FatDiskAttributes( PHOTO_CARD_ATTRIBUTES * pa )
@ -139,9 +147,48 @@ diff -up hplip-3.23.3/pcard/fat.c.covscan hplip-3.23.3/pcard/fat.c
cwd.StartSector = ConvertClusterToSector(fa.StartCluster);
cwd.CurrSector = cwd.StartSector;
cwd.StartCluster = fa.StartCluster;
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
diff --git a/prnt/hpcups/genPCLm.cpp b/prnt/hpcups/genPCLm.cpp
index c0cdc73..4db4bde 100644
--- a/prnt/hpcups/genPCLm.cpp
+++ b/prnt/hpcups/genPCLm.cpp
@@ -1237,11 +1237,16 @@ void PCLmGenerator::writeJobTicket()
char orientation[256];
char duplex[256];
char colorthemes[256];
- strncpy(colorthemes,getColorThemesString(m_pPCLmSSettings->colorTheme),256);
- strncpy(inputBin,getInputBinString(m_pPCLmSSettings->userInputBin),256);
- strncpy(outputBin,getOutputBin(m_pPCLmSSettings->userOutputBin),256);
- strncpy(orientation,getOrientationString(m_pPCLmSSettings->userOrientation),256);
- strncpy(duplex,getDuplexString(currDuplexDisposition),256);
+ strncpy(colorthemes,getColorThemesString(m_pPCLmSSettings->colorTheme), sizeof(colorthemes));
+ colorthemes[sizeof(colorthemes)-1] = '\0';
+ strncpy(inputBin,getInputBinString(m_pPCLmSSettings->userInputBin), sizeof(inputBin));
+ inputBin[sizeof(inputBin)-1] = '\0';
+ strncpy(outputBin,getOutputBin(m_pPCLmSSettings->userOutputBin), sizeof(outputBin));
+ outputBin[sizeof(outputBin)-1] = '\0';
+ strncpy(orientation,getOrientationString(m_pPCLmSSettings->userOrientation), sizeof(orientation));
+ orientation[sizeof(orientation)-1] = '\0';
+ strncpy(duplex,getDuplexString(currDuplexDisposition), sizeof(duplex));
+ duplex[sizeof(duplex)-1] = '\0';
snprintf(pOutStr,OUT_STR_SIZE,"%% genPCLm (Ver: %f)\n",PCLM_Ver); writeStr2OutBuff(pOutStr);
snprintf(pOutStr,OUT_STR_SIZE,"%%============= Job Ticket =============\n"); writeStr2OutBuff(pOutStr);
@@ -1635,7 +1640,10 @@ int PCLmGenerator::StartPage(PCLmPageSetup *PCLmPageContent, void **pOutBuffer,
}
if(strlen(PCLmPageContent->mediaSizeName))
- strncpy(currMediaName,PCLmPageContent->mediaSizeName,256);
+ {
+ strncpy(currMediaName,PCLmPageContent->mediaSizeName, sizeof(currMediaName));
+ currMediaName[sizeof(currMediaName)-1] = '\0';
+ }
currStripHeight=PCLmPageContent->stripHeight;
if(!currStripHeight)
diff --git a/prnt/hpijs/context2.cpp b/prnt/hpijs/context2.cpp
index c3df482..19490b1 100644
--- a/prnt/hpijs/context2.cpp
+++ b/prnt/hpijs/context2.cpp
@@ -1302,6 +1302,7 @@ DRIVER_ERROR PrintContext::SelectDevice
if(0 == strnlen((const char *)pSS->strDevID, DevIDBuffSize))
{
@ -150,10 +197,11 @@ diff -up hplip-3.23.3/prnt/hpijs/context2.cpp.covscan hplip-3.23.3/prnt/hpijs/co
}
thePrinter = pPFI->CreatePrinter (pSS, familyHandle);
if (thePrinter->constructor_error != NO_ERROR)
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
diff --git a/prnt/hpijs/systemservices.cpp b/prnt/hpijs/systemservices.cpp
index 95f5a64..f5b4bb5 100644
--- a/prnt/hpijs/systemservices.cpp
+++ b/prnt/hpijs/systemservices.cpp
@@ -396,7 +396,10 @@ void SystemServices::AdjustIO(IO_MODE IM, const char* model)
IOMode.bDevID =IM.bDevID && IOMode.bDevID;
if (model)
@ -164,10 +212,11 @@ diff -up hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan hplip-3.23.3/prnt/hp
}
APDK_END_NAMESPACE
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)
diff --git a/prnt/hpps/hppsfilter.c b/prnt/hpps/hppsfilter.c
index 5879a70..d246041 100644
--- a/prnt/hpps/hppsfilter.c
+++ b/prnt/hpps/hppsfilter.c
@@ -230,13 +230,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,24 +233,40 @@ diff -up hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan hplip-3.23.3/prnt/hpps/hpps
hpwrite(buffer, strlen(buffer));
fprintf(stderr, "HP PS filter func = WriteHeader : WRITING PJL HEADER INFO\n");
return;
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);
diff --git a/protocol/discovery/mdns.c b/protocol/discovery/mdns.c
index abca295..8dd6fa5 100644
--- a/protocol/discovery/mdns.c
+++ b/protocol/discovery/mdns.c
@@ -31,6 +31,10 @@
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
#include "mdns.h"
/* Convert "www.google.com" to "3www6google3com". */
diff --git a/protocol/hp_ipp.h b/protocol/hp_ipp.h
index 3853f84..de76202 100644
--- a/protocol/hp_ipp.h
+++ b/protocol/hp_ipp.h
@@ -166,5 +166,10 @@ int getCupsPrinters(printer_t **printer_list);
HPIPP_RESULT parseResponseHeader(char* header, int *content_length, int *chunked, int* header_size);
HPIPP_RESULT prepend_http_header(raw_ipp *raw_request);
enum HPMUD_RESULT sendUSBRequest(char *buf, int size, raw_ipp *responseptr, char * device_uri);
enum HPMUD_RESULT sendUSBFileRequest(char *buf, int size, int fileHandle,raw_ipp *responseptr, char *device_uri);
+void _releaseCupsInstance();
+int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, char *model, char *info);
+int delCupsPrinter(char *pr_name);
+int setDefaultCupsPrinter(char *pr_name);
+int controlCupsPrinter(char *pr_name, int op);
ipp_t * createFaxDetailRequest(const char *printer_name);
ipp_t * getDeviceFaxModemAttributes(char* device_uri,char* printer_name, int *count);
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
# endif //_IPP_H
diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c
index b233d1e..7ba0edf 100644
--- a/scan/sane/bb_ledm.c
+++ b/scan/sane/bb_ledm.c
@@ -26,6 +26,7 @@
# include "http.h"
# include "xml.h"
@ -210,9 +275,10 @@ diff -up hplip-3.23.3/scan/sane/bb_ledm.c.covscan hplip-3.23.3/scan/sane/bb_ledm
# include <stdint.h>
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
diff --git a/scan/sane/common.h b/scan/sane/common.h
index 0f67542..e496a74 100644
--- a/scan/sane/common.h
+++ b/scan/sane/common.h
@@ -36,7 +36,7 @@
#define _STRINGIZE(x) #x
#define STRINGIZE(x) _STRINGIZE(x)
@ -222,10 +288,11 @@ diff -up hplip-3.23.3/scan/sane/common.h.covscan hplip-3.23.3/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.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
diff --git a/scan/sane/escl.c b/scan/sane/escl.c
index af45bff..4f59b21 100644
--- a/scan/sane/escl.c
+++ b/scan/sane/escl.c
@@ -795,7 +795,7 @@ SANE_Status escl_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
//DBG8("escl_control_option (option=%s) action=%d\n", ps->option[option].name, action);
if (stat != SANE_STATUS_GOOD)
{
@ -234,7 +301,7 @@ diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c
}
return stat;
@@ -1159,7 +1159,7 @@ void escl_close(SANE_Handle handle)
@@ -1102,7 +1102,7 @@ void escl_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
@ -243,9 +310,22 @@ diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c
return;
}
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
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index ae34cfb..ffde2ad 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -41,6 +41,7 @@
#include "soap.h"
#include "soapht.h"
#include "marvell.h"
+#include "mdns.h"
#include "hpaio.h"
#include "ledm.h"
#include "sclpml.h"
diff --git a/scan/sane/http.c b/scan/sane/http.c
index 800df91..45668cd 100644
--- a/scan/sane/http.c
+++ b/scan/sane/http.c
@@ -36,6 +36,7 @@
#include <string.h>
#include <syslog.h>
@ -254,10 +334,11 @@ diff -up hplip-3.23.3/scan/sane/http.c.covscan hplip-3.23.3/scan/sane/http.c
#include "hpmud.h"
#include "http.h"
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"
diff --git a/scan/sane/io.c b/scan/sane/io.c
index 4508458..7bbddea 100755
--- a/scan/sane/io.c
+++ b/scan/sane/io.c
@@ -50,7 +50,7 @@ int __attribute__ ((visibility ("hidden"))) InitDbus(void)
if (dbus_error_is_set(&dbus_err))
{
@ -266,7 +347,7 @@ diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
dbus_error_free(&dbus_err);
}
@@ -79,7 +79,7 @@ int __attribute__ ((visibility ("hidden"
@@ -79,7 +79,7 @@ int __attribute__ ((visibility ("hidden"))) SendScanEvent(char *device_uri, int
if (NULL == msg)
{
@ -275,7 +356,7 @@ diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
return 0;
}
@@ -94,7 +94,7 @@ int __attribute__ ((visibility ("hidden"
@@ -94,7 +94,7 @@ int __attribute__ ((visibility ("hidden"))) SendScanEvent(char *device_uri, int
if (!dbus_connection_send(dbus_conn, msg, NULL))
{
@ -284,10 +365,11 @@ diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
return 0;
}
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
diff --git a/scan/sane/ledm.c b/scan/sane/ledm.c
index 9a1ff02..07ab5b0 100644
--- a/scan/sane/ledm.c
+++ b/scan/sane/ledm.c
@@ -802,7 +802,7 @@ SANE_Status ledm_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
if (stat != SANE_STATUS_GOOD)
{
@ -296,7 +378,7 @@ diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c
}
return stat;
@@ -1078,7 +1078,7 @@ void ledm_close(SANE_Handle handle)
@@ -1067,7 +1067,7 @@ void ledm_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
@ -305,10 +387,11 @@ diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c
return;
}
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
diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
index ad267a3..236f7c9 100644
--- a/scan/sane/marvell.c
+++ b/scan/sane/marvell.c
@@ -134,7 +134,7 @@ static int get_ip_data(struct marvell_session *ps, SANE_Byte *data, SANE_Int max
if (!ps->ip_handle)
{
@ -317,7 +400,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
goto bugout;
}
@@ -335,7 +335,7 @@ static struct marvell_session *create_se
@@ -335,7 +335,7 @@ static struct marvell_session *create_session()
if ((ps = malloc(sizeof(struct marvell_session))) == NULL)
{
@ -326,7 +409,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
return NULL;
}
memset(ps, 0, sizeof(struct marvell_session));
@@ -402,7 +402,7 @@ SANE_Status marvell_open(SANE_String_Con
@@ -402,7 +402,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
@ -335,7 +418,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
return SANE_STATUS_DEVICE_BUSY;
}
@@ -431,7 +431,7 @@ SANE_Status marvell_open(SANE_String_Con
@@ -431,7 +431,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
@ -344,7 +427,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
goto bugout;
free(session);
@@ -441,7 +441,7 @@ SANE_Status marvell_open(SANE_String_Con
@@ -441,7 +441,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_channel(session->dd, HPMUD_S_MARVELL_SCAN_CHANNEL, &session->cd) != HPMUD_R_OK)
{
@ -362,7 +445,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
return;
}
@@ -849,7 +849,7 @@ SANE_Status marvell_control_option(SANE_
@@ -849,7 +849,7 @@ SANE_Status marvell_control_option(SANE_Handle handle, SANE_Int option, SANE_Act
stat = SANE_STATUS_GOOD;
break;
}
@ -371,7 +454,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
}
else
{ /* Set default. */
@@ -866,7 +866,7 @@ SANE_Status marvell_control_option(SANE_
@@ -866,7 +866,7 @@ SANE_Status marvell_control_option(SANE_Handle handle, SANE_Int option, SANE_Act
if (stat != SANE_STATUS_GOOD)
{
@ -380,7 +463,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -905,7 +905,7 @@ SANE_Status marvell_start(SANE_Handle ha
@@ -905,7 +905,7 @@ SANE_Status marvell_start(SANE_Handle handle)
if (set_extents(ps))
{
@ -389,7 +472,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -963,7 +963,7 @@ SANE_Status marvell_start(SANE_Handle ha
@@ -963,7 +963,7 @@ SANE_Status marvell_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
@ -398,7 +481,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -1023,7 +1023,7 @@ SANE_Status marvell_read(SANE_Handle han
@@ -1023,7 +1023,7 @@ SANE_Status marvell_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
@ -407,9 +490,10 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
goto bugout;
}
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
diff --git a/scan/sane/sclpml.c b/scan/sane/sclpml.c
index 9a5975f..dc8b32c 100644
--- a/scan/sane/sclpml.c
+++ b/scan/sane/sclpml.c
@@ -30,6 +30,7 @@
#include <unistd.h>
#include <fcntl.h>
@ -427,10 +511,11 @@ diff -up hplip-3.23.3/scan/sane/sclpml.c.covscan hplip-3.23.3/scan/sane/sclpml.c
return;
}
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
diff --git a/scan/sane/soap.c b/scan/sane/soap.c
index 07106fe..0d22e52 100644
--- a/scan/sane/soap.c
+++ b/scan/sane/soap.c
@@ -142,7 +142,7 @@ static int get_ip_data(struct soap_session *ps, SANE_Byte *data, SANE_Int maxLen
if (!ps->ip_handle)
{
@ -439,7 +524,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
goto bugout;
}
@@ -219,7 +219,7 @@ static struct soap_session *create_sessi
@@ -219,7 +219,7 @@ static struct soap_session *create_session()
if ((ps = malloc(sizeof(struct soap_session))) == NULL)
{
@ -448,7 +533,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
return NULL;
}
memset(ps, 0, sizeof(struct soap_session));
@@ -418,7 +418,7 @@ SANE_Status soap_open(SANE_String_Const
@@ -418,7 +418,7 @@ SANE_Status soap_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
@ -457,7 +542,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
return SANE_STATUS_DEVICE_BUSY;
}
@@ -434,7 +434,7 @@ SANE_Status soap_open(SANE_String_Const
@@ -434,7 +434,7 @@ SANE_Status soap_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
@ -475,7 +560,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
return;
}
@@ -824,7 +824,7 @@ SANE_Status soap_control_option(SANE_Han
@@ -824,7 +824,7 @@ SANE_Status soap_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
if (stat != SANE_STATUS_GOOD)
{
@ -484,7 +569,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -862,7 +862,7 @@ SANE_Status soap_start(SANE_Handle handl
@@ -862,7 +862,7 @@ SANE_Status soap_start(SANE_Handle handle)
ps->user_cancel = 0;
if (set_extents(ps))
{
@ -493,7 +578,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -913,7 +913,7 @@ SANE_Status soap_start(SANE_Handle handl
@@ -913,7 +913,7 @@ SANE_Status soap_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
@ -502,7 +587,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -955,7 +955,7 @@ SANE_Status soap_start(SANE_Handle handl
@@ -955,7 +955,7 @@ SANE_Status soap_start(SANE_Handle handle)
if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE))
{
@ -511,7 +596,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
@@ -1007,7 +1007,7 @@ SANE_Status soap_read(SANE_Handle handle
@@ -1007,7 +1007,7 @@ SANE_Status soap_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength, S
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
@ -520,10 +605,11 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
goto bugout;
}
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
diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
index 269ab21..139100d 100644
--- a/scan/sane/soapht.c
+++ b/scan/sane/soapht.c
@@ -136,7 +136,7 @@ static int get_ip_data(struct soap_session *ps, SANE_Byte *data, SANE_Int maxLen
if (!ps->ip_handle)
{
@ -532,7 +618,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
goto bugout;
}
@@ -435,7 +435,7 @@ static struct soap_session *create_sessi
@@ -435,7 +435,7 @@ static struct soap_session *create_session()
if ((ps = malloc(sizeof(struct soap_session))) == NULL)
{
@ -541,7 +627,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
return NULL;
}
memset(ps, 0, sizeof(struct soap_session));
@@ -459,7 +459,7 @@ SANE_Status soapht_open(SANE_String_Cons
@@ -459,7 +459,7 @@ SANE_Status soapht_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
@ -550,7 +636,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
return SANE_STATUS_DEVICE_BUSY;
}
@@ -475,7 +475,7 @@ SANE_Status soapht_open(SANE_String_Cons
@@ -475,7 +475,7 @@ SANE_Status soapht_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
@ -568,7 +654,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
return;
}
@@ -904,7 +904,7 @@ SANE_Status soapht_control_option(SANE_H
@@ -904,7 +904,7 @@ SANE_Status soapht_control_option(SANE_Handle handle, SANE_Int option, SANE_Acti
if (stat != SANE_STATUS_GOOD)
{
@ -577,7 +663,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -946,7 +946,7 @@ SANE_Status soapht_start(SANE_Handle han
@@ -946,7 +946,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (set_extents(ps))
{
@ -586,7 +672,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -1032,7 +1032,7 @@ SANE_Status soapht_start(SANE_Handle han
@@ -1032,7 +1032,7 @@ SANE_Status soapht_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
@ -595,7 +681,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -1075,7 +1075,7 @@ SANE_Status soapht_start(SANE_Handle han
@@ -1075,7 +1075,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE))
{
@ -604,7 +690,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
@@ -1124,7 +1124,7 @@ SANE_Status soapht_read(SANE_Handle hand
@@ -1124,7 +1124,7 @@ SANE_Status soapht_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength,
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{

View File

@ -1,6 +1,6 @@
diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv/hpcups.drv.in
--- hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv 2019-06-26 15:09:17.000000000 +0200
+++ hplip-3.19.6/prnt/drv/hpcups.drv.in 2019-07-12 08:34:02.789910485 +0200
diff -up hplip-3.17.11/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.17.11/prnt/drv/hpcups.drv.in
--- hplip-3.17.11/prnt/drv/hpcups.drv.in.deviceIDs-drv 2017-12-07 09:31:48.721626277 +0100
+++ hplip-3.17.11/prnt/drv/hpcups.drv.in 2017-12-07 13:40:30.703164179 +0100
@@ -487,7 +487,7 @@ Manufacturer "HP"
ModelName "HP Deskjet 3820"
Attribute "NickName" "" "HP Deskjet 3820, hpcups $Version"
@ -65,6 +65,24 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
Attribute "Product" "" "(HP Deskjet 970cxi Printer)"
Attribute "Product" "" "(HP Deskjet 970cse Printer)"
@@ -665,7 +665,7 @@ Manufacturer "HP"
ModelName "HP Officejet 5105"
Attribute "NickName" "" "HP Officejet 5105, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 5105 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5105;DES:officejet 5105;"
+ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:OfficeJet 5105;DES:Hewlett-Packard OfficeJet 5100 Series;"
PCFileName "hp-officejet_5105.ppd"
Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)"
}
@@ -682,7 +682,7 @@ Manufacturer "HP"
ModelName "HP Officejet 5110v"
Attribute "NickName" "" "HP Officejet 5110v, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 5110v hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110v;DES:officejet 5110v;"
+ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:OfficeJet 5110v;DES:Hewlett-Packard OfficeJet 5100 Series;"
PCFileName "hp-officejet_5110v.ppd"
Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)"
}
@@ -690,7 +690,7 @@ Manufacturer "HP"
ModelName "HP Officejet g55"
Attribute "NickName" "" "HP Officejet g55, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet g55 hpijs"
@ -73,7 +91,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_g55.ppd"
Attribute "Product" "" "(HP Officejet g55 All-in-one Printer)"
}
@@ -681,7 +681,7 @@ Manufacturer "HP"
@@ -706,7 +706,7 @@ Manufacturer "HP"
ModelName "HP Officejet g85"
Attribute "NickName" "" "HP Officejet g85, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet g85 hpijs"
@ -82,7 +100,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_g85.ppd"
Attribute "Product" "" "(HP Officejet g85 All-in-one Printer)"
}
@@ -697,7 +697,7 @@ Manufacturer "HP"
@@ -722,7 +722,7 @@ Manufacturer "HP"
ModelName "HP Officejet g95"
Attribute "NickName" "" "HP Officejet g95, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet g95 hpijs"
@ -91,7 +109,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_g95.ppd"
Attribute "Product" "" "(HP Officejet g95 All-in-one Printer)"
}
@@ -745,7 +745,7 @@ Manufacturer "HP"
@@ -770,7 +770,7 @@ Manufacturer "HP"
ModelName "HP Officejet v40"
Attribute "NickName" "" "HP Officejet v40, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet v40 hpijs"
@ -100,7 +118,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_v40.ppd"
Attribute "Product" "" "(HP Officejet v40 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet v40s All-in-one Printer)"
@@ -754,7 +754,7 @@ Manufacturer "HP"
@@ -779,7 +779,7 @@ Manufacturer "HP"
ModelName "HP Officejet v40xi"
Attribute "NickName" "" "HP Officejet v40xi, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet v40xi hpijs"
@ -109,7 +127,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_v40xi.ppd"
Attribute "Product" "" "(HP Officejet v40xi All-in-one Printer)"
}
@@ -770,7 +770,7 @@ Manufacturer "HP"
@@ -795,7 +795,7 @@ Manufacturer "HP"
ModelName "HP Photosmart p1000"
Attribute "NickName" "" "HP Photosmart p1000, hpcups $Version"
Attribute "ShortNickName" "" "HP Photosmart p1000 hpijs"
@ -118,7 +136,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-photosmart_p1000.ppd"
Attribute "Product" "" "(HP Photosmart p1000/1000 Printer)"
Attribute "Product" "" "(HP Photosmart p1000xi Printer)"
@@ -779,7 +779,7 @@ Manufacturer "HP"
@@ -804,7 +804,7 @@ Manufacturer "HP"
ModelName "HP Photosmart p1100"
Attribute "NickName" "" "HP Photosmart p1100, hpcups $Version"
Attribute "ShortNickName" "" "HP Photosmart p1100 hpijs"
@ -127,7 +145,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-photosmart_p1100.ppd"
Attribute "Product" "" "(HP Photosmart p1100 Printer)"
Attribute "Product" "" "(HP Photosmart p1100xi Printer)"
@@ -796,7 +796,7 @@ Manufacturer "HP"
@@ -821,7 +821,7 @@ Manufacturer "HP"
ModelName "HP PSC 750"
Attribute "NickName" "" "HP PSC 750, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 750 hpijs"
@ -136,7 +154,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_750.ppd"
Attribute "Product" "" "(HP PSC 750 All-in-one Printer)"
}
@@ -804,7 +804,7 @@ Manufacturer "HP"
@@ -829,7 +829,7 @@ Manufacturer "HP"
ModelName "HP PSC 750xi"
Attribute "NickName" "" "HP PSC 750xi, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 750xi hpijs"
@ -145,7 +163,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_750xi.ppd"
Attribute "Product" "" "(HP PSC 750xi All-in-one Printer)"
}
@@ -836,7 +836,7 @@ Manufacturer "HP"
@@ -861,7 +861,7 @@ Manufacturer "HP"
ModelName "HP PSC 900 Series"
Attribute "NickName" "" "HP PSC 900 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 900 Series hpijs"
@ -154,7 +172,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_900_series.ppd"
Attribute "Product" "" "(HP PSC 900 All-in-one Printer)"
}
@@ -910,7 +910,7 @@ Manufacturer "HP"
@@ -935,7 +935,7 @@ Manufacturer "HP"
ModelName "HP Deskjet 1220c"
Attribute "NickName" "" "HP Deskjet 1220c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 1220c hpijs"
@ -163,7 +181,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_1220c.ppd"
Attribute "Product" "" "(HP Deskjet 1220c Printer)"
Attribute "Product" "" "(HP Deskjet 1220cse Printer)"
@@ -1100,7 +1100,7 @@ Manufacturer "HP"
@@ -1125,7 +1125,7 @@ Manufacturer "HP"
ModelName "HP 2000c"
Attribute "NickName" "" "HP 2000c, hpcups $Version"
Attribute "ShortNickName" "" "HP 2000c hpijs"
@ -172,7 +190,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-2000c.ppd"
Attribute "Product" "" "(HP 2000cse Printer)"
Attribute "Product" "" "(HP 2000c Printer)"
@@ -1564,7 +1564,7 @@ Manufacturer "HP"
@@ -1589,7 +1589,7 @@ Manufacturer "HP"
ModelName "HP Deskjet 960c"
Attribute "NickName" "" "HP Deskjet 960c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 960c hpijs"
@ -181,7 +199,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_960c.ppd"
Attribute "Product" "" "(HP Deskjet 960cse Printer)"
Attribute "Product" "" "(HP Deskjet 960cxi Printer)"
@@ -1574,7 +1574,7 @@ Manufacturer "HP"
@@ -1599,7 +1599,7 @@ Manufacturer "HP"
ModelName "HP Deskjet 980c"
Attribute "NickName" "" "HP Deskjet 980c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 980c hpijs"
@ -190,7 +208,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_980c.ppd"
Attribute "Product" "" "(HP Deskjet 980cxi Printer)"
Attribute "Product" "" "(HP Deskjet 980c Printer)"
@@ -1583,7 +1583,7 @@ Manufacturer "HP"
@@ -1608,7 +1608,7 @@ Manufacturer "HP"
ModelName "HP Deskjet 990c"
Attribute "NickName" "" "HP Deskjet 990c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 990c hpijs"
@ -199,7 +217,16 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_990c.ppd"
Attribute "Product" "" "(HP Deskjet 990cxi Printer)"
Attribute "Product" "" "(HP Deskjet 990cse Printer)"
@@ -1613,7 +1613,7 @@ Manufacturer "HP"
@@ -1638,7 +1638,7 @@ Manufacturer "HP"
ModelName "HP Color Inkjet cp1700"
Attribute "NickName" "" "HP Color Inkjet cp1700, hpcups $Version"
Attribute "ShortNickName" "" "HP Color Inkjet cp1700 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color inkjet cp1700;DES:hp color inkjet cp1700;"
+ Attribute "1284DeviceID" "" "MFG:HEWLETT-PACKARD;MDL:HP Color Inkjet CP1700;DES:HP Color Inkjet CP1700;"
PCFileName "hp-color_inkjet_cp1700.ppd"
Attribute "Product" "" "(HP Color Inkjet cp1700 Printer)"
}
@@ -1646,7 +1646,7 @@ Manufacturer "HP"
ModelName "HP Officejet 7100 Series"
Attribute "NickName" "" "HP Officejet 7100 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 7100 Series hpijs"
@ -208,7 +235,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_7100_series.ppd"
Attribute "Product" "" "(HP Officejet 7100 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 7110 All-in-one Printer)"
@@ -1628,7 +1628,7 @@ Manufacturer "HP"
@@ -1661,7 +1661,7 @@ Manufacturer "HP"
ModelName "HP Officejet D Series"
Attribute "NickName" "" "HP Officejet D Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet D Series hpijs"
@ -217,7 +244,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_d_series.ppd"
Attribute "Product" "" "(HP Officejet d125xi All-in-one Printer)"
Attribute "Product" "" "(HP Officejet d135 All-in-one Printer)"
@@ -1675,7 +1675,7 @@ Manufacturer "HP"
@@ -1708,7 +1708,7 @@ Manufacturer "HP"
ModelName "HP PSC 2100 Series"
Attribute "NickName" "" "HP PSC 2100 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 2100 Series hpijs"
@ -226,7 +253,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2100_series.ppd"
Attribute "Product" "" "(HP PSC 2105 All-in-one Printer)"
Attribute "Product" "" "(HP PSC 2108 All-in-one Printer)"
@@ -1688,7 +1688,7 @@ Manufacturer "HP"
@@ -1721,7 +1721,7 @@ Manufacturer "HP"
ModelName "HP PSC 2150 Series"
Attribute "NickName" "" "HP PSC 2150 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 2150 Series hpijs"
@ -235,7 +262,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2150_series.ppd"
Attribute "Product" "" "(HP PSC 2150 All-in-one Printer)"
}
@@ -1696,7 +1696,7 @@ Manufacturer "HP"
@@ -1729,7 +1729,7 @@ Manufacturer "HP"
ModelName "HP PSC 2170 Series"
Attribute "NickName" "" "HP PSC 2170 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 2170 Series hpijs"
@ -244,16 +271,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2170_series.ppd"
Attribute "Product" "" "(HP PSC 2170 All-in-one Printer)"
Attribute "Product" "" "(HP PSC 2171 All-in-one Printer)"
@@ -1743,7 +1743,7 @@ Manufacturer "HP"
ModelName "HP Color Inkjet Printer cp1700"
Attribute "NickName" "" "HP Color Inkjet Printer cp1700, hpcups $Version"
Attribute "ShortNickName" "" "HP CJ IJ Printer cp1700 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color inkjet printer cp1700;DES:hp color inkjet printer cp1700;"
+ Attribute "1284DeviceID" "" "MFG:HEWLETT-PACKARD;MDL:HP Color Inkjet CP1700;DES:HP Color Inkjet CP1700;"
PCFileName "hp-color_inkjet_printer_cp1700.ppd"
Attribute "Product" "" "(HP Color Inkjet cp1700 Printer)"
Attribute "Product" "" "(HP Color Inkjet cp1700ps Printer)"
@@ -1918,7 +1918,7 @@ Manufacturer "HP"
@@ -1951,7 +1951,7 @@ Manufacturer "HP"
ModelName "HP Business Inkjet 2200"
Attribute "NickName" "" "HP Business Inkjet 2200, hpcups $Version"
Attribute "ShortNickName" "" "HP Business Inkjet 2200 hpijs"
@ -262,7 +280,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-business_inkjet_2200.ppd"
Attribute "Product" "" "(HP Business Inkjet 2200 Printer)"
Attribute "Product" "" "(HP Business Inkjet 2200se Printer)"
@@ -1928,7 +1928,7 @@ Manufacturer "HP"
@@ -1961,7 +1961,7 @@ Manufacturer "HP"
ModelName "HP Business Inkjet 2230"
Attribute "NickName" "" "HP Business Inkjet 2230, hpcups $Version"
Attribute "ShortNickName" "" "HP Business Inkjet 2230 hpijs"
@ -271,7 +289,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-business_inkjet_2230.ppd"
Attribute "Product" "" "(HP Business Inkjet 2230 Printer)"
}
@@ -1936,7 +1936,7 @@ Manufacturer "HP"
@@ -1969,7 +1969,7 @@ Manufacturer "HP"
ModelName "HP Business Inkjet 2250"
Attribute "NickName" "" "HP Business Inkjet 2250 pcl3, hpcups $Version"
Attribute "ShortNickName" "" "HP Business Inkjet 2250 hpijs"
@ -280,7 +298,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-business_inkjet_2250-pcl3.ppd"
Attribute "Product" "" "(HP Business Inkjet 2250 Printer)"
Attribute "Product" "" "(HP Business Inkjet 2250tn Printer)"
@@ -1945,7 +1945,7 @@ Manufacturer "HP"
@@ -1978,7 +1978,7 @@ Manufacturer "HP"
ModelName "HP Business Inkjet 2280"
Attribute "NickName" "" "HP Business Inkjet 2280 pcl3, hpcups $Version"
Attribute "ShortNickName" "" "HP Business Inkjet 2280 hpijs"
@ -289,7 +307,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-business_inkjet_2280-pcl3.ppd"
Attribute "Product" "" "(HP Business Inkjet 2280 Printer)"
Attribute "Product" "" "(HP Business Inkjet 2280tn Printer)"
@@ -2689,7 +2689,7 @@ Manufacturer "HP"
@@ -2740,7 +2740,7 @@ Manufacturer "HP"
ModelName "HP Officejet 7200 Series"
Attribute "NickName" "" "HP Officejet 7200 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 7200 Series hpijs"
@ -298,7 +316,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_7200_series.ppd"
Attribute "Product" "" "(HP Officejet 7205 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 7208 All-in-one Printer)"
@@ -2713,7 +2713,7 @@ Manufacturer "HP"
@@ -2764,7 +2764,7 @@ Manufacturer "HP"
ModelName "HP Officejet 7400 Series"
Attribute "NickName" "" "HP Officejet 7400 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 7400 Series hpijs"
@ -307,7 +325,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_7400_series.ppd"
Attribute "Product" "" "(HP Officejet 7408 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 7410 All-in-one Printer)"
@@ -2757,7 +2757,7 @@ Manufacturer "HP"
@@ -2810,7 +2810,7 @@ Manufacturer "HP"
ModelName "HP Officejet j5700 Series"
Attribute "NickName" "" "HP Officejet j5700 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet j5700 Series hpijs"
@ -316,7 +334,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_j5700_series.ppd"
Attribute "Product" "" "(HP Officejet j5725 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet j5785 All-in-one Printer)"
@@ -3391,7 +3391,7 @@ Manufacturer "HP"
@@ -3488,7 +3488,7 @@ Manufacturer "HP"
ModelName "HP PSC 2200 Series"
Attribute "NickName" "" "HP PSC 2200 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 2200 Series hpijs"
@ -325,7 +343,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2200_series.ppd"
Attribute "Product" "" "(HP PSC 2200 All-in-one Printer)"
}
@@ -3409,7 +3409,7 @@ Manufacturer "HP"
@@ -3506,7 +3506,7 @@ Manufacturer "HP"
ModelName "HP PSC 2300 Series"
Attribute "NickName" "" "HP PSC 2300 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 2300 Series hpijs"
@ -334,7 +352,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2300_series.ppd"
Attribute "Product" "" "(HP PSC 2300 Series All-in-one Printer)"
Attribute "Product" "" "(HP PSC 2310 All-in-one Printer)"
@@ -3417,8 +3417,7 @@ Manufacturer "HP"
@@ -3514,8 +3514,7 @@ Manufacturer "HP"
{
ModelName "HP PSC 2350 Series"
Attribute "NickName" "" "HP PSC 2350 Series, hpcups $Version"
@ -344,7 +362,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2350_series.ppd"
Attribute "Product" "" "(HP PSC 2350 All-in-one Printer)"
Attribute "Product" "" "(HP PSC 2358 All-in-one Printer)"
@@ -3448,7 +3447,7 @@ Manufacturer "HP"
@@ -3545,7 +3544,7 @@ Manufacturer "HP"
ModelName "HP PSC 2500 Series"
Attribute "NickName" "" "HP PSC 2500 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 2500 Series hpijs"
@ -353,7 +371,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_2500_series.ppd"
Attribute "Product" "" "(HP PSC 2500 Photosmart All-in-one Printer)"
Attribute "Product" "" "(HP PSC 2510 Photosmart All-in-one Printer)"
@@ -7023,7 +7022,7 @@ Manufacturer "HP"
@@ -7134,7 +7133,7 @@ Manufacturer "HP"
ModelName "HP Officejet 6100"
Attribute "NickName" "" "HP Officejet 6100, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 6100 hpijs"
@ -362,7 +380,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_6100.ppd"
Attribute "Product" "" "(HP Officejet 6100 Eprinter h611a)"
}
@@ -16708,7 +16707,7 @@ Manufacturer "HP"
@@ -16828,7 +16827,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
ModelName "HP Officejet 4100 Series"
Attribute "NickName" "" "HP Officejet 4100 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 4100 Series hpijs"
@ -371,7 +389,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_4100_series.ppd"
Attribute "Product" "" "(HP Officejet 4100 Series All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 4110xi All-in-one Printer)"
@@ -16735,7 +16734,7 @@ Manufacturer "HP"
@@ -16855,7 +16854,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
ModelName "HP Officejet 4300 Series"
Attribute "NickName" "" "HP Officejet 4300 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 4300 Series hpijs"
@ -380,7 +398,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_4300_series.ppd"
Attribute "Product" "" "(HP Officejet 4308 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 4338 All-in-one Printer)"
@@ -16767,7 +16766,7 @@ Manufacturer "HP"
@@ -16887,7 +16886,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
ModelName "HP PSC 1100 Series"
Attribute "NickName" "" "HP PSC 1100 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 1100 Series hpijs"
@ -389,7 +407,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_1100_series.ppd"
Attribute "Product" "" "(HP PSC 1110 All-in-one Printer)"
Attribute "Product" "" "(HP PSC 1110v All-in-one Printer)"
@@ -16777,7 +16776,7 @@ Manufacturer "HP"
@@ -16897,7 +16896,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
ModelName "HP PSC 1200 Series"
Attribute "NickName" "" "HP PSC 1200 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 1200 Series hpijs"
@ -398,7 +416,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_1200_series.ppd"
Attribute "Product" "" "(HP PSC 1200 All-in-one Printer)"
Attribute "Product" "" "(HP PSC 1217 All-in-one Printer)"
@@ -17077,7 +17076,7 @@ Manufacturer "HP"
@@ -17200,7 +17199,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
ModelName "HP Officejet 4200 Series"
Attribute "NickName" "" "HP Officejet 4200 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 4200 Series hpijs"
@ -407,7 +425,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_4200_series.ppd"
Attribute "Product" "" "(HP Officejet 4200 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 4211 All-in-one Printer)"
@@ -17142,7 +17141,7 @@ Manufacturer "HP"
@@ -17265,7 +17264,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
ModelName "HP Officejet j3600 Series"
Attribute "NickName" "" "HP Officejet j3600 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet j3600 Series hpijs"
@ -416,7 +434,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_j3600_series.ppd"
Attribute "Product" "" "(HP Officejet j3608 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet j3625 All-in-one Printer)"
@@ -17639,6 +17638,7 @@ Manufacturer "HP"
@@ -17768,6 +17767,7 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
Attribute "NickName" "" "HP Photosmart 380 Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Photosmart 380 Series hpijs"
Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 380 series;DES:photosmart 380 series;"
@ -424,7 +442,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-photosmart_380_series.ppd"
Attribute "Product" "" "(HP Photosmart 385 Compact Photo Printer)"
Attribute "Product" "" "(HP Photosmart 385xi Compact Photo Printer)"
@@ -19378,7 +19378,7 @@ Group "RLT/HP Real Life Technologies"
@@ -19573,7 +19573,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Business Inkjet 2300"
Attribute "NickName" "" "HP Business Inkjet 2300 pcl3, hpcups $Version"
Attribute "ShortNickName" "" "HP Business Inkjet 2300 hpijs"
@ -433,7 +451,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-business_inkjet_2300-pcl3.ppd"
Attribute "Product" "" "(HP Business Inkjet 2300 Printer)"
Attribute "Product" "" "(HP Business Inkjet 2300n Printer)"
@@ -19759,7 +19759,7 @@ Group "RLT/HP Real Life Technologies"
@@ -19973,7 +19973,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet 9100 Series"
Attribute "NickName" "" "HP Officejet 9100 Series pcl3, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet 9100 Series hpijs"
@ -442,7 +460,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_9100_series-pcl3.ppd"
Attribute "Product" "" "(HP Officejet 9110 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet 9120 All-in-one Printer)"
@@ -19843,7 +19843,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20057,7 +20057,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Business Inkjet 2800"
Attribute "NickName" "" "HP Business Inkjet 2800 pcl3, hpcups $Version"
Attribute "ShortNickName" "" "HP Business Inkjet 2800 hpijs"
@ -451,7 +469,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-business_inkjet_2800-pcl3.ppd"
Attribute "Product" "" "(HP Business Inkjet 2800 Printer)"
Attribute "Product" "" "(HP Business Inkjet 2800dt Printer)"
@@ -20379,7 +20379,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20600,7 +20600,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet Lx"
Attribute "NickName" "" "HP Officejet Lx, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet Lx hpijs"
@ -460,7 +478,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_lx.ppd"
Attribute "Product" "" "(HP Officejet Lx All-in-one Printer)"
}
@@ -20516,7 +20516,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20737,7 +20737,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 540"
Attribute "NickName" "" "HP Deskjet 540, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 540 hpijs"
@ -469,7 +487,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_540.ppd"
Attribute "Product" "" "(HP Deskjet 540 Printer)"
}
@@ -20524,7 +20524,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20745,7 +20745,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 400"
Attribute "NickName" "" "HP Deskjet 400, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 400 hpijs"
@ -478,7 +496,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_400.ppd"
Attribute "Product" "" "(HP Deskjet 400 Printer)"
Attribute "Product" "" "(HP Deskjet 400 Color Capable Printer)"
@@ -20541,7 +20541,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20762,7 +20762,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet Series 300"
Attribute "NickName" "" "HP Officejet Series 300, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet Series 300 hpijs"
@ -487,7 +505,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_series_300.ppd"
Attribute "Product" "" "(HP Officejet 300 All-in-one Printer)"
}
@@ -20674,7 +20674,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20895,7 +20895,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 630c"
Attribute "NickName" "" "HP Deskjet 630c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 630c hpijs"
@ -496,7 +514,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_630c.ppd"
Attribute "Product" "" "(HP Deskjet 630c Printer)"
}
@@ -20690,7 +20690,7 @@ Group "RLT/HP Real Life Technologies"
@@ -20911,7 +20911,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 656c"
Attribute "NickName" "" "HP Deskjet 656c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 656c hpijs"
@ -505,7 +523,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_656c.ppd"
Attribute "Product" "" "(HP Deskjet 656c Printer)"
Attribute "Product" "" "(HP Deskjet 656cvr Printer)"
@@ -20803,7 +20803,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21024,7 +21024,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 600"
Attribute "NickName" "" "HP Deskjet 600, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 600 hpijs"
@ -514,7 +532,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_600.ppd"
Attribute "Product" "" "(HP Deskjet 600c Printer)"
Attribute "Product" "" "(HP Deskjet 600 Printer)"
@@ -20843,7 +20843,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21065,7 +21065,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 670c"
Attribute "NickName" "" "HP Deskjet 670c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 670c hpijs"
@ -523,7 +541,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_670c.ppd"
Attribute "Product" "" "(HP Deskjet 670c Printer)"
}
@@ -20915,7 +20915,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21137,7 +21137,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet Series 600"
Attribute "NickName" "" "HP Officejet Series 600, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet Series 600 hpijs"
@ -532,7 +550,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_series_600.ppd"
Attribute "Product" "" "(HP Officejet 600 All-in-one Printer)"
}
@@ -21060,7 +21060,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21282,7 +21282,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 610c"
Attribute "NickName" "" "HP Deskjet 610c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 610c hpijs"
@ -541,7 +559,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_610c.ppd"
Attribute "Product" "" "(HP Deskjet 610c Printer)"
}
@@ -21084,7 +21084,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21306,7 +21306,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 640c"
Attribute "NickName" "" "HP Deskjet 640c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 640c hpijs"
@ -550,16 +568,16 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_640c.ppd"
Attribute "Product" "" "(HP Deskjet 640c Lite Printer)"
Attribute "Product" "" "(HP Deskjet 640c Printer)"
@@ -21104,7 +21104,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21335,7 +21335,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 690c"
Attribute "NickName" "" "HP Deskjet 690c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 690c hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 690c;DES:deskjet 690c;"
+ Attribute "1284DeviceID" "" "MFG:HEWLETT-PACKARD;MDL:DESKJET 690C;DES:Hewlett-Packard DeskJet 690C;"
PCFileName "hp-deskjet_690c.ppd"
Attribute "Product" "" "(HP Deskjet 690 Printer)"
Attribute "Product" "" "(HP Deskjet 690c Plus Printer)"
@@ -21156,7 +21156,7 @@ Group "RLT/HP Real Life Technologies"
Attribute "Product" "" "(HP Deskjet 690c Printer)"
@@ -21386,7 +21386,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet Series 700"
Attribute "NickName" "" "HP Officejet Series 700, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet Series 700 hpijs"
@ -568,7 +586,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_series_700.ppd"
Attribute "Product" "" "(HP Officejet 700 All-in-one Printer)"
}
@@ -21307,7 +21307,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21537,7 +21537,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 812c"
Attribute "NickName" "" "HP Deskjet 812c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 812c hpijs"
@ -577,7 +595,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_812c.ppd"
Attribute "Product" "" "(HP Deskjet 812c Printer)"
}
@@ -21315,7 +21315,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21545,7 +21545,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 815c"
Attribute "NickName" "" "HP Deskjet 815c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 815c hpijs"
@ -586,7 +604,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_815c.ppd"
Attribute "Product" "" "(HP Deskjet 815c Printer)"
}
@@ -21347,7 +21347,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21577,7 +21577,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 840c"
Attribute "NickName" "" "HP Deskjet 840c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 840c hpijs"
@ -595,7 +613,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_840c.ppd"
Attribute "Product" "" "(HP Deskjet 840c Printer)"
}
@@ -21355,7 +21355,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21585,7 +21585,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 841c"
Attribute "NickName" "" "HP Deskjet 841c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 841c hpijs"
@ -604,7 +622,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_841c.ppd"
Attribute "Product" "" "(HP Deskjet 841c Printer)"
}
@@ -21371,7 +21371,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21601,7 +21601,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 843c"
Attribute "NickName" "" "HP Deskjet 843c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 843c hpijs"
@ -613,7 +631,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_843c.ppd"
Attribute "Product" "" "(HP Deskjet 843c Printer)"
Attribute "Product" "" "(HP Deskjet 843cxe Printer)"
@@ -21380,7 +21380,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21610,7 +21610,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 880c"
Attribute "NickName" "" "HP Deskjet 880c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 880c hpijs"
@ -622,7 +640,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_880c.ppd"
Attribute "Product" "" "(HP Deskjet 880c Printer)"
}
@@ -21396,7 +21396,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21626,7 +21626,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 895c"
Attribute "NickName" "" "HP Deskjet 895c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 895c hpijs"
@ -631,7 +649,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_895c.ppd"
Attribute "Product" "" "(HP Deskjet 895cse Printer)"
Attribute "Product" "" "(HP Deskjet 895c Printer)"
@@ -21406,7 +21406,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21636,7 +21636,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet r40"
Attribute "NickName" "" "HP Officejet r40, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet r40 hpijs"
@ -640,7 +658,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_r40.ppd"
Attribute "Product" "" "(HP Officejet r40 All-in-one Printer)"
}
@@ -21430,7 +21430,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21660,7 +21660,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet r60"
Attribute "NickName" "" "HP Officejet r60, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet r60 hpijs"
@ -649,7 +667,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_r60.ppd"
Attribute "Product" "" "(HP Officejet r60 All-in-one Printer)"
}
@@ -21438,7 +21438,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21668,7 +21668,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet r65"
Attribute "NickName" "" "HP Officejet r65, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet r65 hpijs"
@ -658,7 +676,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_r65.ppd"
Attribute "Product" "" "(HP Officejet r65 All-in-one Printer)"
}
@@ -21446,7 +21446,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21676,7 +21676,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet r80"
Attribute "NickName" "" "HP Officejet r80, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet r80 hpijs"
@ -667,16 +685,16 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_r80.ppd"
Attribute "Product" "" "(HP Officejet r80 All-in-one Printer)"
}
@@ -21462,7 +21462,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21692,7 +21692,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet T Series"
Attribute "NickName" "" "HP Officejet T Series, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet T Series hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet t series;DES:officejet t series;"
+ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:OfficeJet T Series;DES:Hewlett-Packard OfficeJet T Series;"
PCFileName "hp-officejet_t_series.ppd"
Attribute "Product" "" "(HP Officejet t45 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet t45xi All-in-one Printer)"
@@ -21473,7 +21473,7 @@ Group "RLT/HP Real Life Technologies"
Attribute "Product" "" "(HP Officejet t45 All-in-one Printer)"
Attribute "Product" "" "(HP Officejet t45xi All-in-one Printer)"
@@ -21703,7 +21703,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP PSC 500"
Attribute "NickName" "" "HP PSC 500, hpcups $Version"
Attribute "ShortNickName" "" "HP PSC 500 hpijs"
@ -685,7 +703,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-psc_500.ppd"
Attribute "Product" "" "(HP PSC 500 All-in-one Printer)"
Attribute "Product" "" "(HP PSC 500xi All-in-one Printer)"
@@ -21589,7 +21589,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21819,7 +21819,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 825c"
Attribute "NickName" "" "HP Deskjet 825c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 825c hpijs"
@ -694,7 +712,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_825c.ppd"
Attribute "Product" "" "(HP Deskjet 825cvr Printer)"
Attribute "Product" "" "(HP Deskjet 825c Printer)"
@@ -21598,7 +21598,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21828,7 +21828,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 845c"
Attribute "NickName" "" "HP Deskjet 845c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 845c hpijs"
@ -703,7 +721,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_845c.ppd"
Attribute "Product" "" "(HP Deskjet 845c Printer)"
Attribute "Product" "" "(HP Deskjet 845cvr Printer)"
@@ -21709,7 +21709,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21939,7 +21939,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 850c"
Attribute "NickName" "" "HP Deskjet 850c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 850c hpijs"
@ -712,7 +730,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_850c.ppd"
Attribute "Product" "" "(HP Deskjet 850k Printer)"
Attribute "Product" "" "(HP Deskjet 850c Printer)"
@@ -21728,7 +21728,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21958,7 +21958,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 870c"
Attribute "NickName" "" "HP Deskjet 870c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 870c hpijs"
@ -721,7 +739,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_870c.ppd"
Attribute "Product" "" "(HP Deskjet 870k Printer)"
Attribute "Product" "" "(HP Deskjet 870c Printer)"
@@ -21739,7 +21739,7 @@ Group "RLT/HP Real Life Technologies"
@@ -21969,7 +21969,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet Pro 1150c"
Attribute "NickName" "" "HP Officejet Pro 1150c, hpcups $Version"
Attribute "ShortNickName" "" "HP Officejet Pro 1150c hpijs"
@ -730,7 +748,7 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-officejet_pro_1150c.ppd"
Attribute "Product" "" "(HP Officejet Pro 1150c All-in-one Printer)"
Attribute "Product" "" "(HP Officejet Pro 1150cse All-in-one Printer)"
@@ -21853,7 +21853,7 @@ Group "RLT/HP Real Life Technologies"
@@ -22083,7 +22083,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Deskjet 890c"
Attribute "NickName" "" "HP Deskjet 890c, hpcups $Version"
Attribute "ShortNickName" "" "HP Deskjet 890c hpijs"
@ -739,10 +757,10 @@ diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.deviceIDs-drv hplip-3.19.6/prnt/drv
PCFileName "hp-deskjet_890c.ppd"
Attribute "Product" "" "(HP Deskjet 890cse Printer)"
Attribute "Product" "" "(HP Deskjet 890c Printer)"
@@ -21862,7 +21862,7 @@ Group "RLT/HP Real Life Technologies"
@@ -22092,7 +22092,7 @@ Group "RLT/HP Real Life Technologies"
ModelName "HP Officejet Pro 1170c Series"
Attribute "NickName" "" "HP Officejet Pro 1170c Series, hpcups $Version"
Attribute "ShortNickName" "" "HP OJ Pro 1170c Series hpijs"
Attribute "ShortNickName" "" "HP Officejet Pro 1170c Series hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 1170c series;DES:officejet pro 1170c series;"
+ Attribute "1284DeviceID" "" "MFG:HEWLETT-PACKARD;MDL:OFFICEJET PRO 1170C SERIES;DES:Hewlett-Packard OfficeJet Pro 1170C Series;"
PCFileName "hp-officejet_pro_1170c_series.ppd"

View File

@ -0,0 +1,12 @@
diff -up hplip-3.18.6/base/validation.py.keyserver hplip-3.18.6/base/validation.py
--- hplip-3.18.6/base/validation.py.keyserver 2018-11-13 17:35:38.085322569 +0100
+++ hplip-3.18.6/base/validation.py 2018-11-13 17:36:18.026991983 +0100
@@ -42,7 +42,7 @@ class DigiSign_Verification(object):
class GPG_Verification(DigiSign_Verification):
- def __init__(self, pgp_site = 'pgp.mit.edu', key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
+ def __init__(self, pgp_site = 'pool.sks-keyservers.net', key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
self.__pgp_site = pgp_site
self.__key = key
self.__gpg = utils.which('gpg',True)

View File

@ -1,18 +1,18 @@
diff -up hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp.logdir hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp.logdir 2022-01-12 11:27:25.509348511 +0100
+++ hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp 2022-01-12 11:29:11.507661838 +0100
@@ -669,7 +669,7 @@ int HPCupsFilter::processRasterData(cups
diff -up hplip-3.15.2/prnt/hpcups/HPCupsFilter.cpp.logdir hplip-3.15.2/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.15.2/prnt/hpcups/HPCupsFilter.cpp.logdir 2015-02-04 14:22:43.838774401 +0100
+++ hplip-3.15.2/prnt/hpcups/HPCupsFilter.cpp 2015-02-04 14:22:43.844774315 +0100
@@ -619,7 +619,7 @@ int HPCupsFilter::processRasterData(cups
char hpPreProcessedRasterFile[MAX_FILE_PATH_LEN]; //temp file needed to store raster data with swaped pages.
- sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
+ snprintf(hpPreProcessedRasterFile, sizeof (hpPreProcessedRasterFile), "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
#ifndef DISABLE_IMAGEPROCESSOR
image_processor_t* imageProcessor=NULL;
IMAGE_PROCESSOR_ERROR result;
diff -up hplip-3.21.12/prnt/hpcups/SystemServices.cpp.logdir hplip-3.21.12/prnt/hpcups/SystemServices.cpp
--- hplip-3.21.12/prnt/hpcups/SystemServices.cpp.logdir 2021-12-13 10:07:36.000000000 +0100
+++ hplip-3.21.12/prnt/hpcups/SystemServices.cpp 2022-01-12 11:27:25.509348511 +0100
while (cupsRasterReadHeader2(cups_raster, &cups_header))
diff -up hplip-3.15.2/prnt/hpcups/SystemServices.cpp.logdir hplip-3.15.2/prnt/hpcups/SystemServices.cpp
--- hplip-3.15.2/prnt/hpcups/SystemServices.cpp.logdir 2015-02-04 14:22:43.844774315 +0100
+++ hplip-3.15.2/prnt/hpcups/SystemServices.cpp 2015-02-04 14:24:04.080626127 +0100
@@ -38,7 +38,7 @@ SystemServices::SystemServices(int iLogL
if (iLogLevel & SAVE_OUT_FILE)
{

View File

@ -1,7 +1,7 @@
diff -up hplip-3.23.3/Makefile.am.no-ernie hplip-3.23.3/Makefile.am
--- hplip-3.23.3/Makefile.am.no-ernie 2023-05-29 13:15:58.008610471 +0200
+++ hplip-3.23.3/Makefile.am 2023-05-29 13:15:58.134609689 +0200
@@ -562,7 +562,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
diff -up hplip-3.17.4/Makefile.am.no-ernie hplip-3.17.4/Makefile.am
--- hplip-3.17.4/Makefile.am.no-ernie 2017-04-26 16:28:35.398099978 +0200
+++ hplip-3.17.4/Makefile.am 2017-04-26 16:29:02.235879035 +0200
@@ -519,7 +519,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
prnt/hpcups/Mode2.cpp prnt/hpcups/Mode2.h prnt/hpcups/Mode3.cpp prnt/hpcups/Mode3.h \
prnt/hpcups/Mode9.cpp prnt/hpcups/Mode9.h prnt/hpcups/Mode10.cpp prnt/hpcups/Mode10.h \
prnt/hpcups/ModeDeltaPlus.cpp prnt/hpcups/ModeDeltaPlus.h prnt/hpcups/ModeJbig.cpp prnt/hpcups/ModeJbig.h \
@ -10,9 +10,9 @@ diff -up hplip-3.23.3/Makefile.am.no-ernie hplip-3.23.3/Makefile.am
prnt/hpcups/Encapsulator.cpp prnt/hpcups/Encapsulator.h prnt/hpcups/Pcl3.cpp prnt/hpcups/Pcl3.h \
prnt/hpcups/Pcl3Gui.cpp prnt/hpcups/Pcl3Gui.h prnt/hpcups/Pcl3Gui2.cpp prnt/hpcups/Pcl3Gui2.h \
prnt/hpcups/LJMono.cpp prnt/hpcups/LJMono.h prnt/hpcups/LJColor.cpp prnt/hpcups/LJColor.h \
diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp
--- hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp 2023-05-29 13:17:02.468210361 +0200
diff -up hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp
--- hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp.no-ernie 2017-04-26 16:28:39.525066003 +0200
+++ hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp 2017-04-26 16:29:46.987510614 +0200
@@ -30,7 +30,6 @@
#include "CommonDefinitions.h"
@ -26,7 +26,7 @@ diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.23.3/prnt/hpcups
{
speed_mech_enabled = true;
- m_run_ernie_filter = true;
crd_type = eCrd_color_only; // pcl3 printers support RGB only ref:hplip-1701
crd_type = eCrd_both;
strcpy(m_szLanguage, "PCL3GUI");
}
@@ -59,21 +57,6 @@ DRIVER_ERROR Pcl3Gui2::Configure(Pipelin
@ -51,9 +51,9 @@ diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.23.3/prnt/hpcups
if (crd_type != eCrd_black_only) {
Mode10 *pMode10;
diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h.no-ernie hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h
--- hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h.no-ernie 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h 2023-05-29 13:15:58.134609689 +0200
diff -up hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h.no-ernie hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h
--- hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h.no-ernie 2017-04-26 16:28:43.277035115 +0200
+++ hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h 2017-04-26 16:30:05.826355522 +0200
@@ -60,7 +60,6 @@ private:
DRIVER_ERROR encapsulateRaster(BYTE *input_raster, unsigned int num_bytes, COLORTYPE c_type);
bool speed_mech_enabled;

View File

@ -57,8 +57,8 @@ diff -up hplip-3.15.2/fax/filters/pstotiff.pstotiff-is-rubbish hplip-3.15.2/fax/
+TMPFILE=`mktemp /tmp/pstotiff.XXXXXX` || exit 1
+gs -I/usr/share/cups/fonts -sDEVICE=tiffg4 -dMaxStripSize=0 -r204x196 \
+ -dNOPAUSE -dBATCH -dSAFER -dPARANOIDSAFER \
+ -dSHORTERRORS -dGHOSTSCRIPT -sstdout=%stderr \
+ -sOutputFile="$TMPFILE" "$IN"
+ -dSHORTERRORS -dWRITESYSTEMDICT -dGHOSTSCRIPT \
+ -sstdout=%stderr -sOutputFile="$TMPFILE" "$IN"
+RET=$?
+cat "$TMPFILE"
+rm -f "$TMPFILE"

View File

@ -1,18 +1,18 @@
diff -up hplip-3.18.12/scan.py.scan-tmp hplip-3.18.12/scan.py
--- hplip-3.18.12/scan.py.scan-tmp 2019-01-08 12:48:20.194815147 +0100
+++ hplip-3.18.12/scan.py 2019-01-08 12:50:47.942620000 +0100
@@ -1887,7 +1887,7 @@ try:
diff -up hplip-3.15.2/scan.py.scan-tmp hplip-3.15.2/scan.py
--- hplip-3.15.2/scan.py.scan-tmp 2015-02-04 15:27:20.423562999 +0100
+++ hplip-3.15.2/scan.py 2015-02-04 15:34:59.170978476 +0100
@@ -1080,7 +1080,7 @@ try:
if ('editor' in dest or 'viewer' in dest or 'email' in dest or 'print' in dest) \
and not file_saved:
- output_fd, output = utils.make_temp_file(suffix='.png')
+ output_fd, output = utils.make_temp_file(dir='/var/tmp', suffix='.png')
try:
'''pyPlatform = platform.python_version()
num = pyPlatform.split('.')
diff -up hplip-3.18.12/scan/sane.py.scan-tmp hplip-3.18.12/scan/sane.py
--- hplip-3.18.12/scan/sane.py.scan-tmp 2018-12-03 08:10:22.000000000 +0100
+++ hplip-3.18.12/scan/sane.py 2019-01-08 12:48:20.194815147 +0100
im.save(output)
except IOError as e:
diff -up hplip-3.15.2/scan/sane.py.scan-tmp hplip-3.15.2/scan/sane.py
--- hplip-3.15.2/scan/sane.py.scan-tmp 2015-01-29 13:20:21.000000000 +0100
+++ hplip-3.15.2/scan/sane.py 2015-02-04 15:27:20.424562984 +0100
@@ -425,7 +425,8 @@ class ScanThread(threading.Thread):
self.dev = device
self.update_queue = update_queue

View File

@ -1,18 +1,18 @@
diff -up hplip-3.19.6/prnt/drv/hpcups.drv.in.snmp-quirks hplip-3.19.6/prnt/drv/hpcups.drv.in
--- hplip-3.19.6/prnt/drv/hpcups.drv.in.snmp-quirks 2019-07-12 08:38:36.362527348 +0200
+++ hplip-3.19.6/prnt/drv/hpcups.drv.in 2019-07-12 08:46:28.236417835 +0200
@@ -10334,6 +10334,8 @@ Manufacturer "HP"
diff -up hplip-3.17.11/prnt/drv/hpcups.drv.in.snmp-quirks hplip-3.17.11/prnt/drv/hpcups.drv.in
--- hplip-3.17.11/prnt/drv/hpcups.drv.in.snmp-quirks 2017-12-07 15:21:34.149138400 +0100
+++ hplip-3.17.11/prnt/drv/hpcups.drv.in 2017-12-07 15:33:32.443211804 +0100
@@ -10831,6 +10831,8 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
Attribute "NickName" "" "HP Officejet Pro 8500 a909a, hpcups $Version"
Attribute "ShortNickName" "" "HP OJ Pro 8500 a909a hpijs"
Attribute "ShortNickName" "" "HP Officejet Pro 8500 a909a hpijs"
Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 8500 a909a;DES:officejet pro 8500 a909a;"
+ // This device lies about its supplies capacity.
+ Attribute "cupsSNMPQuirks" "" "capacity"
PCFileName "hp-officejet_pro_8500_a909a.ppd"
Attribute "Product" "" "(HP Officejet Pro 8500 All-in-one Printer - a909a)"
}
@@ -10342,6 +10344,8 @@ Manufacturer "HP"
@@ -10839,6 +10841,8 @@ CustomMedia "B5/B5 176x250mm" 498.96 708
Attribute "NickName" "" "HP Officejet Pro 8500 a909g, hpcups $Version"
Attribute "ShortNickName" "" "HP OJ Pro 8500 a909g hpijs"
Attribute "ShortNickName" "" "HP Officejet Pro 8500 a909g hpijs"
Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 8500 a909g;DES:officejet pro 8500 a909g;"
+ // This device lies about its supplies capacity.
+ Attribute "cupsSNMPQuirks" "" "capacity"

View File

@ -1,6 +1,6 @@
diff -up hplip-3.20.11/firmware.py.typo hplip-3.20.11/firmware.py
--- hplip-3.20.11/firmware.py.typo 2021-02-03 10:53:34.311743805 +0100
+++ hplip-3.20.11/firmware.py 2021-02-03 10:54:13.229386257 +0100
diff -up hplip-3.17.11/firmware.py.typo hplip-3.17.11/firmware.py
--- hplip-3.17.11/firmware.py.typo 2018-01-12 16:50:10.338366719 +0100
+++ hplip-3.17.11/firmware.py 2018-01-12 16:50:33.563184939 +0100
@@ -99,7 +99,7 @@ try:
if mode == GUI_MODE and (ui_toolkit == 'qt4' or ui_toolkit == 'qt5'):
if not utils.canEnterGUIMode4():

View File

@ -0,0 +1,54 @@
diff -up hplip-3.16.7/base/utils.py.ui-optional hplip-3.16.7/base/utils.py
--- hplip-3.16.7/base/utils.py.ui-optional 2016-07-15 12:12:28.000000000 +0200
+++ hplip-3.16.7/base/utils.py 2016-08-12 10:12:24.599398769 +0200
@@ -733,6 +733,13 @@ def checkPyQtImport(): # qt3
if os.getenv('DISPLAY') and os.getenv('STARTED_FROM_MENU'):
no_qt_message_gtk()
+ # hplip-gui sub-package (Fedora)
+ try:
+ import ui
+ except ImportError:
+ log.error("hplip-gui not installed. GUI not available. Exiting.")
+ return False
+
log.error("PyQt not installed. GUI not available. Exiting.")
return False
@@ -783,7 +790,8 @@ def checkPyQtImport4():
import PyQt5
import ui5
else:
- log.debug("HPLIP is not installed properly or is installed without graphical support. Please reinstall HPLIP again")
+ # hplip-gui sub-package (Fedora) requires python3-qt5
+ log.error("Install the hplip-gui package for graphical support.")
return False
return True
@@ -2434,6 +2442,7 @@ def checkPyQtImport45():
except ImportError as e:
log.debug(e)
+ log.error("Install the hplip-gui package for graphical support.")
raise ImportError("GUI Modules PyQt4 and PyQt5 are not installed")
@@ -2455,6 +2464,7 @@ def import_dialog(ui_toolkit):
return (QApplication, "ui4")
except ImportError as e:
log.error(e)
+ log.error("Unable to load Qt support. Is hplip-gui package installed?")
sys.exit(1)
elif ui_toolkit == "qt5":
try:
@@ -2463,9 +2473,7 @@ def import_dialog(ui_toolkit):
return (QApplication, "ui5")
except ImportError as e:
log.error(e)
- sys.exit(1)
- else:
- log.error("Unable to load Qt support. Is it installed?")
+ log.error("Unable to load Qt support. Is hplip-gui package installed?")
sys.exit(1)

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="desktop">
<id>hplip.desktop</id>
<component type="desktop-application">
<id>HP-hplip.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<project_license>GPL-2.0 and MIT and BSD-2-Clause</project_license>
<name>HPLIP Graphic Tools</name>
<summary>HPLIP GUI tools and GUI part of other HPLIP tools</summary>
<description>

File diff suppressed because it is too large Load Diff

1
ci.fmf
View File

@ -1 +0,0 @@
resultsdb-testcase: separate

View File

@ -1,25 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
#Rawhide
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
#gating rhel
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}

Binary file not shown.

View File

@ -1,62 +0,0 @@
#!/usr/bin/bash
# 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
@bindir@/echo "Version was not acquired - exiting..."
exit 1
fi
# plugin name
PLUGIN_FILE="hplip-${VER}-plugin.run"
download()
{
SOURCE="$1"
@bindir@/curl --create-dirs -O --output-dir ~/.hplip ${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 ]
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}
if test "x$(file --mime ~/.hplip/${PLUGIN_FILE} | grep 'text/x-shellscript')" = "xtext/x-shellscript"
then
break
fi
done
if test "x$(file --mime ~/.hplip/${PLUGIN_FILE} | grep 'text/x-shellscript')" = "x"
then
@bindir@/echo "The downloaded file does not exist or is not a shell script - error during downloading, exiting..."
exit 1
fi
@bindir@/bash ~/.hplip/${PLUGIN_FILE}
if [ $? -ne 0 ]
then
@bindir@/echo "Plugin installation failed, exiting..."
@bindir@/rm -f ~/.hplip/${PLUGIN_FILE} &> /dev/null
exit 1
fi
@bindir@/rm -f ~/.hplip/${PLUGIN_FILE} &> /dev/null
@bindir@/rm -f ~/.hplip/plugin-installed-* &> /dev/null
@bindir@/touch ~/.hplip/plugin-installed-$VER
exit 0

View File

@ -1,30 +0,0 @@
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
@@ -765,10 +765,9 @@ class SetupDialog(QDialog, Ui_Dialog):
pass
def OtherPPDButton_clicked(self, b):
- ppd_file = to_unicode(QFileDialog.getOpenFileName(self, self.__tr("Select PPD File"),
- sys_conf.get(
- 'dirs', 'ppd'),
- self.__tr("PPD Files (*.ppd *.ppd.gz);;All Files (*)")))
+ ppd_file = QFileDialog.getOpenFileName(self, self.__tr("Select PPD File"),
+ sys_conf.get('dirs', 'ppd'),
+ self.__tr("PPD Files (*.ppd *.ppd.gz);;All Files (*)"))[0]
if ppd_file and os.path.exists(ppd_file):
self.print_ppd = (ppd_file, cups.getPPDDescription(ppd_file))

View File

@ -1,44 +0,0 @@
diff --git a/base/device.py b/base/device.py
index 6d7add9..bf27307 100644
--- a/base/device.py
+++ b/base/device.py
@@ -2264,7 +2264,8 @@ class Device(object):
self.callback()
if total_bytes_to_write != bytes_out:
- raise Error(ERROR_DEVICE_IO_ERROR)
+ raise Error(ERROR_DEVICE_IO_ERROR, 'Number of written '
+ 'bytes by hpmudext mismatch with expected amount.')
return bytes_out
diff --git a/base/g.py b/base/g.py
index 9856662..0aa0e2e 100644
--- a/base/g.py
+++ b/base/g.py
@@ -398,9 +398,11 @@ ERROR_STRINGS = {
class Error(Exception):
- def __init__(self, opt=ERROR_INTERNAL):
+ def __init__(self, opt=ERROR_INTERNAL, msg=None):
self.opt = opt
self.msg = ERROR_STRINGS.get(opt, ERROR_STRINGS[ERROR_INTERNAL])
+ if msg:
+ self.msg = '{} - {}'.format(self.msg, msg)
log.debug("Exception: %d (%s)" % (opt, self.msg))
Exception.__init__(self, self.msg, opt)
diff --git a/prnt/ldl.py b/prnt/ldl.py
index e3f77f7..8b28e7f 100644
--- a/prnt/ldl.py
+++ b/prnt/ldl.py
@@ -145,7 +145,7 @@ def buildLIDILPacket(packet_type, command=0, operation=0, other={}):
p = '$\x00\x10\x00\x08\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff$'
elif packet_type == PACKET_TYPE_RESET_LIDIL:
- p = '$\x00\x10\x00\x06\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff$'
+ p = b'$\x00\x10\x00\x06\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff$'
elif packet_type == PACKET_TYPE_COMMAND:

View File

@ -1,52 +0,0 @@
diff -up hplip-3.20.9/configure.in.configure-python hplip-3.20.9/configure.in
--- hplip-3.20.9/configure.in.configure-python 2020-09-23 07:24:27.000000000 +0200
+++ hplip-3.20.9/configure.in 2020-10-02 07:27:09.082331431 +0200
@@ -604,17 +604,29 @@ if test "$class_driver" = "no" && test "
fi
fi
-SAVE_CPPFLAGS="$CPPFLAGS"
-CFLAGS=`python-config --includes`
-if [ $? -eq 0 ]
-then
- echo $FLAGS
-else
-CFLAGS=`python3-config --includes`
- if [ $? -eq 0 ]
- then
- echo $FLAGS
- fi
+AC_PATH_PROG(python3_config_path, python3-config, [AC_MSG_ERROR([python3-config not installed], 6)])
+
+PYTHON_INCLUDES=`$python3_config_path --includes`
+if test "X$PYTHON_INCLUDES" = "X" ; then
+ AC_MSG_ERROR([Cannot get Python includes via python3-config], 6)
+fi
+
+PYTHON_LIBS=`$python3_config_path --libs`
+if test "X$PYTHON_LIBS" = "X" ; then
+ AC_MSG_ERROR([Cannot get Python libs via python3-config], 6)
+fi
+
+SAVE_CFLAGS="$CFLAGS"
+SAVE_LIBS="$LIBS"
+
+CFLAGS="$CFLAGS $PYTHON_INCLUDES"
+LIBS="$LIBS $PYTHON_LIBS"
+
+AC_TRY_LINK(,[ ], AC_MSG_RESULT(yes); python_includes="ok", AC_MSG_ERROR([no: PYTHON DISABLED], 6))
+
+if test "X$python_includes" != "Xok" ; then
+ CFLAGS="$SAVE_CFLAGS"
+ LIBS="$SAVE_LIBS"
fi
#CFLAGS=`(python-config --includes)`
@@ -631,7 +643,6 @@ if test "$class_driver" = "no" && test "
AS_IF([test "x$FOUND_HEADER" != "xyes"],
[AC_MSG_ERROR([cannot find python-devel support], 6)])
fi
-CFLAGS="$save_CFLAGS"
if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test "$hpcups_only_build" = "no"; then
AC_CHECK_LIB([sane], [sane_open], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find sane-backends-devel support (or --disable-scan-build)], 12)])

View File

@ -1,25 +0,0 @@
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
index c23957a..48b248f 100644
--- a/ui5/devmgr5.py
+++ b/ui5/devmgr5.py
@@ -2300,14 +2300,15 @@ class PasswordDialog(QDialog):
# XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
def showPasswordUI(prompt):
+ dlg = None
+
try:
dlg = PasswordDialog(prompt, None)
+ except Exception as e:
+ log.error('Unable to open password dialog due following error:\n {}'.format(e))
- if dlg.exec_() == QDialog.Accepted:
- return (dlg.getUsername(), dlg.getPassword())
-
- finally:
- pass
+ if dlg and dlg.exec_() == QDialog.Accepted:
+ return (dlg.getUsername(), dlg.getPassword())
return ("", "")

View File

@ -1,34 +0,0 @@
commit 4c913b68d8f8a79e11e247a8f7086f779f2685d4
Author: Tomas Korbar <tkorbar@redhat.com>
Date: Tue Sep 18 16:17:06 2018 +0200
Fix TypeError
- 1564770 - TypeError: 'Error' object does not support indexing
diff --git a/clean.py b/clean.py
index 3d41f04..3a7248e 100755
--- a/clean.py
+++ b/clean.py
@@ -182,7 +182,7 @@ try:
log.error("Cleaning not needed or supported on this device.")
except Error as e:
- log.error("An error occured: %s" % e[0])
+ log.error("An error occured: %s" % e.msg)
else:
log.error("Device is busy or in an error state. Please check device and try again.")
diff --git a/ui/scrollunload.py b/ui/scrollunload.py
index fdb48e8..345ed82 100644
--- a/ui/scrollunload.py
+++ b/ui/scrollunload.py
@@ -120,7 +120,7 @@ class ScrollUnloadView(ScrollView):
self.pc = photocard.PhotoCard(None, self.cur_device.device_uri, self.cur_printer)
except Error as e:
QApplication.restoreOverrideCursor()
- self.form.FailureUI(self.__tr("An error occured: %s" % e[0]))
+ self.form.FailureUI(self.__tr("An error occured: %s" % e.msg))
self.cleanup(EVENT_PCARD_UNABLE_TO_MOUNT)
return False

View File

@ -1,31 +0,0 @@
diff --git a/base/utils.py b/base/utils.py
index d493b54..401dc41 100644
--- a/base/utils.py
+++ b/base/utils.py
@@ -727,8 +727,8 @@ def canEnterGUIMode4(): # qt4
except ImportError:
try:
import ui5.setupdialog
- except ImportError as e:
- log.warn(e)
+ except ImportError:
+ log.error("hplip-gui not installed. GUI not available.")
return False
return True
@@ -746,6 +746,7 @@ def checkPyQtImport(): # qt3
try:
import ui
except ImportError:
+ log.error("hplip-gui not installed. GUI not available.")
return False
log.error("PyQt not installed. GUI not available. Exiting.")
@@ -800,6 +801,7 @@ def checkPyQtImport4():
import ui5.setupdialog
except ImportError:
log.debug('GUI not available.')
+ log.error('hplip-gui not installed. GUI not available.')
return False
return True

View File

@ -1,163 +0,0 @@
diff --git a/prnt/cups.py b/prnt/cups.py
index a9f410a..3783a60 100644
--- a/prnt/cups.py
+++ b/prnt/cups.py
@@ -489,78 +489,77 @@ def getPPDFile2(mq,model, ppds): # New PPD find
#Check if common ppd name is already given in models.dat(This is needed because in case of devices having more than one derivatives
#will have diffrent model name strings in device ID, because of which we don't get the common ppd name for search)
family_check=isfamilydrv(ppds)
- family_class=getFamilyClassName(model)
+
model = models.normalizeModelName(model)
- if family_check==0:
- ppd_name = mq.get('ppd-name',0)
- else:
- ppd_name = mq.get('family-ppd',0)
- if ppd_name == 0:
- stripped_model = stripModel2(model)
- else:
- stripped_model = stripModel2(ppd_name)
+ ppd_name = mq.get('{}'.format('family-ppd' if family_check else 'ppd-name'), 0)
+
+ stripped_model = stripModel2(ppd_name) if ppd_name else stripModel2(model)
+
+ wanted_model = getFamilyClassName(model) if family_check else stripped_model
log.debug("Matching PPD list to model %s..." % stripped_model)
matches = []
- if family_check ==0 :
- for f in ppds:
- match = ppd_pat.match(f)
- if match is not None:
- if match.group(1) == stripped_model:
- log.debug("Found match: %s" % f)
- try:
- pdls = match.group(2).split('-')
- except AttributeError:
- pdls = []
- if (prop.hpcups_build and 'hpijs' not in f) or \
- ((prop.hpijs_build and 'hpijs' in pdls) or (prop.hpcups_build and 'hpijs' not in pdls)) or \
- ('ps' in pdls) or ('pdf' in pdls):
- matches.append((f, [p for p in pdls if p and p != 'hpijs']))
- else:
- for f in ppds:
- match = ppd_pat1.match(f)
- if match is not None:
- if match.group(1) == family_class:
- log.debug("Found match: %s" % f)
- try:
- pdls = match.group(2).split('-')
- except AttributeError:
- pdls = []
- if (prop.hpcups_build and 'hpijs' not in f) or \
- ((prop.hpijs_build and 'hpijs' in pdls) or (prop.hpcups_build and 'hpijs' not in pdls)) or \
- ('ps' in pdls) or ('pdf' in pdls):
- matches.append((f, [p for p in pdls if p and p != 'hpijs']))
- log.debug(matches)
- num_matches = len(matches)
+ for f in ppds:
+ # ignore foomatic and gutenprint drivers
+ if 'foomatic' in f or 'gutenprint' in f:
+ continue
+
+ # see if driver type is in driver name
+ driver_types = []
+ if 'hpcups' in f:
+ driver_types.append('hpcups')
+ if 'hpijs' in f:
+ driver_types.append('hpijs')
+
+
+ ppd_filename = f.rsplit('/', 1)[1].split('.')[0].replace('hp-', '')
+
+ if not ppd_filename:
+ continue
+
+ # we need to sanitize the end of filename - there can be a driver type (-hpijs, -hpcups),
+ # pdl name (-zjstream, -pdf, -ps etc.) or the device can just have '-' in their name
+ # (HP Photosmart Premium C309g-m).
+ # So if we don't know the name after '-', take it as part of device name.
+ # If we know them either like driver type of PDL, remove the string from ppd name
+ # so we can compare it with stripped model
+ pdl_candidates = []
+ pdl_candidates = ppd_filename.split('-')[1:]
+
+ pdls = []
+ ppd_model = ppd_filename
+
+ for pdl in pdl_candidates:
+ if pdl in ['hpijs', 'hpcups']:
+ ppd_model=ppd_model.replace('-{}'.format(pdl), '')
+ continue
- if num_matches == 0:
- log.debug("No PPD found for model %s using new algorithm. Trying old algorithm..." % stripped_model)
- #Using Old algo, ignores the series keyword in ppd searching.
- matches2 = list(getPPDFile(stripModel(stripped_model), ppds).items())
- log.debug(matches2)
- num_matches2 = len(matches2)
- if num_matches2:
- for f, d in matches2:
- match = ppd_pat.match(f)
- if match is not None:
- log.debug("Found match: %s" % f)
- try:
- pdls = match.group(2).split('-')
- except AttributeError:
- pdls = []
+ if not models.PDL_TYPES.get(pdl):
+ log.debug('Unknown PDL named \'{}\' - can be a new PDL or '
+ 'just a part of device name. Assume it is '
+ 'a part of device name.'.format(pdl))
+ else:
+ pdls.append(pdl)
+ ppd_model=ppd_model.replace('-{}'.format(pdl), '')
+
+ if ppd_model != wanted_model and ppd_model != '{}_series'.format(wanted_model):
+ continue
+
+ log.debug("Found match: %s" % f)
- if (prop.hpcups_build and 'hpijs' not in f) or \
- ((prop.hpijs_build and 'hpijs' in pdls) or (prop.hpcups_build and 'hpijs' not in pdls)) or \
- ('ps' in pdls) or ('pdf' in pdls):
- matches.append((f, [p for p in pdls if p and p != 'hpijs']))
+ if (prop.hpcups_build and 'hpijs' not in f) or \
+ ((prop.hpijs_build and 'hpijs' in driver_types) or (prop.hpcups_build and 'hpijs' not in driver_types)) or \
+ ('ps' in pdls) or ('pdf' in pdls):
+ matches.append((f, pdls, [d for d in driver_types if d and d != 'hpijs']))
- log.debug(matches)
- num_matches = len(matches)
+
+ log.debug(matches)
+ num_matches = len(matches)
if num_matches == 0:
- log.error("No PPD found for model %s using old algorithm." % stripModel(stripped_model))
+ log.error("No PPD found for model %s." % stripModel(stripped_model))
return None
elif num_matches == 1:
@@ -570,7 +569,7 @@ def getPPDFile2(mq,model, ppds): # New PPD find
# > 1
log.debug("%d matches found. Searching based on PDL: Host > PS,PDF > PCL/Other" % num_matches)
for p in [models.PDL_TYPE_HOST, models.PDL_TYPE_PS,models.PDL_TYPE_PDF, models.PDL_TYPE_PCL]:
- for f, pdl_list in matches:
+ for f, pdl_list, driver_list in matches:
for x in pdl_list:
# default to HOST-based PDLs, as newly supported PDLs will most likely be of this type
if models.PDL_TYPES.get(x, models.PDL_TYPE_HOST) == p:
@@ -579,8 +578,8 @@ def getPPDFile2(mq,model, ppds): # New PPD find
log.debug("%d matches found. Searching based on Filters: HPCUPS > HPIJS" % num_matches)
for p in ["hpcups","hpijs"]:
- for f, pdl_list in matches:
- if p in f:
+ for f, pdl_list, driver_list in matches:
+ if p in driver_list:
log.debug("Selecting PPD: %s" % (f))
return (f, '')

View File

@ -1,100 +0,0 @@
--- 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_
extern void sane_hpaio_close(SANE_Handle handle)
{
- if (strcmp(*((char **)handle), "MARVELL") == 0)
- return marvell_close(handle);
- if (strcmp(*((char **)handle), "SOAP") == 0)
- return soap_close(handle);
- if (strcmp(*((char **)handle), "SOAPHT") == 0)
- return soapht_close(handle);
- if (strcmp(*((char **)handle), "LEDM") == 0)
- return ledm_close(handle);
- if (strcmp(*((char **)handle), "SCL-PML") == 0)
- return sclpml_close(handle);
- if (strcmp(*((char **)handle), "ESCL") == 0)
- return escl_close(handle);
- if (strcmp(*((char **)handle), "ORBLITE") == 0)
- return orblite_close(handle);
+ if (strcmp(*((char **)handle), "MARVELL") == 0) {
+ marvell_close(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "SOAP") == 0) {
+ soap_close(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "SOAPHT") == 0) {
+ soapht_close(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "LEDM") == 0) {
+ ledm_close(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "SCL-PML") == 0) {
+ sclpml_close(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "ESCL") == 0) {
+ escl_close(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "ORBLITE") == 0) {
+ orblite_close(handle);
+ return;
+ }
} /* sane_hpaio_close() */
extern const SANE_Option_Descriptor * sane_hpaio_get_option_descriptor(SANE_Handle handle, SANE_Int option)
@@ -539,20 +553,34 @@ extern SANE_Status sane_hpaio_read(SANE_
/* Note, sane_cancel is called normally not just during IO abort situations. */
extern void sane_hpaio_cancel( SANE_Handle handle )
{
- if (strcmp(*((char **)handle), "MARVELL") == 0)
- return marvell_cancel(handle);
- if (strcmp(*((char **)handle), "SOAP") == 0)
- return soap_cancel(handle);
- if (strcmp(*((char **)handle), "SOAPHT") == 0)
- return soapht_cancel(handle);
- if (strcmp(*((char **)handle), "LEDM") == 0)
- return ledm_cancel(handle);
- if (strcmp(*((char **)handle), "SCL-PML") == 0)
- return sclpml_cancel(handle);
- if (strcmp(*((char **)handle), "ESCL") == 0)
- return escl_cancel(handle);
- if (strcmp(*((char **)handle), "ORBLITE") == 0)
- return orblite_cancel(handle);
+ if (strcmp(*((char **)handle), "MARVELL") == 0) {
+ marvell_cancel(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "SOAP") == 0) {
+ soap_cancel(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "SOAPHT") == 0) {
+ soapht_cancel(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "LEDM") == 0) {
+ ledm_cancel(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "SCL-PML") == 0) {
+ sclpml_cancel(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "ESCL") == 0) {
+ escl_cancel(handle);
+ return;
+ }
+ if (strcmp(*((char **)handle), "ORBLITE") == 0) {
+ orblite_cancel(handle);
+ return;
+ }
} /* sane_hpaio_cancel() */
extern SANE_Status sane_hpaio_set_io_mode(SANE_Handle handle, SANE_Bool nonBlocking)

View File

@ -1,13 +0,0 @@
diff --git a/base/queues.py b/base/queues.py
index 2f56c8a..0818574 100755
--- a/base/queues.py
+++ b/base/queues.py
@@ -101,7 +101,7 @@ def parseQueues(mode):
try:
match = LPSTAT_PATTERN.search(p)
printer_name = match.group(1)
- device_uri = match.group(2)
+ device_uri = match.group(3)
cups_printers.append((printer_name, device_uri))
except AttributeError:
pass

View File

@ -1,13 +0,0 @@
diff --git a/base/validation.py b/base/validation.py
index 96e65be..35f22eb 100644
--- a/base/validation.py
+++ b/base/validation.py
@@ -58,7 +58,7 @@ class GPG_Verification(DigiSign_Verification):
if not os.path.exists(self.__gpg_dir):
try:
- os.mkdir(self.__gpg_dir, 0o755)
+ os.mkdir(self.__gpg_dir, 0o700)
except OSError:
log.error("Failed to create %s" % self.__gpg_dir)
self.__change_owner()

View File

@ -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;

View File

@ -1,13 +0,0 @@
diff --git a/prnt/hpcups/Compressor.cpp b/prnt/hpcups/Compressor.cpp
index 7fbbcd0..a29955e 100644
--- a/prnt/hpcups/Compressor.cpp
+++ b/prnt/hpcups/Compressor.cpp
@@ -29,7 +29,7 @@
\*****************************************************************************/
#include "Compressor.h"
-Compressor::Compressor (unsigned int RasterSize, bool useseed) : SeedRow(NULL), UseSeedRow(useseed), inputsize(RasterSize), seeded(false)
+Compressor::Compressor (unsigned int RasterSize, bool useseed) : SeedRow(NULL), compressBuf(NULL), UseSeedRow(useseed), inputsize(RasterSize), seeded(false)
{
constructor_error = NO_ERROR;
iRastersReady = 0;

View File

@ -1,13 +0,0 @@
diff --git a/fax/backend/hpfax.py b/fax/backend/hpfax.py
index a63051d..3e187c9 100755
--- a/fax/backend/hpfax.py
+++ b/fax/backend/hpfax.py
@@ -89,7 +89,7 @@ try:
from base import utils
#from prnt import cups
except ImportError as e:
- bug("Error importing HPLIP modules: %s\n" % (pid, e))
+ bug("Error importing HPLIP modules: %s\n" % (e))
sys.exit(1)
def handle_sigpipe():

View File

@ -1,24 +0,0 @@
diff --git a/config_usb_printer.py b/config_usb_printer.py
index 946a2d4..8db097e 100755
--- a/config_usb_printer.py
+++ b/config_usb_printer.py
@@ -28,6 +28,7 @@ __doc__ = "Udev invokes this tool. Tool detects the plugin, Smart Install (C/DVD
# Std Lib
import sys
import os
+import time
# Local
from base.g import *
@@ -181,9 +182,10 @@ try:
# ******************************* RUNNING FIRMWARE DOWNLOAD TO DEVICE FOR SUPPORTED PRINTER'S
fw_download_req = mq.get('fw-download', False)
if fw_download_req:
- fw_cmd = "hp-firmware -y3 -s %s"%param
+ fw_cmd = "hp-firmware -n -y3 -s %s"%param
log.info(fw_cmd)
fw_sts, fw_out = utils.run(fw_cmd)
+ time.sleep(5)
if fw_sts == 0:
log.debug("Firmware downloaded to %s "%device_uri)
else:

View File

@ -1,21 +0,0 @@
diff --git a/scan/scanext/scanext.c b/scan/scanext/scanext.c
index ff57987..f607220 100755
--- a/scan/scanext/scanext.c
+++ b/scan/scanext/scanext.c
@@ -407,16 +407,6 @@ static PyObject *setOption (_ScanDevice * self, PyObject * args)
int n;
multipick = 1;
-if(1)
-{
-SANE_Bool b = SANE_TRUE;
- sane_control_option (self->h, 9, SANE_ACTION_SET_VALUE, (void *)&b, &i);
-}
-else
-{
-SANE_Bool b = SANE_FALSE;
- sane_control_option (self->h, 9, SANE_ACTION_SET_VALUE, (void *)&b, &i);
-}
if (!PyArg_ParseTuple (args, "iO", &n, &value))
raiseError("Invalid arguments.");

View File

@ -1,16 +0,0 @@
diff --git a/io/hpmud/model.c b/io/hpmud/model.c
index 4ea8990..72c630b 100644
--- a/io/hpmud/model.c
+++ b/io/hpmud/model.c
@@ -420,7 +420,10 @@ static int ParseFile(char *datFile, char *model, char *attr, int attrSize, int *
strncpy(section, rcbuf+1, sizeof(section)); /* found new section */
n = strlen(section);
section[n-2]=0; /* remove ']' and CR */
- if (strcasecmp(model, section) == 0)
+ if (strcasecmp(model, section) == 0 ||
+ (section[0] == 'h' && section[1] == 'p' &&
+ section[2] == '_' &&
+ strcasecmp(model, section + 3) == 0))
{
/* Found model match. */
*bytes_read = ResolveAttributes(fp, attr, attrSize);

View File

@ -1,46 +0,0 @@
diff -up hplip-3.23.3/setup.py.hpsetup-noscanjets hplip-3.23.3/setup.py
--- hplip-3.23.3/setup.py.hpsetup-noscanjets 2023-05-29 14:16:26.148133678 +0200
+++ hplip-3.23.3/setup.py 2023-05-29 14:16:26.220133253 +0200
@@ -399,9 +399,19 @@ else: # INTERACTIVE_MODE
#log.warning("Cannot setup fax - device does not have fax feature.")
setup_fax = False
+ norm_model = models.normalizeModelName(model).lower()
+
+ # get out if the found model is standalone scanner, hp-setup is printer/fax setup tool
+ if 'scanjet' in norm_model:
+ log.error('The device {} is a standalone scanner. '
+ 'hp-setup is a printer/MFD setup tool, '
+ 'not scanner installation tool. '.format(model))
+ log.info(log.bold('Scanners do not need a installation, but they may '
+ 'require a binary plugin (install by \'hp-plugin -i\').'))
+ clean_exit(1)
+
# ******************************* PLUGIN
- norm_model = models.normalizeModelName(model).lower()
plugin = mq.get('plugin', PLUGIN_NONE)
if ignore_plugin_check is False and plugin > PLUGIN_NONE:
diff -up hplip-3.23.3/ui5/setupdialog.py.hpsetup-noscanjets hplip-3.23.3/ui5/setupdialog.py
--- hplip-3.23.3/ui5/setupdialog.py.hpsetup-noscanjets 2023-05-29 14:16:26.220133253 +0200
+++ hplip-3.23.3/ui5/setupdialog.py 2023-05-29 14:18:12.475041454 +0200
@@ -1391,6 +1391,18 @@ class SetupDialog(QDialog, Ui_Dialog):
back_end, is_hp, bus, model, serial, dev_file, host, zc, port = device.parseDeviceURI(
self.device_uri)
self.model = models.normalizeModelName(model).lower()
+ if 'scanjet' in self.model:
+ FailureUI(self,
+ self.__tr('<b>The device {} is a standalone '
+ 'scanner.</b> <p>\'hp-setup\' is a tool '
+ 'for installing printers and multifunction '
+ 'devices. Scanners supported by HPLIP '
+ 'work out-of-the-box after HPLIP installation, '
+ 'or they may require a binary plugin, which you '
+ 'can install by \'hp-plugin -i\'.</p>'.format(model)))
+ self.displayPage(PAGE_DEVICES)
+ return
+
self.showAddPrinterPage()
elif p == PAGE_ADD_PRINTER:

View File

@ -1,56 +0,0 @@
diff --git a/base/tui.py b/base/tui.py
index 99bda7b..0f90f92 100644
--- a/base/tui.py
+++ b/base/tui.py
@@ -241,6 +241,7 @@ class ProgressMeter(object):
sys.stdout.write(y)
sys.stdout.flush()
+ sys.stdout.write('\n')
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)

View File

@ -1,13 +0,0 @@
diff --git a/io/hpmud/musb.c b/io/hpmud/musb.c
index 755493e..6d9c7fc 100644
--- a/io/hpmud/musb.c
+++ b/io/hpmud/musb.c
@@ -1454,7 +1454,7 @@ enum HPMUD_RESULT __attribute__ ((visibility ("hidden"))) musb_raw_channel_write
BUG("unable to write data %s: %d second io timeout\n", msp->device[pc->dindex].uri, sec_timeout);
}
else
- BUG("unable to write data (len = %d) %s: %m\n", msp->device[pc->dindex].uri, len);
+ BUG("unable to write data (len = %d) %s: %m\n", len, msp->device[pc->dindex].uri);
goto bugout;
}
if(len == 0 && size > 0)

View File

@ -1,15 +0,0 @@
diff --git a/data/models/models.dat b/data/models/models.dat
index 4b21c1a..76c4cc0 100644
--- a/data/models/models.dat
+++ b/data/models/models.dat
@@ -64063,8 +64063,8 @@ model11=HP Color LaserJet Pro MFP M280c2
monitor-type=0
panel-check-type=0
pcard-type=0
-plugin=0
-plugin-reason=0
+plugin=1
+plugin-reason=64
power-settings=0
ppd-name=hp-color_laserjet_mfp_m278-m281-ps.ppd
family-ppd=hp-postscript-laserjet-pro.ppd

View File

@ -1,602 +0,0 @@
diff -up hplip-3.22.2/cups_drv.inc.missing-drivers hplip-3.22.2/cups_drv.inc
--- hplip-3.22.2/cups_drv.inc.missing-drivers 2022-02-23 08:42:29.000000000 +0100
+++ hplip-3.22.2/cups_drv.inc 2022-03-10 09:11:00.337315604 +0100
@@ -411,6 +411,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
@@ -527,6 +528,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
diff -up hplip-3.22.2/data/models/models.dat.missing-drivers hplip-3.22.2/data/models/models.dat
--- hplip-3.22.2/data/models/models.dat.missing-drivers 2022-03-10 09:10:13.601066235 +0100
+++ hplip-3.22.2/data/models/models.dat 2022-03-10 09:10:13.622066347 +0100
@@ -2104,7 +2104,7 @@ usb-pid=411
usb-vid=3f0
wifi-config=0
-[hp_laserjet_100_colormfp_m175]
+[hp_laserjet_100_colormfp_m175nw]
align-type=0
clean-type=0
color-cal-type=0
@@ -2119,14 +2119,6 @@ io-support=14
job-storage=0
linefeed-cal-type=0
model1=HP LaserJet 100 Color MFP M175
-model2=HP LaserJet 100 Color MFP M175a
-model3=HP LaserJet 100 Color MFP M175b
-model4=HP LaserJet 100 Color MFP M175c
-model5=HP LaserJet 100 Color MFP M175e
-model6=HP LaserJet 100 Color MFP M175nw
-model7=HP LaserJet 100 Color MFP M175p
-model8=HP LaserJet 100 Color MFP M175q
-model9=HP LaserJet 100 Color MFP M175r
ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
monitor-type=0
panel-check-type=0
@@ -2165,6 +2157,378 @@ usb-pid=62a
usb-vid=3f0
wifi-config=3
+[hp_laserjet_100_colormfp_m175r]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=3
+
+[hp_laserjet_100_colormfp_m175q]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=3
+
+[hp_laserjet_100_colormfp_m175p]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=3
+
+[hp_laserjet_100_colormfp_m175e]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=2
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=-1
+
+[hp_laserjet_100_colormfp_m175a]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+family-ppd=hp-postscript-laserjet-pro.ppd
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=2
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=-1
+
+[hp_laserjet_100_colormfp_m175c]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=2
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=-1
+
+[hp_laserjet_100_colormfp_m175b]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cm1312_mfp.png
+io-mfp-mode=3
+io-mode=1
+io-support=2
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet 100 Color MFP M175
+ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=64
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=3
+scan-type=5
+status-battery-check=0
+status-dynamic-counters=0
+status-type=10
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.11.7
+tech-class=Postscript
+family-class=Undefined
+tech-subclass=Normal
+tech-type=4
+usb-pid=62a
+usb-vid=3f0
+wifi-config=-1
+
[officejet_100_mobile_l411]
align-type=-1
clean-type=1
@@ -17867,6 +18231,58 @@ usb-pid=2c17
usb-vid=3f0
wifi-config=0
+[hp_laserjet_cp_1025nw]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=hp_color_laserjet_cp2025.png
+io-mfp-mode=1
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet Pro CP 1025nw Color Printer Series
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=1
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=CE310A
+r0-agent1-type=1
+r0-agent2-kind=4
+r0-agent2-sku=CE311A
+r0-agent2-type=4
+r0-agent3-kind=4
+r0-agent3-sku=CE313A
+r0-agent3-type=5
+r0-agent4-kind=4
+r0-agent4-sku=CE312A
+r0-agent4-type=6
+scan-src=0
+scan-type=0
+status-battery-check=0
+status-dynamic-counters=0
+status-type=8
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.12.4
+tech-class=LJZjsColor
+family-class=LJ-Class4
+tech-subclass=Advanced
+tech-type=4
+usb-pid=112a
+usb-vid=3f0
+wifi-config=3
+
[hp_laserjet_cp1025nw]
align-type=0
clean-type=0
@@ -18468,6 +18884,49 @@ usb-pid=3011
usb-vid=3f0
wifi-config=0
+[hp_laserjet_professional_p1102w]
+align-type=0
+clean-type=0
+color-cal-type=0
+copy-type=0
+embedded-server-type=0
+fax-type=0
+fw-download=False
+icon=HP_LaserJet_1012.png
+io-mfp-mode=6
+io-mode=1
+io-support=10
+job-storage=0
+linefeed-cal-type=0
+model1=HP LaserJet Professional P1102w Printer
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=1
+plugin-reason=1
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=4
+r0-agent1-sku=85A
+r0-agent1-type=1
+scan-src=0
+scan-type=0
+status-battery-check=0
+status-dynamic-counters=0
+status-type=8
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.10.4
+tech-class=LJZjsMono
+family-class=LJ-Class4
+tech-subclass=NoAutoDuplex
+tech-type=3
+usb-pid=32a
+usb-vid=3f0
+wifi-config=3
+
[hp_laserjet_professional_p1102]
align-type=0
clean-type=0
diff -up hplip-3.22.2/Makefile.in.missing-drivers hplip-3.22.2/Makefile.in
--- hplip-3.22.2/Makefile.in.missing-drivers 2022-02-23 08:42:31.000000000 +0100
+++ hplip-3.22.2/Makefile.in 2022-03-10 09:11:45.915558795 +0100
@@ -1613,6 +1613,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-lase
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
@@ -1729,6 +1730,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-lase
ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
@@ -4090,6 +4092,7 @@ dist_unrel_DATA =
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m1005.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
@@ -4206,6 +4209,7 @@ dist_unrel_DATA =
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
diff -up hplip-3.22.2/prnt/drv/hpcups.drv.in.missing-drivers hplip-3.22.2/prnt/drv/hpcups.drv.in
--- hplip-3.22.2/prnt/drv/hpcups.drv.in.missing-drivers 2022-03-10 09:10:13.554065984 +0100
+++ hplip-3.22.2/prnt/drv/hpcups.drv.in 2022-03-10 09:10:13.629066384 +0100
@@ -22693,6 +22693,14 @@ Group "RLT/HP Real Life Technologies"
Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
}
{
+ ModelName "HP LaserJet Professional p1102w"
+ Attribute "NickName" "" "HP LaserJet Professional p1102w, hpcups $Version, requires proprietary plugin"
+ Attribute "ShortNickName" "" "HP LaserJet Professional p1102w hpijs"
+ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;"
+ PCFileName "hp-laserjet_professional_p1102w.ppd"
+ Attribute "Product" "" "(HP LaserJet Professional p1102w Printer)"
+ }
+ {
ModelName "HP LaserJet Professional p1106"
Attribute "NickName" "" "HP LaserJet Professional p1106, hpcups $Version"
Attribute "ShortNickName" "" "HP LJ Pro p1106 hpijs"
@@ -23126,6 +23134,14 @@ Group "RLT/HP Real Life Technologies"
PCFileName "hp-laserjet_cp1025nw.ppd"
Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)"
}
+ {
+ ModelName "HP LaserJet Cp 1025nw"
+ Attribute "NickName" "" "HP LaserJet Cp 1025nw, hpcups $Version, requires proprietary plugin"
+ Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw hpijs"
+ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;"
+ PCFileName "hp-laserjet_cp_1025nw.ppd"
+ Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)"
+ }
}
} // End LJZjsColor (for proprietary plugin)

View File

@ -1,12 +0,0 @@
diff -up hplip-3.21.12/installer/pluginhandler.py.missing-links hplip-3.21.12/installer/pluginhandler.py
--- hplip-3.21.12/installer/pluginhandler.py.missing-links 2022-01-12 16:55:39.761934879 +0100
+++ hplip-3.21.12/installer/pluginhandler.py 2022-01-12 17:22:33.367435334 +0100
@@ -167,7 +167,7 @@ class PluginHandle(object):
continue
if link != "":
if not utils.check_library(link):
- self.__plugin_state = PLUGIN_FILES_CORRUPTED
+ pass
def __getPluginInformation(self, callback=None):

View File

@ -1,64 +0,0 @@
diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c
index 20df27a..7ed4918 100644
--- a/io/hpmud/jd.c
+++ b/io/hpmud/jd.c
@@ -208,7 +208,22 @@ enum HPMUD_RESULT __attribute__ ((visibility ("hidden"))) jd_open(mud_device *pd
{
/* Make sure uri model matches device id model. */
hpmud_get_uri_model(pd->uri, uri_model, sizeof(uri_model));
+
+ /* remove possible hp_ string */
+ if (strncasecmp(uri_model, "HP_", 3) == 0)
+ {
+ memmove(uri_model, uri_model + 3, 127);
+ uri_model[127] = '\0';
+ }
+
hpmud_get_model(pd->id, model, sizeof(model));
+ /* remove possible hp_ string */
+ if (strncasecmp(model, "HP_", 3) == 0)
+ {
+ memmove(model, model + 3, 127);
+ model[127] = '\0';
+ }
+
if (strcasecmp(uri_model, model) != 0)
{
stat = HPMUD_R_INVALID_URI; /* different device plugged in */
diff --git a/io/hpmud/model.c b/io/hpmud/model.c
index d546ec1..adb3d87 100644
--- a/io/hpmud/model.c
+++ b/io/hpmud/model.c
@@ -407,7 +407,10 @@ static int ParseFile(char *datFile, char *model, char *attr, int attrSize, int *
char rcbuf[255];
char section[128];
char file[128];
- int found=0, n;
+ int found=0;
+ size_t n;
+
+ size_t model_len = strlen(model);
if ((fp = fopen(datFile, "r")) == NULL)
goto bugout;
@@ -422,10 +425,17 @@ static int ParseFile(char *datFile, char *model, char *attr, int attrSize, int *
strncpy(section, rcbuf+1, sizeof(section)); /* found new section */
n = strlen(section);
section[n-2]=0; /* remove ']' and CR */
+ n -= 2;
if (strcasecmp(model, section) == 0 ||
- (section[0] == 'h' && section[1] == 'p' &&
- section[2] == '_' &&
- strcasecmp(model, section + 3) == 0))
+ (section[0] == 'h' &&
+ section[1] == 'p' &&
+ section[2] == '_' &&
+ strcasecmp(model, section + 3) == 0) ||
+ (n > model_len &&
+ strncasecmp(section, model, model_len) == 0 &&
+ strncasecmp(section + model_len, "_series", strlen("_series")) == 0
+ )
+ )
{
/* Found model match. */
*bytes_read = ResolveAttributes(fp, attr, attrSize);

View File

@ -1,108 +0,0 @@
diff --git a/scan/sane/escl.c b/scan/sane/escl.c
index 9fbbcaf..bc9e0b5 100644
--- a/scan/sane/escl.c
+++ b/scan/sane/escl.c
@@ -37,18 +37,12 @@ static int bb_load(struct escl_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{
SendScanEvent(ps->uri, EVENT_PLUGIN_FAIL);
diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
index 236f7c9..793104c 100644
--- a/scan/sane/marvell.c
+++ b/scan/sane/marvell.c
@@ -60,18 +60,12 @@ static int bb_load(struct marvell_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{
diff --git a/scan/sane/soap.c b/scan/sane/soap.c
index 0d22e52..dcd8c7c 100644
--- a/scan/sane/soap.c
+++ b/scan/sane/soap.c
@@ -68,18 +68,12 @@ static int bb_load(struct soap_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{
diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
index 139100d..74e8391 100644
--- a/scan/sane/soapht.c
+++ b/scan/sane/soapht.c
@@ -62,18 +62,12 @@ static int bb_load(struct soap_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{

View File

@ -1,26 +0,0 @@
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:

View File

@ -1,34 +0,0 @@
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 = $(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
-pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
-
# prnt
prntdir = $(hplipdir)/prnt
dist_prnt_DATA = prnt/cups.py prnt/__init__.py prnt/ldl.py prnt/pcl.py prnt/colorcal.py

View File

@ -1,58 +0,0 @@
diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py
index 56683fb..031ceec 100755
--- a/installer/pluginhandler.py
+++ b/installer/pluginhandler.py
@@ -185,14 +185,16 @@ class PluginHandle(object):
if self.__plugin_conf_file.startswith('file://'):
status, filename = utils.download_from_network(self.__plugin_conf_file, local_conf, True)
else:
- wget = utils.which("wget", True)
- if wget:
- status, output = utils.run("%s --tries=3 --timeout=60 --output-document=%s %s --cache=off" %(wget, local_conf, self.__plugin_conf_file))
+ curl = utils.which("curl", True)
+ if curl:
+ cmd = "%s --retry 3 --max-time 10 --output %s --location %s" %(curl, local_conf, self.__plugin_conf_file)
+ log.debug(cmd)
+ status, output = utils.run(cmd)
if status:
log.error("Plugin download failed with error code = %d" %status)
return status, url, check_sum
else:
- log.error("Please install wget package to download the plugin.")
+ log.error("Please install curl package to download the plugin.")
return status, url, check_sum
except IOError as e:
log.error("I/O Error: %s" % e.strerror)
@@ -284,18 +284,18 @@ class PluginHandle(object):
if src.startswith('file://'):
status, filename = utils.download_from_network(src, plugin_file, True)
else:
- wget = utils.which("wget", True)
- if wget:
- 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 %s" % (curl,self.__plugin_path,src)
log.debug(cmd)
status, output = utils.run(cmd)
- log.debug("wget returned: %d" % status)
+ log.debug("curl returned: %d" % status)
#Check whether plugin is accessible in Openprinting.org website otherwise dowload plugin from alternate location.
if status != 0 or os_utils.getFileSize(plugin_file) <= 0:
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 %s" % (curl,self.__plugin_path,src)
log.debug(cmd)
status, output = utils.run(cmd)
@@ -323,7 +323,7 @@ class PluginHandle(object):
if digsig_url.startswith('file://'):
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 %s" % (curl, self.__plugin_path,digsig_url)
log.debug(cmd)
status, output = utils.run(cmd)
except IOError as e:

View File

@ -1,28 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
index bb4195c..ddac16a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -680,6 +680,12 @@ if HPLIP_CLASS_DRIVER
filterdir=$(cupsfilterdir)
printpluginsdir=$(cupsfilterdir)
+#
+# HP Plugin
+#
+
+pkgplugindir=$(bindir)
+pkgplugin_DATA=hp-plugin
dist_filter_DATA = hpcups hpps dat2drv
dist_printplugins_DATA = prnt/plugins/hbpl1-arm32.so prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so prnt/plugins/lj-arm64.so prnt/plugins/lj-x86_32.so prnt/plugins/lj-x86_64.so
diff --git a/configure.in b/configure.in
index f8f1a28..7fa5d12 100644
--- a/configure.in
+++ b/configure.in
@@ -801,5 +801,5 @@ AC_SUBST(udev_sysfs_rules)
AC_SUBST(epm_class_driver)
AC_SUBST(epm_class_install)
-AC_CONFIG_FILES(Makefile hplip.conf hplip.desktop hp-uiscan.desktop hplip-systray.desktop prnt/drv/hpijs.drv prnt/drv/hpcups.drv hplip.list data/policykit/com.hp.hplip.service)
+AC_CONFIG_FILES(Makefile hplip.conf hplip.desktop hp-uiscan.desktop hplip-systray.desktop prnt/drv/hpijs.drv prnt/drv/hpcups.drv hplip.list data/policykit/com.hp.hplip.service hp-plugin)
AC_OUTPUT

View File

@ -1,26 +0,0 @@
diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py
index 1af8d85..5c498ab 100755
--- a/installer/pluginhandler.py
+++ b/installer/pluginhandler.py
@@ -403,7 +403,20 @@ class PluginHandle(object):
log.error("Target file %s does not exist. File copy failed." % trg)
continue
else:
- os.chmod(trg, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
+ if trg == '/etc/udev/rules.d/S99-2000S1.rules' or \
+ trg == '/etc/udev/rules.d/40-libsane.rules':
+ os.chmod(trg, 0o644)
+ with open(trg, 'r') as udev_f:
+ content = udev_f.read()
+
+ content = content.replace('libsane_rules_end', 'libsane_usb_rules_end')
+ content = content.replace('GROUP="scanner", ', '')
+
+ with open(trg, 'w') as udev_f:
+ udev_f.write(content)
+
+ else:
+ os.chmod(trg, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
if link:
if os.path.exists(link):

View File

@ -1,17 +0,0 @@
prnt/pserror.c: Replace an implicit int with an explicit int
Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
diff --git a/prnt/hpps/pserror.c b/prnt/hpps/pserror.c
index 114d7e1b5fa364fb..493b49c27917a7e6 100644
--- a/prnt/hpps/pserror.c
+++ b/prnt/hpps/pserror.c
@@ -24,7 +24,7 @@ extern char *program ; /* Defined by main program, giving program name */
void message(int flags, char *format, ...)
{
va_list args ;
- static column = 0 ; /* current screen column for message wrap */
+ static int column = 0 ; /* current screen column for message wrap */
char msgbuf[MAX_MESSAGE] ; /* buffer in which to put the message */
char *bufptr = msgbuf ; /* message buffer pointer */

View File

@ -1,32 +0,0 @@
#!/usr/bin/bash
VERSION=$1
if [ "${VERSION:="*"}" == "*" ]
then
echo "Define a version of hplip as an argument."
exit 1
fi
# extract the original tarball
tar -xaf hplip-$VERSION.tar.gz || exit 1
# remove unwanted files - license-related ones reported here https://bugs.launchpad.net/hplip/+bug/2028938
rm hplip-$VERSION/locatedriver
# compress into a new tarball
tar -cjvf hplip-$VERSION-repack.tar.gz hplip-$VERSION || exit 1
# check whether plugin is available
wget -O hplip-plugin.run https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-$1-plugin.run || wget -O hplip-plugin.run https://developers.hp.com/sites/default/files/hplip-$1-plugin.run || exit 1
# check whether the file is sane
file --mime hplip-plugin.run | grep 'x-shellscript' || exit 1
echo "hplip-${VERSION}-repack.tar.gz is prepared for uploading..."
exit 0
# upload a new source tarball
#fedpkg new-sources hplip-$VERSION-repack.tar.gz || exit 1

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +0,0 @@
scam/sane/hpaio.c: Include orblite.h for more function prototypes
Otherwise the build fails with compilers which do not support
implicit function declarations.
Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index d342626822fc2190..57d1ddea32fb5816 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -50,6 +50,7 @@
#include "sclpml.h"
#include "escl.h"
#include "io.h"
+#include "orblite.h"
#include "orblitei.h"

View File

@ -1,21 +0,0 @@
diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
index ba86640..2eb7aba 100644
--- a/scan/sane/orblite.c
+++ b/scan/sane/orblite.c
@@ -20,6 +20,7 @@
#include "orblitei.h"
#include "orblite.h"//Added New
#include <math.h>
+#include <dlfcn.h>
#include "utils.h"
#include "io.h"
@@ -195,7 +196,7 @@ bugout:
static int bb_unload(SANE_THandle ps)
{
- _DBG("Calling orblite bb_unload: \n");
+ DBG("Calling orblite bb_unload: \n");
if (ps->bb_handle)
{
dlclose(ps->bb_handle);

View File

@ -1,16 +0,0 @@
Switch the whole libsane-hpaio to get proper definition of strcasestr() used in
sclpml.c
diff --git a/Makefile.am b/Makefile.am
index 15d953a..7105f74 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -73,7 +73,7 @@ endif
# The following is a interlibrary dependency that must be compiled first.
libsane_hpaio_la_LIBADD = libhpip.la libhpmud.la libhpipp.la $(DBUS_LIBS) -lcups -ldl
#libsane_hpaio_la_CFLAGS = -DWITH_NONAMESPACES -DSOAP_DEBUG
-libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS) -Iprotocol
+libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS) -Iprotocol -D_GNU_SOURCE
if NETWORK_BUILD
libsane_hpaio_la_LIBADD += libhpdiscovery.la

View File

@ -1,20 +0,0 @@
diff --git a/systray.py b/systray.py
index 07db0fa..3a35b30 100644
--- a/systray.py
+++ b/systray.py
@@ -89,7 +89,14 @@ if __name__ == '__main__':
log.debug("Creating pipe: hpssd (%d) ==> systemtray (%d)" % (w1, r1))
parent_pid = os.getpid()
- child_pid1 = os.fork()
+ try:
+ child_pid1 = os.fork()
+ except BlockingIOErrror as e:
+ log.error("hp-systray: error during fork - %s" % e)
+ os.close(w1)
+ os.close(r1)
+ mod.unlockInstance()
+ sys.exit(1)
if child_pid1:
# parent (UI)

View File

@ -1,96 +0,0 @@
diff --git a/base/module.py b/base/module.py
index dd3efa3..04ac5b8 100644
--- a/base/module.py
+++ b/base/module.py
@@ -432,6 +432,12 @@ class Module(object):
if show_usage is not None:
sys.exit(0)
+ if mode == GUI_MODE:
+ if not utils.canEnterGUIMode4():
+ log.warn("GUI mode not available - switching to interactive mode.")
+ mode = INTERACTIVE_MODE
+ ui_toolkit = 'none'
+
self.mode = mode
return opts, device_uri, printer_name, mode, ui_toolkit, lang
diff --git a/base/utils.py b/base/utils.py
index 98437a3..9b8813b 100644
--- a/base/utils.py
+++ b/base/utils.py
@@ -722,6 +722,15 @@ def canEnterGUIMode4(): # qt4
log.warn(e)
return False
+ try:
+ import ui4
+ except ImportError:
+ try:
+ import ui5.setupdialog
+ except ImportError as e:
+ log.warn(e)
+ return False
+
return True
@@ -734,6 +743,11 @@ def checkPyQtImport(): # qt3
if os.getenv('DISPLAY') and os.getenv('STARTED_FROM_MENU'):
no_qt_message_gtk()
+ try:
+ import ui
+ except ImportError:
+ return False
+
log.error("PyQt not installed. GUI not available. Exiting.")
return False
@@ -781,11 +795,13 @@ def checkPyQtImport4():
import PyQt4
import ui4
except ImportError:
- import PyQt5
- import ui5
- else:
- log.debug("HPLIP is not installed properly or is installed without graphical support. Please reinstall HPLIP again")
- return False
+ try:
+ import PyQt5
+ import ui5.setupdialog
+ except ImportError:
+ log.debug('GUI not available.')
+ return False
+
return True
# def checkPyQtImport5():
diff --git a/fab.py b/fab.py
index 5577af5..194ceed 100755
--- a/fab.py
+++ b/fab.py
@@ -776,14 +776,15 @@ mod.setUsage(module.USAGE_FLAG_NONE)
opts, device_uri, printer_name, mode, ui_toolkit, loc = \
mod.parseStdOpts(handle_device_printer=False)
-if ui_toolkit == 'qt3':
- if not utils.canEnterGUIMode():
- log.error("%s GUI mode requires GUI support (try running with --qt4). Entering interactive mode." % __mod__)
- mode = INTERACTIVE_MODE
-else:
- if not utils.canEnterGUIMode4():
- log.error("%s GUI mode requires GUI support (try running with --qt3). Entering interactive mode." % __mod__)
- mode = INTERACTIVE_MODE
+if ui_toolkit != 'none':
+ if ui_toolkit == 'qt3':
+ if not utils.canEnterGUIMode():
+ log.error("%s GUI mode requires GUI support (try running with --qt4). Entering interactive mode." % __mod__)
+ mode = INTERACTIVE_MODE
+ else:
+ if not utils.canEnterGUIMode4():
+ log.error("%s GUI mode requires GUI support (try running with --qt3). Entering interactive mode." % __mod__)
+ mode = INTERACTIVE_MODE
if mode == GUI_MODE:

View File

@ -1,15 +0,0 @@
diff --git a/uiscan.py b/uiscan.py
index f46ec5b..0ac993a 100755
--- a/uiscan.py
+++ b/uiscan.py
@@ -22,8 +22,8 @@ except ImportError as e:
-mod = module.Module(__mod__, __title__, __version__, __doc__, None, (INTERACTIVE_MODE,))
-
+mod = module.Module(__mod__, __title__, __version__, __doc__, None, (GUI_MODE,), (UI_TOOLKIT_QT4, UI_TOOLKIT_QT5))
+mod.setUsage(module.USAGE_FLAG_NONE, extra_options=None, see_also_list = ['hp-scan'])
if __name__ == "__main__":

View File

@ -1,18 +0,0 @@
diff --git a/base/sixext.py b/base/sixext.py
index 0bf4fc4..311bf72 100644
--- a/base/sixext.py
+++ b/base/sixext.py
@@ -110,11 +110,11 @@ if PY3:
def to_string_utf8(s):
- return s.decode("utf-8")
+ return s.decode("utf-8", 'ignore')
def to_string_latin(s):
- return s.decode("latin-1")
+ return s.decode("latin-1", 'ignore')
def to_unicode(s, enc=None):

View File

@ -1,40 +0,0 @@
diff -up hplip-3.18.5/base/utils.py.use-binary-str hplip-3.18.5/base/utils.py
--- hplip-3.18.5/base/utils.py.use-binary-str 2018-05-28 13:52:32.698082273 +0200
+++ hplip-3.18.5/base/utils.py 2018-05-28 13:53:20.563707314 +0200
@@ -961,10 +961,7 @@ else:
def printable(s):
- if s:
- return s.translate(identity, unprintable)
- else:
- return ""
+ return s.translate(identity, unprintable)
def any(S,f=lambda x:x):
diff -up hplip-3.18.5/fax/pmlfax.py.use-binary-str hplip-3.18.5/fax/pmlfax.py
--- hplip-3.18.5/fax/pmlfax.py.use-binary-str 2018-05-24 06:34:40.000000000 +0200
+++ hplip-3.18.5/fax/pmlfax.py 2018-05-28 13:52:05.752293151 +0200
@@ -143,8 +143,8 @@ class PMLFaxDevice(FaxDevice):
def getPhoneNum(self):
if PY3:
- data = utils.printable(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1])
- return data
+ data = utils.printable(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1].encode('utf-8'))
+ return data.decode('utf-8')
else:
return utils.printable(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1])
phone_num = property(getPhoneNum, setPhoneNum, doc="OID_FAX_LOCAL_PHONE_NUM")
@@ -155,8 +155,8 @@ class PMLFaxDevice(FaxDevice):
def getStationName(self):
if PY3:
- data = utils.printable(self.getPML(pml.OID_FAX_STATION_NAME)[1])
- return data
+ data = utils.printable(self.getPML(pml.OID_FAX_STATION_NAME)[1].encode('utf-8'))
+ return data.decode('utf-8')
else:
return utils.printable(self.getPML(pml.OID_FAX_STATION_NAME)[1])

View File

@ -1,398 +0,0 @@
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
-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_ACCEPTED = 202
HTTP_NOCONTENT = 204
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
DEVICE_URI_PATTERN = re.compile(r"""(.*):/(.*?)/(\S*?)\?(?:serial=(\S*)|device=(\S*)|ip=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[^&]*)|zc=(\S+))(?:&port=(\d))?""", re.I)
-NICKNAME_PATTERN = re.compile(b'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
+NICKNAME_PATTERN = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
NET_PATTERN = re.compile(r"""(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
NET_ZC_PATTERN = re.compile(r'''zc=(.*)''',re.IGNORECASE)
NET_OTHER_PATTERN = re.compile(r'''(.*)://(.*)''',re.IGNORECASE)
@@ -149,7 +149,7 @@ def parseQueues(mode):
desc=''
else:
try:
- desc = to_string_utf8( NICKNAME_PATTERN.search(fileptr).group(1) )
+ desc = to_string_utf8( NICKNAME_PATTERN.search(fileptr.decode('utf-8')).group(1) )
except AttributeError:
desc = ''
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)
if output:
- lsusb_pat = re.compile("""^Bus\s([0-9a-fA-F]{3,3})\sDevice\s([0-9a-fA-F]{3,3}):\sID\s([0-9a-fA-F]{4,4}):([0-9a-fA-F]{4,4})(.*)""", re.IGNORECASE)
+ lsusb_pat = re.compile(r"""^Bus\s([0-9a-fA-F]{3,3})\sDevice\s([0-9a-fA-F]{3,3}):\sID\s([0-9a-fA-F]{4,4}):([0-9a-fA-F]{4,4})(.*)""", re.IGNORECASE)
log.debug(output)
try:
hpmudext = utils.import_ext('hpmudext')
@@ -682,7 +682,7 @@ class DependenciesCheck(object):
out =''
for g in getfacl_out_list:
- if 'getfacl' not in g and '' is not g and 'file' not in g:
+ if 'getfacl' not in g and '' != g and 'file' not in g:
pat = re.compile('''.*:(.*)''')
if pat.search(g):
out = out +' '+ pat.search(g).group(1)
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
# **************************************************************************** #
-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)
TIME_FORMAT_AM_PM = 1
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),
utils.USAGE_OPTIONS,
- ("To specify the port on a multi-port JetDirect:", "-p<port> or --port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
+ ("To specify the port on a multi-port JetDirect:", r"-p<port> or --port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
("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 --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,
("Bus to probe:", "-b<bus> or --bus=<bus>", "option", False),
- ("", "<bus>: cups, usb\*, net, bt, fw, par (\*default) (Note: bt and fw not supported in this release.)", "option", False),
+ ("", r"<bus>: cups, usb\*, net, bt, fw, par (\*default) (Note: bt and fw not supported in this release.)", "option", False),
("Set Time to Live (TTL):", "-t<ttl> or --ttl=<ttl> (Default is 4).", "option", False),
("Set timeout:", "-o<timeout in secs.> or --timeout=<timeout is secs.>", "option", False),
("Filter by functionality:", "-e<filter list> or --filter=<filter list>", "option", False),
- ("", "<filter list>: comma separated list of one or more of: scan, pcard, fax, copy, or none\*. (\*none is the default)", "option", False),
+ ("", r"<filter list>: comma separated list of one or more of: scan, pcard, fax, copy, or none\*. (\*none is the default)", "option", False),
("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 --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,
("Automatic mode:", "-a or --auto (-i mode only)", "option", False),
- ("To specify the port on a multi-port JetDirect:", "--port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
+ ("To specify the port on a multi-port JetDirect:", r"--port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
("No testpage in automatic mode:", "-x (-i mode only)", "option", False),
("To specify a CUPS printer queue name:", "-p<printer> or --printer=<printer> (-i mode only)", "option", False),
("To specify a CUPS fax queue name:", "-f<fax> or --fax=<fax> (-i mode only)", "option", False),
- ("Type of queue(s) to install:", "-t<typelist> or --type=<typelist>. <typelist>: print*, fax\* (\*default) (-i mode only)", "option", False),
+ ("Type of queue(s) to install:", r"-t<typelist> or --type=<typelist>. <typelist>: print*, fax\* (\*default) (-i mode only)", "option", False),
("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,

View File

@ -1,12 +0,0 @@
diff -up hplip-3.23.3/ui5/wifisetupdialog.py.wifisetup-bad-call-fix hplip-3.23.3/ui5/wifisetupdialog.py
--- hplip-3.23.3/ui5/wifisetupdialog.py.wifisetup-bad-call-fix 2023-05-29 13:45:35.830961640 +0200
+++ hplip-3.23.3/ui5/wifisetupdialog.py 2023-05-29 13:48:05.939993288 +0200
@@ -665,7 +665,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog
self.ip,_,addressmode, subnetmask, gateway, pridns, sec_dns= self.wifiObj.getIPConfiguration(self.dev, self.adapterName)
if self.ip == "0.0.0.0":
if not self.wifiObj == CdmWifi:
- self.ip, subnetmask, gateway, pri_dns, sec_dns, addressmode = self.wifiObj.getwifiotherdetails(self.dev,self.adapterName)
+ self.ip, subnetmask, gateway, pridns, sec_dns, addressmode = self.wifiObj.getwifiotherdetails(self.dev,self.adapterName)
vsa_codes = self.wifiObj.getVSACodes(self.dev, self.adapterName)
ss_max, ss_min, ss_val, ss_dbm = self.wifiObj.getSignalStrength(self.dev, self.adapterName,self.network, self.adaptor_id)
self.hn = self.wifiObj.getHostname(self.dev)

View File

@ -1,36 +0,0 @@
/tier1-internal:
plan:
import:
url: https://src.fedoraproject.org/tests/hplip.git
name: /plans/tier1/internal
/tier1-public:
plan:
import:
url: https://src.fedoraproject.org/tests/hplip.git
name: /plans/tier1/public
/tier2-tier3-internal:
plan:
import:
url: https://src.fedoraproject.org/tests/hplip.git
name: /plans/tier2-tier3/internal
/tier2-tier3-public:
plan:
import:
url: https://src.fedoraproject.org/tests/hplip.git
name: /plans/tier2-tier3/public
/others-internal:
plan:
import:
url: https://src.fedoraproject.org/tests/hplip.git
name: /plans/others/internal
/others-public:
plan:
import:
url: https://src.fedoraproject.org/tests/hplip.git
name: /plans/others/public

View File

@ -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

View File

@ -1 +0,0 @@
SHA512 (hplip-3.23.12-repack.tar.gz) = 7e4713e5769a59e686aeada778b91ec65a6f8a2e393bd13473fb77be4ef1e1c470ae355b22ffa13f4f2e2353533f6a855b9749a267543d2dfb1f630724fb7100