Bug#726571: RlwrapFilter.pm should be /usr/share/perl5/App/Rlwrap/Filter.pm

2014-02-23 Thread Mike Miller
Hi Ivan, is this still something you'd like to see changed?

On Sat, Nov 02, 2013 at 10:30:30 +, Ivan Shmakov wrote:
> Being unfamiliar with rlwrap(1), I’ve implemented a crude but
> seemingly useful work-alike in Perl.  While I’m not planning to
> release it anytime soon (now that I’ve learned that rlwrap(1)
> fits my needs more than I’ve initially thought), it’s possible
> that it will borrow the rlwrap’s protocol, and thus filters
> based on RlwrapFilter.pm will no longer be specific to rlwrap.

This seems like a reasonable argument for making the Perl module visible
in the standard Perl library path, and therefore something you might
want to discuss with upstream. I don't see a big advantage to making the
Debian package deviate from the intentions of upstream to this extent,
so if you'd like to see the RlwrapFilter module be more useful to
applications outside of rlwrap itself, I suggest you discuss it with
Hans Lub, the upstream author. Feel free to cc me or this bug report.

-- 
mike


signature.asc
Description: Digital signature


Bug#726571: RlwrapFilter.pm should be /usr/share/perl5/App/Rlwrap/Filter.pm

2013-11-02 Thread Ivan Shmakov
> Mike Miller  writes:
> On Wed, Oct 16, 2013 at 18:56:33 +, Ivan Shmakov wrote:

 >> The conventional namespace for application-specific Perl modules is
 >> App::⟨package name⟩::⟨module name…⟩.

 > Can you give some examples or references?

Perhaps I was a bit mistaken on this one, as CPAN seem to
generally mix module (as in: Local::Example) and distribution
(Local-Example) naming conventions.  Still, consider, e. g.:

⋯ ✂ ⋯ https://pause.perl.org/pause/query?ACTION=pause_namingmodules#App ⋯ ✂ ⋯
  App
  You can distribute applications as Perl distributions.  Typically,
  those sorts of distributions go under the App namespace, like
  App::Ack, App::Cpan, and App::Prove.  The namespace implies that
  its a ready-to-use program rather than a module.
⋯ ✂ ⋯ https://pause.perl.org/pause/query?ACTION=pause_namingmodules#App ⋯ ✂ ⋯

 > I see a few but not enough that I'd call it a convention.  As opposed
 > to simply $PACKAGE::$MODULE...

I’d expect the latter convention to be followed in the case of
bigger “library-first” projects (like DBD::*, for instance.)
I wouldn’t deem it appropriate to grab a top-level namespace for
less than a handful of modules.  (And the Pause’s page quoted
above seem to agree on that.)

[…]

 >> Therefore, my suggestion would be to move RlwrapFilter.pm from
 >> /usr/share/rlwrap to /usr/share/perl5/App/Rlwrap/Filter.pm, and edit
 >> its ‘package’ line (as well as the filters’ ‘use’ lines)
 >> respectively.  (In order to preserve compatibility, a “redirecting”
 >> .pm may be installed at the former location.)

 >> This will bring the module in line with the other Perl modules in
 >> Debian, and will allow for a Perl filter to be started with simple
 >> ‘use App::Rlwrap::Filter;’ instead of the current form, which
 >> explicitly the Perl module search path (as shown below.)

 > Do you have any other reasons for wanting to make this change, some
 > added functionality or benefit that would come from doing this
 > reorganization?

Being unfamiliar with rlwrap(1), I’ve implemented a crude but
seemingly useful work-alike in Perl.  While I’m not planning to
release it anytime soon (now that I’ve learned that rlwrap(1)
fits my needs more than I’ve initially thought), it’s possible
that it will borrow the rlwrap’s protocol, and thus filters
based on RlwrapFilter.pm will no longer be specific to rlwrap.

Other than that, I’m somewhat concerned with the “hiding” of the
Perl modules done by Debian packages.  My guess is that some of
them could very well find certain uses unanticipated by their
respective authors.

-- 
FSF associate member #7257


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#726571: RlwrapFilter.pm should be /usr/share/perl5/App/Rlwrap/Filter.pm

2013-10-16 Thread Ivan Shmakov
Package: rlwrap
Version: 0.37-3
Severity: wishlist

The conventional namespace for application-specific Perl modules
is App::⟨package name⟩::⟨module name…⟩.  Moreover, the
conventional directory for Perl modules is /usr/share/perl5, and
indeed, – it’s already in @INC, while /usr/share/rlwrap isn’t.

Therefore, my suggestion would be to move RlwrapFilter.pm from
/usr/share/rlwrap to /usr/share/perl5/App/Rlwrap/Filter.pm, and
edit its ‘package’ line (as well as the filters’ ‘use’ lines)
respectively.  (In order to preserve compatibility, a
“redirecting” .pm may be installed at the former location.)

This will bring the module in line with the other Perl modules
in Debian, and will allow for a Perl filter to be started with
simple ‘use App::Rlwrap::Filter;’ instead of the current form,
which explicitly the Perl module search path (as shown below.)

use lib ($ENV{RLWRAP_FILTERDIR} or ".");
use RlwrapFilter;

AIUI, the non-standard RLWRAP_FILTERDIR becomes completely
unnecessary after the change, but may be retained for
compatibility with the filters following the current convention.

-- 
FSF associate member #7257


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#726571: RlwrapFilter.pm should be /usr/share/perl5/App/Rlwrap/Filter.pm

2013-10-17 Thread Mike Miller
On Wed, Oct 16, 2013 at 18:56:33 +, Ivan Shmakov wrote:
> The conventional namespace for application-specific Perl modules
> is App::⟨package name⟩::⟨module name…⟩.

Can you give some examples or references? I see a few but not enough
that I'd call it a convention. As opposed to simply
$PACKAGE::$MODULE...

> Moreover, the
> conventional directory for Perl modules is /usr/share/perl5, and
> indeed, – it’s already in @INC, while /usr/share/rlwrap isn’t.

This is indeed required for packages that primarily provide perl
libraries. However there are also many packages in Debian that install
perl modules in application-specific directories when those modules
are primarily for that application's use only.

> Therefore, my suggestion would be to move RlwrapFilter.pm from
> /usr/share/rlwrap to /usr/share/perl5/App/Rlwrap/Filter.pm, and
> edit its ‘package’ line (as well as the filters’ ‘use’ lines)
> respectively.  (In order to preserve compatibility, a
> “redirecting” .pm may be installed at the former location.)
>
> This will bring the module in line with the other Perl modules
> in Debian, and will allow for a Perl filter to be started with
> simple ‘use App::Rlwrap::Filter;’ instead of the current form,
> which explicitly the Perl module search path (as shown below.)

Do you have any other reasons for wanting to make this change, some
added functionality or benefit that would come from doing this
reorganization?

-- 
mike


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org