Re: how do I tell ports that perl5.8 should never be installed?

2010-03-01 Thread Matthew Seaman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/03/2010 01:45:26, Randal L. Schwartz wrote:
 Adam == Adam Vande More amvandem...@gmail.com writes:
 
 Adam Can you attach your make.conf?
 
 WITHOUT_X11=yes
 # added by use.perl 2010-02-28 17:41:39
 PERL_VERSION=5.10.1
 
 The problem is not ports, it's packages.  If a package specifies 5.8,
 it installs the 5.8 package, and I'm toast.  So make.conf doesn't matter.
 

Precompiled packages aren't going to work for this: the dependencies are
compiled in.  Also, specifically a perl thing: the perl version number
is encoded into the library paths where modules are installed, which
makes it ... challenging ... to use them with a different version of perl.

For best results, install from ports rather than packages.  If it's
pure-perl code, then this should be hardly more onerous than installing
a compiled package.  XS code however will chew up some CPU cycles.

Check out portmaster(8) or portupgrade(8) as the moral equivalents of
the cpan(1) program to make dealing with ports more convenient.

Cheers,

Matthew

- -- 
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/

iEYEARECAAYFAkuLjvQACgkQ8Mjk52CukIw7lQCeIhbfLGI/znN3NaUvtcJqsaJt
/WMAnRXkdrdGN9vKc/MZ24hnhoiEv4Kb
=Z8PX
-END PGP SIGNATURE-
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-03-01 Thread Matthew Seaman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/03/2010 01:40:55, Randal L. Schwartz wrote:
 I'd like the entire portage system to consider 5.8 to be dead, both
  ^^^
  That's a gentoo-ism

 for building from ports, and for installing packages that say they
 depend on that.
 
 How do I get there?

Wait.   perl-5.10.1 the new default version since 3 weeks ago, but I
guess the packages on the FTP sites have not yet been updated.

http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.perl.mk.diff?r1=1.14;r2=1.15

Cheers,

Matthew

- -- 
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/

iEYEARECAAYFAkuLkbAACgkQ8Mjk52CukIycxwCfSvr0oqBLiFiCyxYnGyoKYhR+
7ZMAmgNZFd3ggXTEtzbj2LGUusY0DmQv
=lVWv
-END PGP SIGNATURE-
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-03-01 Thread Randal L. Schwartz
 Matthew == Matthew Seaman m.sea...@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?

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
mer...@stonehenge.com URL:http://www.stonehenge.com/merlyn/
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-03-01 Thread Matthew Seaman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/03/2010 17:21:48, Randal L. Schwartz wrote:
 Matthew == Matthew Seaman m.sea...@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-
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-03-01 Thread Adam Vande More
On Mon, Mar 1, 2010 at 12:19 PM, Matthew Seaman 
m.sea...@infracaninophile.co.uk wrote:


 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.


There is already enough dependency information available to portupgrade to
know this.  portupgrade simply doesn't act on it.  However, as I already
informed Mr. Schwartz, portmaster -P does work.


-- 
Adam Vande More
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-03-01 Thread Matthew Seaman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/03/2010 18:19:36, Matthew Seaman wrote:
 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.

Arrgh.  This is so nearly workable.  Unfortunately, -M or -S don't play
nicely with options like -r or -v -- seems you're meant to have local
copies of all of the dependencies already downloaded and in a directory
on $PKG_PATH in that case.

Given that, then this script will reject any attempt to install a pkg
that depends on perl-5.8:

#!/bin/sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin ;
export PATH
IFS='   
' ; export IFS
umask 022

reject='^...@pkgdep perl-5.8'

TMPFILE=$(mktemp -t mypkgadd) || exit 1
trap rm $TMPFILE KILL HUP EXIT

if pkg_add -M ${...@} | sed -n -e '/^\/var\/tmp\/instmp/,$p' | \
tee $TMPFILE | grep $reject 21 /dev/null ; then
echo Error: found forbidden package dependency $reject
exit 1
fi

pkg_add -S  $TMPFILE  rm -rf $( head -1 $TMPFILE )

#
# That's All Folks!
#

Now, the only missing bit is 'pkg_add -r -S' not fetching dependency
pkgs from the remote  site.  Also options like -r and -v seem to cause
bogons to be emitted to stdout which screws up the -M action, but that
has been worked around.

Cheers,

Matthew


- -- 
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/

iEYEARECAAYFAkuMLZcACgkQ8Mjk52CukIwWeQCfSPZQBpoB1cM0ondxT0PfJYXF
nZAAn3g18cY1mfa223gQzZDtusU1moxq
=WbEf
-END PGP SIGNATURE-
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Randal L. Schwartz

I've upgraded to Perl 5.10, but when I tried to install a few
things that depended on perl, the package installed perl5.8, because
that must be what it was compiled with.

How do I tell the ports system that perl5.8 should *never* be used, and rather
than install a package that needs it, I can fall back to a port build?

I'm using portsnap to update things, so I don't think i can just delete the
5.8 port, because it will likely just get reinstalled.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
mer...@stonehenge.com URL:http://www.stonehenge.com/merlyn/
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Adam Vande More
On Sun, Feb 28, 2010 at 2:51 PM, Randal L. Schwartz
mer...@stonehenge.comwrote:


 I've upgraded to Perl 5.10, but when I tried to install a few
 things that depended on perl, the package installed perl5.8, because
 that must be what it was compiled with.

 How do I tell the ports system that perl5.8 should *never* be used, and
 rather
 than install a package that needs it, I can fall back to a port build?

 I'm using portsnap to update things, so I don't think i can just delete the
 5.8 port, because it will likely just get reinstalled.


See /usr/ports/UPDATING and /etc/make.conf

-- 
Adam Vande More
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Randal L. Schwartz
 Adam == Adam Vande More amvandem...@gmail.com writes:

Adam See /usr/ports/UPDATING and /etc/make.conf

Doesn't help.  Packages that are compiled against 5.8 still want
to install 5.8.

I want this to fatal out, so I know to build from port, not use package.

portinstall -Pc MUMBLE is just too damn easy to give up the -P.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
mer...@stonehenge.com URL:http://www.stonehenge.com/merlyn/
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Adam Vande More
On Sun, Feb 28, 2010 at 3:53 PM, Randal L. Schwartz
mer...@stonehenge.comwrote:

  Adam == Adam Vande More amvandem...@gmail.com writes:

 Adam See /usr/ports/UPDATING and /etc/make.conf

 Doesn't help.  Packages that are compiled against 5.8 still want
 to install 5.8.

 I want this to fatal out, so I know to build from port, not use package.

 portinstall -Pc MUMBLE is just too damn easy to give up the -P.


If it completed successly it has to help.  What are the result of each step
so we can isolate the problem.

-- 
Adam Vande More
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Randal L. Schwartz
 Adam == Adam Vande More amvandem...@gmail.com writes:

Adam If it completed successly it has to help.  What are the result of each 
step
Adam so we can isolate the problem.

It completes by installing 5.8.  I'd like to prevent that.

I'd like the entire portage system to consider 5.8 to be dead, both
for building from ports, and for installing packages that say they
depend on that.

How do I get there?

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
mer...@stonehenge.com URL:http://www.stonehenge.com/merlyn/
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Adam Vande More

 It completes by installing 5.8.  I'd like to prevent that.

 I'd like the entire portage system to consider 5.8 to be dead, both
 for building from ports, and for installing packages that say they
 depend on that.

 How do I get there?


Can you attach your make.conf?

-- 
Adam Vande More
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: how do I tell ports that perl5.8 should never be installed?

2010-02-28 Thread Randal L. Schwartz
 Adam == Adam Vande More amvandem...@gmail.com writes:

Adam Can you attach your make.conf?

WITHOUT_X11=yes
# added by use.perl 2010-02-28 17:41:39
PERL_VERSION=5.10.1

The problem is not ports, it's packages.  If a package specifies 5.8,
it installs the 5.8 package, and I'm toast.  So make.conf doesn't matter.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
mer...@stonehenge.com URL:http://www.stonehenge.com/merlyn/
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org