Re: [IPP-over-USB printers/scanners] Expected breakage when ipp-usb+a driver are installed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, 2022-03-30 at 15:55 +0200, Zdenek Dohnal wrote:
> On 3/30/22 03:26, Michael Catanzaro wrote:
> > (removing users@xxxxxxxxxxxxxxxxxxxxxxx)...
> > 
> > On Wed, Mar 23 2022 at 01:58:33 PM +0100, Zdenek Dohnal 
> > <zdohnal@xxxxxxxxxx> wrote:
> > > Unfortunately there is no clean upgrade path to solve the migration 
> > > automatically because of unrealistic requirements such as:
> > > 
> > >  - the USB device would have needed to be plugged in and turned on 
> > > during the update
> > >  - %post scriptlets don't work the same way on immutable Fedoras as 
> > > on Fedora Linux, and other upgrade possibilities such as Leapp don't 
> > > support Fedora upgrades AFAIK,
> > > the fix has to be done manually.
> > > 
> > Hi Zdenek,
> > 
> > First, thanks for your work on preparing Fedora for CUPS 3.0 and 
> > driverless printing, and for helping me with the printer and scanner 
> > bug reports I reported after I discovered this broke my printer after 
> > upgrading to F36:
> > 
> > https://bugzilla.redhat.com/show_bug.cgi?id=2066528
> > https://bugzilla.redhat.com/show_bug.cgi?id=2069277
> > 
> > Hopefully my experience after removing my old print queue and 
> > switching to the CUPS temporary queue is an anomaly. I know we don't 
> > *expect* users to have this much trouble. That said, even if 
> > everything goes as expected, requiring users to remove the original 
> > broken print queue is unfortunate. Leaving a broken scanner device 
> > around is too.
> > 
> > I understand it is difficult to seamlessly upgrade users from F35 -> 
> > F36 due to the intrusive nature of these changes. That said, I think 
> > it's worth discussing whether a smoother upgrade is possible, because 
> > otherwise I expect a large number of complaints from users. An 
> > installed one-shot systemd service would avoid the need for any %post 
> > scriplets, for example.
> 
> That could help us on immutable systems - but I'm not sure when the 
> service should run - I would expect it would run once a certain CUPS 
> version is on the system, but I'm not sure how to make it run only once 
> when it is installed without any %post/%triggerin in RPM. And what 
> should trigger the run of the service?
> 
> Maybe an idea? The service will be brought up by udev rule - if action 
> 'ADD' happens during restart as well, the daemon should be loaded during 
> machine restart and when the printer is turned on - it will be run only 
> for IPP-over-USB device, construct the URI for the device and then try 
> to find the URI among local permanent queues. WDYT?

Sounds reasonable, it probably isn't too bad to do a little bit more
work here and run a migration script every time a printer supported by
ipp-usb is plugged in.

Not sure, maybe one could do that from inside ipp-usb. Or, possibly by
adding a new (template) service that is launched by systemd to the udev
rule, e.g.
  ENV{SYSTEMD_WANTS}+="ipp-usb-migrate@.service"
to the udev rule.

That way a script can be executed that receives the sysfs path of the
printer (%I argument). If that information is enough to delete the
queue from cups, then this might be a solution to the issue.

And, one can still touch a file to skip running the script the next
time the printer is discovered.

Benjamin

> 
> > Alternatively, could we find a way to disable the classic drivers if 
> > the printer supports ipp-usb?
> 
> Hmm... what I can think of we could come up with deny lists for classic 
> driver projects (hplip, gutenprint, sane-backends), so users could 
> define idVendor and idProduct and reject the  device in the classic 
> driver. However this would fit better the scanning stack, since there is 
> automatic device discovery for classic drivers.
> 
> For printers permanent queue installation with a classic driver always 
> requires user intervention - IMO we should not block users which 
> explicitly want to install print queue with classic driver.
> 
> > 
> > > - the USB device would have needed to be plugged in and turned on 
> > during the update
> > 
> > I understand the problem is you don't know whether the printer 
> > supports ipp-usb unless it's on, right? Therefore, a one-time upgrade 
> > script has no way to know whether the print queue should be deleted or 
> > not?
> Exactly.
> > 
> > Perhaps it would be possible to delete the print queue that uses the 
> > traditional driver whenever support for ipp-usb is detected? 
> Yes, that could be possible, but it will work only if the device is 
> turned on when the service is started.
> > I don't know enough about printing to say whether that is a reasonable 
> > suggestion or a ridiculous one. Just brainstorming.
> 
> No problem, it helps me to think about the problem from another angle.
> 
> > 
> > Michael
> > 
> > _______________________________________________
> > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> > Fedora Code of Conduct: 
> > https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives: 
> > https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
> > Do not reply to spam on the list, report it: 
> > https://pagure.io/fedora-infrastructure
> 
> -- 
> Zdenek Dohnal
> Software Engineer
> Red Hat, BRQ-TPBC
> _______________________________________________
> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
> Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux