Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Mar 2010 18:19:36 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        "Randal L. Schwartz" <merlyn@stonehenge.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: how do I tell ports that perl5.8 should never be installed?
Message-ID:  <4B8C0538.3090309@infracaninophile.co.uk>
In-Reply-To: <86pr3ohs9f.fsf@blue.stonehenge.com>
References:  <86zl2tkrrv.fsf@blue.stonehenge.com>	<6201873e1002281349n2bcfd16dte6fdce53cd14c1db@mail.gmail.com>	<86iq9hkoxf.fsf@blue.stonehenge.com>	<6201873e1002281738o35444a7ahcc184951f712f0a7@mail.gmail.com>	<86ocj8kee0.fsf@blue.stonehenge.com>	<6201873e1002281742i687c2d41y44e3e0f97f35166f@mail.gmail.com>	<86k4twke6h.fsf@blue.stonehenge.com>	<4B8B8EF4.9040806@infracaninophile.co.uk> <86pr3ohs9f.fsf@blue.stonehenge.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/03/2010 17:21:48, Randal L. Schwartz wrote:
>>>>>> "Matthew" == Matthew Seaman <m.seaman@infracaninophile.co.uk> writes:
> 
> Matthew> For best results, install from ports rather than packages.  If it's
> Matthew> pure-perl code, then this should be hardly more onerous than installing
> Matthew> a compiled package.  XS code however will chew up some CPU cycles.
> 
> I don't mind installing from ports once I've been notified that the package
> won't work because it wants perl5.8.
> 
> What I want is a way to tell the port/package system that perl5.8
> doesn't exist so that it *will* fail.
> 
> How do I do that?

As far as I know, there isn't an official way to do this.  What you
want sounds like a useful addition to the base system to me.

You could do it in a fairly gross hacky way, like the following. This is
entirly untested, might not work at all and will certainly be at the
cost of some alarming error messages:

   # mkdir -p /var/db/pkg/perl-5.8.9_3
   # touch /var/db/pkg/perl-5.8.9_3/+IGNOREME
   # chflags -R noschg /var/db/pkg/perl-5.8.9_3

Hopefully it chucks a spanner in the works before the package system
actually installs anything.  Of course, you'll have to update that if
the perl5.8 port has any sort of version bump[*].

On second thoughts, writing a small wrapper around pkg_add(1) that greps
through the @pkgdep lines in the +CONTENTS file from the package tarball
and bails if it finds the wrong version of perl would be a much cleaner
approach.  The -M (--master) and -S (--slave) flags to pkg_add look
interesting in this context.

	Cheers,

	Matthew


[*]  You can register at freshports.org to get notifications of any
updates to ports that particularly interest you.

- -- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                  Kent, CT11 9PW
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkuMBTgACgkQ8Mjk52CukIwYtgCgh8SCPP+Xn+CrY2cCfgitwva+
xKAAmwXuyCDCQzCUVAmvNgqg3po57n5l
=3S3V
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B8C0538.3090309>