[cups.bugs] incorrect permissions on dnssd and lpd

Johannes Meixner jsmeix at suse.de
Wed Apr 18 03:30:50 PDT 2012


Hello Michael,

I think you misunderstood why I asked.

I hope that I know sufficiently how to run executables
in directories which are not in a user's usual PATH.

In particular I do not run CUPS backends directly from the
YaST printer setup module, see "Strict Compliance With CUPS" at
http://en.opensuse.org/Archive:YaST_Printer_redesign

But I think that the CUPS documentation does not make this
sufficiently obvious to arbitrary users and developers
so that there could be arbitrary software "out there"
which runs CUPS backends directly.


On Apr 13 08:47 Michael Sweet wrote (excerpt):
> ... we have changed the low-level interface to backends
> in pretty much every minor release of CUPS
....
> Just as for the configuration files, the location and format
> of job control and data files, etc., how we run backends
> is an internal implementation detail and not a supported path
> for users to do stuff behind CUPS' back.
....
> I'll document prominently that you don't run backends (or filters)
> directly.
....
> I would expect developers to have a clue ...

I think it would be better not to expect too much from arbitrary
software developers who might just happen to write code for their
application to make it work with CUPS - otherwise there would be
much less reports about issues with arbitrary applications which
somehow try to work with CUPS.

I think the primary focus of mind of an application developer
is usually not CUPS but the core functionality of his application.
To make his application work with CUPS, he might implement what
is easiest and what "just works" (on his particular system).

I think one cannot assume application developers read the CUPS
documentation and only use what is officially documented there
because it is easier and "just works" (for the current moment)
to re-use free source code from CUPS regardless how much "private"
items are used therein (like _ipp_add_attr and _ipp_free_attr).

I would appreciate it if the CUPS documentation provides explanatory
background information how this and that is meant in CUPS in particular
- what is a stable interface
- what is not stable in case of minor release updates
- what is not stable in any case (i.e. what is an implementation
   detail, in particular what is "private" e.g. private APIs)


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany
HRB 16746 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer





More information about the cups mailing list