Bug 1117112 - Review Request: biblesync - A Cross-platform library for sharing Bible navigation
Summary: Review Request: biblesync - A Cross-platform library for sharing Bible naviga...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christopher Meng
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-08 05:03 UTC by greg.hellings
Modified: 2014-08-29 19:42 UTC (History)
3 users (show)

Fixed In Version: biblesync-1.0.2-4.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-24 02:54:25 UTC
Type: ---
Embargoed:
i: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description greg.hellings 2014-07-08 05:03:45 UTC
Spec URL: http://greghellings.fedorapeople.org/biblesync/biblesync.spec
SRPM URL: http://greghellings.fedorapeople.org/biblesync/biblesync-1.0.2-2.fc20.src.rpm
Description: BibleSync is a multicast protocol to support Bible
software shared co-navigation.
It uses LAN multicast in either a personal/small
team mutual navigation motif or
in a classroom environment where there are Speakers
plus the Audience.
It provides a complete yet minimal public interface to support mode setting,
setup for packet reception, transmit on local navigation,
and handling of incoming
packets.

This library is not specific to any particular Bible
software framework, completely
agnostic as to structure of layers above BibleSync.

Fedora Account System Username: greghellings

Comment 1 greg.hellings 2014-07-08 05:06:13 UTC
This package is a new dependency for the Xiphos package which I co-maintain. The library has been spun off from the main application and released as a stand-alone library. To satisfy non-bundling package requirements and Xiphos' future plan to remove the bundled source, this package needs to be admitted.

Comment 2 Christopher Meng 2014-07-08 05:45:36 UTC
Would you like to do a review swap?

Comment 3 greg.hellings 2014-07-08 13:08:24 UTC
Sure, I'd be happy to take a look at anything you've got in queue.

Comment 4 Christopher Meng 2014-07-10 07:29:41 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated




===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 3 files have unknown license. Detailed output of
     licensecheck:

Unknown or generated
--------------------
biblesync-1.0.2/include/biblesync.hh
biblesync-1.0.2/src/biblesync.cc
biblesync-1.0.2/test/send-test.c

[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 40960 bytes in 7 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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 is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in biblesync-
     devel
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: biblesync-1.0.2-2.fc21.i686.rpm
          biblesync-devel-1.0.2-2.fc21.i686.rpm
          biblesync-1.0.2-2.fc21.src.rpm
biblesync.i686: W: spelling-error %description -l en_US multicast -> Multics, simulcast
biblesync-devel.i686: W: no-documentation
biblesync.src: W: spelling-error %description -l en_US multicast -> Multics, simulcast
3 packages and 0 specfiles checked; 0 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint biblesync-devel biblesync
biblesync-devel.i686: W: no-documentation
biblesync.i686: W: spelling-error %description -l en_US multicast -> Multics, simulcast
biblesync.i686: W: unused-direct-shlib-dependency /usr/lib/libbiblesync.so.1.0.2 /lib/libm.so.6
2 packages and 0 specfiles checked; 0 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
biblesync-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    biblesync
    libbiblesync.so.1.0.2
    libuuid-devel

biblesync (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libm.so.6
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    libuuid.so.1
    libuuid.so.1(UUID_1.0)
    rtld(GNU_HASH)



Provides
--------
biblesync-devel:
    biblesync-devel
    biblesync-devel(x86-32)
    pkgconfig(biblesync)

biblesync:
    biblesync
    biblesync(x86-32)
    libbiblesync.so.1.0.2



Source checksums
----------------
http://downloads.sourceforge.net/gnomesword/biblesync-1.0.2.tar.gz :
  CHECKSUM(SHA256) this package     : b57a28a9be446223dc510f7e2af5fce2fe4ff47b426e627e3a0c152e409dcc75
  CHECKSUM(SHA256) upstream package : b57a28a9be446223dc510f7e2af5fce2fe4ff47b426e627e3a0c152e409dcc75


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -rvn biblesync-1.0.2-2.fc20.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

-----------------------------------------------------
1. Fix rpmlint issue.

2. %description wrapped too much, 79 chars per line, you use too many lines here.

3. -devel:

I strongly advise that putting Summary on top of the Requires.

4. -devel:

Requires:	biblesync = %{version}
Requires:	libuuid-devel

See:

https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

5. %doc  biblesync-v1.png

Rationale?

6. For main lib package, a license file is _enough_.

You should put the rest to the -devel.

7. %{_mandir}/man7/biblesync.7.gz

Should be put into -devel, too.

Comment 5 greg.hellings 2014-07-21 03:13:31 UTC
Thanks for the review! (and sorry to delay responding - I fell sick just when I had planned to reply)

1. Fix rpmlint issue. -- which, in particular? After the below changes I have the following output from rpmlint:
biblesync.src: W: spelling-error %description -l en_US multicast -> Multics, simulcast
biblesync.x86_64: W: spelling-error %description -l en_US multicast -> Multics, simulcast
biblesync-devel.x86_64: W: only-non-binary-in-usr-lib
4 packages and 0 specfiles checked; 0 errors, 3 warnings.

2. %description wrapped too much, 79 chars per line, you use too many lines here. -- Fixed

3. -devel:

I strongly advise that putting Summary on top of the Requires. -- Done

4. -devel:

Requires:	biblesync = %{version}
Requires:	libuuid-devel

See:

https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package -- Corrected

5. %doc  biblesync-v1.png

Rationale? -- I was building off of the suggestions of the upstream packager. I have removed this from the package

6. For main lib package, a license file is _enough_.

You should put the rest to the -devel. -- Done

7. %{_mandir}/man7/biblesync.7.gz

Should be put into -devel, too. -- Done

I'll upload the new spec as-is or I can update to fix that rpmlint warning if you want me to look into it. Again, sorry for the delay. If you've got any reviews of your own waiting, point me to them and I'll be happy to swap.

Comment 6 Christopher Meng 2014-07-21 03:17:47 UTC
biblesync.i686: W: unused-direct-shlib-dependency /usr/lib/libbiblesync.so.1.0.2 /lib/libm.so.6


Please check libm and confirm if it really needs a fix.

Then post the fixed SPEC + SRPM links here.

Comment 7 greg.hellings 2014-07-22 02:21:39 UTC
I've discussed with upstream and libm doesn't appear to be necessary either for this library or for its only immediate dependency (libuuid). I've amended the spec file with an extra build argument to cmake for linker flags. The files are uploaded. The spec file is still the same URL as above. The SRPM is at:

http://greghellings.fedorapeople.org/biblesync/biblesync-1.0.2-3.fc21.src.rpm

Comment 8 Christopher Meng 2014-07-22 03:31:40 UTC
FIX before SCM:

1. Requires:	libuuid-devel

->

Requires:	libuuid-devel%{?_isa}

Here is a -devel package template:

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:	libuuid-devel%{?_isa}

%description    devel
This package contains libraries and header files for
developing applications that use %{name}.


2. %{_mandir}/man7/biblesync.7.gz

->

%{_mandir}/man7/biblesync.7*

-------------------------------
PACKAGE APPROVED.
-------------------------------
Swap with bug 1120982.

Comment 9 Robert Lightfoot 2014-07-29 10:25:29 UTC
Please note that the upstream package builds a 1.0.2-2xi.rpm and I would recommend starting at 1.0.2-3 in your numbering or there may be confusion?  Just an observation.

Comment 10 Christopher Meng 2014-08-02 13:41:40 UTC
(In reply to Robert Lightfoot from comment #9)
> Please note that the upstream package builds a 1.0.2-2xi.rpm and I would
> recommend starting at 1.0.2-3 in your numbering or there may be confusion? 
> Just an observation.

What is "the upstream package"?

Comment 11 Robert Lightfoot 2014-08-02 16:52:59 UTC
I stand corrected it is a 1xi version number at http://sourceforge.net/projects/gnomesword/files/BibleSync/1.0.2/  the 2xi happened on the first local rebuild and was I played with a 1.0.2-3 when I built it locally.  I guess we're ok on version after all.  Sorry for confusion.  BTW if you see scratch builds of 1.0.2-# where #=3,4,5 or 6 on koji these are builds I did trying to prep this for packaging before Irealized it was already submitted.

Comment 12 greg.hellings 2014-08-04 01:46:04 UTC
Thanks, guys. I'm going to be starting the package numbering at -4, as -1 through -3 are already floating around the links above.

Comment 13 greg.hellings 2014-08-04 01:47:51 UTC
New Package SCM Request
=======================
Package Name: biblesync
Short Description: A Cross-platform library for sharing Bible navigation
Upstream URL: http://www.xiphos.org
Owners: greghellings
Branches: f19 f20 f21
InitialCC:

Comment 14 Robert Lightfoot 2014-08-04 02:49:27 UTC
Can we consider branching this into EPEL for Centos7 as well.  I've always like using xiphos but run Centos not Fedora.

Comment 15 Gwyn Ciesla 2014-08-04 12:23:52 UTC
Git done (by process-git-requests).

Comment 16 greg.hellings 2014-08-05 02:07:28 UTC
Thanks, Jon.

Robert - I'd be more than happy for this to be included in epel7, but I have never built or maintained a package in an EPEL environment. If you want me to add you to the pkgdb for biblesync so you can pull it into EPEL7, just let me know.

Comment 17 Fedora Update System 2014-08-05 02:21:21 UTC
biblesync-1.0.2-4.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/biblesync-1.0.2-4.fc19

Comment 18 Fedora Update System 2014-08-05 02:22:54 UTC
biblesync-1.0.2-4.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/biblesync-1.0.2-4.fc20

Comment 19 Robert Lightfoot 2014-08-05 06:24:46 UTC
(In reply to greg.hellings from comment #16)
> Thanks, Jon.
> 
> Robert - I'd be more than happy for this to be included in epel7, but I have
> never built or maintained a package in an EPEL environment. If you want me
> to add you to the pkgdb for biblesync so you can pull it into EPEL7, just
> let me know.

I'd be happy to move into the packaging world, but I have yet to do enough reviews and submissions to attract a sponsor.  As concerns Xiphos/Sword/Biblesync it is my understanding that they depend on one another with Xiphos 3.2.1 needing swrod 1..3 needing biblesync 1.0.2 .  There is also the problem that the packager of Xiphos for EPEL is non-responsive. I am not sure what the final resolution will be.  I am watching  to see if Xiphos gets picked up in epel7 while working to become a packager myself.

Comment 20 Christopher Meng 2014-08-05 09:39:27 UTC
Package Change Request
======================
Package Name: biblesync
New Branches: el6 epel7
Owners: greghellings cicku

@Jon:

I just gave contact back to Greg, I'm the comaintainer of xiphos, which needs biblesync. I'm reviving xiphos on EPEL6 and it needs this package.

Comment 21 Gwyn Ciesla 2014-08-05 12:16:36 UTC
Git done (by process-git-requests).

Comment 22 Fedora Update System 2014-08-05 13:09:06 UTC
biblesync-1.0.2-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/biblesync-1.0.2-4.el6

Comment 23 Fedora Update System 2014-08-07 11:44:44 UTC
biblesync-1.0.2-4.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 24 Fedora Update System 2014-08-24 02:54:25 UTC
biblesync-1.0.2-4.fc20 has been pushed to the Fedora 20 stable repository.

Comment 25 Fedora Update System 2014-08-24 02:57:38 UTC
biblesync-1.0.2-4.fc19 has been pushed to the Fedora 19 stable repository.

Comment 26 Fedora Update System 2014-08-29 19:42:20 UTC
biblesync-1.0.2-4.el6 has been pushed to the Fedora EPEL 6 stable repository.


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