Opened 16 years ago

#20 closed defect (Fixed)

packaging issues.

Reported by: weasel Owned by: nickm
Priority: Low Milestone:
Component: Mixminion-Server Version: unspeficied
Severity: Keywords:
Cc: weasel Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


[Moved from bugzilla]
Reporter: peter@… (Peter Palfrader)

Opened: 2003-11-09 20:08

just a short summary of our discussion on irc today:

  • Support DESTDIR for make's install target.
  • Allow setting different paths for the key directory (e.g. in var/lib) and queues, stats etc (in var/spool).

I argue that hashlogs should be kept alongside the keys, so if you just
lose the spool you are not open for replay attacks.

maybe also a different setting for hashlogs.

  • Allow relocation of pid file. (And why is there a lock file?)
  • Support a --daemon to start as daemon no matter what the config file says

(Just to make it clear, the rationale is to be able to make a plausible debian
package. This will also help making a package for any FHS system.)

I'll try to make the file locations configurable in 0.0.6, or 0.0.7 at the latest.

Right now the plan is:

  • Make the pidfile, the hashlog directory, the queues directory, and the keys directory separately configurable. By default, keys and queues and pidfile will go in the homedir. The hashlogs will default to wherever the queues go.

The recommended setups will be either:

1) everything in one big directory

OR 2) Log in /var/log/mixminion

Stats in /var/log/mixminon_stats
Pid in /var/run/
Keys in /var/lib/mixminion/keys/
Hashlogs in /var/lib/mixminion/hashlogs
Queues in /var/spool/mixminion/queues

Miscellany in /var/spool/mixminion or /var/lib/mixminion as

  • Eliminate the lock file and use the pid file instead.
  • Relay any DESTDIR command-line argument to a --root argument to python's distutils.
  • Add --daemon, --echo, and --severity arguments to the server CLI.

We also talked about renaming homedir to basedir. I know homedir confused me
at least once. esp. because mixminion does not really like other directories
in its basedir.

It would be nice if one could influence the gcc arguments used to build the C
modules. Right now the default seems to use "-g -O3".

I would like to pass different optimisation levels to the build. (Like -O0 in
case DEB_BUILD_OPTIONS contains a "noopt" value. - Thats a standard defined
in the debian policy. It allows anybody to build the package without any
optimisation easily. See
ch-files.html if you are interested in the details).

Note that that's not required, just recommended.

Current status in 0.0.6 CVS:

  • File locations are configurable; BaseDir is now a (preferred) synonym for Homedir. The other options are WorkDir, QueueDir, KeyDir, PidFile, LogFile, StatsFile. The configuration described earlier can be achieved with:

BaseDir: /var/lib/mixminion
LogFile: /var/log/mixminion
StatsFile: /var/log/mixminion_stats
PidFile: /var/run/
WorkDir: /var/lib/mixminion
QueueDir: /var/spool/mixminion

  • BaseDir is still used to hold 'version' and 'current-desc' files. Perhaps there should be separate version files in keydir, workdir, etc. But I don't see that as a killer issue for 0.0.6: for now, you can just set WorkDir and BaseDir to the same directory.
  • The pidfile and the lockfile are now the same. We check for the presence of the old lockfile before starting, though, just in case an older version is running.

Still pending:

  • More testing and debugging of the above.
  • --daemon/--nodaemon, --echo, --severity.


  • The CFLAGS you get when building your C are set by Python's buildutils, and are the same CFLAGS used to build Python. I'd rather not muck with 'em. (You get -g -O3; I get -O2 -g .)

DESTDIR and --daemon/--nodaemon and --echo and --severity are all now
implemented in CVS.

[Automatically added by flyspray2trac: Operating System: Linux]

Child Tickets

Change History (1)

comment:1 Changed 16 years ago by weasel

flyspray2trac: bug closed.

Note: See TracTickets for help on using tickets.