Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 355535 - dev-perl/IO-Stty dev-perl/Expect-1.320.0-r1 keyword request
Summary: dev-perl/IO-Stty dev-perl/Expect-1.320.0-r1 keyword request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Keywording and Stabilization (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL: http://git.overlays.gentoo.org/gitweb...
Whiteboard:
Keywords: KEYWORDREQ
Depends on:
Blocks:
 
Reported: 2011-02-19 09:37 UTC by Fabio Rossi
Modified: 2015-10-10 14:46 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
IO-Stty-0.03.ebuild (IO-Stty-0.03.ebuild,468 bytes, text/plain)
2011-02-19 09:38 UTC, Fabio Rossi
Details
IO-Stty-0.03.ebuild (IO-Stty-0.03.ebuild,368 bytes, text/plain)
2011-02-19 09:46 UTC, Fabio Rossi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabio Rossi 2011-02-19 09:37:49 UTC
IO::Stty module is used at line 396 in the function exp_stty()
Comment 1 Fabio Rossi 2011-02-19 09:38:40 UTC
Created attachment 262999 [details]
IO-Stty-0.03.ebuild

Proposed ebuild
Comment 2 Fabio Rossi 2011-02-19 09:46:06 UTC
Created attachment 263001 [details]
IO-Stty-0.03.ebuild

fixed the license
Comment 3 Torsten Veller (RETIRED) gentoo-dev 2011-02-27 07:17:08 UTC
IO-Stty is an optional dependency of Expect.

If pacmanager uses IO::Stty, it probably should depend on it itself.
Comment 4 Fabio Rossi 2011-02-27 10:46:54 UTC
You're right, IO::Stty is only optional for Expect but at the end IO::Stty is used directly by Expect while pacmanager is using directly Expect (in particular the interact() function which needs Expect with IO::Stty).

So I'm little bit confused on which is the right approach to express the dependencies. Tell me in which way to proceed, I can add another dependency to pacmanager if needed.
Comment 5 Fabio Rossi 2014-07-05 18:10:47 UTC
Mikle, can you explain why is obsolete?
Comment 6 Fabio Rossi 2015-09-25 14:09:58 UTC
I'm still facing this bug, here is the code if Expect.pm:

sub exp_stty {
  my($self) = shift;
  my($mode) = "@_";

  return undef unless defined($mode);
  if (not defined $INC{"IO/Stty.pm"}) {
    carp "IO::Stty not installed, cannot change mode";
    return undef;
  }

  if (${*$self}{"exp_Debug"}) {
    print STDERR "Setting ${*$self}{exp_Pty_Handle} to tty mode '$mode'\r\n";
  }
  unless (POSIX::isatty($self)) {
    if (${*$self}{"exp_Debug"} or $^W) {
      warn "${*$self}{exp_Pty_Handle} is not a tty. Not changing mode";
    }
    return '';          # No undef to avoid warnings elsewhere.
  }
  IO::Stty::stty($self, split(/\s/,$mode));
}

As you can see the IO/Stty.pm module is used in the function exp_stty()
Comment 7 Fabio Rossi 2015-09-25 14:20:23 UTC
I see that IO/Stty.pm is only optionally used but the user has no option to enable/disable it from Expect ebuild and doesn't know it can be exploited by the Expect package so he/she can experience a miss of functionality. For this reason I have just reopened this bug report
Comment 8 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2015-09-26 02:05:15 UTC
1. There's no simple way to "disable" this behaviour, only expose that it is there as a USE dependency.

2. What would you describe you are doing with Expect when you are encountering this issue ( I'm trying to find a good name for a USE flag but I'm short of ideas )

If no better suggestions are forthcoming, I'll just make a "minimal" USE flag, and pull IO::Stty by default *unless* that flag is set.
Comment 9 Fabio Rossi 2015-09-26 08:25:27 UTC
(In reply to Kent Fredric from comment #8)

> If no better suggestions are forthcoming, I'll just make a "minimal" USE
> flag, and pull IO::Stty by default *unless* that flag is set.

I like this solution, the IO::Stty is very small so I guess it can be always pulled in.
Comment 10 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2015-09-26 16:23:56 UTC
Ugh. I overlooked that Stty is in the overlay, but Expect is main tree. K.
Comment 11 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2015-09-27 07:24:58 UTC
https://github.com/gentoo/gentoo/pull/135
Comment 12 Andreas K. Hüttel archtester gentoo-dev 2015-09-27 13:12:11 UTC
dev-perl/Expect picked up a new dependency. 
Arches please keyword, target
~arm ~ppc ~ppc64 ~sparc

dev-perl/Expect-1.320.0-r1
dev-perl/IO-Stty




(In reply to Kent Fredric from comment #11)
> https://github.com/gentoo/gentoo/pull/135
Merged.
Comment 13 Fabio Rossi 2015-09-28 22:35:28 UTC
(In reply to Andreas K. Hüttel from comment #12)

> dev-perl/Expect picked up a new dependency. 
> Arches please keyword, target
> ~arm ~ppc ~ppc64 ~sparc
> 
> dev-perl/Expect-1.320.0-r1
> dev-perl/IO-Stty
> 
> 
> 
> 
> (In reply to Kent Fredric from comment #11)
> > https://github.com/gentoo/gentoo/pull/135
> Merged.

Thanks for the addition. I have noticed that the IO-Stty version encoded in the ebuild name is wrong (the perl package version is 0.03 while the ebuild name uses 0.30.0, I guess it should be 0.03.0)
Comment 14 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2015-09-29 13:24:51 UTC
(In reply to Fabio Rossi from comment #13)
> Thanks for the addition. I have noticed that the IO-Stty version encoded in
> the ebuild name is wrong (the perl package version is 0.03 while the ebuild
> name uses 0.30.0, I guess it should be 0.03.0)

Perl herd normalises CPAN versions to a consistent scheme due to the incompatibility of Perl version schemes with ours.

Upstream 0.03 is upstream 0.030 is upstream 0.030000

The version is correct *inside* the ebuild however: MODULE_VERSION=0.03

And we use dev-perl/Gentoo-PerlMod-Version standard-issue for normalising both versions in packages themselves, and versions in dependencies, to minimise unexpected side effects ( especially when upstream change versioning schemes )

gentoo-perlmod-version.pl 0.03
0.03 => 0.30.0

More details can be read about here: https://metacpan.org/pod/Gentoo::PerlMod::Version#DESCRIPTION 

( There are some inaccuracies there still I have to correct, but the general motivation is still true )
Comment 15 Fabio Rossi 2015-09-29 13:39:09 UTC
I didn't know that, thanks for the explanation!
Comment 16 Jeroen Roovers (RETIRED) gentoo-dev 2015-10-04 08:03:28 UTC
Marked ~ppc64.
Comment 17 Patrice Clement gentoo-dev 2015-10-05 09:26:21 UTC
Keyworded for ppc.
Comment 18 Patrice Clement gentoo-dev 2015-10-05 09:27:35 UTC
This request is almost 4 years old (!). I'd gladly go ahead and keyword the two remaining arches if you guys aren't able to do so.
Comment 19 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-10 14:43:36 UTC
~arm done
Comment 20 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-10 14:46:56 UTC
~sparc done