dirrmtry: shared directories and can, should or must use

Ion-Mihai Tetcu itetcu at people.tecnik93.com
Mon Mar 6 13:44:29 PST 2006


On Tue, 07 Mar 2006 00:23:31 +0300
Boris Samorodov <bsam at ipt.ru> wrote:

> On Mon, 6 Mar 2006 22:32:59 +0200 Ion-Mihai Tetcu wrote:
> > On Mon, 06 Mar 2006 17:40:45 +0300
> > Boris Samorodov <bsam at ipt.ru> wrote:
> 
> > > At The Porters Handbook 7.2.1 Cleaning up empty directories we read
> > > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/plist-cleaning.html#PLIST-DIR-CLEANING
> > > 
> > > "However, sometimes @dirrm will give you errors because other ports
> > > share the same directory. You can use @dirrmtry to remove only empty
> > > directories without warning."
> > > 
> > > I don't quite understand the term "can" here. Is it supposed may,
> > > should or must use @dirrmtry?
> 
> > Should.
> >  
> > > And what about non-empty but shared directories? May, should or must
> > > we use @dirrmtry?
> 
> > Should. From what I understand from your phrasing all 3 sentences are
> > equivalent.
> 
> I mean "may" is only an advice, "should" is a strong recommendation
> and "must" -- there is no alternative. I.e. is it's up to maintainer
> to decide which form to use or he must use @dirrmtry.


 
> > The idea is that different ports install files in the same directories
> > (that are not part of mtree). The ONLY reason to use @dirrmtry is to
> > avoid "Unable to completely delete dir/x " type of warnings from
> > pkg-delete.
> 
> But the Handbook uses a little bit another phrase: "to remove only
> empty directories". I understand so: if a port installs empty
> directory, it may use @dirrmtry. And I'm asking what if a port
> installs (creates) non-empty but shared directory? I personally think
> that a maintainer must use @dirrmtry for all shared (with other ports,
> but not those the port conflicts with) directories (whether empty or
> not).

If both port A and B install files in D and A and B don't depend on
each other then both MUST use @dirrmtry D.

If B depends on A and they both install files in D then neither should
use  @dirrmtry (B mustn't  try to remove D because it didn't create it
and A must @dirrm D since it has created it and B has already been
deinstalled when A is pkg_delete'd).



-- 
IOnut - Unregistered ;) FreeBSD "user"
  "Intellectual Property" is   nowhere near as valuable   as "Intellect"

BOFH excuse #205:
Quantum dynamics are affecting the transistors




More information about the freebsd-ports mailing list