Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-17 Thread Stefan Esser
Am 17.12.17 um 05:47 schrieb Jim Trigg:
> 
> 
> On December 15, 2017 4:50:53 AM EST, Johan Hendriks  
> wrote:
>> Hello all.
>> First of all thank you for the update of portmaster, much appreciated.
>>
>> When i am updating my ports, portmaster fails with the following error.
>>
>> > Compressing man pages (compress-man)
>> ===>>> Starting check for runtime dependencies
>> ===>>> Gathering dependency list for lang/cython@py36 from ports
>> ===>>> Dependency check complete for lang/cython@py36
>>
>> ===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)
>>
>> ===>  Installing for py36-cython-0.26
>> ===>  Checking if py36-cython already installed
>> ===>   Registering installation for py36-cython-0.26 as automatic
>> Installing py36-cython-0.26...
>> pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs
>> files
>> into the same place).  Problematic file: /usr/local/bin/cygdb-3.6
>> *** Error code 70
>>
>> Stop.
>> make: stopped in /usr/ports/lang/cython
>>
>> ===>>> Installation of py36-cython-0.26 (lang/cython@py36) failed
>> ===>>> Aborting update
>>
>> ===>>> Update for lang/cython@py36 failed
>> ===>>> Aborting update
>>
>> ===>>> Update for devel/py-libzfs@py36 failed
>> ===>>> Aborting update
>>
>>
>> Is there someting i can try or do?

Yes, try the latest version of portmaster that I just committed ...

Adding flavor support to portmaster was complicated by the way parameters are
passed from one phase (config options, dependency checks, ...) to the final
build process.

It worked if either the port origin or package name changed when a port was
upgraded, but not if both were changed simultaneously.

And that was just the case with cython, were the origin changed from
"lang/cython3" to "lang/cython" (with flavor py36) and the package name from
"cython3-0.26" to "py36-cython-0.26".

There was no way for portmaster to make the connection between the old and new
version if both changed at a time, and thus it failed to deinstall the old
version before installing the new one.

I plan to completely change the way state is maintained in portmaster (from
implicit by some global variables being set) to explicit state variables, and
at the same time pass parameters explicitly.

But this will be a major change, which will void any patches that have been
attached to PRs and Issues, and will make it much harder to work on them.

> Question: is 3.6 your default python version? I've discovered that the 
> current version 
> of portmaster uses python default version for dependencies when building a 
> flavored 
> port.

Dependencies should be built based on the different *_DEPENDS variables
defined in the port's Makefile and the *.mk files of the port framework.

Portmaster currently only accepts the notation of "origin@flavor" when a new
port of a given flavor is to be installed. I'm planning to add a --flavor
option for that purpose, but I have to be careful not to introduce any
regressions by doing so.

Regards, STefan
___
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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-16 Thread Jim Trigg


On December 15, 2017 4:50:53 AM EST, Johan Hendriks  
wrote:
>Hello all.
>First of all thank you for the update of portmaster, much appreciated.
>
>When i am updating my ports, portmaster fails with the following error.
>
>> Compressing man pages (compress-man)
>===>>> Starting check for runtime dependencies
>===>>> Gathering dependency list for lang/cython@py36 from ports
>===>>> Dependency check complete for lang/cython@py36
>
>===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)
>
>===>  Installing for py36-cython-0.26
>===>  Checking if py36-cython already installed
>===>   Registering installation for py36-cython-0.26 as automatic
>Installing py36-cython-0.26...
>pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs
>files
>into the same place).  Problematic file: /usr/local/bin/cygdb-3.6
>*** Error code 70
>
>Stop.
>make: stopped in /usr/ports/lang/cython
>
>===>>> Installation of py36-cython-0.26 (lang/cython@py36) failed
>===>>> Aborting update
>
>===>>> Update for lang/cython@py36 failed
>===>>> Aborting update
>
>===>>> Update for devel/py-libzfs@py36 failed
>===>>> Aborting update
>
>
>Is there someting i can try or do?

Question: is 3.6 your default python version? I've discovered that the current 
version of portmaster uses python default version for dependencies when 
building a flavored port.

Thanks,
Jim Trigg

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
___
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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-16 Thread Stefan Esser
Am 16.12.17 um 07:02 schrieb Jim Trigg:
> On 12/15/2017 08:25 AM, Stefan Esser wrote:
>> Am 15.12.17 um 11:21 schrieb Kubilay Kocak:
>>> On 15/12/2017 8:50 pm, Johan Hendriks wrote:
 Hello all.
>>>
>>> Hi Johan
>>>
 First of all thank you for the update of portmaster, much appreciated.

 When i am updating my ports, portmaster fails with the following error.

 > Compressing man pages (compress-man)
 ===>>> Starting check for runtime dependencies
 ===>>> Gathering dependency list for lang/cython@py36 from ports
 ===>>> Dependency check complete for lang/cython@py36

 ===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)

 ===>  Installing for py36-cython-0.26
 ===>  Checking if py36-cython already installed
 ===>   Registering installation for py36-cython-0.26 as automatic
 Installing py36-cython-0.26...
 pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs files
> 
>> Well, actually portmaster is expected to deal with that conversion of the
>> cython3 port.
>>
>> I have tested the upgrade of individual ports and of all ports that are
>> either back-level or where the ORIGIN changed (as in the case of this
>> particular port).
>>
>> 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.
> 
> Would using -o work? portmaster -o lang/cython@py36 cython3

No, sadly not. The -o option is implicitly passed to an intermediate recursive
call of portmaster, but then another child is launched for the actual build,
which does not receive that option. And if it was passed, then the logic would
probably lead to another recursive invocation (leading to endless recursion).

I could try passing the old origin in an environment variable to the child
process, which is used if other means to detect the previous origin fail. That
should not break the control flow and decision to actually build the port in
the child process.

I do not fully understand, why portmaster calls itself in such a way (with
ever less options passed, while ever more context is in the environment), and
I can only guess, that this is a relict from pre-PKG_NG times, when portmaster
had to perform many more actions in the script instead of relying on pkg DB
state.

I plan to change this completely, but this will make it very hard to work on
existing PRs and GitHub issues, since any patches provided with those will not
cleanly apply anymore.

Regards, STefan
___
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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-15 Thread Jim Trigg

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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-15 Thread Jim Trigg

On 12/15/2017 08:25 AM, Stefan Esser wrote:

Am 15.12.17 um 11:21 schrieb Kubilay Kocak:

On 15/12/2017 8:50 pm, Johan Hendriks wrote:

Hello all.


Hi Johan


First of all thank you for the update of portmaster, much appreciated.

When i am updating my ports, portmaster fails with the following error.

> Compressing man pages (compress-man)
===>>> Starting check for runtime dependencies
===>>> Gathering dependency list for lang/cython@py36 from ports
===>>> Dependency check complete for lang/cython@py36

===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)

===>  Installing for py36-cython-0.26
===>  Checking if py36-cython already installed
===>   Registering installation for py36-cython-0.26 as automatic
Installing py36-cython-0.26...
pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs files



Well, actually portmaster is expected to deal with that conversion of the
cython3 port.

I have tested the upgrade of individual ports and of all ports that are
either back-level or where the ORIGIN changed (as in the case of this
particular port).

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.


Would using -o work? portmaster -o lang/cython@py36 cython3

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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-15 Thread Stefan Esser
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.

Regards, STefan
___
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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-15 Thread Stefan Esser
Am 15.12.17 um 11:21 schrieb Kubilay Kocak:
> On 15/12/2017 8:50 pm, Johan Hendriks wrote:
>> Hello all.
> 
> Hi Johan
> 
>> First of all thank you for the update of portmaster, much appreciated.
>>
>> When i am updating my ports, portmaster fails with the following error.
>>
>> > Compressing man pages (compress-man)
>> ===>>> Starting check for runtime dependencies
>> ===>>> Gathering dependency list for lang/cython@py36 from ports
>> ===>>> Dependency check complete for lang/cython@py36
>>
>> ===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)
>>
>> ===>  Installing for py36-cython-0.26
>> ===>  Checking if py36-cython already installed
>> ===>   Registering installation for py36-cython-0.26 as automatic
>> Installing py36-cython-0.26...
>> pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs files
> 
> notice the reference to cython3 here ---^
> 
> lang/cython and lang/cython3 use to both exist, one for python2, the
> other for python3.
> 
> lang/cython3 was recently deleted, since lang/cython now supports
> multiple concurrent installations with different python versions.
> 
> pkg delete cython3, then go again.
> 
> Let us know how it goes

Well, actually portmaster is expected to deal with that conversion of the
cython3 port.

I have tested the upgrade of individual ports and of all ports that are
either back-level or where the ORIGIN changed (as in the case of this
particular port).

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.

Regards, STefan
___
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"


Re: new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-15 Thread Kubilay Kocak
On 15/12/2017 8:50 pm, Johan Hendriks wrote:
> Hello all.

Hi Johan

> First of all thank you for the update of portmaster, much appreciated.
> 
> When i am updating my ports, portmaster fails with the following error.
> 
> > Compressing man pages (compress-man)
> ===>>> Starting check for runtime dependencies
> ===>>> Gathering dependency list for lang/cython@py36 from ports
> ===>>> Dependency check complete for lang/cython@py36
> 
> ===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)
> 
> ===>  Installing for py36-cython-0.26
> ===>  Checking if py36-cython already installed
> ===>   Registering installation for py36-cython-0.26 as automatic
> Installing py36-cython-0.26...
> pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs files

notice the reference to cython3 here ---^

lang/cython and lang/cython3 use to both exist, one for python2, the
other for python3.

lang/cython3 was recently deleted, since lang/cython now supports
multiple concurrent installations with different python versions.

pkg delete cython3, then go again.

Let us know how it goes

> into the same place).  Problematic file: /usr/local/bin/cygdb-3.6
> *** Error code 70
> 
> Stop.
> make: stopped in /usr/ports/lang/cython
> 
> ===>>> Installation of py36-cython-0.26 (lang/cython@py36) failed
> ===>>> Aborting update
> 
> ===>>> Update for lang/cython@py36 failed
> ===>>> Aborting update
> 
> ===>>> Update for devel/py-libzfs@py36 failed
> ===>>> Aborting update
> 
> 
> Is there someting i can try or do?




> regards
> 
> Johan
> 

___
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"


new portmaster fails to build devel/py-libzfs@py36 because of failing cython

2017-12-15 Thread Johan Hendriks
Hello all.
First of all thank you for the update of portmaster, much appreciated.

When i am updating my ports, portmaster fails with the following error.

> Compressing man pages (compress-man)
===>>> Starting check for runtime dependencies
===>>> Gathering dependency list for lang/cython@py36 from ports
===>>> Dependency check complete for lang/cython@py36

===>>> devel/py-libzfs@py36 1/10 >> lang/cython@py36 (1/1)

===>  Installing for py36-cython-0.26
===>  Checking if py36-cython already installed
===>   Registering installation for py36-cython-0.26 as automatic
Installing py36-cython-0.26...
pkg-static: py36-cython-0.26 conflicts with cython3-0.26 (installs files
into the same place).  Problematic file: /usr/local/bin/cygdb-3.6
*** Error code 70

Stop.
make: stopped in /usr/ports/lang/cython

===>>> Installation of py36-cython-0.26 (lang/cython@py36) failed
===>>> Aborting update

===>>> Update for lang/cython@py36 failed
===>>> Aborting update

===>>> Update for devel/py-libzfs@py36 failed
===>>> Aborting update


Is there someting i can try or do?

regards

Johan

___
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"