Bug 2241414 - Review Request: sword - Free Bible Software Project
Summary: Review Request: sword - Free Bible Software Project
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: Unretirement
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-09-29 18:14 UTC by Aaron Rainbolt
Modified: 2024-11-10 01:33 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-11-10 01:33:08 UTC
Type: ---
Embargoed:
ngompa13: fedora-review+


Attachments (Terms of Use)
licensecheck.txt from fedora-review (51.49 KB, text/plain)
2023-10-02 20:52 UTC, Neal Gompa
no flags Details

Description Aaron Rainbolt 2023-09-29 18:14:30 UTC
Spec URL: https://github.com/ArrayBolt3/sword_fedora_packaging/raw/master/sword.spec
SRPM URL: https://github.com/ArrayBolt3/sword_fedora_packaging/raw/master/sword-1.9.0-22.fc40.src.rpm
Description: The SWORD Project is the CrossWire Bible Society's free Bible software project. Its purpose is to create cross-platform open-source tools-- covered by the GNU General Public License-- that allow programmers and Bible societies to write new Bible software more quickly and easily. We also create Bible study software for all readers, students, scholars, and translators of the Bible, and have a growing collection of over 200 texts in over 50 languages.
Fedora Account System Username: arraybolt3
Additional information: This package was retired recently. I am attempting to unretire it and become its maintainer.

Comment 1 Aaron Rainbolt 2023-09-29 18:19:23 UTC
This is the first package I'm trying to take maintainership of, so I will need a sponsor.

Comment 2 Aaron Rainbolt 2023-09-29 18:20:21 UTC
Aaaand it needs unretired. Sorry, bug tracker is confusing and instructions are long :P

Comment 3 Aaron Rainbolt 2023-09-29 18:29:42 UTC
One thing I should mention, I am aware that the package is *not* installing the manpages for the SWORD utilities currently. The reason for this is because the CMake build system in SWORD doesn't appear to have a mechanism for installing the manpages (I checked, couldn't find any options to do so), the manpages are NOT installed by default when using CMake that I can tell (I tried adding them to the spec file and it caused a build failure specifying that all the manpages couldn't be found), and as I want to get this reintroduced to Fedora 39, I didn't want to make overly invasive changes like modding the buildsystem more than necessary or switching to the Autotools build system provided alongside. I intend to resolve this in Rawhide, but I'm not sure if it can or should be resolved in F39. That being said, I'm not overly familiar with all of the processes in Fedora, so if I'm off track here, let me know and I'll see if I can make the manpages install too, if necessary.

Comment 4 Neal Gompa 2023-09-29 18:44:15 UTC
Taking this review.

Comment 5 Neal Gompa 2023-09-29 18:53:43 UTC
Initial spec review:

> %global         pkg_version 1.9.0

This seems redundant to %version? Do you need this?

> BuildRequires:  cmake-data

This is not needed, as cmake-data is pulled in by cmake

> BuildRequires:  libicu-devel icu

Please avoid putting multiple dependencies on a single line, as that makes it difficult to diff later when changes happen.

> Patch0:         cmake-perl-bindings.diff
> Patch1:         migrate-to-setuptools.diff

While not required, stylistically usually these lines are right below Source lines. Feel free to choose to move it or keep as-is.

> %setup -q
> 
> %patch -P0 -p1 -b .perl
> %patch -P1 -p1

This can be replaced with "%autosetup -p1"

> find %{buildroot} -type f -name "*.la" -delete -print

Does this CMake build even produce libtool archives? If not, this can be dropped.

> %doc AUTHORS COPYING ChangeLog LICENSE NEWS README

"COPYING" and "LICENSE" need to be listed as "%license", like so:

%license COPYING LICENSE

> # Re-enable after upstream includes it with CMake builds
> %config(noreplace) %{_sysconfdir}/sword.conf

This comment makes no sense? What's it for?

> %{_datadir}/sword

Please put a trailing slash here to ensure RPM knows to track it as a directory.

> %{perl_vendorarch}/*

This glob is too greedy and needs to be scoped tighter, similar to the Python one.

Comment 6 Aaron Rainbolt 2023-09-29 19:20:16 UTC
(In reply to Neal Gompa from comment #5)
> Initial spec review:
> 
> > %global         pkg_version 1.9.0
> 
> This seems redundant to %version? Do you need this?

Doesn't appear so, dropped and adjusted the place that used it to use %{version} instead.

> > BuildRequires:  cmake-data
> 
> This is not needed, as cmake-data is pulled in by cmake

Dropped.

> > BuildRequires:  libicu-devel icu
> 
> Please avoid putting multiple dependencies on a single line, as that makes
> it difficult to diff later when changes happen.

Fixed.

> > Patch0:         cmake-perl-bindings.diff
> > Patch1:         migrate-to-setuptools.diff
> 
> While not required, stylistically usually these lines are right below Source
> lines. Feel free to choose to move it or keep as-is.

Makes sense, moved.

> > %setup -q
> > 
> > %patch -P0 -p1 -b .perl
> > %patch -P1 -p1
> 
> This can be replaced with "%autosetup -p1"

Done.

> > find %{buildroot} -type f -name "*.la" -delete -print
> 
> Does this CMake build even produce libtool archives? If not, this can be
> dropped.

Dropped, seems to work and I can't find any .la files in the resulting RPMs (though I didn't check the debug info RPMs).

> > %doc AUTHORS COPYING ChangeLog LICENSE NEWS README
> 
> "COPYING" and "LICENSE" need to be listed as "%license", like so:
> 
> %license COPYING LICENSE

Done.

> > # Re-enable after upstream includes it with CMake builds
> > %config(noreplace) %{_sysconfdir}/sword.conf
> 
> This comment makes no sense? What's it for?

I... have no idea :P The original maintainer of SWORD in Fedora was also an upstream developer, so I'm guessing he was leaving himself a note? In any event the actual line of code seems sensible, but I'm leery of dropping the comment in the event something happens in the upstream code that reminds me of this and helps me make a change. I'll ask the original maintainer about it when I get the chance.
 
> > %{_datadir}/sword
> 
> Please put a trailing slash here to ensure RPM knows to track it as a
> directory.

Done.

> > %{perl_vendorarch}/*
> 
> This glob is too greedy and needs to be scoped tighter, similar to the
> Python one.

Are you sure? I can scope this tighter, but according to the Perl Packaging Guidelines at https://docs.fedoraproject.org/en-US/packaging-guidelines/Perl/,

> a arch-specific Perl package must own:
>
> # For arch-specific packages: vendorarch
> %{perl_vendorarch}/*
> %exclude %dir %{perl_vendorarch}/auto/



The links in the description should point to the updated files.

Comment 7 Neal Gompa 2023-09-29 20:44:13 UTC
(In reply to Aaron Rainbolt from comment #6)
> (In reply to Neal Gompa from comment #5)
> > > %{perl_vendorarch}/*
> > 
> > This glob is too greedy and needs to be scoped tighter, similar to the
> > Python one.
> 
> Are you sure? I can scope this tighter, but according to the Perl Packaging
> Guidelines at
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Perl/,
> 
> > a arch-specific Perl package must own:
> >
> > # For arch-specific packages: vendorarch
> > %{perl_vendorarch}/*
> > %exclude %dir %{perl_vendorarch}/auto/
> 

This may be Perl guidelines being out of sync with the main ones.

The main guidelines state this is too greedy: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists

Comment 8 Aaron Rainbolt 2023-09-29 21:22:03 UTC
Makes sense to me. I did see the explicit lists instructions but thought perhaps the Perl ones overrode that (as the Perl instructions say "must" and the general ones only say "should"). At any rate, pushed another update with the more tightly scoped glob.

Comment 9 Neal Gompa 2023-09-29 21:44:49 UTC
(In reply to Aaron Rainbolt from comment #8)
> Makes sense to me. I did see the explicit lists instructions but thought
> perhaps the Perl ones overrode that (as the Perl instructions say "must" and
> the general ones only say "should"). At any rate, pushed another update with
> the more tightly scoped glob.

It's probably better to follow the Perl guidelines for now on this for that subpackage.

Comment 10 Aaron Rainbolt 2023-09-29 21:50:32 UTC
+1, reverted the last changes.

Comment 11 Neal Gompa 2023-09-30 01:08:18 UTC
> %{python3_sitearch}/sword-%{version}-py%{python3_version}.egg-info

This should have a trailing slash.

Comment 12 Aaron Rainbolt 2023-10-01 01:09:55 UTC
Done. Also I did a bit of auditing of the paths and added trailing slashes to a couple other places that appeared to need it.

Comment 13 Aaron Rainbolt 2023-10-01 17:50:32 UTC
Found another line that had multiple dependencies listed on the same line and got them split into multiple lines for better readability.

Comment 14 Neal Gompa 2023-10-01 20:33:43 UTC
> %setup -q
>
> %autosetup -p1

You should drop the first, since the second does everything the first does.

Comment 15 Aaron Rainbolt 2023-10-01 20:57:57 UTC
Fixed, now it's just `%autosetup -p1`.

Comment 16 Neal Gompa 2023-10-02 09:48:20 UTC
> %{?perl_provide:%perl_provide perl-sword}

This macro doesn't exist and has never existed, so this would be a no-op. Drop it please.

Comment 17 Aaron Rainbolt 2023-10-02 16:09:26 UTC
Sheesh, I thought that since this package was in Fedora at first that it would be in better shape than this. Sorry that the review keeps bouncing back and forth, I'll know better for next time.

The no-op %perl_provide macro has been dropped. I also noticed a redundancy in the Python subpackage (use of both %python_provide and %py_provides), so I dropped the apparently older and less versatile one (%python_provide) and kept the other one.

Comment 18 Neal Gompa 2023-10-02 20:49:31 UTC
Package Review
==============

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


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

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[x]: Package does not contain kernel modules.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

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.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "*No copyright* GNU General Public
     License, Version 2", "*No copyright* GNU General Public License", "GNU
     General Public License, Version 2", "FSF Unlimited License (with
     License Retention) GNU General Public License v2.0 or later [generated
     file]", "GNU General Public License v2.0 or later [generated file]",
     "GNU General Public License v3.0 or later", "FSF Unlimited License
     [generated file]", "X11 License [generated file]", "GNU General Public
     License v2.0 or later", "Boost Software License 1.0", "GNU Library
     General Public License v2 or later", "zlib License", "FSF Unlimited
     License (with License Retention) GNU General Public License, Version
     2", "FSF Unlimited License (with License Retention)", "GNU General
     Public License", "GNU Lesser General Public License v2.1 or later
     [obsolete FSF postal address (Temple Place)]", "*No copyright* Apache
     License 2.0", "Apache License 2.0". 694 files have unknown license.
     Detailed output of licensecheck in
     /home/ngompa/2241414-sword/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[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.
[x]: 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 135178 bytes in 15 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 %license.
[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]: 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]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: No %config files under /usr.
[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

Python:
[-]: Binary eggs must be removed in %prep
     Note: Cannot find any build in BUILD directory (--prebuilt option?)
[x]: Python eggs must not download any dependencies during the build
     process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Packages MUST NOT have dependencies (either build-time or runtime) on
     packages named with the unversioned python- prefix unless no properly
     versioned package exists. Dependencies on Python packages instead MUST
     use names beginning with python2- or python3- as appropriate.
[x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files

===== 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).
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[!]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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 debuginfo package(s).
     Note: No rpmlint messages.
[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.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: sword-1.9.0-22.fc40.x86_64.rpm
          sword-devel-1.9.0-22.fc40.x86_64.rpm
          sword-utils-1.9.0-22.fc40.x86_64.rpm
          python3-sword-1.9.0-22.fc40.x86_64.rpm
          perl-sword-1.9.0-22.fc40.x86_64.rpm
          sword-debuginfo-1.9.0-22.fc40.x86_64.rpm
          sword-debugsource-1.9.0-22.fc40.x86_64.rpm
          sword-1.9.0-22.fc40.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpxcys0364')]
checks: 31, packages: 8

sword.spec:97: E: rpm-buildroot-usage %build -DSWORD_PYTHON_INSTALL_ROOT="%{buildroot}" \
sword-utils.x86_64: W: no-manual-page-for-binary addld
sword-utils.x86_64: W: no-manual-page-for-binary diatheke
sword-utils.x86_64: W: no-manual-page-for-binary emptyvss
sword-utils.x86_64: W: no-manual-page-for-binary imp2gbs
sword-utils.x86_64: W: no-manual-page-for-binary imp2ld
sword-utils.x86_64: W: no-manual-page-for-binary imp2vs
sword-utils.x86_64: W: no-manual-page-for-binary installmgr
sword-utils.x86_64: W: no-manual-page-for-binary mkfastmod
sword-utils.x86_64: W: no-manual-page-for-binary mod2imp
sword-utils.x86_64: W: no-manual-page-for-binary mod2osis
sword-utils.x86_64: W: no-manual-page-for-binary mod2vpl
sword-utils.x86_64: W: no-manual-page-for-binary mod2zmod
sword-utils.x86_64: W: no-manual-page-for-binary osis2mod
sword-utils.x86_64: W: no-manual-page-for-binary tei2mod
sword-utils.x86_64: W: no-manual-page-for-binary vpl2mod
sword-utils.x86_64: W: no-manual-page-for-binary vs2osisref
sword-utils.x86_64: W: no-manual-page-for-binary vs2osisreftxt
sword-utils.x86_64: W: no-manual-page-for-binary xml2gbs
perl-sword.x86_64: W: no-documentation
python3-sword.x86_64: W: no-documentation
sword-utils.x86_64: W: no-documentation
sword-devel.x86_64: W: missing-dependency-on sword*/sword-libs/libsword* = 1:1.9.0
sword.spec: W: invalid-url Source0: sword-1.9.0.tar.gz
 8 packages and 0 specfiles checked; 1 errors, 23 warnings, 1 badness; has taken 2.2 s 




Rpmlint (debuginfo)
-------------------
Checking: sword-debuginfo-1.9.0-22.fc40.x86_64.rpm
          sword-utils-debuginfo-1.9.0-22.fc40.x86_64.rpm
============================ rpmlint session starts ============================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpcyebh_sh')]
checks: 31, packages: 2

 2 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.9 s 





Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 31, packages: 8

sword-utils.x86_64: W: no-manual-page-for-binary addld
sword-utils.x86_64: W: no-manual-page-for-binary diatheke
sword-utils.x86_64: W: no-manual-page-for-binary emptyvss
sword-utils.x86_64: W: no-manual-page-for-binary imp2gbs
sword-utils.x86_64: W: no-manual-page-for-binary imp2ld
sword-utils.x86_64: W: no-manual-page-for-binary imp2vs
sword-utils.x86_64: W: no-manual-page-for-binary installmgr
sword-utils.x86_64: W: no-manual-page-for-binary mkfastmod
sword-utils.x86_64: W: no-manual-page-for-binary mod2imp
sword-utils.x86_64: W: no-manual-page-for-binary mod2osis
sword-utils.x86_64: W: no-manual-page-for-binary mod2vpl
sword-utils.x86_64: W: no-manual-page-for-binary mod2zmod
sword-utils.x86_64: W: no-manual-page-for-binary osis2mod
sword-utils.x86_64: W: no-manual-page-for-binary tei2mod
sword-utils.x86_64: W: no-manual-page-for-binary vpl2mod
sword-utils.x86_64: W: no-manual-page-for-binary vs2osisref
sword-utils.x86_64: W: no-manual-page-for-binary vs2osisreftxt
sword-utils.x86_64: W: no-manual-page-for-binary xml2gbs
python3-sword.x86_64: W: no-documentation
perl-sword.x86_64: W: no-documentation
sword-utils.x86_64: W: no-documentation
sword-devel.x86_64: W: missing-dependency-on sword*/sword-libs/libsword* = 1:1.9.0
 8 packages and 0 specfiles checked; 0 errors, 22 warnings, 0 badness; has taken 6.5 s 



Unversioned so-files
--------------------
python3-sword: /usr/lib64/python3.12/site-packages/_Sword.cpython-312-x86_64-linux-gnu.so
perl-sword: /usr/lib64/perl5/vendor_perl/auto/Sword/Sword.so

Requires
--------
sword (rpmlib, GLIBC filtered):
    config(sword)
    libc.so.6()(64bit)
    libclucene-core.so.1()(64bit)
    libcurl.so.4()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libicui18n.so.73()(64bit)
    libicuuc.so.73()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libz.so.1()(64bit)
    rtld(GNU_HASH)

sword-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    clucene-core-devel
    curl-devel
    libicu-devel
    libsword.so.1.9()(64bit)
    pkgconfig
    sword(x86-64)

sword-utils (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libicuuc.so.73()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libsword.so.1.9()(64bit)
    rtld(GNU_HASH)
    sword(x86-64)

python3-sword (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libsword.so.1.9()(64bit)
    python(abi)
    python3
    rtld(GNU_HASH)
    sword(x86-64)

perl-sword (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libperl.so.5.38()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libsword.so.1.9()(64bit)
    perl(:MODULE_COMPAT_5.38.0)
    perl(DynaLoader)
    perl(Exporter)
    perl(base)
    perl(overload)
    perl(vars)
    perl-HTML-Strip
    perl-XML-LibXML
    perl-interpreter
    perl-libs
    rtld(GNU_HASH)
    sword(x86-64)

sword-debuginfo (rpmlib, GLIBC filtered):

sword-debugsource (rpmlib, GLIBC filtered):



Provides
--------
sword:
    config(sword)
    libsword.so.1.9()(64bit)
    sword
    sword(x86-64)

sword-devel:
    pkgconfig(sword)
    sword-devel
    sword-devel(x86-64)

sword-utils:
    sword-utils
    sword-utils(x86-64)

python3-sword:
    python-sword
    python3-sword
    python3-sword(x86-64)
    python3.12-sword
    python3.12dist(sword)
    python3dist(sword)

perl-sword:
    perl(Sword)
    perl(Sword::AttributeListMap)
    perl(Sword::AttributeTypeListMap)
    perl(Sword::AttributeValueMap)
    perl(Sword::BasicFilterUserData)
    perl(Sword::DirEntry)
    perl(Sword::DirEntryVector)
    perl(Sword::EncodingFilterMgr)
    perl(Sword::FileDesc)
    perl(Sword::FileMgr)
    perl(Sword::GBFHTMLHREF)
    perl(Sword::InstallMgr)
    perl(Sword::InstallSource)
    perl(Sword::InstallSourceMap)
    perl(Sword::LZSSCompress)
    perl(Sword::ListKey)
    perl(Sword::LocaleMgr)
    perl(Sword::MarkupCallback)
    perl(Sword::MarkupFilterMgr)
    perl(Sword::ModuleMap)
    perl(Sword::MyMarkup)
    perl(Sword::OSISData)
    perl(Sword::OSISHTMLHREF)
    perl(Sword::PyOSISHTMLHREF)
    perl(Sword::PySectionMap)
    perl(Sword::PyStringMgr)
    perl(Sword::PyThMLHTMLHREF)
    perl(Sword::RawCom)
    perl(Sword::RawGenBook)
    perl(Sword::RawLD)
    perl(Sword::RawLD4)
    perl(Sword::RawStr)
    perl(Sword::RawStr4)
    perl(Sword::RawText)
    perl(Sword::RawVerse)
    perl(Sword::RemoteTransport)
    perl(Sword::RenderCallback)
    perl(Sword::ReturnSuccess)
    perl(Sword::SWBasicFilter)
    perl(Sword::SWBuf)
    perl(Sword::SWClass)
    perl(Sword::SWCom)
    perl(Sword::SWCompress)
    perl(Sword::SWConfig)
    perl(Sword::SWDisplay)
    perl(Sword::SWFilter)
    perl(Sword::SWFilterMgr)
    perl(Sword::SWGenBook)
    perl(Sword::SWKey)
    perl(Sword::SWLD)
    perl(Sword::SWLocale)
    perl(Sword::SWLog)
    perl(Sword::SWMgr)
    perl(Sword::SWModule)
    perl(Sword::SWObject)
    perl(Sword::SWOptionFilter)
    perl(Sword::SWSearchable)
    perl(Sword::SWSearcher)
    perl(Sword::SWText)
    perl(Sword::SWVersion)
    perl(Sword::SW_POSITION)
    perl(Sword::StatusReporter)
    perl(Sword::StringList)
    perl(Sword::StringMgr)
    perl(Sword::StringVector)
    perl(Sword::ThMLData)
    perl(Sword::ThMLHTMLHREF)
    perl(Sword::TreeKey)
    perl(Sword::TreeKeyIdx)
    perl(Sword::URL)
    perl(Sword::UTF8HTML)
    perl(Sword::VerseKey)
    perl(Sword::VerseTreeKey)
    perl(Sword::VersificationMgr)
    perl(Sword::XMLTag)
    perl(Sword::ZipCompress)
    perl(Sword::abbrev)
    perl(Sword::sbook)
    perl(Sword::zCom)
    perl(Sword::zLD)
    perl(Sword::zStr)
    perl(Sword::zText)
    perl(Sword::zVerse)
    perl(Swordc)
    perl-sword
    perl-sword(x86-64)

sword-debuginfo:
    debuginfo(build-id)
    libsword.so.1.9-1.9.0-22.fc40.x86_64.debug()(64bit)
    sword-debuginfo
    sword-debuginfo(x86-64)

sword-debugsource:
    sword-debugsource
    sword-debugsource(x86-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2241414 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-x86_64
Active plugins: Perl, Python, C/C++, Shell-api, Generic
Disabled plugins: Java, PHP, Ocaml, R, Haskell, SugarActivity, fonts
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comment 19 Neal Gompa 2023-10-02 20:52:56 UTC
Created attachment 1991659 [details]
licensecheck.txt from fedora-review

(In reply to Neal Gompa from comment #18)
> [!]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses
>      found: "Unknown or generated", "*No copyright* GNU General Public
>      License, Version 2", "*No copyright* GNU General Public License", "GNU
>      General Public License, Version 2", "FSF Unlimited License (with
>      License Retention) GNU General Public License v2.0 or later [generated
>      file]", "GNU General Public License v2.0 or later [generated file]",
>      "GNU General Public License v3.0 or later", "FSF Unlimited License
>      [generated file]", "X11 License [generated file]", "GNU General Public
>      License v2.0 or later", "Boost Software License 1.0", "GNU Library
>      General Public License v2 or later", "zlib License", "FSF Unlimited
>      License (with License Retention) GNU General Public License, Version
>      2", "FSF Unlimited License (with License Retention)", "GNU General
>      Public License", "GNU Lesser General Public License v2.1 or later
>      [obsolete FSF postal address (Temple Place)]", "*No copyright* Apache
>      License 2.0", "Apache License 2.0". 694 files have unknown license.
>      Detailed output of licensecheck in
>      /home/ngompa/2241414-sword/licensecheck.txt

I've attached the output from licensecheck. Please double-check this against your enumerated list of license tags and ensure that your tags are correct for content *installed* by the binary RPMs.

> [!]: Patches link to upstream bugs/comments/lists or are otherwise
>      justified.
> [!]: SourceX tarball generation or download is documented.
>      Note: Package contains tarball without URL, check comments

This just needs some comments to fulfill.

Comment 20 Aaron Rainbolt 2023-10-02 21:11:14 UTC
I did some double-checking for licenses I wasn't sure about, and the only files that are under licenses that are not listed in the License field are (as far as I am aware) build system files.

Licensecheck appears to have misrecognized "Zlib", which is listed in the spec file in accordance with the expression from fedora-license-data. Worth noting as a licensecheck bug perhaps?

Comments added to spec file for patches and tarball generation.

Comment 21 Neal Gompa 2023-10-02 21:25:30 UTC
licensecheck comes from Debian, so I think it actually uses DEP-5 rationalized SPDX (which isn't *exactly* the same as mainline SPDX identifiers...).

Aside from that, I think we're *finally* in good shape, so...

PACKAGE APPROVED.

Comment 22 Neal Gompa 2023-10-02 21:27:10 UTC
I have sponsored you as a packager. Welcome to Fedora, and I hope you enjoy contributing!

Good luck and godspeed! :)

Comment 23 Package Review 2024-11-09 08:20:38 UTC
This package was never unretired after the new approval.
Are you still interested in finalizing this?

Comment 24 Aaron Rainbolt 2024-11-09 23:15:20 UTC
Excuse me? The package was unretired AFAICT, I currently am maintaining it along with Xiphos and Bibletime (though there haven't been any new releases of any of those in a while so I've not had anything to do there), and it's present in the Fedora 40 repositories so it seems to be "there" now. Did someone miss a step I didn't know needed to be done?

Comment 25 Fabio Valentini 2024-11-10 00:19:02 UTC
As far as I can see the only step that was missed was closing this bug. :)

Comment 26 Aaron Rainbolt 2024-11-10 01:33:08 UTC
Ah, that makes sense. I guess I just didn't think to do it, and the documentation on the package review process seems to not mention it :P


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