Bug 516971 - Review Request: tokyotyrant - A network interface to Tokyo Cabinet
Summary: Review Request: tokyotyrant - A network interface to Tokyo Cabinet
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-08-12 04:16 UTC by Silas Sewell
Modified: 2009-08-28 03:38 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-08-28 03:38:34 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Silas Sewell 2009-08-12 04:16:45 UTC
Review Request: tokyotyrant - A network interface to Tokyo Cabinet

Spec Url:
http://silassewell.googlecode.com/svn/trunk/projects/packages/rpms/tokyotyrant/tokyotyrant.spec

SRPM Url:
http://silassewell.googlecode.com/files/tokyotyrant-1.1.33-1.fc12.src.rpm

Description:
Tokyo Tyrant is a network interface to Tokyo Cabinet.

rpmlint

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
tokyotyrant.i586: W: non-standard-uid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/log/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/log/tokyotyrant tokyotyrant
tokyotyrant-libs.i586: W: no-soname /usr/lib/ttskeldir.so
tokyotyrant-libs.i586: W: no-soname /usr/lib/ttskelproxy.so
tokyotyrant-libs.i586: W: no-soname /usr/lib/ttskelmock.so
tokyotyrant-libs.i586: W: no-soname /usr/lib/ttskelnull.so
5 packages and 0 specfiles checked; 0 errors, 10 warnings.

Regarding non-standard-(uid/gid):
 - I create the tokyotyrant user/group so this is fine.

Regarding no-soname:
 - I couldn't find anything that can/does link against these, but obviously I'm missing something. The primary library (libtokyotyrant) has a soname so I think its fine.

NOTE: When I submitted this review the version of Tokyo Tyrant in devel wasn't compatible with versions of Tokyo Tyrant on the project website. Until Tokyo Cabinet >= 1.4.30 is available in devel you can use the SRPM below.

Tokyo Cabinet 1.4.30: http://silassewell.googlecode.com/files/tokyocabinet-1.4.30-1.fc11.src.rpm

Comment 1 caius.chance 2009-08-14 02:09:53 UTC
tokyocabinet is still 1.4.23 at the moment.

Comment 2 Mamoru TASAKA 2009-08-14 18:39:45 UTC
Some notes:

! About tokyocabinet dependency
  - Note that current latest package of tokyocabinet on koji
    is tokyocabinet-1.4.30-1.fc12
    ( This already exists in koji dist-f12 buildroot, but has not
      pushed to rawhide tree yet because of F12alpha freeze )

* Package name
  - Usually development related package should be named as
    "tokyotyrant-devel", not "tokyotyrant-libs-devel" (even if
    you create tokyotyrant-libs package)

* About removing rpath
  - Please avoid to use "chrpath" binary as much as possible
    for removing rpath but use more "standard" method
    ( Using chrpath --delete should be thought as the last
      resort, which is usually not needed ).

    For this package replacing "LD_RUN_PATH" with "LD_LIBRARY_PATH"
    should remove rpath without using chrpath

* Macros
  - Use %_initddir for %_sysconfdir/rc.d/init.d
    https://fedoraproject.org/wiki/Packaging/SysVInitScripts#Initscripts_on_the_filesystem

* About %_libdir/ttskel*.so
  - Would you explain how these binaries are used?
    * Actually these binaries don't have sonames, don't have the names "libfoo.so",
      so these don't seem to be system-wide libraries.
      I suggest at least these libraries should be moved to package-specific
      directory (like %_libdir/%name)
    * Also I tried to find out how these binaries are used by using grep, however
      it seems these binaries are used nowhere...

* %files
  - You don't have to add "COPYING" to all binary packages (only including
    to -libs package is enough because -libs package is needed by all
    packages)
    By the way README, THANKS or so should also be moved to -libs subpackage
    because tokyotyrant (binary rpm) depends on -libs subpackage and not
    opposite.

* Dependency
  - Main package must have strict dependency 
    "Requires: %{name}-libs = %{version}-%{release}"

  - For example installed /usr/include/tcrdb.h contains:
---------------------------------------------------------------
    30  #include <tcutil.h>
    31  #include <tcadb.h>
---------------------------------------------------------------
    so at least tokyotyrant-devel should have "Requires: tokyocabinet-devel".
    And tokyotyrant.pc should have "Requires: tokyocabinet".

Comment 3 Silas Sewell 2009-08-16 21:35:35 UTC
I've addressed the issues listed above.

Would you explain how these binaries are used?
 - I really couldn't figure it out, but I did move them to their own sub-directory.

diff: http://code.google.com/p/silassewell/source/diff?spec=svn312&r=312&format=side&path=/trunk/projects/packages/rpms/tokyotyrant/tokyotyrant.spec

srpm: http://silassewell.googlecode.com/files/tokyotyrant-1.1.33-2.fc12.src.rpm

rpmlint

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
tokyotyrant.i586: W: non-standard-uid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/log/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/log/tokyotyrant tokyotyrant
5 packages and 0 specfiles checked; 0 errors, 6 warnings.

Comment 4 Mamoru TASAKA 2009-08-17 16:29:17 UTC
For -2:

* Timestamps
  - Forgot to mention, however when using "install" or
    "cp" commands, add "-p" option to keep timestamps on
    installed files:
    https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps

* Dependency/pkgconfig file
  - And please address the below:
(In reply to comment #2)
>   - For example installed /usr/include/tcrdb.h contains:
> ---------------------------------------------------------------
>     30  #include <tcutil.h>
>     31  #include <tcadb.h>
> ---------------------------------------------------------------
>     so at least tokyotyrant-devel should have "Requires: tokyocabinet-devel".
>     And tokyotyrant.pc should have "Requires: tokyocabinet".

Comment 5 Silas Sewell 2009-08-19 03:54:34 UTC
The above mentioned issues should be fixed.

spec diff: http://code.google.com/p/silassewell/source/diff?spec=svn313&r=313&format=side&path=/trunk/projects/packages/rpms/tokyotyrant/tokyotyrant.spec

tokyotyrant.pc diff: http://code.google.com/p/silassewell/source/diff?spec=svn313&r=313&format=side&path=/trunk/projects/packages/rpms/tokyotyrant/tokyotyrant-1.1.33.build.patch

srpm: http://silassewell.googlecode.com/files/tokyotyrant-1.1.33-3.fc12.src.rpm

rpmlint

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
tokyotyrant.i586: W: non-standard-uid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/log/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/log/tokyotyrant tokyotyrant
5 packages and 0 specfiles checked; 0 errors, 6 warnings.

Comment 6 Mamoru TASAKA 2009-08-20 15:18:29 UTC
Well,
- -3.fc12.src.rpm you posted does not seem to contain pkgconfig/Requires
  changes you posted on comment 5?

- As I said in comment 2, adding "Requires: tokyocabinet" in tokyotyrant.pc{,in}
  is more correct than to add "-ltokyocabinet" to "Libs:" in case the directory
  where tokyocabinet header files are moved, like:
----------------------------------------------------
....
....
Name: Tokyo Tyrant
Description: network interface of Tokyo Cabinet
Version: 1.1.33
Requires: tokyocabinet
Libs: -L${libdir} -ltokyotyrant
Cflags: -I${includedir}
---------------------------------------------------

Comment 7 Silas Sewell 2009-08-21 02:36:56 UTC
OK, think I finally got it.

diff: http://code.google.com/p/silassewell/source/detail?r=315

srpm: http://silassewell.googlecode.com/files/tokyotyrant-1.1.33-4.fc12.src.rpm

rpmlint

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
tokyotyrant.i586: W: non-standard-uid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/log/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/log/tokyotyrant tokyotyrant
5 packages and 0 specfiles checked; 0 errors, 6 warnings.

Comment 8 Mamoru TASAKA 2009-08-21 16:03:17 UTC
Okay, except for one thing:
- Perhaps http://lxc.sourceforge.net/ (written as URL) has no relation
  with tokyocabinet/tokyotyrant and http://tokyocabinet.sourceforge.net/
  should be used for URL.

-----------------------------------------------------------------
   This package (tokyotyrant) is APPROVED by mtasaka
-----------------------------------------------------------------

Comment 9 Silas Sewell 2009-08-22 14:27:00 UTC
Thanks Mamoru Tasaka.

I've fixed the URL.

diff: http://code.google.com/p/silassewell/source/detail?r=316

srpm: http://code.google.com/p/silassewell/downloads/detail?name=tokyotyrant-1.1.33-5.fc12.src.rpm

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
tokyotyrant.i586: W: non-standard-uid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/lib/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/run/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-uid /var/log/tokyotyrant tokyotyrant
tokyotyrant.i586: W: non-standard-gid /var/log/tokyotyrant tokyotyrant
5 packages and 0 specfiles checked; 0 errors, 6 warnings.

Comment 10 Silas Sewell 2009-08-22 14:27:48 UTC
New Package CVS Request
=======================
Package Name: tokyotyrant
Short Description: A network interface to Tokyo Cabinet
Owners: silas
Branches: F-11
InitialCC:

Comment 11 Kevin Fenzi 2009-08-24 19:53:17 UTC
cvs done.

Comment 12 Mamoru TASAKA 2009-08-27 07:00:07 UTC
If you want this package on F-11 and tokyotyrant really needs
tokyocabinet >= 1.4.30 please file a RFE bug ticket against tokyocabinet.

Comment 13 Silas Sewell 2009-08-28 03:38:34 UTC
Built for rawhide and a bug request made for F-11 push.

Thanks Mamoru and Kevin.

Comment 14 Silas Sewell 2009-08-28 03:38:52 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=520024


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