[ 
https://issues.apache.org/jira/browse/MESOS-5672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15346893#comment-15346893
 ] 

J. Bobby Dorlus edited comment on MESOS-5672 at 6/23/16 6:18 PM:
-----------------------------------------------------------------

This will be an internal versioning/tagging/labeling issue we'll have to 
work-around being that the project has moved from distribute to setuptools 
[RB:46813|https://reviews.apache.org/r/46813/].  When building EGG/WHL(s) 
setuptools will enforce [PEP 440 | https://www.python.org/dev/peps/pep-0440/] 
standards which will 
[normalize|https://www.python.org/dev/peps/pep-0440/#normalization] '1.0.0-rc0' 
to '1.0.0rc0'.  This side-affect will also cause us to revisit our internal 
versioning which will actually raise an InvalidVersion exception if we build 
with version '1.0.0_tw1':

{code}
In [2]: m = '1.0.0_tw1'

In [3]: version.Version(m)
---------------------------------------------------------------------------
InvalidVersion                            Traceback (most recent call last)
<ipython-input-3-8996505f8615> in <module>()
----> 1 version.Version(m)

/Users/jdorlus/dev/Apache/mesos/3rdparty/setuptools-20.9.0/pkg_resources/_vendor/packaging/version.py
 in __init__(self, version)
    200         match = self._regex.search(version)
    201         if not match:
--> 202             raise InvalidVersion("Invalid version: 
'{0}'".format(version))
    203
    204         # Store the parsed out pieces of the version

InvalidVersion: Invalid version: '1.0.0_tw1'
{code} 


was (Author: jdorlus):
This will be an internal versioning/tagging/labeling issue we'll have to 
work-around being that the project has moved from distribute to setuptools 
[RB:46813|https://reviews.apache.org/r/46813/].  When building EGG/WHL(s) 
setuptools will enforce [PEP 440 | https://www.python.org/dev/peps/pep-0440/] 
standards which will 
[normalize|https://www.python.org/dev/peps/pep-0440/#normalization] '1.0.0-rc0' 
to '1.0.0rc0'.  This side-affect will also cause us to revisit our internal 
versioning which will actually raise an InvalidVersion exception if we build 
with version '0.28.2_tw2':

{code}
In [4]: m = '0.28.2_tw2'
In [5]: version.Version(m)
---------------------------------------------------------------------------
InvalidVersion                            Traceback (most recent call last)
<ipython-input-5-8996505f8615> in <module>()
----> 1 version.Version(m)

/Users/jdorlus/dev/GitHub/mesos/3rdparty/setuptools-20.9.0/pkg_resources/_vendor/packaging/version.py
 in __init__(self, version)
    200         match = self._regex.search(version)
    201         if not match:
--> 202             raise InvalidVersion("Invalid version: 
'{0}'".format(version))
    203
    204         # Store the parsed out pieces of the version

InvalidVersion: Invalid version: '0.28.2_tw2'
{code} 

> Py Setuptools Normalizing EGG/WHL Versions from '1.0.0-rc0' to '1.0.0rc0'
> -------------------------------------------------------------------------
>
>                 Key: MESOS-5672
>                 URL: https://issues.apache.org/jira/browse/MESOS-5672
>             Project: Mesos
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.0.0
>            Reporter: J. Bobby Dorlus
>
> Is this the expected result post build for the version number to be 
> normalized to '1.0.0rc0'?
> *EGG/WHL(s)*
> {code}
> <mock-chroot>sh-3.2# pwd
> /builddir/build/BUILD/mesos-1.0.0/src/python/dist
> <mock-chroot>sh-3.2# ls
> mesos-1.0.0rc0-py2.7.egg                            
> mesos.interface-1.0.0rc0-py2.7.egg
> mesos-1.0.0rc0-py2-none-any.whl                     
> mesos.interface-1.0.0rc0-py2-none-any.whl
> mesos.cli-1.0.0rc0-py2.7.egg                        
> mesos.native-1.0.0rc0-py2.7.egg
> mesos.cli-1.0.0rc0-py2-none-any.whl                 
> mesos.native-1.0.0rc0-py2-none-any.whl
> mesos.executor-1.0.0rc0-cp27-none-linux_x86_64.whl  
> mesos.scheduler-1.0.0rc0-cp27-none-linux_x86_64.whl
> mesos.executor-1.0.0rc0-py2.7-linux-x86_64.egg      
> mesos.scheduler-1.0.0rc0-py2.7-linux-x86_64.egg
> {code}
> *build.log*
> {code}
> DEBUG: libtool: link: g++ -shared -nostdlib /usr/lib/../lib64/crti.o 
> /opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux/4.8.2/crtbeginS.o  
> -Wl,--whole-archive ./.libs/libmesos_no_3rdparty.a 
> ../3rdparty/libprocess/.libs/libprocess.a ./.libs/libjava.a 
> -Wl,--no-whole-archive  ../3rdparty/glog-0.3.3/.libs/libglog.a 
> -L/usr/lib/../lib64 ../3rdparty/leveldb-1.4/libleveldb.a 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/glog-0.3.3/.libs/libglog.a 
> -L/usr/lib64 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/libev-4.22/.libs/libev.a 
> ../3rdparty/protobuf-2.6.1/src/.libs/libprotobuf.a 
> ../3rdparty/zookeeper-3.4.8/src/c/.libs/libzookeeper_mt.a 
> /usr/lib64/libsvn_delta-1.so /usr/lib64/libsvn_subr-1.so 
> /usr/lib64/libaprutil-1.so -lcrypt -lldap -llber /usr/lib64/libdb-4.3.so 
> /usr/lib64/libexpat.so -lsasl2 -lnl-idiag-3 -lnl-route-3 -lnl-3 -lcurl 
> /usr/lib64/libapr-1.so -lpthread -ldl -lz -lrt /usr/lib64/libunwind.so -lgcc 
> -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux/4.8.2 
> -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../lib64
>  -L/lib/../lib64 
> -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../.. 
> -lstdc++ -lm -lc -lgcc_s 
> /opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux/4.8.2/crtendS.o 
> /usr/lib/../lib64/crtn.o  -m64 -mtune=generic   -pthread -Wl,-soname 
> -Wl,libmesos-1.0.0-rc0.so -o .libs/libmesos-1.0.0-rc0.so
> DEBUG: 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/setuptools-20.9.0/setuptools/dist.py:285:
>  UserWarning: Normalizing '1.0.0-rc0' to '1.0.0rc0'
> DEBUG:   normalized_version,
> DEBUG: 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/setuptools-20.9.0/setuptools/dist.py:285:
>  UserWarning: Normalizing '1.0.0-rc0' to '1.0.0rc0'
> DEBUG:   normalized_version,
> DEBUG: 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/setuptools-20.9.0/setuptools/dist.py:285:
>  UserWarning: Normalizing '1.0.0-rc0' to '1.0.0rc0'
> DEBUG:   normalized_version,
> DEBUG: 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/setuptools-20.9.0/setuptools/dist.py:285:
>  UserWarning: Normalizing '1.0.0-rc0' to '1.0.0rc0'
> DEBUG:   normalized_version,
> DEBUG: 
> /builddir/build/BUILD/mesos-1.0.0/3rdparty/setuptools-20.9.0/setuptools/dist.py:285:
>  UserWarning: Normalizing '1.0.0-rc0' to '1.0.0rc0'
> DEBUG:   normalized_version,
> DEBUG: running bdist_egg
> DEBUG: running bdist_egg
> DEBUG: running bdist_egg
> DEBUG: running bdist_egg
> DEBUG: running bdist_egg
> DEBUG: running egg_info
> DEBUG: creating src/mesos.executor.egg-info
> DEBUG: writing requirements to src/mesos.executor.egg-info/requires.txt
> DEBUG: writing src/mesos.executor.egg-info/PKG-INFO
> ..........
> DEBUG: writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
> DEBUG: zip_safe flag not set; analyzing archive contents...
> DEBUG: mesos.__init__: module references __path__
> DEBUG: creating 
> '/builddir/build/BUILD/mesos-1.0.0/src/python/dist/mesos.executor-1.0.0rc0-py2.7-linux-x86_64.egg'
>  and adding 'build/bdist.linux-x86_64/egg' to it
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to