Bug 772709 - Review Request: TeXamator - Helping you making your exercise sheets
Summary: Review Request: TeXamator - Helping you making your exercise sheets
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mohamed El Morabity
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-09 17:53 UTC by Mario Santagiuliana
Modified: 2012-01-26 22:56 UTC (History)
3 users (show)

Fixed In Version: TeXamator-1.7.5-0.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-16 12:09:38 UTC
Type: ---
Embargoed:
pikachu.2014: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Mario Santagiuliana 2012-01-09 17:53:37 UTC
Spec URL: http://marionline.fedorapeople.org/packages/SPECS/texamator.spec
SRPM URL: http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.3-0.fc16.src.rpm
Description: TeXamator is written in Python/Qt4. It is aimed at helping you making your
exercise sheets. Basically, it browses a specified directory, looks for .tex
files containing exercises and builds a tree with all your exercises in it. You
can click on an element of the tree to have a preview of the exercise and add
it to a list if you wish to. Then you can save your work to a .tex file or you
can generate a .dvi file.

Comment 1 Mario Santagiuliana 2012-01-11 12:48:21 UTC
Rename Spec file...

Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.3-1.fc16.src.rpm

I will contact the upstream to understand which GPL License to use.

Comment 2 Mario Santagiuliana 2012-01-11 15:47:36 UTC
Update to new version, added gpl3 license.

Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.4-0.fc16.src.rpm

Waiting a reviewer :)
Thanks in advance!

Comment 3 Mohamed El Morabity 2012-01-11 16:09:06 UTC
Hello,

just some comments for starting, about the Requires:
- since python is already required by PyQt4, you can remove python from the Requires
- don't rely on "texlive-latex", but rather on "tex(latex)", as explained here:
  
http://fedoraproject.org/wiki/Packaging_tricks#Installing_TeX_files_.28unvetted.29
If one day Fedora decides to switch to another (La)TeX distribution (it already
happened once, from teTeX to TeXLive), there will be no need to fix the
Requires on (La)TeX tools, thanks to this virtual Provides.

Comment 4 Mario Santagiuliana 2012-01-11 20:50:27 UTC
Thank you Mohamed!
I update the spec file and the srpm :)

Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.4-1.fc16.src.rpm

Comment 5 Mohamed El Morabity 2012-01-12 13:29:12 UTC
There are some rpmlint errors:
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/other/__init__.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/guis/__init__.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/__init__.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/guis/guirandomizeplus.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/other/highlight.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/guis/guiwizardplus.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/guis/guiprefsplus.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/guis/guiexportplus.py 0644L /usr/bin/python
   TeXamator.noarch: E: non-executable-script /usr/share/TeXamator/partielatormods/guis/guiaboutplus.py 0644L /usr/bin/python
All these files have a shebang, which should be removed; you can use the following trick to achieve this:
   http://fedoraproject.org/wiki/Packaging_tricks#Remove_shebang_from_Python_libraries

About this issue:
   TeXamator.noarch: E: script-without-shebang /usr/share/TeXamator/ui_files/plop.sh
This script isn't needed by the application, it's just a developer's utility. You should remove it.

Comment 6 Mario Santagiuliana 2012-01-12 15:11:21 UTC
Ok, fix the error in rpmlint update here:
Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.4-2.fc16.src.rpm

Thank you!

Comment 7 Mohamed El Morabity 2012-01-13 01:38:56 UTC
All the Python files in %{_datadir}/%{name}/ are libraries, NOT executables (except %{name}.py). They MUST not be executable in any way.
I suppose the shebang trick in the page I gave you above didn't work. This trick supposes that the shebang contains « /usr/bin/env/ », whereas the incrimined files in your package have « /usr/bin/python ». You should adapt it as below instead:

for lib in %{buildroot}%{_datadir}/%{name}/partielatormods/*/*.py %{buildroot}%{_datadir}/%{name}/partielatormods/*.py; do
 sed '/\/usr\/bin\/python/d' $lib > $lib.new &&
 touch -r $lib $lib.new &&
 mv $lib.new $lib
done

I suggest you also to comment all the fixes you include in you .spec, to help those who would read it... And for you to remember why you made the fix ^^.

About this fix:
   find -name '*~' -print0 | xargs -0 -r -l512 rm -f
I suggest you to use this shorter command instead
   find -name '*~' -delete
Move this on in %prep, it's probably a better place to call it.

Comment 8 Mario Santagiuliana 2012-01-13 09:29:10 UTC
Thanks for the clarifications. I update the files here:
Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.4-3.fc16.src.rpm

:)

Comment 9 Mohamed El Morabity 2012-01-13 12:46:07 UTC
That seems good :)
Now you need to include a .desktop file to your package:
   http://fedoraproject.org/wiki/Packaging:Guidelines#Desktop_files
I suggest you the file ui_files/icones/TeXamator.png in the sources as the icon for this desktop file.

Comment 10 Mario Santagiuliana 2012-01-13 17:08:35 UTC
Update spec file adding .desktop file. Done I it in the correct way?
Thank yuo!

Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.4-4.fc16.src.rpm

Comment 11 Mohamed El Morabity 2012-01-13 23:34:33 UTC
That's perfect now.
Alexis has just published a new release of TeXamator, which fixes language issues when the executable is called outside the TeXamator folder (as done by the RPM).
Once your RPM updated to this new version, I'll approve your package.

Comment 12 Mario Santagiuliana 2012-01-14 08:05:03 UTC
Ok, package updated:
Spec URL: http://marionline.fedorapeople.org/packages/SPECS/TeXamator.spec
SRPM URL:
http://marionline.fedorapeople.org/packages/SRPMS/TeXamator-1.7.5-0.fc16.src.rpm

Thanks Mohamed!

Comment 13 Mohamed El Morabity 2012-01-14 11:39:03 UTC
Here is the review:

 +:ok, =:needs attention, -:needs fixing

MUST Items:

[+] MUST: rpmlint must be run on every package.
TeXamator.src: W: spelling-error %description -l en_US tex -> Tex, ex, text
TeXamator.src: W: spelling-error %description -l en_US dvi -> div, vi, lvi
TeXamator.noarch: W: spelling-error %description -l en_US tex -> Tex, ex, text
TeXamator.noarch: W: spelling-error %description -l en_US dvi -> div, vi, lvi
TeXamator.noarch: W: no-manual-page-for-binary TeXamator
2 packages and 0 specfiles checked; 0 errors, 5 warnings.
>>The warnings can be safely ignored

[+] MUST: The package must be named according to the Package Naming Guidelines.

[+] MUST: The spec file name must match the base package %{name}

[+] MUST: The package must meet the Packaging Guidelines.

[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.

[+] MUST: The License field in the package spec file must match the actual
license.

[+] MUST: 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 must be included in %doc.

[+] MUST: The spec file must be written in American English.

[+] MUST: The spec file for the package MUST be legible.

[+] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
>>MD5 sum=b649d3b4fcb994ba7db35384ad3d3b51 OK

[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.

[+] MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.

[+] MUST: All build dependencies must be listed in BuildRequires

[+] MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro.

[+] MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.

[+] MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review

[+] MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory.

[+] MUST: A package must not contain any duplicate files in the %files listing.

[+] MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example.

[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.

[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.

[+] MUST: Large documentation files should go in a doc subpackage.

[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.

[+] MUST: Header files must be in a -devel package.

[+] MUST: Static libraries must be in a -static package.

[+] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go in
a -devel package.

[+] MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release} 

[+] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.

[+] MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.

[+] MUST: Packages must not own files or directories already owned by other
packages.

[+] MUST: All filenames in rpm packages must be valid UTF-8.

APPROVED!

Comment 14 Mario Santagiuliana 2012-01-14 11:50:52 UTC
Thank you Mohamed for your review!

Comment 15 Mario Santagiuliana 2012-01-14 11:57:21 UTC
New Package SCM Request
=======================
Package Name: TeXamator
Short Description: Helping you making your exercise sheets
Owners: marionline
Branches: f15 f16
InitialCC:

Comment 16 Gwyn Ciesla 2012-01-15 22:25:29 UTC
Git done (by process-git-requests).

Comment 17 Fedora Update System 2012-01-16 12:14:11 UTC
TeXamator-1.7.5-0.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/TeXamator-1.7.5-0.fc16

Comment 18 Fedora Update System 2012-01-16 12:15:17 UTC
TeXamator-1.7.5-0.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/TeXamator-1.7.5-0.fc15

Comment 19 Fedora Update System 2012-01-26 22:55:24 UTC
TeXamator-1.7.5-0.fc15 has been pushed to the Fedora 15 stable repository.

Comment 20 Fedora Update System 2012-01-26 22:56:07 UTC
TeXamator-1.7.5-0.fc16 has been pushed to the Fedora 16 stable repository.


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