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

Bug#141086: tetex-bin: Puts files in /usr/local



severity 141086 wishlist
thanks


"PT" == Philippe Troin <phil@fifi.org>

    PT> Tetex-bin puts /usr/local/lib/texmf/ls-R, and what's
    PT> worse, it regenerates this file every day thanks to
    PT> /etc/cron.daily/tetex-bin.

First off, you conveniently elided a chunk of the Policy text that
makes it clear that what we do is correct.  You quoted

    Policy> As mandated by the FHS, packages must not place any
    Policy> files in `/usr/local', either by putting them in the
    Policy> file system archive to be unpacked by `dpkg' or by
    Policy> manipulating them in their maintainer scripts.

But the Policy Manual goes on to say

    Policy> However, the package may create empty directories
    Policy> below `/usr/local' so that the system administrator
    Policy> knows where to place site-specific files.  These
    Policy> directories should be removed on package removal if
    Policy> they are empty.

    Policy> Note, that this applies only to directories
    Policy> _below_ `/usr/local', not _in_ `/usr/local'.  Packages
    Policy> must not create sub-directories in the directory
    Policy> `/usr/local' itself, except those listed in FHS,
    Policy> section 4.5.  However, you may create directories
    Policy> below them as you wish.  You must not remove any of
    Policy> the directories listed in 4.5, even if you created
    Policy> them.

    Policy> Since `/usr/local' can be mounted read-only from
    Policy> a remote server, these directories must be created and
    Policy> removed by the `postinst' and `prerm' maintainer
    Policy> scripts and not be included in the `.deb' archive.
    Policy> These scripts must not fail if either of these
    Policy> operations fail.

/usr/local/lib/texmf/ is, in fact, created by the postinst script
in tetex-base, and is therefore correct.


Second, maintainer scripts are defined by the Policy Manual in the
following extract (from Chapter 6):

    Policy> It is possible to supply scripts as part of a
    Policy> package which the package management system will run
    Policy> for you when your package is installed, upgraded or
    Policy> removed.

    Policy> These scripts are the files `preinst', `postinst',
    Policy> `prerm' and `postrm' in the control area
    Policy> of the package.

The cron job that regenerates the ls-R file every night is *not* a
maintainer script.  Therefore, there's no policy violation in
regenerating that file.  The FHS also doesn't prohibit
modification of files in /usr/local (see Section 4.5), although it
does say that ``[/usr/local/] needs to be safe from being
overwritten when the system software is updated'', which isn't an
issue here, either.


So what we've really got here is a wishlist bug, for changes to
the cron job to not regenerate the ls-R file or for the TeX
configuration file to not require the ls-R file for the
/usr/local/lib/texmf/ directory.

There are a couple of different approaches we could take to
address this issue.

One, we could ask the user a bunch of questions during
installation and set some configuration options appropriately:

   1. Do you want a local texmf tree? (Y - leave TEXMFLOCAL
      uncommented in /etc/texmf/texmf.d/05TeXMF; N - comment out
      TEXMFLOCAL)

   2. Where should the local texmf tree be located?
      (/usr/local/share/texmf is the new default; user could
      specify some other directory)

   3. Should the ls-R file be updated every night? (Y - leave
      things as they are; N - modify mktexlsr to not touch the
      TEXMFLOCAL ls-R file)

Two, we could put a note in /usr/share/doc/tetex-bin/ explaining
how to turn off the cron job for the local directory (right now,
you can comment out the lines that define TEXMFLOCAL and
TEXMFOLDLOCAL in the aforementioned /etc/texmf/texmf.d/05TeXMF
file).

That should give the user enough control to get the behavior they
need.  If we decide we want to have some debconf stuff (either
questions or just explanations), I'm happy to write the text.

   CMC

+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 Man cannot be civilised, or be kept civilised by what he does in his
	    spare time; only by what he does as his work.
			     W.R. Lethaby
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
  C.M. Connelly               c@eskimo.com                   SHC, DS
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+


-- 
To UNSUBSCRIBE, email to debian-tetex-maint-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: