Bug 478759

Summary: Review Request: perl-SystemPerl - SystemPerl Perl module
Product: [Fedora] Fedora Reporter: Chitlesh GOORAH <chitlesh>
Component: Package ReviewAssignee: Brennan Ashton <bashton>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bashton, conradsand.fb, dirjud, fedora-package-review, notting, rc040203, wsnyder
Target Milestone: ---Flags: bashton: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.321-1.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-16 01:37:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 476386    
Bug Blocks: 468516    

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.