[cups.general] CUPS sucks!

Michael Sweet msweet at apple.com
Mon Aug 24 16:04:41 PDT 2009


On Aug 24, 2009, at 2:59 AM, ncoesel wrote:
>> On Aug 21, 2009, at 12:23 AM, ncoesel wrote:
>>> I've spend the last two days trying to get cups to work on an
>>> embedded platform.
>>
>> Um, CUPS is currently not supported on any embedded platforms,
>> although I do know of several people playing with it there.
>
> Huh??? Linux is linux. No matter what the platform is! You're  
> probably referring to Linux distributions. The difference between  
> distributions (paths & users) is usually covered by the automake/ 
> autoconf settings.

*Embedded* platforms have different hardware, resources, and  
capabilities than desktop or server systems.

>>> Now I still need to solve an 'Unsupported format' problem.
>>
>> Sounds like you may want to enable raw printing - look at the
>> mime.types and mime.convs files included with CUPS.
>
> Sorry to be rude but 'Sounds like' isn't good enough for me. I want  
> to know exactly why CUPS is giving me 'unsupported format'. Which  
> programs it is trying to run (including paths and arguments), where  
> parsing of a config file goes wrong, etc. According to internet  
> forums there are several possible causes for the 'Unsupport format'  
> error. The logfile should contain crystal clear information on what  
> is causing the problem.

Well, if you don't provide us with enough information about what you  
are doing, how can you possibly expect an exact answer?!?

Right now if we don't know what kind of file you are trying to print,  
you'll get an error about cupsd not knowing what kind of file you are  
trying to print. If the problem is that the queue has no filter to  
convert the file type to a printable format, you'll get that error  
instead. I don't see how we can change this to be any more meaningful,  
other than to log a complete manual on the operation of the CUPS  
filter chain for every error (which we *won't* do for what I hope  
would be an obvious reason...)

> Some software actually provides the source file and line number of a  
> problem when the log level is set to debug. The C/C++ macros  
> __FILE__ (string) and __LINE__ (integer) can be used to generate  
> this information so there is at least a possibility to trace the  
> error by looking at the source (this is not an ideal solution  
> ofcourse).

Yeah, that's never going to happen in CUPS.

>
>>> Guys (and girls), this really needs fixing!
>>
>> *What* needs fixing? Supporting embedded platforms? Documenting every
>> platform's idiosyncrasies? Making the existing documentation more
>> visible?
>
> Cups should provide meaningfull errors and warnings to start with.  
> For example the usb program. When I run it, it detects the printer  
> just fine. When I run Cups, Cups can't detect te printer and doesn't  
> generate any error or warning. This could be fixed by having Cups or  
> the usb program report 'usb printer device found with insufficient  
> rights' (or something like that).

We *might* be able to log this, assuming that we can even see that the  
device file is there. For the newer libusb-based backend, we won't  
even be able to do that, unfortunately, since libusb does not provide  
that information to us.

>>> The commands like lpstat, cupsd have no help to show the options (--
>>> help) or to show the version (--version).
>>
>> There is a pending feature request for this; in short, we never
>> implemented these options because they are not standard for those
>> commands  and we have extensive help (http://localhost:631/help) and
>> man page coverage.
>
> --version is pretty standard. Perhaps on Windows you'd like  
> something like /?. Anyway, it is a good custom to have some option  
> that prints at least the version. What if you have two versions of  
> Cups installed? How do you know which one is running? Which one is  
> started when cupsd is started from the command line? We have quite a  
> lot of systems in the field and there is no way to keep them at the  
> same version. So being able to obtain version information is a first  
> priority. Don't assume the man or the manual is installed on the  
> system.

It will be for any Linux distribution, and CUPS does not provide a way  
to install everything but the documentation, either.

BTW, "cups-config --version" already exists and reports the currently  
installed version of CUPS.

___________________________________________________
Michael Sweet, Senior Printing System Engineer







More information about the cups mailing list