Bug 597709 - Review Request: rubygem-ncursesw - Hacked up version of ncurses gem
Summary: Review Request: rubygem-ncursesw - Hacked up version of ncurses gem
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-30 08:47 UTC by Shreyank Gupta
Modified: 2015-09-26 23:55 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-06-07 17:53:21 UTC
Type: ---
Embargoed:
mtasaka: fedora-review?


Attachments (Terms of Use)

Description Shreyank Gupta 2010-05-30 08:47:36 UTC
Spec URL: http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw.spec
SRPM URL: http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw-1.2.4.1-1.fc13.src.rpm
Description: Hacked up version of ncurses gem that supports wide characters and ruby1.9.1. Original ncurses gem by t-peters.de. Spec and SRPM built using gem2rpm utility.

Comment 1 Shreyank Gupta 2010-05-30 11:35:31 UTC
rpmlint output is :
rubygem-ncursesw.i686: W: no-soname /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/lib/ncursesw_bin.so
rubygem-ncursesw.i686: W: unstripped-binary-or-object /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/ncursesw_bin.so
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/form_wrap.c
rubygem-ncursesw.i686: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/ncursesw-1.2.4.1/ri/Ncurses/Destroy_checker/destroyed%3f-i.yaml %3f
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/menu_wrap.h
rubygem-ncursesw.i686: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/ncursesw-1.2.4.1/ri/Ncurses/Menu/MENU/user_object%3d-i.yaml %3d
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/menu_wrap.c
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/panel_wrap.c
rubygem-ncursesw.i686: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/ncursesw-1.2.4.1/ri/Ncurses/Form/FORM/user_object%3d-i.yaml %3d
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/ncurses_wrap.c
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/form_wrap.h
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/ncurses_wrap.h
rubygem-ncursesw.i686: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/ncursesw-1.2.4.1/ri/Ncurses/Menu/ITEM/user_object%3d-i.yaml %3d
rubygem-ncursesw.i686: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/ncursesw-1.2.4.1/ri/Ncurses/Form/FIELD/user_object%3d-i.yaml %3d
rubygem-ncursesw.i686: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/ncursesw-1.2.4.1/ri/Ncurses/WINDOW/respond_to%3f-i.yaml %3f
rubygem-ncursesw.i686: W: devel-file-in-non-devel-package /usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/panel_wrap.h

--- 

1. Do I split the the files into a devel subpackage?
2. How do i solve the 'unstripped-binary-or-object' problem?

---
koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2217882

Comment 2 Shreyank Gupta 2010-05-31 14:58:16 UTC
Updated spec and srpm, replaced %define with %global

Comment 3 Mamoru TASAKA 2010-05-31 18:19:22 UTC
Some notes:

Please also address the issue I wrote on bug 598138.
Then:

* Summary
  - Is "and ruby 1.9.1" part needed for Summary? (even if
    we move to ruby 1.9.x on F-14, I don't think this part
    is needed).

* License
  - The license tag for this package should be "LGPLv2+".

* Unneeded files
  - *.c, *.h files are for source files for C extension .so file,
    *.o binary files are used for generating the file.
    Also "extconf.rb" is like configure, and "mkmf.log" is like
    config.log.
    These files are not needed on runtime and should not be packaged
    into binary rpm.

* Arch dependent binary file
  - C extension .so file is arch-dependent and must be moved
    to under %ruby_sitearch
    https://fedoraproject.org/wiki/Packaging/Ruby#Build_Architecture_and_File_Placement

Comment 4 Shreyank Gupta 2010-06-01 16:04:49 UTC
UPDATED:
--------

Spec URL:
http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw.spec
SRPM URL:
http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw-1.2.4.1-2.fc13.src.rpm

Notes/doubts:
------

* Removed 'and ruby 1.9.1' from the summary.
* rm -f all .c .o and .h files as I was not sure whether to %exclude it or not.
* There are two .so files, one inside and one outside the lib directory. Put the lib one inside ruby_sitearch and removed the other one.
* Added examples as a part of the -docs subpackage. Is that the right thing to do?

Koji scratch build:
-------------------

http://koji.fedoraproject.org/koji/taskinfo?taskID=2222741

Comment 5 Mamoru TASAKA 2010-06-01 18:41:06 UTC
For -2:

* For
  - Directory ownership of %geminstdir, %gemdir/doc,
    and "Changes THANKS TODO VERSION", please my comments
    on bug 598138.

* Examples
  - For example,
-------------------------------------------------------
$ ruby -rubygems ./examples/tclock.rb 
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- ncurses (LoadError)
	from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from ./examples/tclock.rb:33
-------------------------------------------------------
    Actually these example files (in -doc subpackage) all has
    'require ncurses(.rb)', however actually the installed ruby
    script (in main package) is "ncursesw.rb".

    So these example files should be modified as such (I am not sure
    if we can create symlink as "ncurses.rb -> ncursesw.rb", because
    there is another "ncurses-0.9.1.gem" actually - although ncurses.gem
    seems the older version of ncursesw.gem)

Comment 6 Shreyank Gupta 2010-06-02 12:56:09 UTC
UPDATED:
--------

Spec URL:
http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw.spec
SRPM URL:
http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw-1.2.4.1-3.fc13.src.rpm

Notes:
------

I ran sed and replaced all require 'ncurses' to require 'ncursesw'.
HTH

Comment 7 Mamoru TASAKA 2010-06-03 08:26:18 UTC
(removing NEEDSPONSOR)

Comment 8 Shreyank Gupta 2010-06-03 14:49:30 UTC
Koji Scratch build:
--------------------

http://koji.fedoraproject.org/koji/taskinfo?taskID=2227505

Comment 9 Mamoru TASAKA 2010-06-03 19:36:38 UTC
2 issues

* rpmlint issue for -debuginfo rpm related
--------------------------------------------------------------
rubygem-ncursesw-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/rubygem-ncursesw-1.2.4.1/usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/ncurses_wrap.c
rubygem-ncursesw-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/rubygem-ncursesw-1.2.4.1/usr/lib/ruby/gems/1.8/gems/ncursesw-1.2.4.1/panel_wrap.h
--------------------------------------------------------------
  - To avoid this rpmlint complaint, please add below at the end
    of %build:
--------------------------------------------------------------
pushd ./%{geminstdir}
chmod 0644 *.h *.c
popd
--------------------------------------------------------------

* License
  - Please change the license tag on -doc subpacakge to
    "LGPLv2+ and LDPL"
    ref:
    http://lists.fedoraproject.org/pipermail/legal/2010-June/001290.html

Please fix the above issue when importing this package into
Fedora CVS.

--------------------------------------------------------------
    This package (rubygem-ncursesw) is APPROVED by mtasaka
--------------------------------------------------------------

Comment 10 Shreyank Gupta 2010-06-04 12:18:13 UTC
New Package CVS Request
=======================
Package Name: rubygem-ncursesw
Short Description: Hacked up version of ncurses gem
Owners: shreyankg
Branches: F-13

Comment 11 Shreyank Gupta 2010-06-04 12:45:18 UTC
UPDATED:
--------

Spec URL:
http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw.spec
SRPM URL:
http://shreyankg.fedorapeople.org/packaging/ncursesw/rubygem-ncursesw-1.2.4.1-4.fc13.src.rpm

Notes:
------

rpmlint gives the following warning on the -doc rpm:

W: invalid-license LDPL

So I filed bug #600317 with rpmlint to correct it.

Comment 12 Mamoru TASAKA 2010-06-04 14:07:49 UTC
Please set fedora-cvs flag to ?.

Comment 13 Shreyank Gupta 2010-06-04 14:21:39 UTC
(In reply to comment #12)
> Please set fedora-cvs flag to ?.    

I'm sorry! :-)

Comment 14 Mamoru TASAKA 2010-06-04 17:50:50 UTC
Ah... sorry, wait.

I just noticed that Fedora already includes ruby-ncurses and
the upstream of both ruby-ncurses and rubygem-ncursesw is the same.

Would you first contact ruby-ncurses's maintainer to discuss
which should be kept in Fedora distrubution?

Comment 15 Mamoru TASAKA 2010-06-04 17:52:07 UTC
ref:
https://admin.fedoraproject.org/pkgdb/acls/name/ruby-ncurses
maintainer: slukasik _at_ redhat.com

Comment 16 Shreyank Gupta 2010-06-07 09:53:02 UTC
(In reply to comment #14)
> Ah... sorry, wait.
> 
> I just noticed that Fedora already includes ruby-ncurses and
> the upstream of both ruby-ncurses and rubygem-ncursesw is the same.

The point of filing a rewiew request for rubygem-ncursesw is that it is one of the dependencies for sup 0.10.2 (http://rubyforge.org/projects/sup/), which I want to package for Fedora, but cannot do so until all its dependencies are in Fedora.

The thing is the latest development version of sup (0.11) uses ruby-ncurses, but that is quite unstable.

Since rubygem-ncursesw is required for sup-0.10.2 I would like it packaged temporarily, and I would obsolete this package once I package sup-0.11

Comment 17 Mamoru TASAKA 2010-06-07 15:43:42 UTC
Well, if currently you are only considering of importing packages
which sup depends on, and under the current condition that
ruby-ncurses is already in Fedora, then this package is not needed
even for 0.10.2 (as far I checked the source code)

For example sup-0.10.2/bin/sup contains:
-------------------------------------------------------
     5  no_ncursesw = false
     6  begin
     7    require 'ncursesw'
     8  rescue LoadError
     9    require 'ncurses'
    10    no_ncursesw = true
    11  end
-------------------------------------------------------
so sup falls back to using ncurses if ncursesw is not found.

So if you are not interested in maintaining ncursesw once
sup 0.11 is released, currently I am against importing this
package into Fedora.

Comment 18 Shreyank Gupta 2010-06-07 17:03:45 UTC
(In reply to comment #17)
[..]
> So if you are not interested in maintaining ncursesw once
> sup 0.11 is released, currently I am against importing this
> package into Fedora.

Alright then, I guess we can close this request unless required later.

Comment 19 Mamoru TASAKA 2010-06-07 17:53:21 UTC
Okay, once closing as I think even sup-0.10.2 does not require
ncursesw (provided that ruby-ncurses is available).

If it is found that this package is needed, please reopen this bug
(or file a new review request).

Comment 20 Dan Callaghan 2015-09-26 23:55:55 UTC
I filed a fresh review request for rubygem-ncursesw: bug 1266723. It's still maintained by the sup developers and is needed for proper unicode support in sup.


Note You need to log in before you can comment on or make changes to this bug.