Bug 1117112
Summary: | Review Request: biblesync - A Cross-platform library for sharing Bible navigation | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | greg.hellings |
Component: | Package Review | Assignee: | Christopher Meng <i> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | BobLfoot, i, package-review |
Target Milestone: | --- | Flags: | i:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | biblesync-1.0.2-4.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-08-24 02:54:25 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: |
Description
greg.hellings
2014-07-08 05:03:45 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. Would you like to do a review swap? Sure, I'd be happy to take a look at anything you've got in queue. 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. 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. 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. 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 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. 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. (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"? 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. Thanks, guys. I'm going to be starting the package numbering at -4, as -1 through -3 are already floating around the links above. 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: Can we consider branching this into EPEL for Centos7 as well. I've always like using xiphos but run Centos not Fedora. Git done (by process-git-requests). 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. 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 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 (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. 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. Git done (by process-git-requests). 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 biblesync-1.0.2-4.el6 has been pushed to the Fedora EPEL 6 testing repository. biblesync-1.0.2-4.fc20 has been pushed to the Fedora 20 stable repository. biblesync-1.0.2-4.fc19 has been pushed to the Fedora 19 stable repository. biblesync-1.0.2-4.el6 has been pushed to the Fedora EPEL 6 stable repository. |