pkg-plist and files common to two ports

Lupe Christoph lupe at lupe-christoph.de
Wed Dec 30 10:34:32 UTC 2009


Hello!

I'm currently preparing new versions of the two Munin ports (munin-main
and munin-node) for the 1.4.x release of Munin (currently 1.4.2, but
1.4.3 will probably be released soonish).

With 1.4, Munin installs Perl class files that are common to both the
node and the master. I would like to avoid creating a munin-common port,
so I'm tried to fiddle with the pkg-plist. Doing "make install" and
"make deinstall" for the two ports in any sequence works fine.

My problem is that this does not work when I install a package. Since I
don't have this in pkg-plist:

%%SITE_PERL%%/Munin/Common/Config.pm

only this:

@unexec [ -d %D/%%SITE_PERL%%/Munin/Master ] || rm %D/%%SITE_PERL%%/Munin/Common/Config.pm

the file is not included in the package.

So - how can I say that this is a file that is to be included but retain
the conditional deinstallation? The only way I see is to get the files
from somewhere else on installation with a @exec cp ...

Is there a more elegant solution? It is a little painful to first move
the files out on package creation and then move them back after
installation.

Thanks for hints!
Lupe Christoph
-- 
| There is no substitute for bad design except worse design.                   |
| /me                                                                          |


More information about the freebsd-ports mailing list