Date: Sat, 16 Dec 2017 01:04:52 -0500 From: Jim Trigg <jtrigg@huiekin.org> To: freebsd-ports@freebsd.org Subject: Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython Message-ID: <1c2ada7a-a1f6-9321-cf9e-6e018a7ba648@huiekin.org> In-Reply-To: <74827d4b-661b-2e83-d270-1c4eaa038871@freebsd.org> References: <875c07bd-b718-d74b-5302-d41af7476a14@gmail.com> <842cfe0c-9d96-0261-c380-59bfed89beff@FreeBSD.org> <63cc46cc-8d1b-8a9a-4690-28e1f1adbef5@freebsd.org> <74827d4b-661b-2e83-d270-1c4eaa038871@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/15/2017 11:12 AM, Stefan Esser wrote: > Am 15.12.17 um 14:25 schrieb Stefan Esser> Hmmm, now I see what's the problem: > The package name seems to have been >> changed during the conversion to a flavored port (from "cython3-0.26.tbz" >> to "py36-cython-0.26.tar.bz"). This is not typical of ports that use >> flavors now, in general they generate packages under the same name as the >> non-flavored port did. >> >> I have to see, whether I can easily detect this case - the current logic >> that distinguishes between fresh installs and re-installs does not see >> that the old version needs to be deleted before installing the new one. >> >> For now the advice to manually delete the cython3 port is right and will >> let you install the new version. > > I'm sorry, but fixing this problem will take quite some effort ... > > The problem is, that portmaster operates in phases and recursively > invokes itself with an always smaller set of options. While knows > that the port origin has moved in one invocation, it then goes on > and just calls itself to build and install with only the new origin > (in this case "lang/cython@py36"). > > It is not possible to derive the old package name from that information, > portmaster must assume, that the package name (sans version) did not > change, it can then lookup the nane of the package to be replaced in > the package DB. But in the case of this port, the origin changed and > the package name changed at the same time, and I'd need to have at > least one of these parameters unchanged to lookup the old package name > to de-install it before installing the new version. > > I have plans to refactor portmaster and completely rewrite the logic > that builds and installs packages, but this is a major undertaking and > earlier maintainers have given up after trying. > > So please accept that it may be necessary to manually remove a package > in case both port directory (origin) and package name change at the > same time. All information is there at a point, but the structure of > the program does not allow to easily access it when actually needed. As I said in a reply to an earlier message (that I just sent), I think this is exactly what the -o switch was meant for. portmaster -o lang/cython@py36 cython3 The question is whether the flavor support will work with the -o switch. Thanks, Jim Trigg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1c2ada7a-a1f6-9321-cf9e-6e018a7ba648>