Re: svn commit: r463374 - head/security/nyx

2018-03-02 Thread Kubilay Kocak
On 3/2/18 9:03 PM, Kubilay Kocak wrote:

> 
> users care, that software someone does is not in question.

 ^W---^

> 
> ./koobs
> 

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


Re: svn commit: r463374 - head/security/nyx

2018-03-02 Thread Kubilay Kocak
On 3/2/18 8:45 PM, Mathieu Arnold wrote:
> On Fri, Mar 02, 2018 at 07:57:51AM +, Kubilay Kocak wrote:
>> 1) Assuming what users care about is risky business.
>> 2) The 'app vs library' distinction is not sound here. It wasn't sound
>> for python package prefixing in the past either.
>> 3) The change introduces and increases inconsistency among Python ports
>> without an upside, without precluding downsides.
> 
> The downside is more packages, and longer build times.  Thus, it was
> decided to not flavorize ports that do not provide modules.

Posing the upside (for python/freebsd users) as a downside is odd. We
signed up to resource utilisation when we decided we'd produce binary
packages, and flavors. But that derailment aside, it's also a slippery
slope.

>> The bottom and most important line however, is that preventing Python
>> port flavors from being produced precludes the user from choosing what
>> version of the package they may want.
> 
> The dozen people who will really, really want to have a cli supporting
> more than one Python version with the non default version can probably
> build it themselves.

Python pushed for variants/flavors to support the flexibility and choice
of python port consumers for a diverse annd complex ecosystem as well as
to reduce maintenance/development overhead for port maintainers and the
python team.

All that is being said is that the special case is not special enough.
#PEP20

>> lastly, the only reason the noflavors knob exists is because its not
>> terribly pleasant as a developer to have features that cant be disabled,
>> and because our framework can't imagine all the possible scenarios where
>> a feature may cause issues.
> 
> No, the noflavors knob was added after a failed experiment with the
> optsuffix knob, to accomodate ports which do not need flavors, like big
> applications that only needs python for small features, or cli that do
> not really care which Python version is running them.

This is a separate use-case (the exception for which was made for
prefixing as well)

users care, that software someone does is not in question.

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


Re: svn commit: r463374 - head/security/nyx

2018-03-02 Thread Kubilay Kocak
On 3/2/18 7:32 PM, Yuri wrote:
> On 03/01/18 23:57, Kubilay Kocak wrote:
>> 1) Assuming what users care about is risky business.
> 
> 
> Port has to provide to users functionality that they expect. If port is
> an app, executable provides this functionality. Executables based on
> different python versions are expected to work the same way. If they

In Python land, there is categorically no established expectation that
'apps' work identically between versions, nor do they actually in
reality in the vast majority of cases, in particularly between major
versions.

Beyond that:

1. user sees software foo supports Python X - Y
2. user wants to use foo for Y, the stack for which they have already
have installed (not X)
3. user cannot find said package
4. user is forced to install foo for X and foo's dependencies for X
unnecessarily

1. user wants to migrate from X to Y
2. user wants to replace foo for X with foo for Y
3. user cannot do what they want

> don't work the same way, this is a bug. Packages aren't created in order
> to allow users to detect bugs, or to compare performance, therefore
> there should be no need to build multiple packages for apps. If some

But what if that's what users want to do? I know I and many others have.

> expert user will want to test with some other python versions, he still
> can do this by rebuilding it locally. This was the logic why I added

Why should that be necessary? Why would we introduce that barrier?

> noflavors. For libraries though functionality is a set of python
> modules, therefore they should be in all flavors. What you suggest (to
> have flavors for apps) just doesn't seem to have any benefit. :)

POLA also applies.



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


Re: svn commit: r463374 - head/security/nyx

2018-03-02 Thread Mathieu Arnold
On Fri, Mar 02, 2018 at 07:57:51AM +, Kubilay Kocak wrote:
> 1) Assuming what users care about is risky business.
> 2) The 'app vs library' distinction is not sound here. It wasn't sound
> for python package prefixing in the past either.
> 3) The change introduces and increases inconsistency among Python ports
> without an upside, without precluding downsides.

The downside is more packages, and longer build times.  Thus, it was
decided to not flavorize ports that do not provide modules.

> The bottom and most important line however, is that preventing Python
> port flavors from being produced precludes the user from choosing what
> version of the package they may want.

The dozen people who will really, really want to have a cli supporting
more than one Python version with the non default version can probably
build it themselves.

> lastly, the only reason the noflavors knob exists is because its not
> terribly pleasant as a developer to have features that cant be disabled,
> and because our framework can't imagine all the possible scenarios where
> a feature may cause issues.

No, the noflavors knob was added after a failed experiment with the
optsuffix knob, to accomodate ports which do not need flavors, like big
applications that only needs python for small features, or cli that do
not really care which Python version is running them.

-- 
Mathieu Arnold


signature.asc
Description: PGP signature


Re: svn commit: r463374 - head/security/nyx

2018-03-02 Thread Yuri

On 03/01/18 23:57, Kubilay Kocak wrote:

1) Assuming what users care about is risky business.



Port has to provide to users functionality that they expect. If port is 
an app, executable provides this functionality. Executables based on 
different python versions are expected to work the same way. If they 
don't work the same way, this is a bug. Packages aren't created in order 
to allow users to detect bugs, or to compare performance, therefore 
there should be no need to build multiple packages for apps. If some 
expert user will want to test with some other python versions, he still 
can do this by rebuilding it locally. This was the logic why I added 
noflavors. For libraries though functionality is a set of python 
modules, therefore they should be in all flavors. What you suggest (to 
have flavors for apps) just doesn't seem to have any benefit. :)



Yuri


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


Re: svn commit: r463374 - head/security/nyx

2018-03-02 Thread Alexey Dokuchaev
On 3/2/18 6:40 PM, Yuri wrote:
> If the port can only be used as an app, as opposed to library, multiple
> flavors aren't needed. All users care about is an executable. It doesn't
> matter what python version is used.

That's what sane^Wyou and I would think. :-)

On Fri, Mar 02, 2018 at 06:57:51PM +1100, Kubilay Kocak wrote:
> 2) The 'app vs library' distinction is not sound here. It wasn't sound
> for python package prefixing in the past either.

It was always sound and meaningful, but FreeBSD Python cabal had decided
otherwise (and adopted that stupid "prefix everything with py-" rule which
is counterintuitive and makes looking for programs harder).  But oh well,
we've argued over this years ago Kubilay.

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


Re: svn commit: r463374 - head/security/nyx

2018-03-01 Thread Kubilay Kocak
On 3/2/18 6:40 PM, Yuri wrote:
> On 03/01/18 23:23, Kubilay Kocak wrote:
>> This reason doesn't sound correct. Could you explain this further?
> 
> 
> If the port can only be used as an app, as opposed to library, multiple
> flavors aren't needed. All users care about is an executable. It doesn't
> matter what python version is used.

1) Assuming what users care about is risky business.
2) The 'app vs library' distinction is not sound here. It wasn't sound
for python package prefixing in the past either.
3) The change introduces and increases inconsistency among Python ports
without an upside, without precluding downsides.
4) It feels similar to the PORTVERSION/DISTVERSION changes being
introduced. Just because you can, doesn't mean you should.

The bottom and most important line however, is that preventing Python
port flavors from being produced precludes the user from choosing what
version of the package they may want.

lastly, the only reason the noflavors knob exists is because its not
terribly pleasant as a developer to have features that cant be disabled,
and because our framework can't imagine all the possible scenarios where
a feature may cause issues.

This isn't one of those scenarios.

Could you please revert that specific change in both
security/py-obfsproxy-tor and security/nyx?



> 
> Yuri
> 

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


Re: svn commit: r463374 - head/security/nyx

2018-03-01 Thread Yuri

On 03/01/18 23:23, Kubilay Kocak wrote:

This reason doesn't sound correct. Could you explain this further?



If the port can only be used as an app, as opposed to library, multiple 
flavors aren't needed. All users care about is an executable. It doesn't 
matter what python version is used.



Yuri

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


Re: svn commit: r463374 - head/security/nyx

2018-03-01 Thread Kubilay Kocak
On 3/2/18 5:51 PM, Yuri Victorovich wrote:
> Author: yuri
> Date: Fri Mar  2 06:51:55 2018
> New Revision: 463374
> URL: https://svnweb.freebsd.org/changeset/ports/463374
> 
> Log:
>   security/nyx: Add USE_PYTHON=noflavors; Add LICENSE_FILE
>   
>   nyx is an app, therefore noflavors.

This reason doesn't sound correct. Could you explain this further?

Context:

FLAVORS are for package building infrastructure to produce multiple
variations of the same underlying port, within the same repository/run,
in Pythons case, for multiple python versions (pyXY-foo).

Whether something is an 'app' or not (by some definition, though i'm
assuming it means 'end user program not library'), does not factor into
whether or not it has or needs flavors, just whether it supports
multiple versions.

Note: Whether or not a port has flavor's is orthogonal (in pythons case)
to whether or not said packages are, or desired to be by the user,
concurrently installable or not.

>   
>   Approved by:tcberner (mentor, implicit)
>   Approved by:portmgr (port compliance, infrastructure)
> 
> Modified:
>   head/security/nyx/Makefile
> 
> Modified: head/security/nyx/Makefile
> ==
> --- head/security/nyx/MakefileFri Mar  2 06:31:47 2018
> (r463373)
> +++ head/security/nyx/MakefileFri Mar  2 06:51:55 2018
> (r463374)
> @@ -12,12 +12,13 @@ MAINTAINER=   c...@freebsd.org
>  COMMENT= Command-line monitor for Tor
>  
>  LICENSE= GPLv3
> +LICENSE_FILE=${WRKSRC}/LICENSE
>  
> -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}stem>=1.6.0:security/py-stem@${FLAVOR} \
> - ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${FLAVOR}
> +RUN_DEPENDS= 
> ${PYTHON_PKGNAMEPREFIX}stem>=1.6.0:security/py-stem@${PY_FLAVOR} \
> + 
> ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
>  
>  USES=python
> -USE_PYTHON=  distutils autoplist
> +USE_PYTHON=  distutils autoplist noflavors
>  NO_ARCH= yes
>  
>  PLIST_FILES= man/man1/nyx.1.gz
> 

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