ppdi not merging common content from multiple PPDs?

Michael Sweet msweet at apple.com
Tue Mar 3 11:08:51 PST 2009


On Mar 3, 2009, at 7:49 AM, Smith Kennedy wrote:
> ...
> If this is expected behavior (I seem to recall finding in my  
> thrashing that it is),

It is currently the expected behavior; optimizing the output is on our  
TODO list but hasn't yet happened.

> it isn't clear to me what value ppdi is providing.  The primary  
> value I can see in using the CUPS DDK is the ability to inherit  
> common elements.  But if those commonalities have to be identified  
> by hand, because ppdi cannot do it itself, that makes it much more  
> difficult to adopt the CUPS DDK for PPD development, particularly if  
> there are already large numbers of existing PPDs that one might want  
> to import.

That is definitely an issue; one possible path to take is to import  
the first model in a series and then add sub-blocks for each variation  
- in my experience most new models are almost identical to their  
predecessors.

> I thought the problem might be that the files were not "normalized",  
> so tried importing one using ppdi and then re-generating it using  
> ppdc, and did the same thing for the second one.  Interestingly,  
> ppdi refused to import the ppds generated by ppdc.

What errors did you see?

> My questions are these:
> 1) did ppdi used to be able to do this inheritance analysis itself?   
> If so, why was it removed?

ppdi has never done any optimization on the generated .drv file.

> 2) regardless of past history, can ppdi be fixed to do this?

Yes, the key issue is implementing the optimizations efficiently. A 1- 
level pass (just put all of the common stuff at the top and only  
encode differences in sub-blocks) should be fairly easy and quick, but  
doing multiple levels is tricky.

> 3) why won't ppdi import a ppd created by ppdc from another database?

I don't know, it certainly should!  Again, any errors?

> 4) What workflow was envisioned for the CUPS DDK?  Am I just using  
> it improperly?

The DDK (and in particular the PPD compiler) has always been primarily  
a PPD creation tool. Importing existing PPDs is supposed to be a one- 
time thing, after which you just work with the drv and po/strings file 
(s).

________________________________________
Michael R Sweet, Senior Printing System Engineer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cups.org/pipermail/cups/attachments/20090303/e8384818/attachment.html>


More information about the cups mailing list