[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

how to handle configuration that modifies files in /usr



I am trying to package MHArc (www.mhonarc.org/mharc). It's a weird
piece of software, partially because its runtime configuration
mechanism involves changes to the installed scripts. The software
itself installs e.g. a CGI script as:

  1. /usr/lib/mharc/cgi-bin/mnav.cgi.in.dist

Upon configuration, it creates

  2. /usr/lib/mharc/cgi-bin/mnav.cgi

from 

  3. /usr/lib/mharc/cgi-bin/mnav.cgi.in

(which it simply copies from #1 if it doesn't exist). This allows
a user to modify the .in scripts (#3) without a software update
affecting the customization.

The configuration has to be done after debconf because the package
needs to know some data from the user to function at all. So postinst.
This means that the package is already installed and Debian knows
about an installed file #1. Configuration would create #3 and #2.
I have three problems with that:

  - I don't want any .in or .in.dist script in an accessible cgi-bin
    directory.
  - If I delete .in and .dist and just leave the #2 style files, I am
    creating an inconsistency with the dpkg database.
  - Deletion of a package requires manual intervention (in prerm)
    because #3 and #2 style files need to be removed explicitly --
    dpkg doesn't know that they exist.

How would you suggest that I go about packaging this? I can certainly
install the #1 files as .in (#3) files because Debian already guards
against loss of customization. But I still have the same problem,
albeit a little smaller. I guess I could move the .in (#3) files to
/usr/share/mharc or the like, but configuration still changes the
files in /usr/lib/mharc, and I don't know how to deal with that. Do
I have to move all the scripts that suffer from this to /var and leave
the .in files in place? Mh. This might actually be the best idea...

Any thoughts?

-- 
Please do not CC me! Mutt (www.mutt.org) can handle this automatically.
 
 .''`.     martin f. krafft <madduck@debian.org>
: :'  :    proud Debian developer, admin, and user
`. `'`
  `-  Debian - when you have better things to do than fixing a system
 
NOTE: The pgp.net keyservers and their mirrors are broken!
Get my key here: http://people.debian.org/~madduck/gpg/330c4a75.asc

Attachment: pgpwQYu1mQCrF.pgp
Description: PGP signature


Reply to: