Bug 735891

Summary: Review Request: python-mako0.4 - Mako template library for Python
Product: [Fedora] Fedora Reporter: Toshio Ernie Kuratomi <a.badger>
Component: Package ReviewAssignee: Pierre-YvesChibon <pingou>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: notting, package-review, pingou
Target Milestone: ---Flags: pingou: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-03 19:49:38 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:    
Bug Blocks: 681507    

Description Toshio Ernie Kuratomi 2011-09-06 03:54:27 UTC
Spec URL: http://toshio.fedorapeople.org/packages/python-mako0.4.spec
SRPM URL: http://toshio.fedorapeople.org/packages/python-mako0.4-0.4.2-1.fc14.src.rpm
Description:
Mako is a template library written in Python. It provides a familiar, non-XML
syntax which compiles into Python modules for maximum performance. Mako's
syntax and API borrows from the best ideas of many others, including Django
templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded
Python (i.e. Python Server Page) language, which refines the familiar ideas of
componentized layout and inheritance to produce one of the most straightforward
and flexible models available, while also maintaining close ties to Python
calling and scoping semantics.

This package contains the 0.4.x version of the library for use on EL-5, EL-6, Fedora 15 and older.

Comment 1 Pierre-YvesChibon 2011-09-06 08:12:30 UTC
(In reply to comment #0)
> This package contains the 0.4.x version of the library for use on EL-5, EL-6,
> Fedora 15 and older.

This lead me to think it won't work under F14 while you actually provide a F14 srpm :-)

Comment 2 Toshio Ernie Kuratomi 2011-09-06 14:51:56 UTC
Heh.  Yeah, it'll work on F14 and F15.  It's not necessary on F16 and F17 (as they already have mako-0.4).

Comment 3 Toshio Ernie Kuratomi 2011-09-06 15:24:25 UTC
I guess I shouldn't make packages while on vacation :-)  Updated package to be parallel installable with existing python-mako:

Spec URL: http://toshio.fedorapeople.org/packages/python-mako0.4.spec
SRPM URL:
http://toshio.fedorapeople.org/packages/python-mako0.4-0.4.2-2.fc14.src.rpm

Comment 4 Pierre-YvesChibon 2011-09-06 15:42:35 UTC
First feedback

> # These are supporting files for building the docs.  Also, they
> # contain files licensed GPLv2 or BSD which confuses the licensing
> # situation. Just don't ship them.
> rm -rf doc/build
Aren't we already shipping them by just having them in the src.rpm?


Also, looking at http://koji.fedoraproject.org/koji/taskinfo?taskID=3327556
I think that python3-mako-0.4.2-1.fc16.noarch.rpm will conflict with the current python3-mako present in the repo.

Comment 5 Toshio Ernie Kuratomi 2011-09-06 16:27:41 UTC
Updated srpm with more doc files for the python3 subpackage, and a license clarification:

Spec URL: http://toshio.fedorapeople.org/packages/python-mako0.4.spec
SRPM URL:
http://toshio.fedorapeople.org/packages/python-mako0.4-0.4.2-3.fc14.src.rpm

Deleting files during build may help with a license since it's what's contained within the binary rpm that counts, not what's in the source rpm (patents, proprietary software, and other things that we can't ship are a different matter).  In this case, though, it looks like the BSD licensed files are being shipped to enable searching of the docs (they're part of the javascript used to display the docs).  There's not really a good way to show this except via a spec file comment and an updated license tag atm.

Comment 6 Toshio Ernie Kuratomi 2011-09-06 17:31:41 UTC
And another update:
* Add beaker as a BR so we unittest with it installed (Found bug in python3-beaker; so this is only for python2.  I'm submitting a patch for beaker and when that's applied, I can reenable.)
* Use a macro for the python3 version so that the programs we use (easy_install-3.? and nosetests-3.?) will work anywhere it's built.

Spec URL: http://toshio.fedorapeople.org/packages/python-mako0.4.spec
SRPM URL:
http://toshio.fedorapeople.org/packages/python-mako0.4-0.4.2-4.fc14.src.rpm

Comment 7 Toshio Ernie Kuratomi 2011-09-06 18:16:57 UTC
* Put the macros inside of conditionals to document when they can be removed from the spec file

Spec URL: http://toshio.fedorapeople.org/packages/python-mako0.4.spec
SRPM URL:
http://toshio.fedorapeople.org/packages/python-mako0.4-0.4.2-5.fc14.src.rpm

Comment 8 Toshio Ernie Kuratomi 2011-09-07 00:48:53 UTC
Okay, hopefully last update -- this should take care of the permission issues talked about on IRC.

Spec URL: http://toshio.fedorapeople.org/packages/python-mako0.4.spec

SRPM URL:
http://toshio.fedorapeople.org/packages/python-mako0.4-0.4.2-7.fc14.src.rpm

Comment 9 Pierre-YvesChibon 2011-09-08 18:32:17 UTC
Ok, there is the review:

[X] rpmlint must be run on every package.
    python-mako0.4.src: W: spelling-error %description -l en_US Mako's -> Mao's, Macho's, Makos
    python-mako0.4.src: W: spelling-error %description -l en_US componentized -> componential, component, compartmentalized
    python-mako0.4.noarch: W: spelling-error %description -l en_US Mako's -> Mao's, Macho's, Makos
    python-mako0.4.noarch: W: spelling-error %description -l en_US componentized -> componential, component, compartmentalized
    python-mako0.4.noarch: W: no-manual-page-for-binary mako-render-0.4
    python3-mako0.4.noarch: W: spelling-error %description -l en_US Mako's -> Mao's, Macho's, Makos
    python3-mako0.4.noarch: W: spelling-error %description -l en_US componentized -> componential, component, compartmentalized
    python3-mako0.4.noarch: W: no-manual-page-for-binary python3-mako-render-0.4
    3 packages and 0 specfiles checked; 0 errors, 8 warnings.
They can safely be ignored.

[X] The package must be named according to the Package Naming Guidelines.

[X] The spec file name must match the base package %{name}, in the format
      %{name}.spec unless your package has an exemption.

[X] The package must meet the Packaging Guidelines.

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

[X] The License field in the package spec file must match the actual license.
   License is MIT and Python for _ast_util.py for the code
   License is BSD and GPLv2 for the doc (which relies on sphinx)

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

[X] The spec file must be written in American English.

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

[X] The sources used to build the package must match the upstream source, as
      provided in the spec URL.
    5d2056553910b033ac50357b94d4dc2d510d0cde  Mako-0.4.2.tar.gz
    5d2056553910b033ac50357b94d4dc2d510d0cde  ~/rpmbuild/SOURCES/Mako-0.4.2.tar.gz

[X] The package MUST successfully compile and build into binary rpms on at
     least one primary architecture.
    Builds properly under 2.6.35.14-95.fc14.x86_64
    koji rawhide build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3336161

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

[X] 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.

[NA] The spec file MUST handle locales properly. This is done by using the
      %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.

[NA] 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.

[X] Packages must NOT bundle copies of system libraries.

[NA] 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.

[X] 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.

[X] A Fedora package must not list a file more than once in the spec file's
      %files listings.

[X] Permissions on files must be set properly. Executables should be set with
     executable permissions, for example. Every %files section must include a
     %defattr(...) line.

[X] Each package must consistently use macros.

[X] The package must contain code, or permissable content.

[NA] Large documentation files must go in a -doc subpackage.

[X] 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.

[NA] Header files must be in a -devel package.

[NA] Static libraries must be in a -static package.

[NA] 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.

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

[NA] Packages must NOT contain any .la libtool archives, these must be removed
      in the spec if they are built.

[NA] 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.

[X] Packages must not own files or directories already owned by other
      packages.

[X] All filenames in rpm packages must be valid UTF-8.


As mentioned on IRC, _ast_util.py might be worth reporting upstream as it contains two license tags, the MIT one is probably to be removed.
Since both license are valid and mentioned in the spec.

This package is APPROVED.

Comment 10 Toshio Ernie Kuratomi 2011-09-10 05:10:35 UTC
Thanks pingou!

New Package SCM Request
=======================
Package Name:  python-mako0.4
Short Description:  Mako template library for Python
Owners: toshio lmacken
Branches: EL-5 EL-6 F-14 F-15
InitialCC:

Comment 11 Gwyn Ciesla 2011-09-10 15:00:21 UTC
Git done (by process-git-requests).

pingou, please take ownership of review BZs.  Thanks!

Comment 12 Pierre-YvesChibon 2011-09-10 20:24:15 UTC
Sorry, I normally do it but I forgot this time.

Comment 13 Pierre-YvesChibon 2011-09-21 08:42:46 UTC
Forgot this one Toshio ?

Comment 14 Toshio Ernie Kuratomi 2011-10-03 19:49:38 UTC
Just been busy.  Builds done and submitted.

https://admin.fedoraproject.org/updates/python-mako0.4-0.4.2-7.el5