Skip site navigation (1)Skip section navigation (2)
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>