Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Bug ID: 881794 Summary: Review Request: c-graph - "C-Graph" is an abbreviation for "Convolution Graph" Product: Fedora Version: rawhide Component: Package Review Severity: medium Priority: medium Reporter: paulo.cesar.pereira.de.andrade@gmail.com
Spec URL: http://pcpa.fedorapeople.org/c-graph.spec SRPM URL: http://pcpa.fedorapeople.org/c-graph-2.0-1.fc19.src.rpm Description: GNU C-Graph is a novel tool for visualizing the mathematical operation of convolution underlying natural phenomena susceptible to analysis in terms of engineering signals and systems theory. "C-Graph" is an abbreviation for "Convolution Graph". The package is derived from the BSc. Honours dissertation in Electrical Engineering "Interactive Computer Package Demonstrating: Sampling Convolution and the FFT", Adrienne Gaye Thompson, University of Aberdeen (1983).
The package computes the linear convolution of two signals in the time domain then compares their circular convolution by demonstrating the convolution theorem. Each signal is modelled by a register of discrete values simulating samples of a signal, and the discrete Fourier transform (DFT) computed by means of the Fast Fourier Transform (FFT).
GNU C-Graph is interactive, prompting the user to enter character or numerical values from the keyboard, dispensing with the learning curve for writing code. The software is an excellent tool for lecture demonstrations and lab work in the teaching of signals and systems theory.
C-Graph is written in Fortran. Adrienne Gaye Thompson is the sole author of GNU C-Graph. Fedora Account System Username: pcpa
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Adrienne Thompson agt@codeartnow.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |agt@codeartnow.com
--- Comment #1 from Adrienne Thompson agt@codeartnow.com --- Summary/Short Description:
GNU C-Graph: A tool for visualizing convolution.
But I like Paulo's summary .:)
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Susi Lehtola susi.lehtola@iki.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Review Request: c-graph - |Review Request: c-graph - |"C-Graph" is an |a tool for visualizing the |abbreviation for |mathematical operation of |"Convolution Graph" |convolution
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #2 from Susi Lehtola susi.lehtola@iki.fi --- The summary
Summary: "C-Graph" is an abbreviation for "Convolution Graph"
is bad. For some reason rpmlint doesn't complain about this, since you've spelled the name with capital letters. The summary should simply read
Summary: A tool for visualizing convolutions in signal analysis
**
I'd also shorten the description to
%description C-Graph is a novel tool for visualizing the mathematical operation of convolution underlying natural phenomena susceptible to analysis in terms of engineering signals and systems theory.
C-Graph computes the linear convolution of two signals in the time domain then compares their circular convolution by demonstrating the convolution theorem. Each signal is modelled by a register of discrete values simulating samples of a signal, and the discrete Fourier transform (DFT) computed by means of the Fast Fourier Transform (FFT).
GNU C-Graph is interactive, prompting the user to enter character or numerical values from the keyboard, dispensing with the learning curve for writing code. The software is an excellent tool for lecture demonstrations and lab work in the teaching of signals and systems theory.
**
<Very much OT> Although a special program written in a low-level language for demonstrating convolutions might have made sense in the 1980s, it's way out of date today when better solutions exist out-of-the-box.
For instance, GNU Octave could very easily be used to perform all of the Fourier transforms, plots and so on, with very little effort, since .m files can be run as shell scripts. Not only does this make development a lot faster, but also the transforms use better algorithms (e.g. fftw), and if the user ends up looking at the script, s/he'll instantly learn how these things are done in practice -- using Octave.
PS. I'd like to note that the user interface of the program would require some polishing, e.g. checks that the user input was OK or not (see stat argument for Fortran READ function). </OT>
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #3 from Adrienne Thompson agt@codeartnow.com --- C-Graph is certainly not out of date. GNU C-Graph's selling point is that the package is exceptionally user-friendly; a user can visualize the convolution theorem and signal spectra without first having to deal with the Octave/Matlab/Scilab etc learning curve. Highly effective lecture demonstrations can be accomplished with just a few keystrokes.
Error handling capabilities are sufficient for 2.0. Plans include development of the user interface and a more sophisticated FFT algorithm for future versions. Development of C-Graph 2.0 was a solo effort.
BTW, Fortran is not a low-level language.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #4 from Adrienne Thompson agt@codeartnow.com --- Susi,
Signals and Systems analysis appears not to be your area of expertise. I'm sure there are others on the Fedora team with that specialty.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Jerry James loganjerry@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |loganjerry@gmail.com Assignee|nobody@fedoraproject.org |loganjerry@gmail.com Flags| |fedora-review?
--- Comment #5 from Jerry James loganjerry@gmail.com --- I'll take this review. Paulo, are you up for yet another GAP package review? If so, I'd be happy to have bug 869797 reviewed.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #6 from Jerry James loganjerry@gmail.com --- Issues, in no particular order: 1. The system makes calls out to some binaries that are not Requires. a. "clear", which is in the ncurses package b. "less", which is in the less package c. "mkdir" and "mv", which are in the coreutils package d. "gnuplot", which is in the gnuplot or gnuplot-minimal package
I am not concerned about (c), because I doubt a system can function without the coreutils package installed, but consider the rest. 2. The program is built with "-O0 -g" instead of the proper compiler flags, because %configure sets FFLAGS, but the Makefile expects FCFLAGS. 3. The COPYING file is in %{_datadir}/%{name} because the program expects to be able to read it from there to display to users. Why are AUTHORS, README, and TODO there? That seems to me to be the wrong place. They should be in %{_docdir}/%{name} instead. 4. On a related note, AUTHORS, README, etc. are all properly marked %doc, meaning they can be omitted in a no-docs install. But COPYING shouldn't be marked %doc, because the program expects it to always be present. 5. The RPM is required to be written in American English. The rpmlint run shows that two words in the description use British English spellings. They should be changed as indicated by rpmlint. 6. I echo the concerns about the summary given in comment 1 and comment 2. I suggest you go with Adrienne's summary. Note that the summary in the spec file and the bug summary should match.
Package Review ==============
Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed
===== MUST items =====
Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [!]: %build honors applicable compiler flags or justifies otherwise. The package is built with the flags "-O0 -g". The problem appears to be that RPM's %configure macro sets FFLAGS, but the Makefile uses FCFLAGS. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package contains no bundled libraries. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Sources contain only permissible code or content. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [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]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "*No copyright* GPL (v3 or later)", "GPL (v3 or later)". 2 files have unknown license. Detailed output of licensecheck in /home/jamesjer/881794-c-graph/licensecheck.txt [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [x]: Package is not relocatable. [!]: Requires correct, justified where necessary. I think ncurses, less, and gnuplot should also be Requires. See above. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [!]: Spec file is legible and written in American English. The rpmlint run shows two words with British English spellings. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [x]: Useful -debuginfo package or justification otherwise. [x]: Large documentation must go in a -doc subpackage. Note: Documentation size is 317440 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local
===== SHOULD items =====
Generic: [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: The placement of pkgconfig(.pc) files are correct. [x]: Scriptlets must be sane, if used. [x]: SourceX tarball generation or download is documented. [x]: SourceX / PatchY prefixed with %{name}. [x]: SourceX is a working URL. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [!]: %check is present and all tests pass. [!]: Packages should try to preserve timestamps of original installed files. The timestamp on README is not preserved. [x]: Spec use %global instead of %define.
===== EXTRA items =====
Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 1228800 bytes in /usr/share 1228800 c-graph-2.0-1.fc19.i686.rpm
Rpmlint ------- Checking: c-graph-2.0-1.fc19.src.rpm c-graph-2.0-1.fc19.i686.rpm c-graph-debuginfo-2.0-1.fc19.i686.rpm c-graph.src: W: spelling-error %description -l en_US Honours -> Hon ours, Hon-ours, Honors c-graph.src: W: spelling-error %description -l en_US modelled -> modeled, model led, model-led c-graph.src: W: invalid-url URL: http://www.gnu.org/software/c-graph timed out c-graph.i686: W: spelling-error %description -l en_US Honours -> Hon ours, Hon-ours, Honors c-graph.i686: W: spelling-error %description -l en_US modelled -> modeled, model led, model-led 3 packages and 0 specfiles checked; 0 errors, 5 warnings.
Rpmlint (installed packages) ---------------------------- # rpmlint c-graph-debuginfo c-graph c-graph.i686: W: spelling-error %description -l en_US Honours -> Hon ours, Hon-ours, Honors c-graph.i686: W: spelling-error %description -l en_US modelled -> modeled, model led, model-led 2 packages and 0 specfiles checked; 0 errors, 2 warnings. # echo 'rpmlint-done:'
Requires -------- c-graph-2.0-1.fc19.i686.rpm (rpmlib, GLIBC filtered):
/bin/sh ImageMagick info libc.so.6 libgcc_s.so.1 libgfortran.so.3 libgfortran.so.3(GFORTRAN_1.0) libgfortran.so.3(GFORTRAN_1.4) libm.so.6 libquadmath.so.0 rtld(GNU_HASH)
c-graph-debuginfo-2.0-1.fc19.i686.rpm (rpmlib, GLIBC filtered):
Provides -------- c-graph-2.0-1.fc19.i686.rpm:
c-graph = 2.0-1.fc19 c-graph(x86-32) = 2.0-1.fc19
c-graph-debuginfo-2.0-1.fc19.i686.rpm:
c-graph-debuginfo = 2.0-1.fc19 c-graph-debuginfo(x86-32) = 2.0-1.fc19
MD5-sum check ------------- http://ftp.gnu.org/gnu/c-graph/c-graph-2.0.tar.gz : CHECKSUM(SHA256) this package : 016c7cbe21747039394c5b89d43f8aad4dfd978acec7364671ffc303f3bf9bc2 CHECKSUM(SHA256) upstream package : 016c7cbe21747039394c5b89d43f8aad4dfd978acec7364671ffc303f3bf9bc2
Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16 Buildroot used: fedora-rawhide-i386 Command line :/usr/bin/fedora-review -b 881794 -m fedora-rawhide-i386
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Review Request: c-graph - |Review Request: c-graph - |a tool for visualizing the |A tool for visualizing |mathematical operation of |convolution |convolution |
--- Comment #7 from Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com --- Update:
- Correct summary as per package author suggestion (#881794) - Add missing requires for called binaries (#881794) - Correct description to use American English per the guidelines (#881794) - Move documentation to docdir (#881794)
Spec URL: http://pcpa.fedorapeople.org/c-graph.spec SRPM URL: http://pcpa.fedorapeople.org/c-graph-2.0-2.fc19.src.rpm
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #8 from Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com --- Ops, forgot to add some extra changes:
- Do not modify README timestamp (#881794) - Use proper fortran compile flags (#881794)
Spec URL: http://pcpa.fedorapeople.org/c-graph.spec SRPM URL: http://pcpa.fedorapeople.org/c-graph-2.0-3.fc19.src.rpm
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Jerry James loganjerry@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? | Flags| |fedora-review+
--- Comment #9 from Jerry James loganjerry@gmail.com --- That fixes everything, so this package is APPROVED.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |fedora-cvs?
--- Comment #10 from Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com --- New Package SCM Request ======================= Package Name: c-graph Short A tool for visualizing convolution Owners: pcpa Branches: f18 InitialCC: pcpa
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #11 from Jon Ciesla limburgher@gmail.com --- Git done (by process-git-requests).
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #12 from Adrienne Thompson agt@codeartnow.com --- Jerry - you're a genius!!
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #13 from Fedora Update System updates@fedoraproject.org --- c-graph-2.0-3.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/c-graph-2.0-3.fc18
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #14 from Fedora Update System updates@fedoraproject.org --- c-graph-2.0-3.fc18 has been pushed to the Fedora 18 testing repository.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |CURRENTRELEASE Last Closed| |2013-01-28 10:25:32
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #15 from Fedora Update System updates@fedoraproject.org --- c-graph-2.0-3.fc18 has been pushed to the Fedora 18 stable repository.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #16 from Adrienne Thompson agt@codeartnow.com --- Wear a Fedora for Freedom!
http://www.codeartnow.com/gallery-1/freedom/gravitating-to-gnu
Good job Fedora, have an especially productive 2013. Thank you!
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #17 from Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com --- (In reply to comment #16)
Wear a Fedora for Freedom!
http://www.codeartnow.com/gallery-1/freedom/gravitating-to-gnu
Good job Fedora, have an especially productive 2013. Thank you!
Is it hand painted or did you use some program to paint it?
I see an Apple and Python reference there :-)
Well, and the obvious Gnu and Fedora references.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #18 from Adrienne Thompson agt@codeartnow.com --- (In reply to comment #17)
Is it hand painted or did you use some program to paint it?
I see an Apple and Python reference there :-)
Well, and the obvious Gnu and Fedora references.
You may be mistaking the gnu's horns (sticking out of the fedora) for parts of a python, but there is no Python reference. There is an Apple reference; Newton's apple is a kind of metaphor calling Apple users to migrate/gravitate to GNU/Linux systems.
It's all hand painted - water colour. The high resolution image is licensed to the FSF.
I do plan to get up to speed with Inkscape, the Gimp and Blender, however, to produce more FLOSS art.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #19 from Paulo Andrade paulo.cesar.pereira.de.andrade@gmail.com --- Just tongue-in-cheek or is that not the Gnu tongue? I mean, snakes keep the tongue out frequently, I think they use the tongue to "smell" :-)
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #20 from Adrienne Thompson agt@codeartnow.com --- (In reply to comment #19)
Just tongue-in-cheek or is that not the Gnu tongue? I mean, snakes keep the tongue out frequently, I think they use the tongue to "smell" :-)
The gnu's tongue, I thought, just made the portrait more interesting. No reference was intended to Python or other snakes (beside Apple)!
:)
https://bugzilla.redhat.com/show_bug.cgi?id=881794
--- Comment #21 from Christopher Meng cickumqt@gmail.com --- *** Bug 879435 has been marked as a duplicate of this bug. ***
package-review@lists.fedoraproject.org