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

Re: RFS: brother-inkjet-dcpj952n/3.0.0-2 [ITP] -- printer driver for Brother Inkjet printers



Le mardi, 13 décembre 2016, 20.02:07 h CET Roger Shimizu a écrit :
> I also found this page:
> -
> https://github.com/illwieckz/debian_copyist_brother/tree/master/material/
sources
> 
> I didn't know there were so many packages from Brother ..

Yeah. That's a big mess there.

> However I think there may be more Japan local models with unique drivers.
> I'll try to collect those drivers.
> 
> BTW. What's the result of GSoC2015, other than the github repo above?
> It'd be great if there's some progress ..

I concluded the initial project with these comments:
> * Brother makes it really complicated by bundling various files in 
> various licenses in literally hundreds of different packages with lots 
> of overlap and no publicly accessible source repository;
> * In the middle of the project phase, Brother reworked their website and 
> broke the files reachability by hiding most behind a webform.

> > Where I'm going to, is that I wonder if we could not have a wider
> > packaging work around the Brother drivers: they come in vastly different
> > forms, but bundle essentially a wide set of mostly-identical scripts. Many
> > of these scripts assume they are installed in /opt and also assume 'lpd'
> > is still the printer server in use.
> > (…)
> > That amounts to saying I don't think the package as packaged currently is
> > really suitable for Debian main.
> 
> Yes. So I guess it's better to remove my repo from alioth.

Don't worry, it's fine. It's also good to have a first attempt there.

> If supporting all Brother models is too difficult task, I think it'd
> be better if we can get drivers of a few "popular" models into Debian
> main (or non-free if main is not right place).

Sure. It'd be good to start somewhere. But if that "somewhere" has an english 
website, it's also quite easier for me. :-)

As you have probably seen from the git repository above, there are a lot of 
problems to solve:
- Most if not all the cupswrapper* scripts do dangerous or stupid things:
  - including writing temporary printer filters
  - assuming everything is in /opt
  - need to run as root
  - force-create printers in CUPS
  - some of these are written in csh
  - etc
- There is _a lot_ of duplication of code between these drivers.
- There are stupid things spread around:
> > - "Connecting more than one machine with the same model number is not
> > supported"
> > - "Some drivers are duplicated for SI unit (mm) or Imperial units (inch),
> > see the TD-2020 for example."
> > - "Many PPD are not distributed directly but embedded in Shell or C-Chell
> > scripts from cupswrapper package, sometimes as heredocs, sometimes as a
> > long list of echo commands."
- Some drivers need the "LPR" driver, which is not available under a FLOSS 
licence.

So far, the only way to drive any kind of sense out of all this was this 
approach: take all of what Brother makes available, put it in a giant 
repository, analyze what is free and what isn't, and drive conclusions from 
there. A possibility here is still to consider the problem too hard to fix, but 
it feels there is an opportunity for a global solution.

If I had energy & time, I'd start with de-piling what this cupswrapper script 
does for the current package, and try to automatically extract the useful bits 
(filter script, PPD file), in the build-process, to provide these static assets 
as part of the binary package.

I hope I haven't demoralized you too much here. :-/

-- 
Cheers,
    OdyX

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


Reply to: