Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Sep 2015 06:33:46 -0700
From:      David Wolfskill <david@catwhisker.org>
To:        olli hauer <ohauer@gmx.de>, Matthew Seaman <matthew@FreeBSD.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Migrating from perl5-5.20 to perl5.22 using custom packages?
Message-ID:  <20150906133346.GB1131@albert.catwhisker.org>
In-Reply-To: <55EC1CD8.1090501@FreeBSD.org> <55EB41DE.7040609@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--qcHopEYAB45HaUaB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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 chang=
e is not happened automatically because the default in your poudriere is no=
t 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 ':' )
>=20
> >From Mk/bsd.default-versions.mk:
> ...
> PERL5_DEFAULT?=3D 5.20
>=20
>=20
> To overwrite this in PD globally
> $ cat $LOCALBASE/etc/poudriere/make.conf (or $set-make.conf, for only a d=
edicated ports set)
> DEFAULT_VERSIONS+=3D perl5=3D5.22
>=20
> and fire a new build, all ports depending on the default perl are reflect=
ing the new 5.22 version as dependency and the perl version should change a=
utomatically.
> From my past experience with perl upgrades I would run 'pkg upgrade -f' e=
lse 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:
>=20
>   1) Edit /usr/local/etc/poudriere.d/make.conf (or an build
>      specific variant) and set:
>=20
>      DEFAULT_VERSIONS+=3D     perl5=3D5.22
>=20
>   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...
>=20
>   3) Upgrade packages as normal:
>=20
>      pkg upgrade
>=20
> 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+=3D     perl5=3D5.22
=20
* 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:
>=20
> % pkg search -x perl5
> perl5-5.22.0_2
> perl5.20-5.20.2_6
>=20
> 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
--=20
David H. Wolfskill				david@catwhisker.org
Those who would murder in the name of God or prophet are blasphemous coward=
s.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

--qcHopEYAB45HaUaB
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQJ8BAEBCgBmBQJV7EC6XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ4RThEMDY4QTIxMjc1MDZFRDIzODYzRTc4
QTY3RjlDOERFRjQxOTNCAAoJEIpn+cje9Bk7d7cP/3+M9mOF/r42UJx6cWpcXPo2
ogMNfPQtS1X9n1y9yA6/j4fgUzthDJi9zNr0JaHJWdYh3z0ruOAeVF0UozU+kxXh
RW8O/gz1QdlrkXupoyJ6EPc9wuth+Lox8bQvH7RnM83TnEbNHWPJ1ezrnDT2Gyp0
9GowlHyc/IfedFEgsHy+SxgLToMxiV9BpwPhlK2lQCtbR2AxIFzUTNLvOtv2JPUP
Zj8TQC6xOW4LEpYz2iy5o7QqZbyP19y28ysClSX/C1Pct635TSm2RWCeV2ob13lX
Zr2Dzhf+ttfvjzX+H9E2QESvqHWYhVxnaU8qJ3MovQ28+SaNKCAj2CFep0UMiCye
ta4ZXcfoekR+IgY4Ck+2hT6uY0QGkZ37JpT7jhjyCs1ke53Hl8g38FXzE3dwo3TH
FeQajjoIkTHgnzBAdgYIGrJyXSziPdxrLh+GkP+RwHZrM8InFrqElEq5uXez6hp4
/VDGpDsh53Xpd6bD4t4OHJxaMARft+iSVr2shbf/+mIhDEDoP7ORncxJr/1rCwea
5EkNATGM/I0GMSOaqPYsgplwlYXLiupsPBBGbFWgCJatJhlEuniZKhwPhdiiklZ1
8mVuzjTZ61VQ5GNvlITl2WwcCx6kMG1yp9OIX5aSGNYo/9I8wD1xyYIthXxlJrp4
ZDe6Pp0dg61PsVZXw9Fq
=+d/G
-----END PGP SIGNATURE-----

--qcHopEYAB45HaUaB--



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