-
Not Synced
Welcome to the only talk of this time span
-
Not Synced
I am glad that I am the only one talking
-
Not Synced
and I hope I will somewhat interesting [laughs]
-
Not Synced
That's a very good honour to be the only one talking
-
Not Synced
I just wanted to do a status report of the Debian Printing team
-
Not Synced
because it's been quite a long time, I've been working on this part of Debian
-
Not Synced
and I've tried to attract people into helping me for printing in the last years
-
Not Synced
and it hasn't really worked.
-
Not Synced
So I'll just do another attempt and see what that gives
-
Not Synced
and hopefully give you some insight on how the whole thing works
-
Not Synced
A little introduction about me;
-
Not Synced
I'm a Swiss guy, I was basically grown up with computers
-
Not Synced
If you followed my talk from last year,
-
Not Synced
I showed you some of the Swiss computers back then
-
Not Synced
and some Motorola 68k Swiss-specific stuff that I was basically born with.
-
Not Synced
I am currently working at Liip, CH.
-
Not Synced
It's a Swiss company that has websites
-
Not Synced
and I'm working there as an eLearning specialist,
-
Not Synced
webapp backender and sysadmin.
-
Not Synced
Whatever that means.
-
Not Synced
Towards Debian, I've been translating things
-
Not Synced
at the Ubuntu site since 2005,
-
Not Synced
maintaining packages since 2009.
-
Not Synced
I've been a developer since 2011
-
Not Synced
and I've been maintaining some packages since then.
-
Not Synced
That's not the most interesting part of the talk
-
Not Synced
so let's go forward.
-
Not Synced
This session's intent is to present the state of the Debian printing stack,
-
Not Synced
its evolution until today, the leftover work
-
Not Synced
and also how I got trapped into maintaining that part of Debian.
-
Not Synced
I mean, I don't have a particular interest in printers
-
Not Synced
but, yeah.
-
Not Synced
How you can help!
-
Not Synced
So let's dive into the past
-
Not Synced
If you have questions, just raise your hand and interrupt me
-
Not Synced
Don't feel shy
-
Not Synced
It started in June 2010, I adopted foomatic-filters
-
Not Synced
because it was severely outdated
-
Not Synced
There was no upload for a year, missing 5 new upstream releases
-
Not Synced
We were lagging severely behind Ubuntu
-
Not Synced
and the maintainer was quasi-MIA
-
Not Synced
Typical case for adopting a package some months before the freeze.
-
Not Synced
I was kind of looking for things to help the freeze out
-
Not Synced
and this was broken on my machine,
-
Not Synced
that's were the trap was working me first.
-
Not Synced
It just made it into Squeeze because I did the upload
-
Not Synced
3 hours after the freeze was suprise announced at the DebConf then
-
Not Synced
So I managed to get it through, somehow.
-
Not Synced
But that was the only package I was maintaining there for Squeeze
-
Not Synced
Then in July, I sent this Request For Comments
-
Not Synced
for forming a printing task force
-
Not Synced
to various mailing lists
-
Not Synced
the cups maintainers list, et cetera
-
Not Synced
to see if it was possible to gather some people
-
Not Synced
around maintaining the whole printing stack under a team umbrella
-
Not Synced
because before that it was just sets of packages
-
Not Synced
maintained by individuals on their own side of debian
-
Not Synced
This thing was kind of working
-
Not Synced
but as soon as people went MIA
-
Not Synced
or just had other interests then the packages were rotting.
-
Not Synced
Then I started integrating the Ubuntu delta into Debian
-
Not Synced
because Ubuntu apparently had more need than Debian
-
Not Synced
to have a working printing infrastructure then.
-
Not Synced
and they had been fixing this stuff on their site.
-
Not Synced
It's interesting to take a look at the Ubuntu delta
-
Not Synced
in the first place, why there was one.
-
Not Synced
One argument for that is that the updates were not proposed
-
Not Synced
back to Debian at all
-
Not Synced
No patches to enter to the bug tracker
-
Not Synced
no other was than just looking at the packages in Ubuntu
-
Not Synced
and seeing there were updates there
-
Not Synced
so I should maybe take the patches back
-
Not Synced
but there was no upward communication.
-
Not Synced
On the other hand, the packages were not getting
-
Not Synced
any or much attention in Debian, either.
-
Not Synced
No one was actually taking a look at this diff
-
Not Synced
and making sure that things were working.
-
Not Synced
It was working for some parts but there were many bugs still.
-
Not Synced
But it's still free software
-
Not Synced
so patches were sitting there
-
Not Synced
you had a nice link from the PTS to get one big patch
-
Not Synced
you could apply to the Debian package
-
Not Synced
and you could just integrate that.
-
Not Synced
The patches were available.
-
Not Synced
It was not that bad.
-
Not Synced
The work started at the beginning of the Wheezy cycle
-
Not Synced
around 2010 or 2011
-
Not Synced
by basically adopting new packages
-
Not Synced
and polishing the Ubuntu changes
-
Not Synced
like taking one change at a time
-
Not Synced
making one clean commit out of that
-
Not Synced
and uploading releases one after another
-
Not Synced
integrating new upstream releases
-
Not Synced
and all good, no?
-
Not Synced
Well, not exactly
-
Not Synced
because the dependency stack was at that time a little complicated, so to say.
-
Not Synced
because every package was liking against its dependencies
-
Not Synced
and some of the drivers had been promoted to the print server task.
-
Not Synced
So the print server task was pulling like, hplip and gutenprint
-
Not Synced
but not other drivers for some reason
-
Not Synced
and it was pulling cups
-
Not Synced
and cups was pulling poppler
-
Not Synced
and then, yes, that basically.
-
Not Synced
You can go on the wiki page to revise history
-
Not Synced
but basically that was what was there when I was cleaning up the stack.
-
Not Synced
I started discussing the thing on the list
-
Not Synced
and we were like 2 or 3 and many people were agreeing with the thing
-
Not Synced
but I was not many for doing the thing [laughs]
-
Not Synced
So I started cleaning up the dust
-
Not Synced
renaming the drivers,
-
Not Synced
now all printer drivers are namespaced somehow
-
Not Synced
they all start with the same binary name
-
Not Synced
reworking the dependency tree
-
Not Synced
making sure you have a printer-driver-all that just recommends all available
-
Not Synced
drivers that the print task can depend on.
-
Not Synced
So, by default you get all available free software drivers
-
Not Synced
just in case you might want to install a printer.
-
Not Synced
There is this pyppd,
-
Not Synced
that is a compressor that would take the pdd files
-
Not Synced
and turn them into an xz compressed python script
-
Not Synced
that will uncompress itself into pdds
-
Not Synced
that basically allow disk space reduction of 80%
-
Not Synced
That was written during a Google Summer of Code
-
Not Synced
and I just wrote the dh wrapper around that to automate that for the printing
-
Not Synced
packages
-
Not Synced
so if you put the ppd files in the right place
-
Not Synced
and run that tool, it will just do the compression
-
Not Synced
and replacement and removing in the right place.
-
Not Synced
We have moved all of the packages to git
-
Not Synced
because some of them were in no VCS
-
Not Synced
some of them were in SVN
-
Not Synced
I don't we had any in CVS
-
Not Synced
but moving to git was a good thing
-
Not Synced
in collab-maint by then because I didn't have the interest in making a proper
-
Not Synced
team namespace
-
Not Synced
I wondered if it was easier just to put everything there
-
Not Synced
and what might happen is that someone would be interested in putting patches.
-
Not Synced
That didn't happen.
-
Not Synced
We hijacked the debian-printing list,
-
Not Synced
because no one was using that
-
Not Synced
and it was totally logical to use that
-
Not Synced
as a maintainer list, to have everything in the same place.
-
Not Synced
and cleaning out dependencies, apparently that was twice on the slide.
-
Not Synced
During that time, we managed to package all known free software drivers.
-
Not Synced
There were some laying around that were not packaged,
-
Not Synced
some that were a little complicated to package.
-
Not Synced
I tried to search through OpenPrinting and whatever
-
Not Synced
and find some others that were not packaged
-
Not Synced
that were maybe supporting one or two printers.
-
Not Synced
I wondered, it was probably good to have them in Debian anyway
-
Not Synced
could be useful to one or two users.
-
Not Synced
Consolidated the foomatic packaging
-
Not Synced
and caught back on upstream versions.
-
Not Synced
I think in wheezy we had most of that.
-
Not Synced
But there's still cups.
-
Not Synced
cups is like the thing you don't really want to touch when you do printing
-
Not Synced
because that is the complicated part,
-
Not Synced
everything else is just drivers, filters and small programs
-
Not Synced
It's easy when you start packaging,
-
Not Synced
small things in different languages
-
Not Synced
It's funny.
-
Not Synced
But cups is a little frightening.
-
Not Synced
So I wondered, cups is one big thing
-
Not Synced
and it has an Apple upstream,
-
Not Synced
it's not really the thing you want to touch.
-
Not Synced
cups is not really known for the super whatever free software friendly.
-
Not Synced
The wheezy freeze was upcoming and cups hadn't seen uploads for a year
-
Not Synced
so I started fixing one thing after another
-
Not Synced
and I started uploading NMUs
-
Not Synced
I ended up doing 16 NMUs in a row
-
Not Synced
Not every NMU got the freeze exception request
-
Not Synced
but almost all of them
-
Not Synced
So for each of the NMUs, there was a discussion
-
Not Synced
with the release team all of the changes that would enter wheezy.
-
Not Synced
Yeah, that.
-
Not Synced
In 2013, cups was especially made complicated
-
Not Synced
by the fact there was no public VCS.
-
Not Synced
There used to be an SVN but it was down for some reason.
-
Not Synced
There also used to be a public bug tracker,
-
Not Synced
but it was down for some reason.
-
Not Synced
The few contacts I had with Apple
-
Not Synced
was just over private mails
-
Not Synced
because they had no mailing lists,
-
Not Synced
or it was closed or it was down.
-
Not Synced
So not exactly the upstream you are very fine working with
-
Not Synced
It's just a black-hole, you get a new tarball
-
Not Synced
No changes, you get a Changelog, but you don't get the individual changes
-
Not Synced
and of course the package back then had no test suite working, no autopkgtest
-
Not Synced
So, yeah, that.
-
Not Synced
But finally after doing 16 NMUs, I thought to myself,
-
Not Synced
Yeah, what does that mean? The real maintainer would not get back to
-
Not Synced
uploading that for the stable release so I might as well just update
-
Not Synced
and we'll see what happens.
-
Not Synced
So apparently the trap worked.
-
Not Synced
I ended up with one more big package, that's cups.
-
Not Synced
So where do we stand now?
-
Not Synced
If you run sid, you probably have most packages
-
Not Synced
that are in there are the most recent upstream version.
-
Not Synced
In the last year, we moved from collab-maint to printing
-
Not Synced
because it's now easier because now I'm a DD
-
Not Synced
so I could easily create a new alioth group
-
Not Synced
and we thought it's also easier to see who was actually still in the team.
-
Not Synced
We sent out the mail to various persons that had contributed and asked them to
-
Not Synced
request the membership in alioth
-
Not Synced
The ones that are just MIA don't request and they're not members
-
Not Synced
So that the list on alioth is somewhat relevant
-
Not Synced
We kind of managed to maintain the bug flow at a reasonable level.
-
Not Synced
I started, there was like 400 bugs and now we are around 300
-
Not Synced
but that means also that the new bugs are addressed within a reasonable delay,
-
Not Synced
somehow.
-
Not Synced
So now, the FLOSS drivers are in Debian
-
Not Synced
There was a new one, I think 3 months ago,
-
Not Synced
some guy did a driver for 2 or 3 Brother printers
-
Not Synced
that just works currently.
-
Not Synced
So we packaged that and it's in Debian.
-
Not Synced
Also the Ubuntu diff is kept minimal
-
Not Synced
we've integrated some of the Ubuntu specific changes
-
Not Synced
into the Debian packaging just to avoid have them creating a new diff
-
Not Synced
or maintaining a diff over time.
-
Not Synced
We could do that easily with dpkg-vendor for example
-
Not Synced
The package is the same,
-
Not Synced
just at build-time it will do different things
-
Not Synced
So for example, the default pdf page is different
-
Not Synced
and the two pages are in the Debian package
-
Not Synced
but when you build it on Ubuntu you get the Ubuntu page.
-
Not Synced
It has the advantage that the Ubuntu
-
Not Synced
employees don't have to maintain that patch over time
-
Not Synced
We manage to get the diff to zero, sometimes
-
Not Synced
Sometimes, you just see a peak in Ubuntu
-
Not Synced
because they want to be to faster than the music
-
Not Synced
and they do their stuff.
-
Not Synced
That's the bugs for all printing packages
-
Not Synced
it's not that bad.
-
Not Synced
I had to do actual work, for my work
-
Not Synced
in July and August it rose a little.
-
Not Synced
For cups, as you might have noticed if you're googling it now
-
Not Synced
we've gone from 1.5.3 in Squeeze
-
Not Synced
to 1.7.5, now in Jessie.
-
Not Synced
So it's two minor upstream releases
-
Not Synced
with quite a lot of changes
-
Not Synced
and I think we packaged all intermediate versions
-
Not Synced
and it's not bold to say that Wheezy will release with a minor version of 1.7
-
Not Synced
I mean Jessie, yes. Thank you.
-
Not Synced
I'm getting old!
-
Not Synced
We've enabled the full testsuite
-
Not Synced
so lots of patches within the testsuite
-
Not Synced
but not for disabling things, mostly for ignoring things in the error logs
-
Not Synced
because cups' testsuite will count the number of errors in its error log
-
Not Synced
so you have to take things out so that the count always matches
-
Not Synced
autopkgtest is basically printing to /dev/null
-
Not Synced
but we test that this continues to work when other parts of the archive change
-
Not Synced
so printing to /dev/null works
-
Not Synced
Good news!
-
Not Synced
We've patched in the systemd socket activation and activity timeout
-
Not Synced
The socket activation was originally from Lennart
-
Not Synced
and then changed by Gentoo to not have that mandatory,
-
Not Synced
because Gentoo also has sysvinit
-
Not Synced
where Red Hat just has systemd so they don't have an option at runtime
-
Not Synced
to either activate or deactive the socket activation
-
Not Synced
So it's a mix of the Red Hat patch and the Gentoo patch
-
Not Synced
plus cleaning, of course.
-
Not Synced
The activity timeout was from Ubuntu
-
Not Synced
Basically now in sid if you run systemd, or upstart
-
Not Synced
after 30 seconds of not doing anything the cups server will shutdown itself
-
Not Synced
and doesn't do anything and when you print something or access the web
-
Not Synced
interface over the 6631 port, it just launches itself in a part of second
-
Not Synced
and prints and then after 30 seconds shuts down again.
-
Not Synced
As for upstream, we have regular good and constructive contact
-
Not Synced
with upstream.
-
Not Synced
They have again a public VCS, bugs repository
-
Not Synced
so we can actually communicate on the public place
-
Not Synced
and have the various changes also as individual units
-
Not Synced
so it's quite easier then.
-
Not Synced
As for the constructive contacts,
-
Not Synced
I also have good private emails with Mike
-
Not Synced
Michael Sweet from Apple
-
Not Synced
about this GnuTLS vs OpenSSL discussion
-
Not Synced
we had in debian-devel some months ago
-
Not Synced
because GnuTLS introduced some incompatibilities
-
Not Synced
So I thought we could just build against OpenSSL
-
Not Synced
No problem, cups has the GPL 2 exception
-
Not Synced
and it was rightly pointed out that every package
-
Not Synced
that uses libcups2 also needs the GPL 2 exception for OpenSSL.
-
Not Synced
So it wasn't really possible.
-
Not Synced
So we had that discussion and actually
-
Not Synced
upstream was interested in finding a solution
-
Not Synced
eventually patching in another SSL library
-
Not Synced
if that would help the Linux distributors
-
Not Synced
It was kind of surprising to me that Apple would be doing that
-
Not Synced
but they were! I must say, so that's good.
-
Not Synced
Now we dropped the OpenSSL and it just builds the latest GnuTLS version
-
Not Synced
The Linux Foundation still needs to maintain several things
-
Not Synced
that got dropped from cups
-
Not Synced
That is one drawback of having cups owned by Apple is that
-
Not Synced
they basically dropped everything that was not interesting for them.
-
Not Synced
So they want to just make sure you can print on Apple certified printers
-
Not Synced
and the rest is left up the community.
-
Not Synced
So the Linux Foundation took over the cups filters
-
Not Synced
and the cups broadcasting management,
-
Not Synced
so you can announcement between cups servers
-
Not Synced
to get the queues in your local queue, et cetera
-
Not Synced
So that's taken over by the Linux Foundation
-
Not Synced
I'm thankful they do that job
-
Not Synced
I'm happy I don't have to do it myself
-
Not Synced
because it probably wouldn't work
-
Not Synced
and Till Kamppeter is working with them making that happen,
-
Not Synced
so I'm glad he does and thank you.
-
Not Synced
We also have some people helping,
-
Not Synced
I would like to thank Brian Potkin in particular
-
Not Synced
for being precise, tireless and helpful
-
Not Synced
I don't know if he is at DebConf
-
Not Synced
but he's been participating on the list quite a lot
-
Not Synced
for tracking down some bugs
-
Not Synced
reporting some useful bugs
-
Not Synced
preparing some patches also.
-
Not Synced
That's been useful.
-
Not Synced
You might have seen from the list of packages
-
Not Synced
we also have packages that I don't maintain myself
-
Not Synced
but that are also in the Debian Printing team;
-
Not Synced
we have Jonas for ghostscript and IJS,
-
Not Synced
c2050 by Marco,
-
Not Synced
cups-bjnp by Joe,
-
Not Synced
min12xxw by Stefan
-
Not Synced
and tea4cups by Mike.
-
Not Synced
Those packages don't move very often,
-
Not Synced
but when they do we have updates.
-
Not Synced
So it's good.
-
Not Synced
In other parts of the stack, we still have hplip
-
Not Synced
that is maintained indepedently by Mark Purcell.
-
Not Synced
That also gets updated regularly so it's fine.
-
Not Synced
and cups-pdf by Martin-Ăric
-
Not Synced
which is apparently working too.
-
Not Synced
So thanks!
-
Not Synced
For the future; scoping the problem,
-
Not Synced
non-free plague and some incoming challenges.
-
Not Synced
The problem of printing is that it's still a must-be of our world.
-
Not Synced
When you discuss with people some people say cups is really shit,
-
Not Synced
we could just drop that from the default installation.
-
Not Synced
Well you know, people still print
-
Not Synced
The non-paper world is probably in the advertisement
-
Not Synced
but it's not there at all.
-
Not Synced
Printing when it works is boring,
-
Not Synced
it just has to work.
-
Not Synced
But when it doesn't, it's really annoying.
-
Not Synced
So it's that type of technical challenge that
-
Not Synced
you will only get complaints when it doesn't
-
Not Synced
and when it does everyone is happy, no bugs, nothing, it just works.
-
Not Synced
And that's fine.
-
Not Synced
On the other hand, printing is damn complex.
-
Not Synced
Printer manufacturers come up with new protocols every 3 months basically.
-
Not Synced
They can even change printing protocols
-
Not Synced
within the same product suite, for some reason.
-
Not Synced
You get different IPP versions, PCL support
-
Not Synced
different memory requirements
-
Not Synced
now you can directly feed PDFs to printers
-
Not Synced
but the printers will sometimes fail
-
Not Synced
because the internal PDF rendering will fail for some reason
-
Not Synced
so you have to circumvent that in the printer drivers
-
Not Synced
You also have different sending protocols,
-
Not Synced
AirPrint, the Google cloud print is coming,
-
Not Synced
we have now IPP over USB for some printers
-
Not Synced
It's like an ever changing landscape for printing
-
Not Synced
It's a thing we've been doing for years
-
Not Synced
and it's still changing for some reason.
-
Not Synced
It's complex also because it takes any format as input;
-
Not Synced
you can print images, Word documents, PDFs, PostScript
-
Not Synced
and you have to make sure that's transformed to whatever
-
Not Synced
the printer is ready to get.
-
Not Synced
Sometimes that's PostScript, sometimes that's PDF,
-
Not Synced
sometimes it's a raw whatever, sometimes it's a bitstream.
-
Not Synced
So we have complex chains
-
Not Synced
and one of the biggest problems is that when a user has a problem,
-
Not Synced
the probability is 1 that you don't have the printer.
-
Not Synced
I mean, I have one printer at home
-
Not Synced
I test it when I do new uploads
-
Not Synced
and I just print the test page and that works
-
Not Synced
but when a guy has a problem on a printer, I don't have it.
-
Not Synced
So it's quite hard to reproduce.
-
Not Synced
There's still IP in the drivers
-
Not Synced
We have full manufacturer suites that have no acceptable FLOSS support.
-
Not Synced
I'll do some fingerpointing now.
-
Not Synced
I hope this is not video-taped.
-
Not Synced
Oh shit.
-
Not Synced
We've had this project from Debian France
-
Not Synced
they were basically offering books for people
-
Not Synced
that would be happy to contribute to something
-
Not Synced
and I mentored two guys to take a look at what Brother is doing with the drivers
-
Not Synced
I invite you to go there, the documentation is quite extensive
-
Not Synced
and they tried to see how we could package that even in non-free
-
Not Synced
just to consolidate the thing and have a somewhat clean dump of files
-
Not Synced
even in non-free so that we could install that
-
Not Synced
instead of downloading a 2002 .deb, that has no debsums
-
Not Synced
But the web page layout changed in the middle of the project.
-
Not Synced
They just revamped the website.
-
Not Synced
So we had a crawler that would get the various drivers and it just changed
-
Not Synced
completely, in the middle of the project.
-
Not Synced
For some printers you have two different versions
-
Not Synced
Either for SI or imperial units.
-
Not Synced
Because, I don't know, the printers has different physical size
-
Not Synced
or I don't know.
-
Not Synced
You have C-shell all over the place,
-
Not Synced
I don't think we have any valid C-shell interpreter yet in Debian
-
Not Synced
For many drivers, there is no co-installation possible
-
Not Synced
because they used the same named files with different contents
-
Not Synced
in the same place
-
Not Synced
So you need a different file with the same name, the same place
-
Not Synced
for two different printers.
-
Not Synced
So basically you can even print to one or the other
-
Not Synced
but not to two at the same time.
-
Not Synced
It still uses printcap, that's been deprecated
-
Not Synced
since at least Etch, I didn't check
-
Not Synced
but something very old.
-
Not Synced
There are a lot of bugs all over the place
-
Not Synced
it's loads and loads of shell code that would unpack
-
Not Synced
parts of PPD files to generate files to put in other places,
-
Not Synced
download things from the Internet...
-
Not Synced
A whole load of crap, frankly.
-
Not Synced
But we should not only finger point at Brother
-
Not Synced
at Samsung they are doing exactly the same, or worse
-
Not Synced
I didn't take a look at that precisely
-
Not Synced
but the Brother project was quite frightening
-
Not Synced
and I don't think we will ever do something useful there.
-
Not Synced
I don't know if that's, I don't know.
-
Not Synced
[??]: I seem to remember a Samsung printer driver installer
-
Not Synced
from some years back
-
Not Synced
that would require applications printing
-
Not Synced
to run as root
-
Not Synced
setuid flag on certain applications so it might be used for printing.
-
Not Synced
[Didier]: I'm not surprised.
-
Not Synced
That's the dark corner we don't to see.
-
Not Synced
There are free drivers that work quite well
-
Not Synced
and there are a whole lot of things in the dark corner
-
Not Synced
that, you don't want to buy these printers
-
Not Synced
because there's no way to make them work reasonably
-
Not Synced
unless you download a some very very rare old Debian package,
-
Not Synced
fix the debsums inside and something like that.
-
Not Synced
For Jessie, new things:
-
Not Synced
ghostscript moved to AGPL,
-
Not Synced
that makes some people very happy.
-
Not Synced
so what we'll probably do is upload the latest non-AGPL version
-
Not Synced
and have that in Jessie
-
Not Synced
and we'll probably see what happens then
-
Not Synced
because we release soon and it's quite a complex problem
-
Not Synced
we won't have time to fix that before.
-
Not Synced
So, we'll move some versions up
-
Not Synced
but not to the latest upstream version.
-
Not Synced
Apparently we're the only ones to care,
-
Not Synced
all the other distributions have uploaded the AGPL version and it's there.
-
Not Synced
CUPS 2.0 is around the corner,
-
Not Synced
we hope it will get there by the end of the year.
-
Not Synced
It introduces upstream systemd support,
-
Not Synced
TLS certificate validation,
-
Not Synced
maybe it's time for us to do that!
-
Not Synced
They moved to OpenSSL support
-
Not Synced
and many OSX enhancements,
-
Not Synced
whatever that is useful for us.
-
Not Synced
Expect 2.0~beta1 in experimental in the next weeks/months,
-
Not Synced
we'll see.
-
Not Synced
So what you can do.
-
Not Synced
Frankly, I'm getting bored by all that.
-
Not Synced
It's been years now, I've been maintaining the printing stack.
-
Not Synced
Not exactly alone, but for some parts quite alone.
-
Not Synced
It's true to say that I've got quite a lot of
-
Not Synced
collaboration with Ubuntu to make that work.
-
Not Synced
There are many things that I just have to
-
Not Synced
patch back into Debian and it just works
-
Not Synced
but it's sometimes a little boring to do that all alone.
-
Not Synced
I'm glad others are helping in the team
-
Not Synced
but for the most part, particularly cups,
-
Not Synced
it's not that easy.
-
Not Synced
But it's not too complicated, believe me.
-
Not Synced
Trust me!
-
Not Synced
One point is, I'm very bad at motivating people
-
Not Synced
or documenting the processes.
-
Not Synced
For example the Teams page on the wiki,
-
Not Synced
I probably edited it twice, once in 2010
-
Not Synced
and once last year for the printing BoF
-
Not Synced
and it's still sitting there with not many updates
-
Not Synced
So someone motivated by processes documentation should jump on the ship
-
Not Synced
and do some stuff there.
-
Not Synced
This talk was an attempt at motivating people, at least
-
Not Synced
So we'll see if that works.
-
Not Synced
On the long-term;
-
Not Synced
what we need is move drivers writers bascially
-
Not Synced
because there are tons of printers that come out
-
Not Synced
that don't get full support and that people use, basically
-
Not Synced
and the problem is not making sure everyone can buy the printer they want
-
Not Synced
people will have printers they have there and they want that to work
-
Not Synced
and it doesn't.
-
Not Synced
So we need people to actually write drivers for printers.
-
Not Synced
We need more bug triagers,
-
Not Synced
that they become wanna-maintainers, hopefully.
-
Not Synced
and less bugs, pretty please.
-
Not Synced
We can achieve less bugs two ways;
-
Not Synced
by fixing more bugs or by introducing less bugs.
-
Not Synced
So maybe we should do the two.
-
Not Synced
That's all from my little Debian Printing stack status.
-
Not Synced
If you have questions, I am happy to try to answer them.
-
Not Synced
Otherwise, I think we can all move to dinner!
-
Not Synced
[Wookey]: I'm a bit interested in printing
-
Not Synced
because we have lots of corporate printing
-
Not Synced
which doesn't work because it's all run for Windows people.
-
Not Synced
So the poor Linux people are thoroughly ignored
-
Not Synced
and in fact if we print to the printers, they tend to crash!
-
Not Synced
Which is a bit sad
-
Not Synced
and people complain that the printers are very unreliable
-
Not Synced
and actually it's us [laughs]
-
Not Synced
There's a fifty percent chance of things exploding
-
Not Synced
But what I haven't been able to find is
-
Not Synced
where do people that have to worry about corporate installations hang out?
-
Not Synced
I couldn't find anywhere to ask questions
-
Not Synced
because our IT people go:
-
Not Synced
"We don't know how it's supposed to work in Linux-world,
-
Not Synced
we have no fucking idea.
-
Not Synced
Please tell us what to do and we'll do that"
-
Not Synced
and I don't know anything about printing,
-
Not Synced
or who to ask, or where to go.
-
Not Synced
Is there a place?
-
Not Synced
There must be lots of people who have big installations
-
Not Synced
and there must be some people who understand how this works
-
Not Synced
[Didier]: The debian-printing list is not that much use
-
Not Synced
it gets the automated mails from the maintainers mails
-
Not Synced
so we could drop that if people started to use that.
-
Not Synced
That would be one option, I think you should look into
-
Not Synced
OpenPrinting and if no list exists there
-
Not Synced
they should probably create one.
-
Not Synced
I think they have one, they have summits
-
Not Synced
and they have meetings for whatever printing related-
-
Not Synced
[Wookey]: Somewhere on the OpenPrinting site,
-
Not Synced
would be a good place then?
-
Not Synced
[Didier]: Yes, I think.
-
Not Synced
[??]: Hi, I was just wondering if you would comment on-
-
Not Synced
What's your perspective on backports things like that.
-
Not Synced
So once we go stable, how do you see supporting the printing stack
-
Not Synced
for 2 years/5 years, however long stable's going to be out there.
-
Not Synced
[Didier]: There are two answers for that;
-
Not Synced
one is, there's quite a lot of security work to do for stable already
-
Not Synced
and we had a, I think, privilege escalation in stable.
-
Not Synced
So we had to revamped the whole configuration system in stable, for cups,
-
Not Synced
during the wheezy cycle.
-
Not Synced
So that kind of takes the time that would be allocated for backports.
-
Not Synced
The other answer is, patches welcome!
-
Not Synced
So I didn't do backports for wheezy yet,
-
Not Synced
just because I had enough on my plate for sid.
-
Not Synced
But I would happily help anyone wanting to prepare backports
-
Not Synced
I think it shouldn't be too hard.
-
Not Synced
cups is probably buildable right away.
-
Not Synced
[??]: So that's cups, how about drivers?
-
Not Synced
[Didier]: Same.
-
Not Synced
If anyone's interested I could just help making sure it happens.
-
Not Synced
It's unlikely I would do it myself.
-
Not Synced
[??]: Thank you.
-
Not Synced
[Ben]: Do new drivers typically depend on a new version of cups?
-
Not Synced
[Didier]: Usually not, because they build against libcups2
-
Not Synced
but libcups2 is kind of ABI stable, since years
-
Not Synced
So it shouldn't be too much.
-
Not Synced
[Ben]: So the missing hardware support, is as I understand it
-
Not Synced
always considered an important bug
-
Not Synced
and worthy of a stable update.
-
Not Synced
So that means that if you wanted to, you could update drivers,
-
Not Synced
add new drivers, in stable.
-
Not Synced
For hardware enablement.
-
Not Synced
[Didier]: That's interesting, yeah.
-
Not Synced
[Ben]: I also had a question about drivers, which is
-
Not Synced
typically when I plug into a new printer,
-
Not Synced
I get a list of possible drivers
-
Not Synced
possibly limited to the exact model, or not.
-
Not Synced
But there always seems to be more than one option per model.
-
Not Synced
I assume that because there are multiple collections of drivers
-
Not Synced
in the package.
-
Not Synced
How, as a user, supposed to decide which of those to use?
-
Not Synced
[Didier]: Trial and attempt? [laughs]
-
Not Synced
I mean, for some printers you get a recommended version
-
Not Synced
from foomatic that has this parenthesis recommended thing.
-
Not Synced
You should just pick that one.
-
Not Synced
I think we also mostly have multiple drivers per printer
-
Not Synced
because sometimes for a single printer,
-
Not Synced
depending on where in the world it was
-
Not Synced
it would work better or worse with different printer drivers.
-
Not Synced
The one database that we use for that is foomaticdb
-
Not Synced
That is maintained on the OpenPrinting website
-
Not Synced
Where exactly you should report bugs isn't exactly clear,
-
Not Synced
also for me, so I should clarify that.
-
Not Synced
[Ben]: I've never selected a driver and found that it didn't work
-
Not Synced
So as far as I'm concerned you're doing fine there.
-
Not Synced
It's simply because, having been presented with a choice,
-
Not Synced
I don't know what the difference would be.
-
Not Synced
[Didier]: Was that on the cups web interface?
-
Not Synced
[Ben]: Yes.
-
Not Synced
[Didier]: I think there the selection isn't very smart
-
Not Synced
but when I think that you use python-cups or one of the
-
Not Synced
GNOME or KDE frontends,
-
Not Synced
you have a little less options, I think.
-
Not Synced
But that's more frontend work, than whatever cups related
-
Not Synced
but I don't have a better answer, now. [laughs]
-
Not Synced
Any other questions?
-
Not Synced
[Wookey]: Kind of following on from what Ben said
-
Not Synced
I'd been under the impression that those were different ways of talking to the
-
Not Synced
printer
-
Not Synced
because there are always 17 ways of talking to any given printer
-
Not Synced
So I kind of thought that those were all different flavours
-
Not Synced
But again, it's extremely unclear.
-
Not Synced
Do I want foomatic-thingy or hplip-thingy or somethingelse-thingy?
-
Not Synced
I just say, you try one and usually it works
-
Not Synced
and you go, "I can sit here and try all 17
-
Not Synced
but I don't know whether that's good."
-
Not Synced
And sometimes there's the interface to printer you have to specify
-
Not Synced
so our fancy printer in the office has 81 different ways of talking to it
-
Not Synced
and you go, "I don't want to try all those!"
-
Not Synced
The 4 I've tried all make it crash!
-
Not Synced
[Didier]: Just need one that works!
-
Not Synced
[Wookey]: Exactly.
-
Not Synced
There seems to be a very small number of people that understand this stuff
-
Not Synced
There's Till and maybe 3 other people somewhere.
-
Not Synced
[Didier]: Yeah.
-
Not Synced
[Wookey]: Right.
-
Not Synced
[Didier]: We should talk more to Till! [laughs]
-
Not Synced
He's making most of that work on the Ubuntu site.
-
Not Synced
I think, as a Canonical employee.
-
Not Synced
[Wookey]: I vaguely gathered that the cups browsing thing has disappeared
-
Not Synced
upstream
-
Not Synced
So we're keeping it in a Debian and Ubuntu, while we can.
-
Not Synced
Is that right?
-
Not Synced
[Didier]: Yes.
-
Not Synced
Basically using a zeroconf/avahi thing.
-
Not Synced
[Wookey]: That's how Apple want it to work
-
Not Synced
but especially in a big office, that doesn't work at all
-
Not Synced
because you're on different network segments
-
Not Synced
[Didier]: One thing that was dropped and that hasn't been reintroduced
-
Not Synced
on OpenPrinting, is the LDAP support.
-
Not Synced
It used to be in cups, that's now removed.
-
Not Synced
It was used in big corporations that had
-
Not Synced
like, an LDAP list of printers.
-
Not Synced
Instead of listening to the noise of all printers
-
Not Synced
announcing themselves on a network.
-
Not Synced
And we regularly get users asking,
-
Not Synced
the latest one was,
-
Not Synced
"The browsing daemon has 10% CPU,
-
Not Synced
is that because I have 100 printers at my office?"
-
Not Synced
Well, yes! [laughs]
-
Not Synced
I don't have the capacity of recoding that anyway
-
Not Synced
If a big corporation wants to get LDAP support,
-
Not Synced
they should make LDAP support!
-
Not Synced
[Wookey]: Fix it, yeah.
-
Not Synced
[Didier]: But I'm open to integrating that as a Debian patch
-
Not Synced
if that helps, but can't really fix that myself.
-
Not Synced
[Wookey]: If I had any time I would like to help you with printing.
-
Not Synced
But I have too many hats already, so I'm not promising anything!
-
Not Synced
[Didier]: Yeah, thank you.
-
Not Synced
[Wookey]: Mostly so I could actually print stuff,
-
Not Synced
without having to run Windows in a VM.
-
Not Synced
Which in practice is how I printed my stuff to get here!
-
Not Synced
[Didier]: Yeah, it's bad.
-
Not Synced
Actually, one thing that geeks like us should know
-
Not Synced
is how to pick the correct printer when you buy one
-
Not Synced
[Wookey]: Yeah, my home printers all work fine.
-
Not Synced
The cups browsing works, stuff prints,
-
Not Synced
it's all lovely.
-
Not Synced
It's when you go to work that the whole things a disaster
-
Not Synced
[Didier]: Yah.
-
Not Synced
[??]: Which manufacturers should we prefer?
-
Not Synced
[laughter]
-
Not Synced
[Didier]: I'm not paid by any of these, but HP printers mostly work fine
-
Not Synced
Either through hplip or other things.
-
Not Synced
That's baseline, I would say.
-
Not Synced
Others work too! [laughs]
-
Not Synced
If anyone has contacts at Brother,
-
Not Synced
tell them to contact me and we'll manage something
-
Not Synced
and recommend some good practices for modern printing
-
Not Synced
if you know, because that's not an acceptable way
-
Not Synced
of providing Linux support, I think.
-
Not Synced
Anyway, other questions?
-
Not Synced
Everyone's hungry.
-
Not Synced
Good, thank you very much.
-
Not Synced
[applause]
-
Not Synced