On Fri, 14 Jul 2000, Henrique M Holschuh wrote: > Other stuff the DEBIAN packaging of cupsys and friends would need before > going standard (IMHO, obviously): > > - To try to take advantage of magicfilter... or incorporate all that > conversion support that magicfilter already has (at the very least DVI, > compressed data and *roff). If CUPS has a fallback system for conversions, > a wrapper script could be written I guess... This one I've not addressed yet. However, it should be possible to add a "*/*" filter with cost 1000 or whatever, which wraps a call to magicfilter and outputs a ps file back into the cups filter chain. Given that cups rejects anything which it couldn't find a filter to grok (unless you tell it its raw data), this should work fine. Also, I got to compliment the cups guys. Their management of the /etc/cups directory makes it _very_ easy to break components into different binary packages, as well as designing add-on packages. Cups looks for *.convs and *.types when reading its filter conversion tables, so there's no need for update-modules behaviour. > - To integrate CUPS with the distribution's font system (it really should > share fonts AND font configuration with the gs-* packages) if that isn't > done yet. I know I would be VERY ticked off if I found out that my > postscript stuff wasn't printing correctly because cupsys' embebedded > postscript rasterizer was not even trying to use the postscript fonts > installed in the system. I assume others might not like it either :-) I've managed to do this in theory (compiled, but untested): Just add back gs_lib_default_path to pstoraster/gscdefs.c, and initialize it. The proper way would be to add a --set-default-gs-libs-path to the configure script, with a default of empty (the current cups practice) and set GS_LIB_DEFAULT to it, akin to what gs5.50 and 6.01 do in their original makefiles and gscdefs.c. I just dumped the output of (source package) gs-alladin-6.01/debian/default_path.sh 5.50 in there for the testing :-) The default lib path ended up in the binary pstoraster executable, and it is used in imainarg.c so I guess this should work. Obviously, /usr/share/cups/fonts (and /usr/share/cups/pstoraster/ ?) should be prepended to the default Debian gs_def_library_path just as to make sure we're not breaking anything. This means 1829kb (installed) of /usr/share/cups/fonts can (and SHOULD) be removed, and replaced by a dependency on gsfonts. Now, for the /usr/share/cups/pstoraster files. These are the GS internal .ps files, but they're only 369kb, so I didn't bother as the path to those in the GS packages change every version anyway, and one shouldn't need gs installed to use pstoraster. > - Package the GS PPD and related utils if the internal rasterizer can't be > made to run GS to begin with. Without it, cupsys simply isn't useful for > way too many people. This can be easily done, due to the cups handling of its /etc/cups config files. I'd suggest breaking stock cups into: - cupsys-base (or cupsys-common, or cupsys) Everything not in the packages below :-) Do note that stock /etc/cups/mime.convs must have the pstoraster and pdftops lines removed, as those would be provided by other optional packages in /etc/cups/pstoraster.convs and /etc/cups/pdftops.convs files. - cupsys-bsd, libcupsys1, libcupsys1-dev - cupsys-pstoraster Stuff not needed by onwers of ps printers or cupsys-gs users, that is the pstoraster filter and its data files. This package should depend on gsfonts, and have the Debian standard gs_lib_default_path with cups lib directories added hardcoded in. This one is at least 1254kb installed (after stripping). I'd be even bigger if the fonts were not removed. Send the default lib path stuff upstream as a wishlist. Why they removed it in the first place is something I don't know. - cupsys-pdftops All the pdf stuff. Unless xpdf is so good as to accept and correctly process just about every PDF in the planet (including the encrypted ones!), it shouldn't be forced down our throats (even if it's not much bigger than 300kb installed after stripping). - cupsys-docs The /usr/share/doc/cupsys documents cups like to export to the world. *Please* add a WARNING-FOLDER-EXPORTED-BY-CUPSYS file to this directory, for obvious reasons. This is about 2097kb installed, so it DOES deserve a package of its own. Also, there is a pdf and a html+external images version of every document, which is a waste of space. The pdfs are 1261kb, the remaining 836kb being the html+images version of the same docs. Maybe a cupsys-docpdf package would be good enough, and the html+images could go in cupsys base package anyway. Also, I'd suggest packaging: - cupsys-magicfilter Magic-filter glue as a very low priority (high cost) filter for CUPS. Contribute this one to the cups bazar (or upstream), of course. I'll write it if that's what it takes to get it done (but I'm not a Debian developer, so someone else must do the packaging). - cupsys-ppd Lots and lots of freely-distributable PPDs. Note that the ppds distributed with CUPS are in the cupsys base package, not here. BTW, IMHO PPDs should always be conffiles and stored somewhere in /etc, not in /usr/lib or /usr/share. - cupsys-gs The GS PPD and filter glue, for those who'd rather use an external (and possibly more up-to-date) GS than pstoraster. This also requires less disk space than pstoraster if you already have gs installed anyway, but lacks pstoraster integration with cups (memory limits, and *maybe* a faster handling of the resulting ps or bitmap to the next guy in the chain as far as I can tell). On the other hand, it supports a LOT of printers CUPS never will out-of-the-box. That done, I'm one of those who would gladly drop lprng for cups. I think the quality increase of the packaging is well worth the trouble of implementing it. -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh
Attachment:
pgp8KSFdFCSte.pgp
Description: PGP signature