Migrating from perl5-5.20 to perl5.22 using custom packages?
David Wolfskill
david at catwhisker.org
Sun Sep 6 13:33:48 UTC 2015
On Sat, Sep 05, 2015 at 09:26:22PM +0200, olli hauer wrote:
> ...
> You can use the 'pkg set -o ...' command, but I suspect the version change is not happened automatically because the default in your poudriere is not set to perl5.22
Thanks for the suggestion. I looked at that, and was a bit put off by
the "(DEPRECATED)" warning in the pkg-set man page. Well, that, as well
as the sense that I was treading in areas I understood but poorly, and
if I screwed up, I could lose Internet connectivity (at home, at least)
and/or the abiliity to send & receive email.... So I elected to wait a
bit.
> # pkg set -o lang/perl5.20:lang/perl5.22
> (note old <--> new swapped and separated with ':' )
>
> >From Mk/bsd.default-versions.mk:
> ...
> PERL5_DEFAULT?= 5.20
>
>
> To overwrite this in PD globally
> $ cat $LOCALBASE/etc/poudriere/make.conf (or $set-make.conf, for only a dedicated ports set)
> DEFAULT_VERSIONS+= perl5=5.22
>
> and fire a new build, all ports depending on the default perl are reflecting the new 5.22 version as dependency and the perl version should change automatically.
> From my past experience with perl upgrades I would run 'pkg upgrade -f' else not all p5-$ports are reinstalled.
> And as super bonus since you are already building with PD you don't have to mess around with portmaster
Well, as I pointed out in the original note, I use portmaster on my
"development" systems (which I update daily), and poudriere/pkg on the
"production" systems (which I update weekly).
> PS:
> nice writeup on your webpage, to get a even smaller package list you can run "ports-tools/pkg_tree" with the parameter '-t'
Thanks! I merely figured I'd want to have a record of what I did, and
that such a record might be of use to others (if for no other reason
than to be able to avoid some of the things that I encountered).
On Sun, Sep 06, 2015 at 12:00:40PM +0100, Matthew Seaman wrote:
> ...
> I did exactly this a week or so ago. Given you've got your own
> poudriere setup, then:
>
> 1) Edit /usr/local/etc/poudriere.d/make.conf (or an build
> specific variant) and set:
>
> DEFAULT_VERSIONS+= perl5=5.22
>
> 2) Run a poudriere bulk to rebuild all the packages that depend on
> perl. That's going to be most of them because GNU autotools
> introduces a build-depends on perl through automake...
>
> 3) Upgrade packages as normal:
>
> pkg upgrade
>
> You should see pkg wanting to remove perl5.20, install perl5.22 and
> reinstall all perl modules or other ports with a run-time dependency on
> perl.
OK; that appears to have worked as advertised -- thanks you!
(I do a "poudriere bulk" as part of the weekly upgrade in any case, as
I've updated the ports working copy, so the production machines do a
"pkg upgrade" just after updating base FreeBSD.)
So -- in my case -- the "short answer" was:
* Specify the local default in /usr/local/etc/poudriere.d/make.conf via:
DEFAULT_VERSIONS+= perl5=5.22
* Perform the usual weekly upgrade.
And "so far, so good" -- I have verified that I can send & receive
email, at least, and other stuff seems OK so far. :-)
> Note that the default version of perl in your repo will get the pkgname
> 'perl5', and all others will get a pkgname of the form 'perl5.XY' -- so
> in my repo, I have:
>
> % pkg search -x perl5
> perl5-5.22.0_2
> perl5.20-5.20.2_6
>
> ie 5.22 is the default version but I also have a (basically useless)
> perl5.20 package.
> ....
Huh; interesting: thanks. I may poke at that after I have occasion to
power up the build machine again (probably not until tomorrow).
Thank you both for your guidance!
Peace,
david
--
David H. Wolfskill david at catwhisker.org
Those who would murder in the name of God or prophet are blasphemous cowards.
See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 949 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20150906/d43822de/attachment.bin>
More information about the freebsd-ports
mailing list