Date: Sat, 27 Mar 1999 16:57:50 +0000 From: Neil Blakey-Milner <nbm@mithrandr.moria.org> To: Satoshi the Wraith Asami <asami@FreeBSD.ORG> Cc: freebsd-ports@FreeBSD.ORG Subject: Re: CVSup and Fetch Message-ID: <19990327165750.A68075@rucus.ru.ac.za> In-Reply-To: <199903271329.FAA22229@silvia.hip.berkeley.edu>; from Satoshi "the Wraith" Asami on Sat, Mar 27, 1999 at 05:29:54AM -0800 References: <199903261302.IAA19553@istari.home.net> <199903261348.FAA18790@silvia.hip.berkeley.edu> <19990327152150.A57118@rucus.ru.ac.za> <199903271329.FAA22229@silvia.hip.berkeley.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat 1999-03-27 (05:29), Satoshi "the Wraith" Asami wrote: > * From: Neil Blakey-Milner <nbm@mithrandr.moria.org> > > * I think a better idea is to rather keep support for at least a release > * (theoretically 3 months), using checks around places in bsd.port.mk that > * use things in new versions. > > You are vastly underestimating the magnitude of the problem. :) Perhaps, but I think we'd better make sure people don't start getting irritated because they have to use upgrade kits too often. > For one thing, it's not only bsd.port.mk that needs those checks. > Some changes in bsd.port.mk requires dozens or even hundreds of port > Makefiles to be modified. We can't reasonably try to make that to > work. Well, if you give me a few examples, I'll take a look and see whether I've changed my mind about it. Obviously I'd rather have ports people spending more time updating port than laboriously changing a few hundred ports to make sure they work due to some change in bsd.port.mk. In implementing some form of LICENSE-based ports building - ie, I only want to make ports that are BSD or GPL or Artistic, or similar licensed, I added checks in pkg_info, and pkg_add, etc. My patches don't need us to change any ports necessarily, but will add some functionality if people become used to placing LICENSE files in pkg/, or use the LICENSE variable in their port. (so we don't have 500 copies of the GPL, etc) I think the ports system is integrated enough with the individual Makefiles that anything we want to do in a few ports should be implemented in bsd.port.mk, with the Makefile setting a variable. As an example, say we wanted to add something to a few ports that used a new option we've added to fetch, pkg_create, or similar. Let's make it to use the fictional fetch argument "-g" which does something exceptionally useful. We have two options - either make a change to each of the ports to FETCH_BEFORE_ARGS+= -g, or we set FETCH_FUNKY_G_ARGUMENT=1, and let bsd.port.mk take care of it. In bsd.port.mk we can do all the major version checking to make sure the fetch version installed currently supports -g. If it's a necessary option, we can complain and ask them to install the upgrade kit, or we can warn them and tell them there's added functionality available if they use the upgrade kit, or we can just be silent and ignore the option. If the use of FETCH_FUNKY_G_ARGUMENT becomes deprecated, we remove the check from bsd.port.mk, and it'll be ignored silently. People are more likely to cvsup the entire ports collection than just a few of them, and thus we don't run into any problems - they'll get bsd.port.mk at the same time they get the port which uses FETCH_FUNKY_G_ARGUMENT for some purpose. If they don't, it's easy enough to shout^H^H^H^H^Hpolitely ask them to track ports-Mk, since we've been doing that for ages already. After 3 months, or a release, or whenever we decide, we bump BSDPORTMKVERSION, and remove the checks to see if fetch supports -g, because if they're using an old version they'll be caught by the check which compares /var/db/pkg/.mkversion and BSDPORTMKVERSION, and they're likely to upgrade. This will only happen to them every few months, and they'll be happy. > And the fundamental flaw of your approach is that it will add more > work to crunch time (just before the release). It has been proven in > the past over and over that anything that adds more work to an already > busy time is not a good idea. :> Yes, I realize that's a major problem, and I'm amazed at the turn-around and fluidness of releases of late. However, these sorts of changes need not occur just before release, or just after release - because we're just removing checks that are automatically fulfilled in the new release, we're not going to run into trouble (well, in theory). The removal of these checks will just keep things fluid, and since the minimum BSDPORTMKVERSION will be bumped, older people won't trip over the removed checks. And the changes should be trivial enough that someone not seriously involved in the release-making process can do them. Enough of a lot of theoretical waffle (hmm... foood), if there's any interest, I have no problems following up with patches and code. (also, on a final note, would people be interested in my patches that add functionality to pkg_* and bsd.port.mk to handle LICENSE files or variables, considering package system rewrites?) Neil -- Neil Blakey-Milner nbm@rucus.ru.ac.za To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990327165750.A68075>