thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King, III (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (THRIFT-4069) Perl packages should be in individual files and have proper version syntax
Date Sun, 05 Feb 2017 16:34:42 GMT

     [ https://issues.apache.org/jira/browse/THRIFT-4069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

James E. King, III updated THRIFT-4069:
---------------------------------------
    Description: 
Currently our perl package module files contain multiple packages.  We should break each package
out to an individual file and properly version it.  Package versioning was introduced in Perl
5.10 so:

1. Update the minimum required perl to 5.10.
2. For each package use the {{perl MODULE VERSION}} perlmod syntax, where VERSION is {{v0.11.0}}.
3. Each module not under the Thrift namespace must be moved there.  This will be a breaking
change.

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:

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

There are some anomalies, for example packages defined in Thrift.pm come out at the top level
namespace like:

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

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.

  was:
Currently our perl package module files contain multiple packages.  We should break each package
out to an individual file and properly version it.  Package versioning was introduced in Perl
5.10 so:

1. Update the minimum required perl to 5.10.
2. For each package use the {{perl MODULE VERSION}} perlmod syntax, where VERSION is {{v0.11.0}}.

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.  Ideally it would be nice to find a way
to eliminate all the module's sub-package and have a single "Thrift" package as the only metadata
generated for the distribution but I don't see a way to do that unless we combine all of thrift's
perl modules into a single amalgamation, which is not out of the question...


> Perl packages should be in individual files and have proper 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 and properly version it.  Package versioning was introduced
in Perl 5.10 so:
> 1. Update the minimum required perl to 5.10.
> 2. For each package use the {{perl MODULE VERSION}} perlmod syntax, where VERSION is
{{v0.11.0}}.
> 3. Each module not under the Thrift namespace must be moved there.  This will be a breaking
change.
> 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:
> 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
> There are some anomalies, for example packages defined in Thrift.pm come out at the top
level namespace like:
> 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
> 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.



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

Mime
View raw message