Bug 655883 - Review Request: latexila - Integrated LaTeX Environment for the GNOME desktop
Summary: Review Request: latexila - Integrated LaTeX Environment for the GNOME desktop
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: 2010-11-22 15:53 UTC by Thibault North
Modified: 2010-12-12 00:01 UTC (History)
6 users (show)

Fixed In Version: latexila-2.0.1-4.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-12 00:01:36 UTC
Type: ---
Embargoed:
pikachu.2014: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Thibault North 2010-11-22 15:53:19 UTC
Spec URL: http://tnorth.fedorapeople.org/latexila.spec
SRPM URL: http://tnorth.fedorapeople.org/latexila-2.0.1-2.fc14.src.rpm

Description: 

Hi there, this is the packaging of Latexila, based on a spec file done and updated by its author.

LaTeXila is an Integrated LaTeX Environment for GNOME. The main features are:
  * Configurable buttons to compile, convert and view a document in one click
  * LaTeX commands auto-completion
  * Symbol tables (Greek letters, arrows, ...)
  * File browser integrated
  * Template managing
  * Menus with the most commonly used LaTeX commands
  * Easy projects management

Comment 1 Mohamed El Morabity 2010-11-22 16:27:06 UTC
I will review this package.

Comment 2 Mohamed El Morabity 2010-11-22 17:17:31 UTC
Some comments, just by reading the spec file :

* Version conditions in (Build)Requires are usually useless :
     http://fedoraproject.org/wiki/PackagingGuidelines#Requires
  For example, cmake version is >= 2.6.4 in every supported
  Fedora release (>= 12), and even RHEL. Same thing for gtk2. It
  is yet OK for gtksourceview and vala... with these conditions,
  it is clear that your package wouldn't be available for Fedora
  < 14... And Rawhide (!)... Hope you warned upstream about it.

* Requires on gtk2 and gtksourceview must be removed, they are
  detected automatically by rpm (the needed shared libs by the
  program are added as Requires).

* In the %install section, all these mkdir/cp lines can be
  reduced using a loop and install:
     for s in 16 22 24 32 48; do
        install -Dp data/images/app/icon$s.png \
           %{buildroot}%{_datadir}/icons/hicolor/${s}x$s/apps/%{name}.png
     done

* Please consider carefully:
     http://fedoraproject.org/wiki/PackagingGuidelines#Handling_Locale_Files  
  to correctly handle locale files. Thet MUST not be listed in %files.

* You should not use the .gz extension for man pages in %files,
  use the * joker instead (in case the compression format for man
  pages would change).

Comment 3 Sébastien Wilmet 2010-11-22 17:44:20 UTC
Hello, I'm the main developer of latexila.

Vala 0.11 breaks the API, that's why latexila can not be compiled with Vala >= 0.11.

There are three solutions that I see to include latexila in rawhide (and thus F15):

1) Different versions of Vala can be installed at the same time on the system, because Vala is installed in directories like /usr/share/vala-0.10/, etc. So the solution would be to have different packages for different versions of Vala, like automake.

2) Another solution is to include the C code generated with the right version of Vala in the tarball.

3) Make a new release of latexila based on Vala 0.11 and above.

Comment 4 Thibault North 2010-11-22 18:23:39 UTC
Thanks for your comments. The spec was updated and the SRPM is now at:
http://tnorth.fedorapeople.org/latexila-2.0.1-3.fc14.src.rpm

@Sébastien: I guess you will update latexila to support newer version of Vala ?

Comment 5 Mohamed El Morabity 2010-11-23 10:58:58 UTC
Please remove the useless versions conditions as explained in my first point for cmake and gtk2-devel:
   BuildRequires:  gettext
   BuildRequires:  cmake # No version condition needed
   BuildRequires:  gtk2-devel # Here too
   BuildRequires:  gtksourceview2-devel >= 2.10
   BuildRequires:  desktop-file-utils
   # Vala version 0.10.x (not above, not below)                                                                                                                                                                                                 
   BuildRequires:  vala >= 0.10.0
   BuildRequires:  vala < 0.11
   BuildRequires:  libgee-devel
   BuildRequires:  unique-devel
   BuildRequires:  libX11-devel
By the way, you can remove libX11-devel (already required by gtk2-devel), as well as gtk2-devel (already required by unique-devel and gtksourceview2-devel).

You can do without a patch, not easy to track and maintain, for flags: you can delete the « set (CMAKE_C_FLAGS "-O2") » in CMakeLists.txt using sed in %prep:
   %prep
   %setup -q
   # Unset upstream CFLAGS
   sed -i '/set (CMAKE_C_FLAGS "-O2")/d' CMakeLists.txt
And call cmake in %build like this:
   %build
   %cmake -DCMAKE_C_FLAGS:STRING="%{optflags}" .
   make VERBOSE=1 %{?_smp_mflags}

You can add the TODO file in %doc, to keep users aware of future features and fixes.


(In reply to comment #3)
> Hello, I'm the main developer of latexila.
> 2) Another solution is to include the C code generated with the right version
> of Vala in the tarball.
> 
> 3) Make a new release of latexila based on Vala 0.11 and above.
These solutions are better than the first one, I'm not sure it would be relevant to maintain 2 vala stacks just for latexila « a priori ». The last one is probably the most reasonnable (and easiest for the package maintainer ^^).

Comment 6 Thibault North 2010-11-25 15:21:27 UTC
Ok, new srpm here:
http://tnorth.fedorapeople.org/latexila-2.0.1-4.fc14.src.rpm
And updated spec.

Sorry I did all that a bit in a rush and should have been more careful :-)

Comment 7 Mohamed El Morabity 2010-12-01 07:28:35 UTC
Sorry for the late answer. Here is the finan review.

MUST: rpmlint must be run on every package.
->OK, neither error nor warning

MUST: The package must be named according to the Package Naming Guidelines.
->OK

MUST: The spec file name must match the base package %{name}, in the format
      %{name}.spec unless your package has an exemption.
->OK

MUST: The package must meet the Packaging Guidelines.
->OK

MUST: The package must be licensed with a Fedora approved license and meet the
      Licensing Guidelines.
->OK

MUST: The License field in the package spec file must match the actual license.
->OK, all files under GPL v3 or above

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.
->OK

MUST: The spec file must be written in American English.
->OK

MUST: The spec file for the package MUST be legible.
->OK

MUST: The sources used to build the package must match the upstream source, as
      provided in the spec URL.
->OK, md5sum = 1fdddbba9fd209b1e7c9aa96f9627e18

MUST: The package MUST successfully compile and build into binary rpms on at
      least one primary architecture.
->OK, see http://koji.fedoraproject.org/koji/taskinfo?taskID=2636405

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.
->N/A

MUST: All build dependencies must be listed in BuildRequires, except for any
      that are listed in the exceptions section of the Packaging Guidelines ;
      inclusion of those as BuildRequires is optional.
->OK

MUST: The spec file MUST handle locales properly. This is done by using the
      %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
->OK

MUST: Every binary RPM package (or subpackage) which stores shared library files
      (not just symlinks) in any of the dynamic linker's default paths, must
      call ldconfig in %post and %postun.
->N/A

MUST: Packages must NOT bundle copies of system libraries.
->OK

MUST: If the package is designed to be relocatable, the packager must state this
      fact in the request for review, along with the rationalization for
      relocation of that specific package. Without this, use of Prefix: /usr is
      considered a blocker.
->N/A

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.
>OK

MUST: A Fedora package must not list a file more than once in the spec file's
      %files listings. 
->OK

MUST: Permissions on files must be set properly. Executables should be set with
      executable permissions, for example. Every %files section must include a
      %defattr(...) line.
->OK

MUST: Each package must consistently use macros.
->OK

MUST: The package must contain code, or permissable content.
->OK

MUST: Large documentation files must go in a -doc subpackage.
->N/A

MUST: If a package includes something as %doc, it must not affect the runtime of
      the application. To summarize: If it is in %doc, the program must run
      properly if it is not present.
->N/A

MUST: Header files must be in a -devel package.
->N/A

MUST: Static libraries must be in a -static package.
->N/A

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.
->N/A

MUST: In the vast majority of cases, devel packages must require the base
      package using a fully versioned dependency: Requires: %{name} =
      %{version}-%{release}.
->N/A

MUST: Packages must NOT contain any .la libtool archives, these must be removed
      in the spec if they are built.
->OK

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.
->N/A

MUST: Packages must not own files or directories already owned by other
      packages.
->OK

MUST: All filenames in rpm packages must be valid UTF-8.
->OK

This package is APPROVED.

Comment 8 Thibault North 2010-12-02 14:56:49 UTC
New Package SCM Request
=======================
Package Name: latexila
Short Description: Integrated LaTeX Environment for the GNOME desktop
Owners: tnorth
Branches: f14 el6

Comment 9 Jason Tibbitts 2010-12-02 19:38:32 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2010-12-02 20:40:04 UTC
latexila-2.0.1-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/latexila-2.0.1-4.fc14

Comment 11 Fedora Update System 2010-12-03 20:40:18 UTC
latexila-2.0.1-4.fc14 has been pushed to the Fedora 14 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 latexila'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/latexila-2.0.1-4.fc14

Comment 12 Fedora Update System 2010-12-12 00:01:30 UTC
latexila-2.0.1-4.fc14 has been pushed to the Fedora 14 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.