Sat, 24 Sep 2005

Thinking: more debconfize cupsys

My recent thought and challenging is how I can improve CUPS configuration by using debconf.

The primary CUPS configuration file - cupsd.conf has some important directives which should be configured by debconf.

  • Port/Listen: Default is "Port 631". This means cupsd listens port 631 of all interface, all incoming. Listen is host-based value, such as "Listen 127.0.0.1:631", "Listen kmuto.jp:413". Port and Listen can coexist, and multiple Port or Listen can do also. Handling these values are needed by many users.
  • Browsing: Default is "on". This means cupsd broadcasts its information and checks new printer from network periodically. This feature is useful for LAN, but is unwelcome for some users. Handling this value by debconf may be easy.
  • BrowseAddress/BrowseAllow/BrowseDeny: These values are related with Browsing. And they accept various values. It's hard to parse and evaluate values of debconf...
  • Location: Location defines mainly each authentications. Root directory, jobs directory, and admin directory are defined by default. It's better to be able to handle these values by debconf, but to parse and to evaluate aren't so easy.
  • FileDevice: Default is "off". If FileDevice is set "on", cupd allows file:// URI (printout job to local file for debug or something. Of course this feature invites a risk). This question should be low priority, but perhaps this is useful.
  • ServerName/ServerAdmin: Like Apache. Although these values aren't meaningful for CUPS :).
  • Include: cupsd.conf allows this directive like Apache. So I'm thinking to create /etc/cups/conf.d/ directory and set files to compose main cupsd.conf at there.

Another headache is that next coming CUPS 1.2 will change its configuration formats and default values. I should count it.

Comments

Aaargh

Do you really need to configure all of these things through debconf? It's not supposed to be some magic overarching configuration system for everything, its supposed to give you enough prompts to make a working default configuration. At a guess, listen port/address, browsing yes/no and a list of subnets to allow browsing, printing and admin from would be fine. You can just leave the more advanced users to edit the file themselves, and save yourself a lot of time as well as not bothering other people with all of these questions. Yes, you could put them in as low priority, but what's the point of writing code to support options nobody wants to see?

Posted by Robert McQueen at

Well, I don't want to create standalone configuration utility using debconf. My main focus is only Listen/Port setting, others are optional. I'm seeking reference package to make such doing...

Posted by kmuto at
Write a comment

Message: Ready to post a comment.