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>
