Subject: Adding PEAR pkg with channel other than php.net
To: None <tech-pkg@NetBSD.org>
From: Christopher W. Richardson <cwr@nexthop.com>
List: tech-pkg
Date: 06/12/2007 10:16:02
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I'm trying to add a couple of PEAR items to pkgsrc which come
from places other than php.net.

As one example, Role_Web from pearified.net.  The short question
is, what do I have to do to make PEAR packages from other
channels work with pkgsrc?

The longer versions of the question follow.

I tried the trivial, by adding the following Makefile:

# $NetBSD$
#

DISTNAME=       Role_Web-1.1.1
PKGREVISION=    1

MAINTAINER=     cwr@nexthop.com
COMMENT=        Provides a Web file role for the PEAR installer

HOMEPAGE=       http://pearified.com/index.php?package=Role_Web

MASTER_SITE_PEAR_PACKAGE+= http://pearified.com/get/

.include "../../lang/php/pear.mk"
.include "../../mk/bsd.pkg.mk"
        

That didn't work, failing at the install step.  After some poking
around, I added:

pre-install:
        ${PREFIX}/bin/pear channel-discover pearified.com

This gets it past the first problem, but is almost certainly
wrong in that it won't work in the case of deinstalling and
reinstalling a package (the channel will still be discovered);
and, further, it doesn't seem to get the PLIST right:

ERROR:
************************************************************
ERROR: The following files are in the PLIST but not in /usr/pkg:
ERROR:         /usr/pkg/lib/php/.registry/role_web.reg
ERROR:
************************************************************
ERROR: The following files are in /usr/pkg but not in the PLIST:
ERROR:         /usr/pkg/lib/php/.channels/.alias/pearified.txt
ERROR:         /usr/pkg/lib/php/.channels/pearified.com.reg
ERROR:
/usr/pkg/lib/php/.registry/.channel.pearified.com/role_web.reg
*** Error code 1

Any suggestions on The Right Way to do this?

All of the above is in a pkg_comp chroot on NetBSD ns
2.1.0_STABLE NetBSD 2.1.0_STABLE (GRIZZLY) #0: Sun May  7
22:58:34 PDT 2006  cwr@ns:/usr/obj/sys/arch/i386/compile/GRIZZLY
i386

Thanks!
Chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFGbqqXP65RBOOHTzERAo1ZAKCfdlqR6Jdod3ghuhay9ATDqW4JVgCbB5Sl
cwRbiHtBnyZn+ODEIa2Jp6U=
=v/N2
-----END PGP SIGNATURE-----