Subject: Re: New p5 Date-Calc package questions.
To: Simon Burge <simonb@netbsd.org>
From: Hubert Feyrer <feyrer@rfhs8012.fh-regensburg.de>
List: tech-pkg
Date: 12/20/1999 03:40:50
On Mon, 20 Dec 1999, Simon Burge wrote:
> 	@comment $NetBSD$
> 	lib/perl5/${MACHINE_ARCH}-${LOWER_OPSYS}/5.00404/perllocal.pod
> 	lib/perl5/man/man3/Date::Calc.3
> 	lib/perl5/site_perl/${MACHINE_ARCH}-${LOWER_OPSYS}/auto/Date/Calc/.packlist
> 	lib/perl5/site_perl/${MACHINE_ARCH}-${LOWER_OPSYS}/auto/Date/Calc/Calc.bs
> 	lib/perl5/site_perl/${MACHINE_ARCH}-${LOWER_OPSYS}/auto/Date/Calc/Calc.so
> 	lib/perl5/site_perl/Date/Calc.pm
> 	@dirrm lib/perl5/site_perl/${MACHINE_ARCH}-${LOWER_OPSYS}/auto/Date/Calc
> 	@unexec rmdir %D/lib/perl5/site_perl/${MACHINE_ARCH}-${LOWER_OPSYS}/auto/Date 2>/dev/null || true
> 
>  Q1) The first file (perllocal.pod) also exists in the net/p5-Net-DNS
>      package, and thus will conflict.  No other perl5 package seems to
>      add this file.  Any advice?

Move this out of this and the net/p5-Net-DNS package, and add a
@unexec rm .../perllocal.pod 
line to the perl package. That way, whatever random package notes it's
existance there, it will be removed once perl is wiped out.
Perl should do this more sane, but we're not here to save the world.


>  Q2) The "@unexec rmdir" will try to remove the .../Date directory,
>      which will fail if the directory is not empty (if another p5-Date-*
>      package is still installed).  Hence the use of "@unexec rmdir"
>      instead of just "@dirrm".  It seems a few perl packages try to
>      clean up any intermediate directories, but not many.  Should we
>      have a "@dirrm-f" or something similar that doesn't fail with the
>      "unable to completely remove directory" error?

The correct approach here is to move this out of the various packages, and
let the base package (perl) create and remove such directories.
Unfortunately, have no way to denote an empty dir in a PLIST right now, so
you'll have to either use a @exec mkdir/@dirrm combination, or use a
.keepme-file (and a @dirrm).


>  Q3) I'm using:
> 	DISTNAME=	Date-Calc-4.2
> 	PKGNAME=	p5-${DISTNAME}
>      in the Makefile, after pkglint complained about something based on
> 	PKGNAME=	p5-TimeDate-1.08
> 	DISTNAME!=	echo ${PKGNAME} | sed -e 's/^p5-//'
>      Is the first the preferred form?

Definitely!


Something else:
Perl does not support shared objects etc. on all our archs, and thus the
.so and .bs file will not be there. Example archs are (I think) pmax and
alpha (don't ask that's perl...). See e.g. security/p5-MD5 for a
workaround using different PLISTs. 

Unfortunately, it seems that several of our perl pkgs seem to ignore this.
:(


 - Hubert

-- 
NetBSD - Better for your uptime than Viagra