Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 715420

Summary: media-gfx/iscan-2 and -3 should be slotted or separate packages.
Product: Gentoo Linux Reporter: Hector Martin <marcan>
Component: Current packagesAssignee: Matthew Schultz <mattsch>
Status: UNCONFIRMED ---    
Severity: normal CC: dilfridge, jstein, kroemmelbein, marcin.deranek, proxy-maint, sam
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=755884
https://github.com/gentoo/gentoo/pull/23642
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 828362    

Description Hector Martin 2020-03-30 09:33:31 UTC
It seems iscan-3 was packaged as a simple version upgrade over iscan-2. This is incorrect, as it is not a direct replacement. iscan-2 is the SANE epkowa backend, and iscan-3 is the SANE utsushi backend. They support different scanners and are not interchangeable.

E.g. media-gfx/iscan-plugin-perfection-v370 does not work with iscan-3, only iscan-2. The upgrade broke my scanner.

Arch Linux packages these as two distinct packages (iscan and imagescan):
https://wiki.archlinux.org/index.php/SANE/Scanner-specific_problems#Epson

Gentoo needs to either do the same, or slot the package and make it clear that users need to explicitly install iscan:2 or iscan:3 depending on what they need, and change the deps for the iscan plugins to depend on the right slot.

Reproducible: Always

Steps to Reproduce:
1. emerge media-gfx/iscan media-gfx/iscan-plugin-perfection-v370
2. Try to use an Epson GT-S640 scanner
Actual Results:  
Scanner does not work

Expected Results:  
Scanner works
Comment 1 Hector Martin 2020-03-30 09:36:35 UTC
CCing dilfridge, who packaged iscan-3.
Comment 2 Matthew Schultz 2020-04-03 04:15:51 UTC
I have a better idea.  I think iscan-3 should be renamed to utsushi.  That is the name of the backend it installs as well as its binary name.  For all intents and purposes, it's a completely different piece of software.
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2020-05-06 19:58:48 UTC
(In reply to Matthew Schultz from comment #2)
> I have a better idea.  I think iscan-3 should be renamed to utsushi.  That
> is the name of the backend it installs as well as its binary name.  For all
> intents and purposes, it's a completely different piece of software.

We can do this, but atm I have no way to test. (The scanner is 2000km away in a different country.)
Comment 4 Matthew Schultz 2020-05-06 20:16:26 UTC
(In reply to Andreas K. Hüttel from comment #3)
> (In reply to Matthew Schultz from comment #2)
> > I have a better idea.  I think iscan-3 should be renamed to utsushi.  That
> > is the name of the backend it installs as well as its binary name.  For all
> > intents and purposes, it's a completely different piece of software.
> 
> We can do this, but atm I have no way to test. (The scanner is 2000km away
> in a different country.)

Well I look forward to when you can rename it then.  Unfortunately I can't help with the testing since I only have an Epson V500 which only works with iscan 2.
Comment 5 Hector Martin 2020-06-21 05:55:17 UTC
Just pinging to make sure this doesn't fall by the wayside too badly. Let me know if there's anything I can do to help out here.
Comment 6 Matthew Schultz 2020-06-21 06:10:44 UTC
(In reply to Hector Martin from comment #5)
> Just pinging to make sure this doesn't fall by the wayside too badly. Let me
> know if there's anything I can do to help out here.

First off, this should be reassigned.  iscan-3 is completely different piece of software from iscan-2 and likely should have been named differently when it was created (utsushi perhaps).  I have been maintaining iscan-2 for a while and I only have a scanner compatible with iscan-2 so I wouldn't have any way to test it.  I'm also not the one who wrote and committed the iscan-3 ebuild in the first place.  So I think there's probably a more appropriate person to assign this to.
Comment 7 Hector Martin 2020-06-21 06:13:32 UTC
I assume dilfridge@ is probably a better assignee here?
Comment 8 Joel Parthemore 2020-07-24 18:26:29 UTC
I just want to add my two cents that this *is* a real problem and that iscan-3 really *should* be renamed.  My Epson Perfection V600 stopped working when I did what seemed to be a simple upgrade to iscan.  Took some searching to find out that iscan-3's utsushi driver does not support the V600.
Comment 9 Andreas Sturmlechner gentoo-dev 2020-11-20 20:51:48 UTC
Indeed the only reference installed bits are making to 'iscan' at least by filename are produced by the ebuild.

There's some precedence wrt 'utsushi' package name: https://repology.org/project/utsushi/versions
Comment 10 Hector Martin 2021-01-04 08:05:03 UTC
CCing marcin.deranek@slonko.net who is listed as the overall package maintaier.
Comment 11 Marcin Deranek 2021-01-13 17:28:38 UTC
I believe imagescan for iscan-3* would be more appropriate if we decide to rename it.
Comment 12 Marcin Deranek 2021-02-17 12:05:20 UTC
Does anyone know what else does it take to rename iscan-3 to imagescan except moving ebuilds/files around?
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-21 11:16:18 UTC
(In reply to Marcin Deranek from comment #12)
> Does anyone know what else does it take to rename iscan-3 to imagescan
> except moving ebuilds/files around?

A news item is probably necessary for this. I'm not sure (can't check right now, but don't think so) that we can do partial renames do a news item + mask + what you said will be the way to go.
Comment 14 Marcin Deranek 2021-12-21 13:07:19 UTC
(In reply to Sam James from comment #13)
> A news item is probably necessary for this. I'm not sure (can't check right
> now, but don't think so) that we can do partial renames do a news item +
> mask + what you said will be the way to go.

If partial rename is not possible than probably slotting is the next best option (still keeping some technical debt).

What about just moving iscan-3.* to a new imagescan-3.* package? That would be the best in terms of place we want to be, but probably not the most transparent way of moving from the place we are right now for the users.
Any comments / suggestions on potentially the best way out of this?
Comment 15 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-21 16:14:15 UTC
(In reply to Marcin Deranek from comment #14)
> (In reply to Sam James from comment #13)
> > A news item is probably necessary for this. I'm not sure (can't check right
> > now, but don't think so) that we can do partial renames do a news item +
> > mask + what you said will be the way to go.
> 
> If partial rename is not possible than probably slotting is the next best
> option (still keeping some technical debt).
> 
> What about just moving iscan-3.* to a new imagescan-3.* package? That would
> be the best in terms of place we want to be, but probably not the most
> transparent way of moving from the place we are right now for the users.
> Any comments / suggestions on potentially the best way out of this?

I think your latter idea is best:
1. Mask >=iscan-3
2. Create imagescan as a new package
3. News item (which shows when users have iscan-3 installed, maybe iscan entirely given some will have been worrying about this)
4. Pray? :)

I can help you with all of this, of course. Reply is bit short because on mobile but can try give info on news item later.
Comment 16 Marcin Deranek 2021-12-21 23:01:43 UTC
(In reply to Sam James from comment #15)
> I can help you with all of this, of course. Reply is bit short because on
> mobile but can try give info on news item later.

I can do some work on creating MR for imagescan-3 although that will take place in January (currently I'm on vacation).

Extra factor (which can complicate things) is iscan-plugin-network-nt. There used to be version which was compatible with iscan-2, but it was removed (#719470). Current seems to be only compatible with imagescan-3, but I cannot confirm that as I do not have iscan-2 compatible hardware. From the comment in the bug it looks like I am correct.
Comment 17 Marcin Deranek 2022-01-06 07:48:47 UTC
(In reply to Sam James from comment #15)

> I think your latter idea is best:
> 1. Mask >=iscan-3
> 2. Create imagescan as a new package
> 3. News item (which shows when users have iscan-3 installed, maybe iscan
> entirely given some will have been worrying about this)
> 4. Pray? :)
> 
> I can help you with all of this, of course. Reply is bit short because on
> mobile but can try give info on news item later.

Preliminary pull request is ready. It does the following:
1. Copy iscan as imagescan and iscan-plugin-network-nt as imagescan-plugin-network-nt
2. Masks >=iscan-3 and >=iscan-plugin-network-nt-1.1.3
3 Restores previous iscan-plugin-network-nt (along with the license) which is compatible with iscan-2*