Date: Mon, 28 Aug 2000 22:39:55 -0700 From: Jeremy Lea <reg@FreeBSD.ORG> To: Satoshi - Ports Wraith - Asami <asami@FreeBSD.ORG> Cc: Kris Kennaway <kris@FreeBSD.ORG>, ports@FreeBSD.ORG Subject: Re: Proposal: PORTREVISION and PORTEPOCH Message-ID: <20000828223955.B323@shale.csir.co.za> In-Reply-To: <vqc4s44oocq.fsf@bubble.hip.berkeley.edu>; from asami@FreeBSD.ORG on Mon, Aug 28, 2000 at 06:19:48PM -0700 References: <Pine.BSF.4.21.0008200434470.24448-100000@freefall.freebsd.org> <vqc4s44oocq.fsf@bubble.hip.berkeley.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On Mon, Aug 28, 2000 at 06:19:48PM -0700, Satoshi Asami wrote: > This is of course not a problem of this proposal, just a manifest of > an old problem that could be triggerred with having more different > versions in the user's machine. I need someone to work with me on the > pkg_* tools so we'll have better upgrade support, any takers? I started on this, and have a design in mind. The first part was my pkg_which tool, which I've been asked to wrap into pkg_info (http://people.freebsd.org/~reg/). The idea is to detect which port/package installed a binary/library, and use it rather than the info from the makefiles. The support for bsd.port.mk would involve doing a pkg_which on each immediate dependency: for $$f in ${RUN_DEPENDS}; do pkg_info -qf `pkg_which $$f` | egrep '(@pkgdep|@name)' | sed -e 's/@pkgdep //' -e 's/@name //' done | sort -u etc. in the package-depends-list target. pkg_add is a bit harder, since we need to added a comment after each @pkgdep line which has is something like: @pkgdep gtk-1.2.8 @comment libdep gtk12.2 And then do the dependency logic inside pkg_add, so that if an earlier version installed libgtk12.so.2 then it would be used. The @pkgdep line would be rewritten with the installed depend's version. If no version is found then we look for gtk-1.2.8.tgz. After that, basic upgrading is a matter of deinstalling the current verison, except any files ending in .so.X and then installing the new version, and patching up the +REQUIRED_BY files, and @pkgdep lines, and adding the .so.x files into the new packaging list. My vote would be for writing the port epoch and minor version into the packaging list, and forgetting it in the package names: @comment epoch 1 @comment minor 2 The are numbers which are more important to the tools than to the users. Well maybe the minor should be in the port name. The epoch is less of a user thing... I'd also vote for bumping the minor no matter what changed - then there's no judgement call on what is important and what is not. In the libdep line above, it would also be possible to have a minimum required version: @comment libdep gtk12.2:1.2.6 Regards, -Jeremy -- FreeBSD - Because the best things in life are free... http://www.freebsd.org/ 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?20000828223955.B323>