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


_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to