Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Jun 2013 00:26:04 -0400
From:      Glen Barber <gjb@FreeBSD.org>
To:        Peter Wemm <peter@wemm.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Eitan Adler <eadler@freebsd.org>, Bryan Drewery <bdrewery@freebsd.org>
Subject:   Re: svn commit: r251794 - in head: . contrib/cvs etc etc/mtree gnu/usr.bin gnu/usr.bin/cvs share/doc/psd share/doc/psd/28.cvs share/mk tools/build/mk tools/build/options tools/tools/nanobsd/gateworks
Message-ID:  <20130616042604.GJ1692@glenbarber.us>
In-Reply-To: <CAGE5yCrDY7BpmkGR-xFXZAsmXd2kLKhMrKyvK6n7Bvpuf2ZXSw@mail.gmail.com>
References:  <201306152029.r5FKT8S3012945@svn.freebsd.org> <51BCEBED.9060101@FreeBSD.org> <CAF6rxgnwwpqLo5Ae5NdmfmATdAft3=DBeJwc8wTWe5mjYY9pyg@mail.gmail.com> <51BCFA1C.4030100@FreeBSD.org> <CAGE5yCrw00J=3Yre1q9h_8pM66RdYQbDHj-bHHM6O44j77%2B1OQ@mail.gmail.com> <20130616031444.GE1692@glenbarber.us> <CAGE5yComDbNc5Wy0zEXJtnLdY0SgODXDvhB2HS=BAXfa%2B6wteQ@mail.gmail.com> <20130616032725.GF1692@glenbarber.us> <CAGE5yCrDY7BpmkGR-xFXZAsmXd2kLKhMrKyvK6n7Bvpuf2ZXSw@mail.gmail.com>

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

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

On Sat, Jun 15, 2013 at 09:02:56PM -0700, Peter Wemm wrote:
> On Sat, Jun 15, 2013 at 8:27 PM, Glen Barber <gjb@freebsd.org> wrote:
> > On Sat, Jun 15, 2013 at 08:20:58PM -0700, Peter Wemm wrote:
> >> On Sat, Jun 15, 2013 at 8:14 PM, Glen Barber <gjb@freebsd.org> wrote:
> >> > On Sat, Jun 15, 2013 at 08:06:03PM -0700, Peter Wemm wrote:
> >> >> On Sat, Jun 15, 2013 at 4:34 PM, Bryan Drewery <bdrewery@freebsd.or=
g> wrote:
> >> >>
> >> >> > There are build-time dependencies on cvs. This is just grepping m=
y last
> >> >> > (partial) exp-run logs for '/usr/bin/n?cvs'
> >> >>
> >> >> Where was this righteous indignation when the perl 5.14.2 -> 5.14
> >> >> directory rename abomination was unleashed?  Why wasn't every perl
> >> >> port micro version bumped?   If ever there was a festering pile of
> >> >> horse excrement, that was one.
> >> >>
> >> >
> >> > Please see ports/sysutils/cfengine port for how we can start to avoid
> >> > this insanity with such version bumps.  All we need is a little bit =
of
> >> > testing, and someone to pull the trigger.
> >>
> >> What does cfengine have to do with two ports with the same version but
> >> with different contents?
> >>
> >
> > What two ports with the same version?  lang/perl5.14.2 didn't exist.  It
> > was always lang/perl5.14.
>=20
> No, the problem is things like:
> p5-Net-DNS-0.72                Perl5 interface to the DNS resolver,
> and dynamic updates
> p5-Net-DNS-SEC-0.16            DNSSEC extensions to Net::DNS
>=20
> The behind-the-scenes change caused "p5-Net-DNS-0.72" to have files in
> different locations depending on when it was built.  Then the @INC
> paths don't match and stuff catches fire.
>=20
> peter@canning[9:00pm]~-103> pkg info -l p5-Net-DNS-0.72
> ...
> /usr/local/lib/perl5/site_perl/5.14.2/mach/Net/DNS/ZoneFile.pm
> /usr/local/lib/perl5/site_perl/5.14.2/mach/auto/Net/DNS/.packlist
> /usr/local/lib/perl5/site_perl/5.14.2/mach/auto/Net/DNS/DNS.bs
> ...
> and if I force rebuild it now, it has different contents with the same
> version number.  And it won't work unless you remember to do so.
>=20

Right.  So, I solved this problem over a year ago.

Basically, using perl as the example, you have the master port
lang/perl5, containing something like this:

    VERSIONS=3D	    5.12 5.14
    PERL_DEFAULT?=3D  5.14
    PERL_MINOR?=3D    2

Now instead of p5-BLAH requiring lang/perl5.14 explicitly, it requires
lang/perl5.  So when PERL_DEFAULT changes (as a ports-global version
bump), the PERL_MINOR is bumped as well, so all dependent ports "see"
the version change.

Or, in this case, PERL_MINOR itself changes from '2' to '4'; now the
"parent" port version has changed, so dependent ports "see" that change
as well.

This also solves the problem of users needing to do things like changing
port origins for major version bumps within the tree.

For what it is worth, I've done testing with this specific thing over
a year ago, and had success with apache, perl, php, ruby, postfix, and
a few others.

Glen


--j/HO4hzKTNbM1mOX
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (FreeBSD)

iQEcBAEBCAAGBQJRvT5cAAoJEFJPDDeguUajZ9YH/303uE2qdQGFcfbHIxwqpW0w
3lCE5eBpTGilmd1o1VqtBBgLM4wuCBm/BB5dy8GtVQReExgwoj5hYU8xTpTwrtQm
08maK2SLXir7EsDBlJ7rQuxx/FZp5dssSyKanBB86kR/qvpex+L3CjDLOCOaqOLa
Ut/YyNRblZAjRHFOQsCLLwGXFvIfW6L7vagSf0p3i7aWzRY7v1D3ddLsEZhiu9dp
U8pO3Mu4/8ZjiSteFqc4bzNq8Fbdp/LQGlN6hBSgoRYcdir380FZVc9ETvDhwXP0
DlHIaV8/CaOK0+ZZoQKYwas6iDXgf0nfpM0wP/2dWqe0NTiF/RsXIbFsEqrDZyc=
=pbzz
-----END PGP SIGNATURE-----

--j/HO4hzKTNbM1mOX--



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