- Fixed device communication/detection problems with mdns/Bonjour
see https://bugs.launchpad.net/hplip/+bug/1616861
In my home network, the HP printer/scanner (ENVY 5530) often fails with messages like this:
hp-toolbox[7119]: [7119]: error: Unable to communicate with device (code=12): hp:/net/ENVY_5530_series?zc=HP3464A9E628B4
I've tracked this down to two problems with the MDNS implementation in HPLIP:
1. On a multi-homed host, HPLIP uses only one interface for MDNS multicast send and receive. This leads to failure if the printer is not on the "default" network. The code uses just INADDR_ANY in its multicast IP_MULTPATH_IF and IP_ADD_MEMBERSHIP setsockopt calls, meaning that the kernel has to figure out the interface to use. This fails if the system has no default route, or if the HP device is on a different network than the default route. The solution is to receive and send multicast on all interfaces.
2. MDNS authorities (including HP printers) don't answer every query, especially the same query is repeated quickly. The latter happens when the HP tools start, causing the MDNS lookup procedure to fail and the "communication error" to be detected. This can be solved by retrying the query after a short wait (1-2s).
This build contains fixes for both problems.
OBS-URL: https://build.opensuse.org/request/show/423113
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=128
selinux support config
- Remove another nested conditions that are the same
- remove patch104: do_not_open_mdns_port.diff, no more needed
because since HPLIP 3.15.11 there is no longer "open_mdns_port=..."
in distros.dat for any "SUSE" distribution
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=124
* python3 support (not enabled to work on older distros now)
* Support for KF5 systemtray
* Fixed issues:
+ 1388126 - Doesn't build against libjpeg-turbo 1.3.90
+ 1395676 - hpcups crashes if DEVICE_URI not set in environment
+ 1388007 - Incorrect call to hpmudext.device_open
+ 1187055 - plugin download fails if python links to python3
+ 802999 - Incorrect IEEE 1284 Device IDs for many models
* For more info see http://hplipopensource.com/hplip-web/release_notes.html
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=106
- Make and install Python compiled bytecode files
(.pyc compiled python and .pyo optimized compiled python)
because normal users do not have write permissions to the
install location /usr/share/hplip/ so that for normal users
Python would recompile the sources every time,
see https://en.opensuse.org/openSUSE:Packaging_Python
- Hardlink .pyc and .pyo when they have same content but
do not run "fdupes buildroot/_datadir/hplip" because
fdupes will link any files with same content there
which can have unexpected side-effects (cf. bnc#784670).
- Removed RPM preun script that had deleted leftover .pyc
and .pyo files if made during run-time (see the entry below
dated Fri Feb 16 11:52:28 CET 2007) because now those files
are provided in the package.
- Removed trailing whitespaces in RPM changelog file.
OBS-URL: https://build.opensuse.org/request/show/256945
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=101
- From openSUSE 13.2 on explicitly
"BuildRequires cups-filters-foomatic-rip"
to avoid that foomatic-filters is used for build
in the "Printing" development project (where foomatic-filters
intentionally exists also for openSUSE_13.2 and openSUSE_Factory)
which would not match what is used for build in openSUSE:13.2 or
openSUSE:Factory (where foomatic-filters is intentionally dropped
and replaced by cups-filters-foomatic-rip). Using the matching
package for build results that the backward compatibility link
/usr/lib/cups/filter/foomatic-rip-hplip points to a foomatic-rip
executable that is used by default on the runtime system.
OBS-URL: https://build.opensuse.org/request/show/250076
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=99
- PPDs that require a proprietary plugin from HP must be moved to
the hplip main-package because the proprietary plugin from HP
must be downloaded and installed by using HP's "hp-plugin" tool
that belongs to the hplip main-package. Accordingly PPDs that
require a proprietary plugin from HP are in a new directory
/usr/share/cups/model/manufacturer-PPDs/hplip-plugin
that belongs to the hplip main-package (bnc#876690).
OBS-URL: https://build.opensuse.org/request/show/249259
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=98
Moved the hpcupsfax filter to the hplip-hpijs sub-package where the PPDs for it are because it works when only the hplip-hpijs RPM is installed. Moved the hpps filter to the hplip main-package because the hpps Python script imports HPLIP Python modules from the hplip main-package and accordingly moved the PPDs that use the hpps filter to the hplip main-package (bnc#876690).
OBS-URL: https://build.opensuse.org/request/show/232936
OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=94