Bug 478749 - Review Request: dinotrace - X11 waveform viewer for electronics
Summary: Review Request: dinotrace - X11 waveform viewer for electronics
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: manuel wolfshant
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 500931
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-04 16:09 UTC by Chitlesh GOORAH
Modified: 2009-10-10 20:24 UTC (History)
6 users (show)

Fixed In Version: 9.4a-5.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-24 15:16:10 UTC
Type: ---
Embargoed:
manuel.wolfshant: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)
output from strace -f dinotrace (191.14 KB, text/plain)
2009-03-30 12:18 UTC, manuel wolfshant
no flags Details
failed build log when building for EPEL/i386 (15.75 KB, text/plain)
2009-03-30 23:22 UTC, manuel wolfshant
no flags Details

Description Chitlesh GOORAH 2009-01-04 16:09:33 UTC
Spec URL: http://chitlesh.fedorapeople.org/RPMS/dinotrace.spec
SRPM URL: http://chitlesh.fedorapeople.org/RPMS/dinotrace-9.3f-1.fc10.src.rpm
Description: 
Dinotrace is a X-11 waveform viewer which understands Verilog Value
Change Dumps, ASCII, and other trace formats. It allows placing
cursors, highlighting signals, searching, printing, and other
capabilities superior to many commercial waveform viewers.

Comment 2 Parag AN(पराग) 2009-01-05 07:08:13 UTC
need BR: emacs

Comment 4 Parag AN(पराग) 2009-01-28 10:10:22 UTC
1) drop vendor tag in desktop-install-file. See
http://fedoraproject.org/wiki/PackagingGuidelines#desktop-file-install_usage
2) from https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Texinfo, use
%preun
if [ $1 = 0 ] ; then
  /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi

3) from Emacs guildeines
"Usually an add-on package will require a startup file, and this should be called foo-init.el and be placed in /usr/share/emacs/site-lisp/site-start.d/. "

I think then you should have %{name}.el.site-start renamed to %{name}-init.el

Comment 5 Chitlesh GOORAH 2009-01-28 19:56:57 UTC
(In reply to comment #4)
> 1) drop vendor tag in desktop-install-file. See
> http://fedoraproject.org/wiki/PackagingGuidelines#desktop-file-install_usage
> 

Without a vendor , the build will fail for EL-5.

Comment 6 manuel wolfshant 2009-01-29 00:30:46 UTC
Chitlesh, you could use the following construction:

desktop-file-install \
%if 0%{?rhel}
 --vendor ""         \
%endif
    --dir %{buildroot}%{_datadir}/applications \
    %{name}.desktop

Comment 7 Parag AN(पराग) 2009-02-03 05:36:08 UTC
any updates here?

Comment 8 Chitlesh GOORAH 2009-02-03 17:53:22 UTC
I'll update it next week. This weekend will be FOSDEM and I've to get my presentation ready and meet the fedora ambassadors.

Comment 9 Parag AN(पराग) 2009-03-01 15:38:33 UTC
Its almost one month and I see no updates here. Removing myself from this review so that any other reviewer can pick this review.

Comment 10 Parag AN(पराग) 2009-03-02 03:29:09 UTC
Ok. I will be in CC list.

Comment 12 manuel wolfshant 2009-03-07 17:59:18 UTC
I'll come back with a full review next week, once I get the chance to install the application at a colleague and test it.

meanwhile, Chitlesh, could you please take a look at the patch (at the first glance I think it has a couple of places where a line is replaced with uselessly replaced with an identical copy) and maybe fix the warnings related to emacs which appear during building the package in mock:

Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)...
In toplevel form:
dinotrace.el:165:1:Warning: defface for `dinotrace-foreground-face' fails to
    specify containing group
In dinotrace-annotate-buffer:
dinotrace.el:694:14:Warning: `make-variable-buffer-local' should be called at
    toplevel
dinotrace.el:690:42:Warning: `make-variable-buffer-local' should be called at
    toplevel
dinotrace.el:691:68:Warning: `make-variable-buffer-local' should be called at
    toplevel
dinotrace.el:692:74:Warning: `make-variable-buffer-local' should be called at
    toplevel
In dinotrace-annotate-add-header:
dinotrace.el:749:8:Warning: `make-variable-buffer-local' should be called at
    toplevel
In dinotrace-annotate-sim-log-cursor:
dinotrace.el:878:28:Warning: `string-to-int' is an obsolete function (as of
    Emacs 22.1); use `string-to-number' instead.
In dinotrace-face-create:
dinotrace.el:1014:13:Warning: `internal-find-face' is an obsolete function (as
    of Emacs 21.1); use `facep' instead.
In dinotrace-send-command:
dinotrace.el:1276:22:Warning: `string-to-int' is an obsolete function (as of
    Emacs 22.1); use `string-to-number' instead.
Wrote /builddir/build/BUILD/dinotrace-9.3f/lisp/dinotrace.elc


Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)...
In sim-log-font-lock-keywords:
sim-log.el:122:17:Warning: `font-lock-reference-face' is an obsolete variable;
    use `font-lock-constant-face' instead.
In end of data:
sim-log.el:171:1:Warning: the function `installer-add-file' is not known to be
    defined.

Comment 13 Chitlesh GOORAH 2009-03-27 19:41:02 UTC
Wilson, I've noticed that dinotrace can't read .vcd generated by ghdl and iverilog. Is this a known issue ?

Comment 14 wsnyder 2009-03-27 19:45:00 UTC
That's new, send me or attach a trace from ghdl/iverilog and I'll look at it, probably something changed since it used to work...

Comment 15 manuel wolfshant 2009-03-28 12:00:02 UTC
I apologize, I was very busy at work and I completely forgot about the review. I promise to do it next week

Comment 16 Chitlesh GOORAH 2009-03-29 16:13:55 UTC
Wilson, dinotrace reads the .vcd properly. It seems my .vcd were corrupted.

Is there a way to print the trace to .ps with dinotrace (from command line) ?

Comment 18 manuel wolfshant 2009-03-30 12:16:56 UTC
I have just tried to use dinotrace-9.3f-4.fc10.x86_64 and dinotrace-9.3f-5.fc10.x86_64. Both try to load a GUI and both segfault immediately after that.

Runnin "strace -f dinotrace " gives the attached log

Comment 19 manuel wolfshant 2009-03-30 12:18:15 UTC
Created attachment 337209 [details]
output from  strace -f dinotrace 

[wolfy@wolfy tmp]$ rpm -q dinotrace
dinotrace-9.3f-5.fc10.x86_64

Comment 20 manuel wolfshant 2009-03-30 23:22:45 UTC
Created attachment 337259 [details]
failed build log when building for EPEL/i386

In case you plan to include the package in EPEL, the spec needs a bit of love because the emacs part fails to build

Comment 21 wsnyder 2009-04-03 18:11:08 UTC
I've released dinotrace 9.4a that includes the core dump and lisp code fixes.

Comment 23 manuel wolfshant 2009-04-08 23:18:31 UTC
The good news is that in F-10 the package works OK. I have displayed a vcd from IUSR8.2 examples. There is one problem, but probably this should be taken care by upstream:
[wolfy@wolfy tmp]$ dinotrace /tmp/*vcd
%E, Strange bit value U on line 293 of /tmp/wave1.vcd
%E, Strange bit value U on line 300 of /tmp/wave1.vcd
%E, Strange bit value U on line 307 of /tmp/wave1.vcd
%E, Strange bit value U on line 314 of /tmp/wave1.vcd
%E, Strange bit value U on line 321 of /tmp/wave1.vcd
%E, Strange bit value U on line 328 of /tmp/wave1.vcd
[...]
%E, Strange bit value U on line 386 of /tmp/wave1.vcd
%E, Strange bit value U on line 387 of /tmp/wave1.vcd
%E, Strange bit value U on line 388 of /tmp/wave1.vcd

wave1,vcd is in fact part of stock IUS82, that is /tools.lnx86/inca/examples/vhpi/waveform/test/golden/wave1.vcd 

On EL5 the package does not build: + emacs -batch -f batch-byte-compile dinotrace.el
Loading /usr/share/emacs/site-lisp/site-start.d/igrep-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/lang-coding-systems-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/php-mode-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/po-mode-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/python-mode-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/rpmdev-init.el (source)...
Loading /usr/share/emacs/site-lisp/site-start.d/tramp-init.el (source)...
While compiling toplevel forms in file /builddir/build/BUILD/dinotrace-9.4a/lisp/dinotrace.el:
  !! File error (("Cannot open load file" "verilog-mode"))
Done
error: Bad exit status from /var/tmp/rpm-tmp.88558 (%install)


Package Review
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format %{name}.spec.
 [x] Package meets the Packaging Guidelines.
 [x] Package successfully compiles and builds into binary rpms on at least one supported architecture.
     Tested on: F-10/x86_64
 [x] Rpmlint output:
source RPM: empty
binary RPMs:
dinotrace.x86_64: W: file-not-utf8 /usr/share/doc/dinotrace-9.4a/traces/tempest.bt.gz
emacs-dinotrace.x86_64: W: no-documentation
=> last one is ignorable, first one is a false alert
 [x] Package is not relocatable.
 [x] Buildroot is correct (%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n))
 [x] Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines.
 [!] License field in the package spec file matches the actual license.
     License type as specified by spec: GPLv2
     License type as specified by sources: GPLv3+
=> see note 1
 [x] If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc.
 [x] Spec file is legible and written in American English.
 [x] Sources used to build the package match the upstream source, as provided in the spec URL.
     SHA1SUM of source file: f75c339ade8e2e75eedd2e831e7faffbfddf102b  dinotrace-9.4a.tgz
 [x] Package is not known to require ExcludeArch
 [x] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [x] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -rf %{buildroot}.
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [x] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [!] Fully versioned dependency in subpackages, if present.
See note 2
 [x] Package does not contain any libtool archives (.la).
 [x] Package contains a properly installed %{name}.desktop file if it is a GUI application.
 [x] Package does not own files or directories owned by other packages.
 [x] Final provides and requires are sane.

=== SUGGESTED ITEMS ===
 [x] Latest version is packaged.
 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains translations for supported Non-English languages, if available.
 [x] Reviewer should test that the package builds in mock.
     Tested on: F-10/x86_64
 [?] Package should compile and build into binary rpms on all supported architectures.
     Tested on:
 [x] Package functions as described.
 [x] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.
 [x] %check is present and the test passes.


=== Final Notes ===
1. License should be changed to GPLv3+. I'll trust you to do that before import.
2. Is the emacs subpackage really supposed to be used without having dinotrace installed? I see no reason to not allow that, but I want your confirmation that this is intentional.

Comment 24 manuel wolfshant 2009-04-08 23:20:45 UTC
Hm, Centos 5.3 has emacs-21.4, I guess my enthusiasm to see this package as it is in EPEL is moot. Maybe if you would exclude the emacs bits ?

Comment 25 wsnyder 2009-04-08 23:56:53 UTC
>[wolfy@wolfy tmp]$ dinotrace /tmp/*vcd
>%E, Strange bit value U on line 388 of /tmp/wave1.vcd
>wave1,vcd is in fact part of stock IUS82, that is
>/tools.lnx86/inca/examples/vhpi/waveform/test/golden/wave1.vcd 

U's aren't legal in VCDs.  This is probably a EVCD file, which verilator
doesn't support. EVCDs are used primarily by chip testers, it's a bit odd that
an example would use that.

>2. Is the emacs subpackage really supposed to be used without having dinotrace
>installed? I see no reason to not allow that, but I want your confirmation that
>this is intentional.  

No, the emacs part won't be usable without the verilog-mode.el package, but
the rest of the tool will be.

If you're distributing with emacs-21.4 then you really should be providing a verilog-mode.el RPM.  It's far more in demand than Dinotrace/Verilator/Icarus
all which you're including.  Emacs-22 includes it as part of the Emacs core
library, so if you release a more recent emacs that gets it too.

Comment 26 manuel wolfshant 2009-04-09 07:15:12 UTC
(In reply to comment #25)
> >[wolfy@wolfy tmp]$ dinotrace /tmp/*vcd
> >%E, Strange bit value U on line 388 of /tmp/wave1.vcd
> >wave1,vcd is in fact part of stock IUS82, that is
> >/tools.lnx86/inca/examples/vhpi/waveform/test/golden/wave1.vcd 
> 
> U's aren't legal in VCDs.  This is probably a EVCD file, which verilator
> doesn't support. EVCDs are used primarily by chip testers, it's a bit odd that
> an example would use that.
> 
Well, that's what Cadence distributes. And the company I work for has chip testing as major part of it's business.


> >2. Is the emacs subpackage really supposed to be used without having dinotrace
> >installed? I see no reason to not allow that, but I want your confirmation that
> >this is intentional.  
> 
> No, the emacs part won't be usable without the verilog-mode.el package, but
> the rest of the tool will be.
My question was directed more towards Chitlesh. As packaged now, the emacs-dinotrace package does not require dinotrace. Which is OK if you only edit files but will lead to unpleasant experience if one wants to launch dinotrace from inside emacs, as "yum install emacs-dinotrace" would not have pulled in dinotrace.




> If you're distributing with emacs-21.4 then you really should be providing a
> verilog-mode.el RPM.  It's far more in demand than Dinotrace/Verilator/Icarus
> all which you're including.  Emacs-22 includes it as part of the Emacs core
> library, so if you release a more recent emacs that gets it too.  
Well, RHEL5 ships emacs-21.4 and it's not for us to decide what will be included in the future. What I am most interested in is having dinotrace available for my colleagues who use Centos. For the moment the free tool they could use is only gtkwave, if I am not mistaken.

Comment 27 Parag AN(पराग) 2009-05-13 06:34:10 UTC
any progress here?

Comment 28 manuel wolfshant 2009-05-13 07:51:58 UTC
i am still waiting for a reply to my last question in #23 and the comment in #26. Otherwise all is good, I would approve the package.

Comment 29 Chitlesh GOORAH 2009-05-14 09:48:29 UTC
I'm still around and fighting with this emacs.

The problem is now we need an additional verilog-mode package for epel-5, but 
- the latest verilog mode package is not available on fedora yet. Fedora emacs packager maintains only from the sources than upstream ships.
- I'm not sure whether the latest verilog mode package is compatible with the emacs that rhel or centos has. Else, I'll use an older version of verilog-mode

Comment 30 wsnyder 2009-05-14 10:17:02 UTC
FWIW any verilog-mode should work with any emacs, especially in the newer-verilog-mode with older-emacs direction.  (Basically whenever a new emacs is under development verilog-mode adds support for it, but doesn't loose support for older versions.)

Comment 31 manuel wolfshant 2009-05-14 10:24:22 UTC
Package APPROVED, but Chitlesh, please try your best to push the package to EL-5. Also mind the license tag.

Comment 32 Chitlesh GOORAH 2009-05-14 23:03:34 UTC
Updated to support EPEL
Spec URL: http://chitlesh.fedorapeople.org/RPMS/dinotrace.spec
SRPM URL: http://chitlesh.fedorapeople.org/RPMS/dinotrace-9.4a-2.fc10.src.rpm

I will the cvs request once emacs-verilog-mode has been approuved for EL-5. However I'll start a discussion on the mailing list to remove verilog-mode from the fedora emacs package, so that I can maintain it separately and sync its update with respect to dinotrace.

Wilson is right, the latest verilog-mode is compatible with the emacs-0.21. I've verified it under Centos.

Manuel, can you review the small package emacs-verilog-mode for me, I'll commit only to EL-5 until I have clearance from the mailing list to commit for F-XX branches.

Comment 33 manuel wolfshant 2009-05-15 08:03:52 UTC
(In reply to comment #32)

> Manuel, can you review the small package emacs-verilog-mode for me, I'll commit
> only to EL-5 until I have clearance from the mailing list to commit for F-XX
> branches.  

Sure, it will be my pleasure to do it, but not sooner than next week. I am really really very busy at work these weeks

Comment 34 Chitlesh GOORAH 2009-05-26 11:06:15 UTC
New Package CVS Request
=======================
Package Name: dinotrace
Short Description: X11 waveform viewer for electronics
Owners: chitlesh
Branches: F-10 F-11 EL-5

Comment 35 Jason Tibbitts 2009-05-26 22:38:33 UTC
CVS done.

Comment 36 manuel wolfshant 2009-07-28 06:42:04 UTC
Chitlesh, I have tried today to do a test build for EL-5, but it failed:
http://koji.fedoraproject.org/koji/getfile?taskID=1547087&name=build.log

If you can spare the time, please try to fix it. Otherwise I'll try to do it, but I really have no idea when the [free] time will come :(

Comment 37 Chitlesh GOORAH 2009-07-28 08:10:36 UTC
It is missing emacs-verilog-mode (which does not come out with EL-5 Emacs's version) as BuildRequires.


I have packaged it already, but I have no one to review it.
https://bugzilla.redhat.com/show_bug.cgi?id=500931

You would mind step in for this package review of this small package ?

Comment 38 Fedora Update System 2009-09-22 22:02:15 UTC
dinotrace-9.4a-5.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/dinotrace-9.4a-5.el5

Comment 39 Fedora Update System 2009-09-23 19:00:46 UTC
dinotrace-9.4a-5.el5 has been pushed to the Fedora EPEL 5 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update dinotrace'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/EL-5/FEDORA-EPEL-2009-0508

Comment 40 Fedora Update System 2009-10-10 20:24:19 UTC
dinotrace-9.4a-5.el5 has been pushed to the Fedora EPEL 5 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.