Date: Fri, 01 Jul 2011 10:45:00 -0500 From: Stephen Montgomery-Smith <stephen@missouri.edu> To: Matthias Andree <mandree@FreeBSD.org> Cc: "freebsd-ports@freebsd.org" <freebsd-ports@FreeBSD.org> Subject: Re: cvs commit: ports UPDATING Message-ID: <4E0DEB7C.1080307@missouri.edu> In-Reply-To: <4E0D8D9F.3060507@FreeBSD.org> References: <201106302103.p5UL3heP028971@repoman.freebsd.org> <4E0D3D59.40800@FreeBSD.org> <4E0D8D9F.3060507@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Matthias Andree wrote: > Am 01.07.2011 05:22, schrieb Doug Barton: >> On 06/30/2011 14:03, Stephen Montgomery-Smith wrote: >>> stephen 2011-06-30 21:03:43 UTC >>> >>> FreeBSD ports repository >>> >>> Modified files: >>> . UPDATING >>> Log: >>> - Tell octave-forge* users to completely remove old ports before >>> reinstalling. >> >> This is not the first time this issue (ports doing the wrong thing if >> you try to build them while they are installed) has come up, and I've >> been thinking ... do we need something like a NO_REINSTALL flag that can >> be added to a port's Makefile to indicate the problem? I realize that in >> many cases the problem is better solved by fixing the real problem. >> However I think that there are likely situations like this where there >> is a legitimate problem that can only be overcome by removing the >> installed ports first. >> >> Is this idea worth pursuing? I have some ideas about how it should be >> implemented but I'm curious what others think about the concept first. > > I don't think it's useful. IMO Ports failing to build if their ancestor > is installed are buggy (usually they set wrong CPPFLAGS and LDFLAGS and > pick up system-wide before local #includes) and should be fixed. I am > concerned that such a flag would only be abused as a sort of "I don't > mean to fix the port" marker. > > Stephen has (according to his replies here in this thread) done the > right thing and fixed them. > My problem was slightly different. I had a case where A depended upon B, and then if the user did "pkg_delete -f B" and then reinstalled B, then A would not work. Because of the particulars of my situation, it was not trivial to fix this. (The situation was a bit like B=print/teTeX-texmf and A=print/latex-pgf. In this situation, there is a script called mktexlsr which solves the problem. I had to create a similar script to mktexlsr, only in this case the script was a bit more complicated.) Also, I never use tools like portmaster. When I update, I do something like "pkg_delete -r B" and then reinstall A, knowing it will pick up B as a prerequisite. So I only became aware that my ports were problematic when I was contacted by a user who told me they weren't working with portmaster. I had always assumed that the "-f" option to pkg_delete was something to be avoided. But tools like portmaster use it as a matter of course, and my assumption was proved incorrect. Stephen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E0DEB7C.1080307>