How to manage pkg-plists when two ports install the same files

Mike Durian durian at shadetreesoftware.com
Sat May 5 13:51:43 PDT 2007


On Saturday 05 May 2007, Martin Tournoij wrote:
> On Sat 05 May 2007 15:05, Kris Kennaway wrote:
> > On Sat, May 05, 2007 at 12:54:44PM -0600, Mike Durian wrote:
> > > I have just noticed that both net/sipxtacklib and net/sipxcalllib
> > > install the some of the same header files.  How to I manage pkg-plists
> > > for both ports and keep tinderbox happy?
> > >
> > > If I list the files in both packing lists, the first port to
> > > deinstall removes the files.  Then tinderbox gets unhappy because
> > > files that were present before the port was deinstalled are now
> > > missing.
> >
> > Only one port is allowed to install such files.  If they both need to
> > use it then either "ownership" of the common file needs to move into a
> > common dependency, or the ports be marked with CONFLICTS so they can't
> > be installed on top of each other.
>
> You can also install the header files in a different location, for example
> include/siptacklib/*.h and include/sipxcalllib/*.h
>
> What you need to consider:
> - Is it likely that someone would want to install both ports at the
>   same time?
> - How much work would be involved? Changing the location of the
>   headers would mean changing all the ports that depend on this one.


In this particular case, both sipxtacklib and sipxcalllib exist to
support the toplevel sipxpbx port.  While in theory they could be
used by other applications, in practice they are only used when
installing sipxpbx.  In fact, I believe future development of sipX
is getting rid of the modularity and is unifying everything under
one sipXecs tree - but that doesn't help now.

Given that both sipxtacklib and sipxcallib would both be installed
and deinstalled together, I thought there might be a way to let
tinderbox know that it shouldn't worry that the header files overlap.
I'm not really up for splitting off a separate dependancy just to
install the header files, so I think I'll just make sure one of
the two ports depends on the other and patch-out the code the installs
the header files in the second port.

mike



More information about the freebsd-ports mailing list