Bug 478759 - Review Request: perl-SystemPerl - SystemPerl Perl module
Summary: Review Request: perl-SystemPerl - SystemPerl Perl module
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Brennan Ashton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 476386
Blocks: verilator
TreeView+ depends on / blocked
 
Reported: 2009-01-04 18:01 UTC by Chitlesh GOORAH
Modified: 2009-06-16 02:35 UTC (History)
7 users (show)

Fixed In Version: 1.321-1.fc10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-06-16 01:37:25 UTC
Type: ---
Embargoed:
bashton: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Chitlesh GOORAH 2009-01-04 18:01:51 UTC
Spec URL: http://chitlesh.fedorapeople.org/RPMS/perl-SystemPerl.spec
SRPM URL: http://chitlesh.fedorapeople.org/RPMS/perl-SystemPerl-1.300-1.fc10.src.rpm
Description:
SystemPerl is a version of the SystemC language. It is designed to expand
text so that needless repetition in the language is minimized. By using
sp_preproc, SystemPerl files can be expanded into C++ files at compile
time, or expanded in place to make them valid stand-alone SystemC files.

Comment 1 Chris Weyl 2009-01-04 23:42:15 UTC
Koji (FAILURE) http://koji.fedoraproject.org/koji/taskinfo?taskID=1032161

Comment 2 Chitlesh GOORAH 2009-01-05 22:30:10 UTC
Yes in accordance to the logs :

DEBUG util.py:250:  No Package Found for perl(Verilog::Getopt) >= 2.211
DEBUG util.py:250:  No Package Found for perl(Verilog::Netlist) >= 2.315

you will need perl-Verilog to build this rpm.

perl-Verilog recently was approved. 
https://bugzilla.redhat.com/show_bug.cgi?id=476386

It is just a matter of time till perl-Verilog hits rawhide.
I should have blocked this review against perl-Verilog.

Comment 3 Lane 2009-01-07 10:10:27 UTC
Chitlesh,

I am experiencing a compatibility problem with the location of the perl-SystemPerl-devel files.  Verilator (https://bugzilla.redhat.com/show_bug.cgi?id=468516) compiles in some of the *.cpp files from the systemperl src directory when it creates a simulation model.  When you compile verilator, you give it the path to the systemperl installation, and when you use verilator to create a simulation model, it looks for those *.cpp files in the src/*.cpp directory.  Because the systemperl spec file is moving these *.cpp files into the /usr/include/SystemPerl directory, there is no way for verilator to find them.  They would need to go in the /usr/include/SystemPerl/src directory for verilator to be able to find them.  Given these files are not used for linking but are used for actual compilation, perhaps they should go into the %{_datadir}/src directory.

Lane

Comment 4 Lane 2009-01-07 10:17:33 UTC
If I change the SystemPerl spec file to:

# -devel package and support for SystemC
%{__mkdir} -p $RPM_BUILD_ROOT%{_includedir}/%{name}/src
%{__install} -pm 0644 src/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/src/
%{__install} -pm 0644 src/*.cpp $RPM_BUILD_ROOT%{_includedir}/%{name}/src/


and then set 

SYSTEMPERL=%{_includedir}/SystemPerl 

in the verilator.spec file, then I can get verilator to pickup the systemperl files it needs to create simulation models correctly. 

I do not know enough of the fedora conventions to know where these cpp files *should* go, but wherever they end up, they need to be need to be in a directory called */src/

Lane

Comment 5 wsnyder 2009-01-29 01:38:08 UTC
Chitlesh notified me of this thread.

The src/ prefix is because many users have multiple versions of SystemPerl installed (generally in a repository) and just point to the one they want.

Lane has a the right solution for the present version, as makefiles etc
also have the src/ path hardcoded.  If there's a strong objection to the
extra src/ in the path, I can add a new envvariable that will set the location.

Comment 6 Chitlesh GOORAH 2009-02-01 00:59:16 UTC
(In reply to comment #5)
> Chitlesh notified me of this thread.
> 
> The src/ prefix is because many users have multiple versions of SystemPerl
> installed (generally in a repository) and just point to the one they want.
> 
> Lane has a the right solution for the present version, as makefiles etc
> also have the src/ path hardcoded.  If there's a strong objection to the
> extra src/ in the path, I can add a new envvariable that will set the location.

Hello Wilson,

From my point of view, in order to ease the installation of multiple version of SystemPerl, those *.cpp should rather be placed into
-- /usr/include/perl-SystemPerl - for the distribution supported package
-- /usr/include/perl-SystemPerl-$version - for parallel installations

I would welcome an envvariable.

Comment 7 Chitlesh GOORAH 2009-03-06 19:51:12 UTC
Updated:
Spec URL: http://chitlesh.fedorapeople.org/RPMS/perl-SystemPerl.spec
SRPM URL:
http://chitlesh.fedorapeople.org/RPMS/perl-SystemPerl-1.310-1.fc10.src.rpm

I've added the src directory to fix the build on verilator.
A small patch was sent to Wilson to fix the build on the latest bison

Comment 8 Brennan Ashton 2009-03-08 09:38:53 UTC
rpmlint is showing this error:
perl-SystemPerl.i386: E: useless-provides perl(SystemC::Netlist::Module)

Comment 10 Chitlesh GOORAH 2009-03-25 19:07:43 UTC
Ping ?

Comment 11 Ralf Corsepius 2009-03-27 05:18:20 UTC
Just an observation:

The emacs support files' packaging seems suspicious to me
# rpm -qlp emacs-systemc-mode-1.310-2.fc11.x86_64.rpm 
/usr/share/emacs/site-lisp/site-start.d/systemc-mode.el
/usr/share/emacs/site-lisp/systemc-mode.el
/usr/share/emacs/site-lisp/systemc-mode.elc

When comparing this to my FC10 installation:
# rpm -qf /usr/share/emacs/site-lisp
subversion-1.5.4-3.x86_64
libidn-0.6.14-8.x86_64
desktop-file-utils-0.15-3.fc10.x86_64
autoconf-2.63-1.fc10.noarch
libidn-0.6.14-8.i386
rpmdevtools-7.0-1.fc10.noarch
cmake-2.6.3-3.fc10.x86_64
...
# rpm -qf /usr/share/emacs/site-lisp/site-start.d
rpmdevtools-7.0-1.fc10.noarch

... I am inclined to think, directory ownerships aren't handled correctly. You likely need to own these packages.

Comment 12 wsnyder 2009-03-27 18:55:21 UTC
>/usr/share/emacs/site-lisp/systemc-mode.el
>/usr/share/emacs/site-lisp/systemc-mode.elc

Don't bother installing these files.  Emacs 22.2 and above breaks this file and it's proven almost impossible to keep them working on both 21.* and 22.*, so the next version of SystemPerl will no longer install it.

Comment 13 wsnyder 2009-03-27 19:35:41 UTC
>>/usr/share/emacs/site-lisp/systemc-mode.el
>>/usr/share/emacs/site-lisp/systemc-mode.elc
>
>Don't bother installing these files.  Emacs 22.2 and above breaks this file and
>it's proven almost impossible to keep them working on both 21.* and 22.*, so
>the next version of SystemPerl will no longer install it.  

I take that back, a hook is still needed for the .sp file extension, so
something still needs to exist.  Thus I've created a systemc-mode.el shell
that simply calls c++-mode.  (Grab it from CPAN mid next week.)

Comment 14 wsnyder 2009-03-28 15:14:32 UTC
FYI SystemPerl 1.311 fixes the emacs issue I mentioned (not permissions - that's at your end.)

Also Verilator 3.702 allows you to set and compile SYSTEMPERL_INCLUDE into
verilator so the src/ suffix hack (see the earlier comments here) isn't needed.

Comment 16 Chitlesh GOORAH 2009-03-29 16:11:24 UTC
Thanks Wilson for this quick update.

Brennan as from now on, please point SYSTEMPERL_INCLUDE  to /usr/include/perl-SystemPerl.

Comment 17 Chitlesh GOORAH 2009-05-14 23:39:22 UTC
ping Brennan ?

Comment 19 Brennan Ashton 2009-05-21 23:14:27 UTC
I will evaluate this new package tonight.

Comment 20 Chitlesh GOORAH 2009-05-22 09:13:16 UTC
Thanks you will need the last perl-Verilog, already built on koji. Please pull the rpm from koji if perl-Verilog has not yet hit the mirrors.

Comment 21 Brennan Ashton 2009-05-25 22:41:44 UTC
I have some concerns about if this is passing its buildtime tests:

t/00_pod.t ......... ok   
t/01_manifest.t .... ok   
t/02_help.t ........ ok     
t/03_spaces.t ...... ok       
t/10_template.t .... ok   
t/20_parser.t ...... ok   
t/30_netlist.t ..... ok   
t/32_example.t ..... ok   
t/34_notfound.t .... ok   
t/40_coverage.t .... ok     
t/42_itemkey.t ..... ok   
t/44_makecheck.t ... ok   
t/60_spp_pre.t ..... 1/6 Integer overflow in hexadecimal number at /home/makerpm/rpmbuild/BUILD/SystemPerl-1.320/blib/lib/SystemC/Netlist/CoverPoint.pm line 473.
Integer overflow in hexadecimal number at /home/makerpm/rpmbuild/BUILD/SystemPerl-1.320/blib/lib/SystemC/Netlist/CoverPoint.pm line 473.
t/60_spp_pre.t ..... ok   
t/62_spp_inline.t .. 1/2 Integer overflow in hexadecimal number at /home/makerpm/rpmbuild/BUILD/SystemPerl-1.320/blib/lib/SystemC/Netlist/CoverPoint.pm line 473.
Integer overflow in hexadecimal number at /home/makerpm/rpmbuild/BUILD/SystemPerl-1.320/blib/lib/SystemC/Netlist/CoverPoint.pm line 473.
t/62_spp_inline.t .. ok   
t/70_trace.t ....... ok   
t/80_gcc.t ......... ok   
t/85_scl.t ......... ok   
t/90_ncsc_run.t .... ok   
All tests successful.

This is on a F11 machine with this per-Verlog http://koji.fedoraproject.org/koji/buildinfo?buildID=103021

Comment 22 wsnyder 2009-05-25 23:04:29 UTC
The warnings are due to a test that seems to not be 32-bit compatible.  I'll fix it - but its only the test that needs to change, and since the tests don't get installed it should be fine to use this version.

Comment 23 Chitlesh GOORAH 2009-05-26 11:12:33 UTC
Brennan, can you continue with the review ?

Comment 24 Chitlesh GOORAH 2009-06-04 08:32:10 UTC
ping Brennan ?

Comment 25 Lane 2009-06-09 19:08:35 UTC
I tried building this and it failed saying it required perl-Verilog 3.2.  You might want to update this version in the build dependencies list.  Also, is perl-Verilog 3.2 rpm available?  I only saw 3.12 in rawhide.  Maybe I missed it.

Comment 26 Brennan Ashton 2009-06-09 19:37:22 UTC
[PASS] source files match upstream
[PASS] package meets naming and versioning guidelines.
[PASS] specfile is properly named
[PASS] dist tag is present.
[PASS] build root is correct.
[PASS] license field matches the actual license.
[PASS] license is open source-compatible.
[PASS] latest version is being packaged.
[PASS] BuildRequires are proper.
[PASS] %clean is present.
[N/A] package builds in mock.
    Building with a koji build of perl-Verlog

[PASS] package installs properly.
debuginfo package looks complete.
[PASS] %check is present and all tests pass:
[PASS] owns the directories it creates.
[PASS] doesn't own any directories it shouldn't.
[PASS] no duplicates in %files.
[PASS] file permissions are appropriate.
[PASS] no scriptlets present.
[PASS] code, not content.
[PASS] %docs are not necessary for the proper functioning of the package.

I Approve with the perl-Verlog in koji.  Lane is right, you should add the new version requirement of perl-Verlog to the spec. After this go ahead with CVS request.

Comment 27 Chitlesh GOORAH 2009-06-10 21:13:38 UTC
(In reply to comment #25)
> I tried building this and it failed saying it required perl-Verilog 3.2.  You
> might want to update this version in the build dependencies list.  Also, is
> perl-Verilog 3.2 rpm available?  I only saw 3.12 in rawhide.  Maybe I missed
> it.  

F-9 and F-10 already have perl-Verilog 3.200. But perl-SystemC-Vregs failed to build for rawhide and F-11. 
https://admin.fedoraproject.org/updates/search/perl-Verilog

I'll look at it tomorrow before requesting cvs access for this package.

Comment 28 Chitlesh GOORAH 2009-06-10 23:08:58 UTC
perl-Verilog-3.210-1.fc11 was missing in F-11 buildroot and ultimately the chainbuild failed. Aticket was filed
https://fedorahosted.org/rel-eng/ticket/1921

Comment 29 Chitlesh GOORAH 2009-06-11 09:20:57 UTC
New Package CVS Request
=======================
Package Name: perl-SystemPerl
Short Description: SystemPerl Perl module
Owner chitlesh
Branches: F-10 F11 EL-5

Comment 30 Jason Tibbitts 2009-06-11 17:02:14 UTC
CVS done.

Comment 31 Fedora Update System 2009-06-11 19:20:56 UTC
perl-SystemPerl-1.321-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/perl-SystemPerl-1.321-1.fc10

Comment 32 Fedora Update System 2009-06-11 19:21:33 UTC
perl-SystemPerl-1.321-1.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/perl-SystemPerl-1.321-1.fc11

Comment 33 Fedora Update System 2009-06-16 01:37:18 UTC
perl-SystemPerl-1.321-1.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 34 Fedora Update System 2009-06-16 02:35:19 UTC
perl-SystemPerl-1.321-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.


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