New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hplip: update version to 3.19.6, fix hpcups
segfault, enable udev rule file
#64722
Conversation
Beginning with version 3.18.7, `hpcups` fails with > DEBUG: imageProcessorStartPage failed and segfaults (tested with HP LaserJet 1000 printer). Upstream bug reports: * https://bugs.launchpad.net/hplip/+bug/1788706 * https://bugs.launchpad.net/hplip/+bug/1787289 There is a patch available in one of the reports: https://bugs.launchpad.net/hplip/+bug/1787289/+attachment/5176026/+files/hplip.patch It applies to 3.18.7, but not to later versions. This commit adds a slight adaption of the patch that applies to versions 3.18.9 -- 3.19.6. The patch fixes NixOS#58949 . Note that the patch is merely a workaround: It simply removes all calls into the ImageProcessor library from `HPCupsFilter.cpp`.
hplip's udev rule uses `nohup` to attempt to detach its printer configuration script from the udev process. However, this attempt is futile as udev tracks its child processes with cgroups: https://unix.stackexchange.com/a/243648 The hardcoded path to `nohup` was patched to use Nix' `nohup`. This commit alters the patch script so that it simply drops the call to `nohup`.
Beginning with commit 8ffd6af, the build recipe for `hplipWithPlugin` explicitely drops a udev rule file that is delivered with the sources. In `hplip` (without plugin), the rule file is retained. The udev rules takes care of uploading firmware to certain printers (and maybe of other things), e.g. to HP LaserJet 1000. This commit reinstates the rule file and expands the fixup script so that the rules are also patched in the WithPlugin version.
Oops, tiny update to my branch: I already forgot about #58949, which is likely to be fixed by the |
hpcups
segfault, enable udev rule file
@@ -142,8 +142,6 @@ pythonPackages.buildPythonApplication { | |||
|
|||
mkdir -p $out/etc/sane.d/dll.d | |||
mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf | |||
|
|||
rm $out/etc/udev/rules.d/56-hpmud.rules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is the udev rule installed on NixOS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently I'm simply adding pkgs.hplipWithPlugins
to config.services.udev.packages
.
Motivation for this change
hpcups
since 3.18.7. Add a patch to cure those.Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
: no depending packages./result/bin/
): see note belownix path-info -S
before and after): new version adds 770KiB to package sizehpcups
in the filter chain. Tests have been performed withhplipWithPlugin_3_16_11
,hplipWithPlugin_3_18_5
, and withhplipWithPlugin
.