Bug 692281 - Review Request: hotot - Lightweight & open source micro blogging client
Summary: Review Request: hotot - Lightweight & open source micro blogging client
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Martin Gieseking
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-30 22:20 UTC by Rahul Sundaram
Modified: 2011-04-01 00:39 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-01 00:39:45 UTC
Type: ---
martin.gieseking: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Rahul Sundaram 2011-03-30 22:20:29 UTC
Spec URL: http://sundaram.fedorapeople.org/packages/hotot.spec
SRPM URL: http://sundaram.fedorapeople.org/packages/hotot-0.9.5-1.20110331hg.fc15.src.rpm

Description: 
Hotot, is a lightweight & open source micro blogging client, coding using 
Python language and designed for Linux.  It depends less but supports more. 

Features:
   * OAuth and Basic Auth is supported.
   * Socks Proxy and Http Proxy.
   * Support API Proxy.
   * Support Twitter Search and content filter.
   * Keyboard shortcuts.
   * Extension System.
   * Native notify system. it supports Gnome & KDE SC.

Comment 1 Martin Gieseking 2011-03-31 06:32:36 UTC
I take this one and will do the review later today.

Comment 2 Martin Gieseking 2011-03-31 10:23:10 UTC
Hi Rahul,

here are some initial comments:

- The package currently fails building with mock/koji because of the following
  missing BRs: intltool desktop-file-utils:
  https://koji.fedoraproject.org/koji/taskinfo?taskID=2962943

- Some of the js files in data/js are published under different licenses:
  * jquery.js: GPLv2
  * js-oauth.js: LGPLv3 only
  * sha1.js: BSD
  This must be reflected in the License field.

- Since I can't find any system dependent files, you should create a noarch 
  package.

- Don't explicitly clean the buildroot in %install as all the other buildroot 
  stuff is omitted too.

- Add --skip-build to "python setup install".

- Please ask upstream to add file COPYING with the LGPLv3 license text. The 
  python source files should also get the proper copyright headers as 
  requested by the (L)GPL.

Comment 3 Rahul Sundaram 2011-03-31 14:36:56 UTC
Fixed build in mock and confirmed it works

http://sundaram.fedorapeople.org/packages/hotot.spec

Fixed license tag

Made package noarch although a so file is in there

Filed the licensing issue upstream at

https://code.google.com/p/hotot/issues/detail?id=326

--

Not changing the clean buildroot thing because it is helpful for quick local rpmbuild testing.   

Also --skip-build causes the desktop file and locale files to be not part of the buildroot.  Not changing this either for now.

Comment 4 Rahul Sundaram 2011-03-31 14:41:16 UTC
Koji scratch build

http://koji.fedoraproject.org/koji/taskinfo?taskID=2963674

Comment 5 Martin Gieseking 2011-03-31 14:51:13 UTC
(In reply to comment #3)
> Made package noarch although a so file is in there

Where did you find the .so file? 
$ rpmls hotot-0.9.5-2.20110331hg.fc16.noarch.rpm | fgrep .so
is silent.

Comment 6 Rahul Sundaram 2011-03-31 14:58:50 UTC
Never mind.  I was doing another build of a unrelated package and confused between them.

Comment 7 Martin Gieseking 2011-03-31 16:21:00 UTC
The package looks almost fine now. Just change the permissions of the following files to 0644:
  hotot/ext/org.hotot.imageupload/entry.js
  hotot/ext/ext.js


$ rpmlint *.rpm
hotot.noarch: W: no-documentation
hotot.noarch: E: script-without-shebang /usr/share/hotot/ext/org.hotot.imageupload/entry.js
hotot.noarch: E: script-without-shebang /usr/share/hotot/ext/ext.js
hotot.noarch: W: no-manual-page-for-binary hotot
hotot.src: W: invalid-url Source0: hotot-0.9.5-8bd3e1986200.tar.bz2
2 packages and 0 specfiles checked; 2 errors, 3 warnings.

All warnings are expected and can be ignored.

---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] 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.
    - multiple licensing scenario: LGPLv3+ and LGPLv3 and BSD and GPLv2

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

[.] MUST: The 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.
    $ rpmdev-diff -c hotot-0.9.5-8bd3e1986200.tar.bz2 hotot-0.9.5-8bd3e1986200.tar.bz2
    is silent

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[.] MUST: If the package does not successfully compile, build or work on an architecture, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied.
[+] MUST: The spec file MUST handle locales properly.
[.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[X] MUST: Permissions on files must be set properly.
    - set file permissions of hotot/ext/org.hotot.imageupload/entry.js and 
      hotot/ext/ext.js to 0644

[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[.] MUST: Files in %doc 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), ...
[.] MUST: devel packages must require the base package using a fully versioned dependency.
[.] MUST: Packages must NOT contain any .la libtool archives.
[+] MUST: Packages containing GUI applications must include a %{name}.desktop file.
[+] MUST: .desktop files 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.
[+] MUST: Python eggs must be built from source. They cannot simply drop an egg from upstream into the proper directory.
[+] MUST: Python eggs must not download any dependencies during the build process.
[+] MUST: If egg-info files are generated by the modules build scripts they must be included in the package.
[.] MUST: When building a compat package, it must install using easy_install -m so it won't conflict with the main package.
[.] MUST: When building multiple versions (for a compat package) ...
[.] SHOULD: A package which is used by another package via an egg interface should provide egg info. 

[X] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
[+] SHOULD: The reviewer should test that the package builds in mock.
[.] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
[.] SHOULD: Your package should contain man pages for binaries/scripts.

Comment 9 Martin Gieseking 2011-03-31 19:58:34 UTC
OK, the package is ready now.

--------
APPROVED
--------

Comment 10 Rahul Sundaram 2011-03-31 20:08:56 UTC
New Package SCM Request
=======================
Package Name: hotot
Short Description: lightweight & open source micro blogging client
Owners: sundaram
Branches: f15
InitialCC:

Comment 11 Jason Tibbitts 2011-03-31 23:05:24 UTC
Git done (by process-git-requests).

Comment 12 Rahul Sundaram 2011-04-01 00:39:45 UTC
Thanks for the speedy review Martin Gieseking.  Built for Rawhide and Fedora 15 as well

https://admin.fedoraproject.org/updates/pywebkitgtk-1.1.8-1.fc15


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