Bug 493250 - Review Request: perl-Goo-Canvas -- Goo::Canvas Perl interface to the GooCanvas
Summary: Review Request: perl-Goo-Canvas -- Goo::Canvas Perl interface to the GooCanvas
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL: http://search.cpan.org/dist/Goo-Canvas/
Whiteboard:
Depends On: 497274
Blocks: 493246
TreeView+ depends on / blocked
 
Reported: 2009-04-01 05:07 UTC by Liang Suilong
Modified: 2009-06-24 09:02 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-06-24 09:02:26 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)
Patch to remove warnings on perltetris.pl exit (869 bytes, patch)
2009-04-24 18:44 UTC, Mamoru TASAKA
no flags Details | Diff
perl-Goo-Canvas 0.06-2 spec (3.03 KB, application/octet-stream)
2009-06-15 12:21 UTC, Liang Suilong
no flags Details

Description Liang Suilong 2009-04-01 05:07:37 UTC
SRPM file: http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas-0.05-2.fc11.src.rpm

Description:
GTK+ does't has an buildin canvas widget. GooCanvas is wonderful. It is easy to use and has powerful and extensible way to create items in canvas. Just try it. For more documents, please read GooCanvas Manual and the demo programs provided in the source distribution in both perl-Goo::Canvas and GooCanvas.

Shutter depends on it.

Comment 1 Mamoru TASAKA 2009-04-01 18:34:35 UTC
Well,
! You can base your spec file on what is created from
  cpanspec (in cpanspec rpm):
  https://fedoraproject.org/wiki/Perl/cpanspec

Then some notes:
- The license tag "GPL" is invalid
  https://fedoraproject.org/wiki/Packaging/LicensingGuidelines#GPL_and_LGPL
  (looks like "GPL+ or Artistic" for this package)

- Your package does not build:
  http://koji.fedoraproject.org/koji/taskinfo?taskID=1270974
  At least BR: perl(ExtUtils::Depends) is needed

- I doubt explicit "Requires: gtk2, glib, cairo" are needed.
  Such library related dependencies are automatically checked
  by rpmbuild itself and automatically added to binary rpms.
  Also I guess "Requires: perl-Gtk2" is also automatically checked
  by rpmbuild.

- Please make the sentence in %description devided into several
  lines. Fedora suggests one line should not contain more than
  79 characters.

- Please add dome documents as %doc.

- The directory %{perl_vendorarch}/auto/ should not be owned
  by this package.

Comment 2 Mamoru TASAKA 2009-04-01 18:45:26 UTC
By the way please also upload the spec file so that
we can browse it on the browser.

Comment 3 Liang Suilong 2009-04-06 16:12:33 UTC
SPEC: http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas.spec
SRPM: http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas-0.05-3.fc10.src.rpm

I have uploaded a new RPM to my fedorapeople's space. 

Now I just build these packages on my local machine. Because I has not a high-rated 
Internet connection. It takes me too much time to wait mock or koji system to build
a package. I tried to run mock once. But mock had run the processor of yum for more than
2 hours. The yum of mock was still running. Later I killed mock. I do not know why mock 
takes so much time to run yum and it seemed that the program had crashed. This is the 
reason that I can not use mock or koji system.

You said that 
- The directory %{perl_vendorarch}/auto/ should not be owned
  by this package.  

I think it is needed by this package. Because I removed this 
directory from %file. Rpmbuild will failed to build this package,
Therefore, We can not delete this directory.

Comment 4 Mamoru TASAKA 2009-04-06 17:53:55 UTC
Looks much better. Some points

* Explicit Requires:
-----------------------------------------------------
Requires:       perl(Cairo) >= 1.00
Requires:       perl(ExtUtils::Depends) >= 0.2
Requires:       perl(ExtUtils::PkgConfig) >= 1.0
Requires:       perl(Glib) >= 1.103
Requires:       perl(Gtk2) >= 1.100
Requires:       gtk2, glib, cairo
-----------------------------------------------------
  - All of these should be removed.
    Such perl module related dependencies and library
    related dependencies are automatically detected by
    rpmbuild itself.
    (By the way, I think perl(ExtUtils::Depends),
     perl(ExtUtils::PkgConfig) is really unneeded)

* Directory ownership issue
  - This package should not own the following directories
    _themselves_
-----------------------------------------------------
%{_bindir}/
%{_mandir}/man3/
%{_mandir}/man1/
%{perl_vendorarch}/auto/
-----------------------------------------------------
  ! Note
    For example, this package should own %_bindir/perlmine.pl,
    however should not own the directory %_bindir itself. i.e.
    change the %files entry to %{_bindir}/* or so.

CCing to spot:
To spot:
  This package contains a perl script named "/usr/bin/perltetris.pl".
  Is this allowed on Fedora?

Comment 5 Tom "spot" Callaway 2009-04-06 18:17:32 UTC
Ehhh. The rule about trademarks is that the program cannot refer to itself as the trademark in a user visible way. 

Except for the documentation, the only references to the "Tetris" trademark are in code functions or filenames, which is not a problem. The documentation would need to be changed, and since it refers to the filename, the filename needs to be changed as well. 

However, it is worth noting that the perltetris.pl did not work for me in rawhide. It may be safer to omit it.

Comment 6 Mamoru TASAKA 2009-04-18 16:14:42 UTC
ping?

Comment 7 Liang Suilong 2009-04-18 18:41:52 UTC
Mamoru Tasaka

I am so sorry that I am busy for studying in the university. And the school network is so bad that I can not connect to this page. As I see, perltetris.pl is running well on my Fedora. This is no reason to omit it. And the other users told me it is OK to them. So if we remove it, and Shutter can not run because of omitting this file, we will add it again. I think it does not need to do it.

Comment 8 Liang Suilong 2009-04-21 08:21:18 UTC
new SRPM
http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas-0.05-4.fc10.src.rpm

SPEC
http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas.spec

I do not omit the perltetris.pl, because I think that it is OK on Fedora 10. And no netizen tell me that it can not run on their Fedora.

Comment 9 Tom "spot" Callaway 2009-04-21 13:58:18 UTC
perltetris.pl definitely does not work in rawhide (x86_64):

[spot@velociraptor ~]$ /usr/bin/perltetris.pl
GLib-GObject-WARNING **: cannot derive `GooCanvasWidgetAccessible' from non-fundamental parent type `GooCanvasItem' at /usr/bin/perltetris.pl line 761, <DATA> line 35.
GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed at /usr/bin/perltetris.pl line 761, <DATA> line 35.
GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed at /usr/bin/perltetris.pl line 761, <DATA> line 35.
CRITICAL **: atk_object_initialize: assertion `ATK_IS_OBJECT (accessible)' failed at /usr/bin/perltetris.pl line 761, <DATA> line 35.

You also have not resolved the legal issue here. There are two ways you can resolve it:

1) Remove perltetris.pl (and the perltetris.pl manpage) from the package.
2) Rename perltetris.pl (and the perltetris.pl manpage) to something that does not contain the trademark "Tetris", and go through both files and remove the trademark "Tetris" from every user visible location. This would mean that you'd need to take it out entirely from the manpage. I can't advise you on where it needs to come out of the .pl file, because, well, it doesn't work for me.

Comment 10 Mamoru TASAKA 2009-04-23 06:25:56 UTC
(In reply to comment #9)
> perltetris.pl definitely does not work in rawhide (x86_64):
> 
> [spot@velociraptor ~]$ /usr/bin/perltetris.pl
> GLib-GObject-WARNING **: cannot derive `GooCanvasWidgetAccessible' from
> non-fundamental parent type `GooCanvasItem' at /usr/bin/perltetris.pl line 761,
> <DATA> line 35.
> GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0'
> failed at /usr/bin/perltetris.pl line 761, <DATA> line 35.
> GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT
> (object_type)' failed at /usr/bin/perltetris.pl line 761, <DATA> line 35.
> CRITICAL **: atk_object_initialize: assertion `ATK_IS_OBJECT (accessible)'
> failed at /usr/bin/perltetris.pl line 761, <DATA> line 35.

Well,
- Confirmed that perltetris.pl works with F-10 goocanvas, does not
  work with F-11 goocanvas (I am using i586)
- Even demo/widgets-demo in goocanvas 0.13 tarball does not work and
  this shows the same warnings, where widgets-demo in goocanvas 0.10 tarball 
  (used on F-10) works.

Filed against goocanvas (bug 497274)

Comment 11 Mamoru TASAKA 2009-04-23 09:30:01 UTC
Again:

(In reply to comment #9)
> perltetris.pl definitely does not work in rawhide (x86_64):

Would you test if perltetris.pl works if you have "Assistive Technologies"
disabled? (although I don't know what at-spi exactuly does,
disabling "Assistive Technologies" works).

Comment 12 Liang Suilong 2009-04-23 16:08:56 UTC
Mamoru Tasaka

Is your mean that the latest goocanvas causes perltetris.pl does not work. 

Perl on my F-10:

If I type /usr/bin/perltetris.pl into terminal, perltetris.pl will show a GUI window. It looks running well. Terminal do not show any error messages.

If I close the window, terminal will show many messages.

You see:

[fedora@fedora-desktop ~]$ /usr/bin/perltetris.pl
Use of uninitialized value $config_file in -e at /usr/bin/perltetris.pl line 1135, <DATA> line 35.
Use of uninitialized value $config_file in concatenation (.) or string at /usr/bin/perltetris.pl line 1155, <DATA> line 35.
Use of uninitialized value $config_file in concatenation (.) or string at /usr/bin/perltetris.pl line 1155, <DATA> line 35.
Can't create file : 没有那个文件或目录 at /usr/bin/perltetris.pl line 1155, <DATA> line 35.
END failed--call queue aborted, <DATA> line 35.

PS:"没有那个文件或目录" means No that files or directories.

Comment 13 Mamoru TASAKA 2009-04-24 18:44:47 UTC
Created attachment 341238 [details]
Patch to remove warnings on perltetris.pl exit

(In reply to comment #12)
> Is your mean that the latest goocanvas causes perltetris.pl does not work. 

I guess so. Once bug 497274 is resolved perltetris.pl should
work also on rawhide.

> If I close the window, terminal will show many messages.

The attached patch should remove these messages.

Comment 14 Mamoru TASAKA 2009-05-09 16:44:50 UTC
ping?

Comment 15 Liang Suilong 2009-05-10 08:40:32 UTC
Mamoru Tasaka

Your diff file seems not to be patched into the source code.

the terminal showed me that:

[fedora@fedora-desktop SPECS]$ rpmbuild -ba perl-Goo-Canvas.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.PE41w0
+ umask 022
+ cd /home/fedora/rpmbuild/BUILD
+ cd /home/fedora/rpmbuild/BUILD
+ rm -rf Goo-Canvas-0.05
+ /usr/bin/gzip -dc /home/fedora/rpmbuild/SOURCES/Goo-Canvas-0.05.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd Goo-Canvas-0.05
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (perltetris_pl-undefined.diff):'
Patch #0 (perltetris_pl-undefined.diff):
+ /bin/cat /home/fedora/rpmbuild/SOURCES/perltetris_pl-undefined.diff
+ /usr/bin/patch -s -p1 --fuzz=0
missing header for unified diff at line 3 of patch
The text leading up to this was:
--------------------------
|--- perltetris.pl.orig	2009-04-23 03:22:43.000000000 +0900
|+++ perltetris.pl	2009-04-25 03:34:38.000000000 +0900
--------------------------
File to patch: 

The process is still stopping at here until I press Ctrl+C.

Comment 16 Mamoru TASAKA 2009-05-10 09:00:30 UTC
Please check the header of the patch, not -p1 patch.

Comment 17 Liang Suilong 2009-05-10 16:14:11 UTC
How should I use your patch? I really do not know.

I find that line 3 and line 12 of the patch lack something, Could you help me?

Comment 18 Mamoru TASAKA 2009-05-11 17:37:02 UTC
Just use -p0, like:

$ cd bin/
$ patch -p0 -b --suffix .warning < MY_PATCH

Comment 19 Liang Suilong 2009-05-21 13:06:40 UTC
Mamoru Tasaka

Thank you. Your patch works so well. The koji build is excellent. 

https://koji.fedoraproject.org/koji/taskinfo?taskID=1368171

Comment 20 Mamoru TASAKA 2009-05-21 18:01:25 UTC
Well

* Please address the issues of
  - directory ownership (mentioned in my comment 4)
  - and changing "tetris" word on script name and
    in documents (mentioned in spot's comment 5)

* About patching
-------------------------------------------------------
patch -p0 -b --suffix .warning < %{SOURCE1}
-------------------------------------------------------
  - This can be replaced by
-------------------------------------------------------
%patch1 -p0 -b .warning
-------------------------------------------------------

* Make build log more verbose
  - This package also shows build log like:
-------------------------------------------------------
    77  /usr/bin/perl -MExtUtils::Command -e mkpath blib/lib/Goo/Canvas
    78  [ CC xs/goocanvas.c ]
    79  [ CC xs/goocanvasbounds.c ]
    80  [ CC xs/goocanvasellipse.c ]
    81  [ CC xs/goocanvasgroup.c ]
-------------------------------------------------------
    which is not so useful.
    Please make build.log more verbose, to show if Fedora specific
    compilation flags are correctly honored, for example.
    For this package the following works.
-------------------------------------------------------
make %{?_smp_mflags} NOECHO=
-------------------------------------------------------

And please change the release number.

Comment 21 Liang Suilong 2009-05-24 16:29:51 UTC
(In reply to comment #20)
>   - and changing "tetris" word on script name and
>     in documents (mentioned in spot's comment 5)

Is your mean that I should rename perltetris.pl as tetris.pl?

I do not think it is needed, Because if it runs well, we will not need to change anything.

Also I think that we just need to add what we change into Changelog is OK..

Comment 22 Mamoru TASAKA 2009-05-24 16:39:53 UTC
(In reply to comment #21)
> (In reply to comment #20)
> >   - and changing "tetris" word on script name and
> >     in documents (mentioned in spot's comment 5)
> 
> Is your mean that I should rename perltetris.pl as tetris.pl?
> 
> I do not think it is needed, Because if it runs well, we will not need to
> change anything.

This is not related to whether this program works well or not,
but to legal issue (see spot's comment 5)

Comment 23 Liang Suilong 2009-05-25 04:41:04 UTC
OK..

But after I rename perltetris.pl, Should I create symbolic link whose name is perltetris.pl to connect the new file. I think that if some applications need perltetris.pl, it will appear some errors.

Comment 24 Mamoru TASAKA 2009-05-25 07:02:42 UTC
(In reply to comment #23)
> OK..
> 
> But after I rename perltetris.pl, Should I create symbolic link whose name is
> perltetris.pl to connect the new file.

No. In such cases the application using this perl script
needs modification on Fedora.

Comment 25 Liang Suilong 2009-05-27 00:30:44 UTC
Mamoru Tasaka

If patch -p0 -b --suffix .warning < %{SOURCE1} is replaced by %patch1 -p0 -b .warning
, koji will appear errors. 

You see:
https://koji.fedoraproject.org/koji/getfile?taskID=1378575&name=build.log

Here is my SPEC file and SRPM:
http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas.spec
http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas-0.05-5.fc10.src.rpm

Comment 26 Mamoru TASAKA 2009-05-28 16:43:12 UTC
(In reply to comment #25)
> Mamoru Tasaka
> 
> If patch -p0 -b --suffix .warning < %{SOURCE1} is replaced by %patch1 -p0 -b
> .warning
> , koji will appear errors. 
I said so and I did not say that "cd bin/" can be dropped ....

And still directory ownership issue is not addressed correctly.

Comment 27 Mamoru TASAKA 2009-05-28 17:38:30 UTC
Also
-----------------------------------------------------
mv %{_bindir}/perltetris.pl %{_bindir}/perlfangkuang.pl
-----------------------------------------------------
this is not right.

Comment 28 Mamoru TASAKA 2009-06-06 16:17:18 UTC
ping?

Comment 29 Liang Suilong 2009-06-10 15:06:15 UTC
Mamoru Tasaka,

Just need I replace rename with mv?

and %file should like this?

%files
%defattr(-,root,root,-)
%doc Changes goocanvas.typemap maps README
%{_bindir}/*
%{_mandir}/man3/
%{_mandir}/man1/
%{perl_vendorarch}/auto/

Comment 30 Mamoru TASAKA 2009-06-10 18:36:42 UTC
(In reply to comment #29)
> Just need I replace rename with mv?
- Well, I don't know what you meant here, however the problem
  on the my comment 27 is that after "perl pure_install" the
  installed scripts are actually under %buildroot%_bindir, not
  under %_bindir

> 
> and %file should like this?
> 
> %files
> %defattr(-,root,root,-)
> %doc Changes goocanvas.typemap maps README
> %{_bindir}/*
> %{_mandir}/man3/
> %{_mandir}/man1/
> %{perl_vendorarch}/auto/  
- No. Still the directories
  %_mandir/man3
  %_mandir/man1
  %perl_verdorarch/auto
  _themselves_ are owned, which should not.

  Note:
---------------------------------------------------
%files
foo/
---------------------------------------------------
  (where foo is a directory) means the directory foo/
  itself and all files/directories/etc under foo/, while
---------------------------------------------------
%files
foo/*
---------------------------------------------------
  means all files/directories/etc under foo/ (if no hidden
  files are under foo/), but does not contain foo/ directory
  itself.

Comment 32 Mamoru TASAKA 2009-06-11 16:28:22 UTC
For 0.05-6:

- The directory %{perl_vendorarch}/Goo/ should be owned by
  this package as currently no package owns this directory.

- By the way it seems that latest version is 0.06. Would you
  upgrade your srpm?

Comment 33 Liang Suilong 2009-06-13 18:52:11 UTC
Mamoru Tasaka

I have updated perl-Goo-Canvas to 0.06, It is looks very OK!

SRPM:http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas-0.06-1.fc11.src.rpm

SPEC:http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas.spec

koji build report:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1410282

Comment 34 Jan Klepek 2009-06-14 15:14:44 UTC
you have small typo in %description

Comment 35 Mamoru TASAKA 2009-06-14 18:29:25 UTC
Well, again the directory %{perl_vendorarch}/Goo/ should be
owned by this package, so the %files entry should be:

%files
....
%{perl_vendorarch}/Goo/

Comment 36 Liang Suilong 2009-06-15 07:05:45 UTC
(In reply to comment #34)
> you have small typo in %description  

you say that you have small tupo in %description. What do you mean? Do you mean that %description should be longer? 

Would I add this paragraph into %description?

GTK+ does't has an buildin canvas widget. GooCanvas is wonderful. It is easy to use and has powerful and extensible way to create items in canvas. Just try it.

For more documents, please read GooCanvas Manual and the demo programs provided in the source distribution in both perl-Goo::Canvas and GooCanvas.

Or do you mean that I should set every line of %description longer than the present version?

Comment 37 Jan Klepek 2009-06-15 07:47:33 UTC
no, you have "does't" and probably you mean "doesn't".

Comment 38 Liang Suilong 2009-06-15 12:21:34 UTC
Created attachment 347924 [details]
perl-Goo-Canvas 0.06-2 spec

Now I upload the latest spec file

Jan Klepek,

Now is %description right? 


Mamoru Tasaka,

Now I correct %file

%{perl_vendorarch}/Goo/ is here.

Comment 39 Jan Klepek 2009-06-15 16:29:09 UTC
(In reply to comment #38)
> Created an attachment (id=347924) [details]
> perl-Goo-Canvas 0.06-2 spec
> 
> Now I upload the latest spec file
> 
> Jan Klepek,
> 
> Now is %description right? 

Did you uploaded correct version? I see in your attachment "does't"

Comment 40 Liang Suilong 2009-06-16 05:47:41 UTC
Here is the latest spec file.

SPEC:http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas.spec

If there are errors in %description, Could you teach me how to write it in right way?

I seems not to know how I should write it.

Comment 41 Mamoru TASAKA 2009-06-16 16:51:28 UTC
Okay!

--------------------------------------------------------
  This package (perl-Goo-Canvas) is APPROVED by mtasaka
--------------------------------------------------------

Comment 42 Liang Suilong 2009-06-17 15:06:50 UTC
New Package CVS Request
=======================
Package Name: perl-Goo-Canvas
Short Description: Perl interface to the GooCanvas
Owners: liangsuilong
Branches: F-10 F-11 devel
InitialCC: liangsuilong
Cvsextras Commits: yes

Comment 43 Jason Tibbitts 2009-06-20 15:09:37 UTC
CVS done.

Comment 44 Liang Suilong 2009-06-21 11:31:37 UTC
Now I have imported the source code to CVS repository and try to build it on koji. It is OK on dist-f11 and devel But not dist-f10. The reason is lack of BR:gtk2-devel I think. Should I add it into spec file?

Build of perl-Goo-Canvas-0.06-2 on devel, dist-f11 and dist-f10
devel:http://koji.fedoraproject.org/koji/buildinfo?buildID=111197

F-11:http://koji.fedoraproject.org/koji/buildinfo?buildID=111201

F-10:http://koji.fedoraproject.org/koji/buildinfo?buildID=111202

In fact, there is no need to add BR: gtk2-devel on F-11 and devel. But if I do not add it, It will not build on F-10 successfully. So what should I do? add it directly?

As I wish, after adding BR: gtk2-devel, it is successful on F-10

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

I upgrade the SRPM and SPEC file
SRPM:http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas-0.06-3.fc11.src.rpm
SPEC:http://liangsuilong.fedorapeople.org/shutter/perl-Goo-Canvas.spec

Comment 45 Mamoru TASAKA 2009-06-21 16:23:08 UTC
You can add "BR: gtk2-devel" only on F-10 branch. In that case
please use "2%{?dist}.1" as release number of the spec file to
make EVR (Epoch-Version-Release) path between F-10 -> F-11 work
correctly:
https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Minor_release_bumps_for_old_branches

Comment 46 Mamoru TASAKA 2009-06-24 09:02:26 UTC
Okay, now closing.


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