Open mjsir911 opened 3 years ago
I see the media-gfx/brscan4 package in the Gentoo repo only as a stopgap solution for older scanners. Newer models (since 2016?) should support Avahi/Bonjour discovery (a.k.a. Apple AirScan) and announce themselves as _uscan._tcp
service type. In which case you don't need any proprietary driver package.
Same applies to printers, only that Brother supported driverless printing somewhat earlier (since 2014 at least). See this list of supported printers.
Edit: It's a different story of course if the printer or scanner is connected via USB.
Hi @ulm, thank you for your thoughts
I see the media-gfx/brscan4 package in the Gentoo repo only as a stopgap solution for older scanners.
Will this affect the attention given to media-gfx/brscan4
/ reliability of it long term? brother-overlay has been maintaining brother-scan4-bin
fairly regularly for a long time and it's been working well for me, but I would prefer to use a ::gentoo
ebuild if it's given care.
Newer models (since 2016?) should support Avahi/Bonjour discovery (a.k.a. Apple AirScan) and announce themselves as _uscan._tcp service type. In which case you don't need any proprietary driver package.
This is good to know, but speaking for myself:
avahi-daemon
enabled by default, haven't known to use it with printing (and other users might not, either)avahi-browse --all
list. I can't test for brother/brscan4 right now, but it doesn't seem flawless!I would like to get the original author / maintainer of media-gfx/brother-scan4-bin
involved in this, they should know the original intentions best, but from a quick look over the ebuild, here's a list of differences that might be worth considering copying over into ::gentoo
, or at least questioning why it's done that way:
brother-eula
herebrscan4
doesn't even copy over opt/brother/scanner/udev-rules/type1/NN-brother-mfp-type1.rules
, so maybe unneccessary? Are udev rules needed for usb? See 544f4fef1fe8436abea736d300f3cb49144c3ceeusb
USE flag, for media-gfx/sane-backends[usb?]
brother-scan4-bin
pulls in sys-auth/nss-mdns
when USE=avahipostinst
messages/logic: https://github.com/stefan-langenmaier/brother-overlay/blob/bd7f27e3399297ff80dfa64ed57cf1054792b573/media-gfx/brother-scan4-bin/brother-scan4-bin-0.4.8-r1.ebuild#L75-L84Will this affect the attention given to
media-gfx/brscan4
/ reliability of it long term? brother-overlay has been maintainingbrother-scan4-bin
fairly regularly for a long time and it's been working well for me, but I would prefer to use a::gentoo
ebuild if it's given care.
The package has just been added and has two developers listed as maintainers, so you can assume that it will be maintained for the foreseeable future (and I've maintained it in my overlay since 2014).
This is good to know, but speaking for myself:
1. I don't even have `avahi-daemon` enabled by default, haven't known to use it with printing (and other users might not, either)
You don't necessarily need avahi-daemon. If the device supports driverless printing or scanning, you can also manually enter it into the cups and sane configuration.
2. The current printer I have on hand: HP DeskJet 2540, does not show up in a `avahi-browse --all` list. I can't test for brother/brscan4 right now, but it doesn't seem flawless!
At least this list claims that it is supported.
* is the license a EULA? It's labelled `brother-eula` here
No, they call it EULA, but it has all elements of a free software license. Nevertheless, the package isn't free because (AFAIK) they don't distribute the sources.
* A few patches modifying udev rules, although it looks like `brscan4` doesn't even copy over `opt/brother/scanner/udev-rules/type1/NN-brother-mfp-type1.rules`, so maybe unneccessary? Are udev rules needed for usb? See [544f4fe](https://github.com/stefan-langenmaier/brother-overlay/commit/544f4fef1fe8436abea736d300f3cb49144c3cee)
Hm, I don't need any special udev rules here. When connected via USB, the device shows up in scanimage -L
out of the box.
* `usb` USE flag, for `media-gfx/sane-backends[usb?]`
That's strongly discouraged by our policy, because it doesn't affect the package itself but only runtime dependencies. If the user wants USB for sane-backends, the right place is to enable the flag there (or globally).
* Additionally, `brother-scan4-bin` pulls in `sys-auth/nss-mdns` when USE=avahi
Yeah, that's a matter of taste. It's not needed as a runtime dependency directly.
* https://github.com/stefan-langenmaier/brother-overlay/blob/bd7f27e3399297ff80dfa64ed57cf1054792b573/media-gfx/brother-scan4-bin/brother-scan4-bin-0.4.8-r1.ebuild#L70-L71
It is a config file, so it should be in /etc/opt
, because /opt
(like /usr
) is considered read-only. We have a symbolic link to it from /opt
:
https://github.com/gentoo/gentoo/blob/3853ca2def9372e20bc7fd971b385f32c2288221/media-gfx/brscan4/brscan4-0.4.10.1.ebuild#L32-L37
* different `postinst` messages/logic: https://github.com/stefan-langenmaier/brother-overlay/blob/bd7f27e3399297ff80dfa64ed57cf1054792b573/media-gfx/brother-scan4-bin/brother-scan4-bin-0.4.8-r1.ebuild#L75-L84
Sure, we could add that extra message. OTOH, you must work hard to avoid both elogind and systemd, and the acl
flag is enabled by default. :smile: Also consolekit is a thing of the past.
Thank you for the detailed response! You've addressed the major differences between the packages & alleviated my concerns :)
I'm going to leave this issue open for the time being to wait to see if anything actionable will be associated with it, but that's all from me!
Thanks a lot, -- Marco Sirabella
Hi @mjsir911 thanks for raising this question and thanks @ulm for all the information.
I wasn't aware of the package in the ::gentoo
repository. I can't give a lot of further details but only a little historical background. I had a couple of Brother printers in my office and found some ebuilds in different repos. So I collected printer drivers and people started to contribute. :) I tried to keep a minimal level of quality but the level was not up for the official Gentoo repo so I never worried.
I don't want to duplicate efforts or create confusion, so what are you suggestions regarding this package? Should it be removed here? Is there a general/official migration guide/strategy for packages from third-party repos to the official one. Would be happy to stream line it.
Thanks in advance!
I am not aware of any such policy, except for official repositories like GURU. In your own repository you have the authority. :smile:
I also don't have any strong opinion about removal of the package from your overlay. On the one hand it is of course duplication. On the other hand it goes along here with brscan2 and brscan3 which aren't in the main repo. And they won't be added unless somebody who has the right hardware can maintain them (so not me).
I'm :+1: for removing/limiting the package in this overlay, but I see a few practical problems with that:
media-gfx/brother-scan4-bin
will have to upgrade to media-gfx/brscan4
if the ebuild is removed. Can this be fixed with profiles/updates/* to re-point to the new package?brother-scan4-bin
, the canonical config file is /opt/brother/scanner/brscan4/Brsane4.ini
, while for brscan4
it is a symlink to /opt/brother/scanner/brscan4/Brsane4.ini
, so on reinstall my config is lost. This isn't a fun upgrade path for users :(A few solutions sorted by ease:
RDEPEND="!media-gfx/brscan4"
elog
message telling users about media-gfx/brscan4
, including Brsane4.ini upgrade procedure?DEPEND=media-gfx/brscan4
with a very stripped down ebuild & have some precheck stage perform the upgrade. You can keep the postinst messages here as well.brother-scan4-bin
, drop a move
in profiles/updates/Q*
, and let users deal with the config update pains :(To add on to this, media-gfx/brother-scan4-bin
keeps trying to reinstall on my on my system because I've selected net-print/brother-mfcl2700dw-bin
.
This package doesn't seem to do anything, so I'm going to deselect it, but addressing the consolidation would at least prevent portage from attempting to emerge both brscan4
& brother-scan4-bin
at the same time.
Hello,
It seems that there are a lot of shared efforts under
media-gfx/brother-scan4-bin
in this repository & gentoo's officialmedia-gfx/brscan4
.What are the differences between the two? Different approaches taken in this repository's? Gentoo's seems relatively recent, so there might be some stuff it could learn from the ebuilds in this repository (eg
sane-backends[usb]
)Gentoo's seems to be maintained by @ulm currently. Is there any way forward for consolidated efforts?
Thanks, -- Marco Sirabella