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>