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

ASF GitHub Bot commented on THRIFT-4069:
----------------------------------------

Github user jeking3 commented on a diff in the pull request:

    https://github.com/apache/thrift/pull/1220#discussion_r108151340
  
    --- Diff: build/docker/debian/Dockerfile ---
    @@ -157,7 +157,7 @@ ENV PATH /usr/local/go/bin:$PATH
     
     # Haxe
     RUN mkdir -p /usr/lib/haxe && \
    -    curl 
http://haxe.org/website-content/downloads/3.2.0/downloads/haxe-3.2.0-linux64.tar.gz
 | \
    +    wget -O - 
https://github.com/HaxeFoundation/haxe/releases/download/3.4.2/haxe-3.4.2-linux64.tar.gz
 | \
    --- End diff --
    
    Will wait for THRIFT-4141 and merge out the Dockerfile change from this 
pull request.


> All perl packages should have proper namespace and version syntax
> -----------------------------------------------------------------
>
>                 Key: THRIFT-4069
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4069
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Perl - Library
>    Affects Versions: 0.10.0
>         Environment: Perl
>            Reporter: James E. King, III
>            Assignee: James E. King, III
>
> Currently our perl package module files contain multiple packages.  We should 
> break each package out to an individual file (or at least make sure 
> everything is in the Thrift namespace) and properly version it.  Package 
> versioning was introduced in Perl 5.10 so:
> 1. Update the minimum required perl to 5.10.  This is based on 
> http://search.cpan.org/~jpeacock/version-0.9917/lib/version.pod indicating 
> that perl version object was added to perl in 5.10.
> 2. For each package use the {{perl MODULE VERSION}} perlmod syntax, where 
> VERSION is {{v0.11.0}}.  This is based on 
> http://perldoc.perl.org/functions/package.html.
> 3. Each module not under the Thrift namespace must be moved there 
> (TApplicationException, TMessageType, TType).  This will be a breaking 
> change, but necessary for proper packaging of the library.
> Currently if you inspect the Perl PAUSE version metadata for Thrift's 
> sub-modules only the 0.9.0 modules from gslin have version identities.
> For example if you look at Thrift and Thrift::BinaryProtocol in the CPAN list 
> of packages at http://www.cpan.org/modules/02packages.details.txt you will 
> see:
> {noformat}
> Thrift                         0.010000  
> J/JK/JKING/thrift/Thrift-0.10.0.tar.gz
> Thrift::BinaryProtocol         0.009000  G/GS/GSLIN/Thrift-0.9.0.tar.gz
> {noformat}
> There are some anomalies, for example packages defined in Thrift.pm come out 
> at the top level namespace like:
> {noformat}
> TApplicationException          0.010000  
> J/JK/JKING/thrift/Thrift-0.10.0.tar.gz
> TMessageType                   0.010000  
> J/JK/JKING/thrift/Thrift-0.10.0.tar.gz
> TType                          0.010000  
> J/JK/JKING/thrift/Thrift-0.10.0.tar.gz
> {noformat}
> So technically if you do 'install TApplicationException' I would expect you 
> might get thrift.  This is wrong and should be fixed.  TApplicationException 
> needs to be inside Thrift, not at the top level.
> Also we should pull in relevant changes from the patch in THRIFT-4059 around 
> improving packaging.
> Also we should actually use TProtocolException and TTransportException 
> instead of just TException everywhere.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to