Bug 2294718 - Review Request: yudit - Unicode Text Editor
Summary: Review Request: yudit - Unicode Text Editor
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL: https://www.yudit.org
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-06-28 14:41 UTC by Dr Anirban Mitra
Modified: 2024-08-11 09:17 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
loganjerry: fedora-review?


Attachments (Terms of Use)
The .spec file difference from Copr build 7693041 to 7698078 (4.37 KB, patch)
2024-07-02 10:51 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 7698078 to 7811091 (22.38 KB, patch)
2024-08-01 07:58 UTC, Fedora Review Service
no flags Details | Diff

Description Dr Anirban Mitra 2024-06-28 14:41:49 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-aarch64/07688733-yudit/yudit-3.1.0.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-aarch64/07688733-yudit/yudit-3.1.0-1.fc41.src.rpm
Description: 
Yudit is a unicode text editor for  the X Window
System.  She  can  do True  Type font rendering,
printing,   transliterated  keyboard  input  and
handwriting recognition with no dependencies  on
external  engines. Her conversion  utilities can
convert    text   between   various   encodings.
Keyboard  input   maps  can  also  act like text
converters. There is no need for a pre-installed
multi-lingual environment. Menus are  translated
into many languages. 
source url: www.yudit.org
Fedora Account System Username:mitradranirban

Comment 1 Fedora Review Service 2024-06-28 14:59:59 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7688774
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2294718-yudit/fedora-rawhide-x86_64/07688774-yudit/fedora-review/review.txt

Found issues:

- License file COPYING.TXT is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text
- %config /usr/share/yudit/config/*
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_configuration_files
- Package has a "Prefix:" tag
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_relocatable_packages
- yudit-3.1.0.spec should be yudit.spec 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_spec_file_naming

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Dr Anirban Mitra 2024-06-30 11:05:57 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07693016-yudit/yudit.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07693016-yudit/yudit-3.1.0-2.fc41.src.rpm
Description: 
Yudit is a unicode text editor for  the X Window
System.  She  can  do True  Type font rendering,
printing,   transliterated  keyboard  input  and
handwriting recognition with no dependencies  on
external  engines. Her conversion  utilities can
convert    text   between   various   encodings.
Keyboard  input   maps  can  also  act like text
converters. There is no need for a pre-installed
multi-lingual environment. Menus are  translated
into many languages. 
source url: www.yudit.org
Fedora Account System Username:mitradranirban

Modified spec to correct some errors flagged by fedora-review

Comment 3 Fedora Review Service 2024-06-30 11:26:08 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7693041
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2294718-yudit/fedora-rawhide-x86_64/07693041-yudit/fedora-review/review.txt

Found issues:

- Using both %{buildroot} and $RPM_BUILD_ROOT
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros
- License file COPYING-DOCS is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text
- Package has a "Prefix:" tag
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_relocatable_packages

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 4 Dr Anirban Mitra 2024-07-02 10:26:56 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-40-x86_64/07698000-yudit/yudit.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07698000-yudit/yudit-3.1.0-2.fc41.src.rpm
Description: 
Yudit is a unicode text editor for  the X Window
System.  She  can  do True  Type font rendering,
printing,   transliterated  keyboard  input  and
handwriting recognition with no dependencies  on
external  engines. Her conversion  utilities can
convert    text   between   various   encodings.
Keyboard  input   maps  can  also  act like text
converters. There is no need for a pre-installed
multi-lingual environment. Menus are  translated
into many languages. 
source url: www.yudit.org
Fedora Account System Username:mitradranirban

Modified spec to separate data as separate subpackage

Comment 5 Fedora Review Service 2024-07-02 10:27:17 UTC
There seems to be some problem with the following file.
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07698000-yudit/yudit-3.1.0-2.fc41.src.rpm
Fetching it results in a 404 Not Found error.
Please make sure the URL is correct and publicly available.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 6 Dr Anirban Mitra 2024-07-02 10:29:59 UTC
Spec URL:https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-40-x86_64/07697847-yudit/yudit.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-40-x86_64/07697847-yudit/yudit-3.1.0-4.fc40.src.rpm
Description: 
Yudit is a unicode text editor for  the X Window
System.  She  can  do True  Type font rendering,
printing,   transliterated  keyboard  input  and
handwriting recognition with no dependencies  on
external  engines. Her conversion  utilities can
convert    text   between   various   encodings.
Keyboard  input   maps  can  also  act like text
converters. There is no need for a pre-installed
multi-lingual environment. Menus are  translated
into many languages. 
source url: www.yudit.org
Fedora Account System Username:mitradranirban

Modified spec to separate data as separate subpackage
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07698000-yudit/yudit-3.1.0-2.fc41.src.rpm
Description: 
Yudit is a unicode text editor for  the X Window
System.  She  can  do True  Type font rendering,
printing,   transliterated  keyboard  input  and
handwriting recognition with no dependencies  on
external  engines. Her conversion  utilities can
convert    text   between   various   encodings.
Keyboard  input   maps  can  also  act like text
converters. There is no need for a pre-installed
multi-lingual environment. Menus are  translated
into many languages. 
source url: www.yudit.org
Fedora Account System Username:mitradranirban

Modified spec to separate data as separate subpackage

Comment 7 Fedora Review Service 2024-07-02 10:30:17 UTC
There seems to be some problem with the following file.
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07698000-yudit/yudit-3.1.0-2.fc41.src.rpm
Fetching it results in a 404 Not Found error.
Please make sure the URL is correct and publicly available.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 8 Dr Anirban Mitra 2024-07-02 10:32:07 UTC
Spec URL:https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-40-x86_64/07697847-yudit/yudit.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-40-x86_64/07697847-yudit/yudit-3.1.0-4.fc40.src.rpm
Description: 
Yudit is a unicode text editor for  the X Window
System.  She  can  do True  Type font rendering,
printing,   transliterated  keyboard  input  and
handwriting recognition with no dependencies  on
external  engines. Her conversion  utilities can
convert    text   between   various   encodings.
Keyboard  input   maps  can  also  act like text
converters. There is no need for a pre-installed
multi-lingual environment. Menus are  translated
into many languages. 
source url: www.yudit.org
Fedora Account System Username:mitradranirban

Modified spec to separate data as separate subpackage

Comment 9 Fedora Review Service 2024-07-02 10:51:05 UTC
Created attachment 2038705 [details]
The .spec file difference from Copr build 7693041 to 7698078

Comment 10 Fedora Review Service 2024-07-02 10:51:07 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7698078
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2294718-yudit/fedora-rawhide-x86_64/07698078-yudit/fedora-review/review.txt

Found issues:

- License file COPYING-DOCS is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 11 Jerry James 2024-07-23 18:42:30 UTC
I will take this review.  If you are willing to exchange reviews, and reviewing a GAP package is okay for you, I could use a review of bug 2277898.  There are packaging guidelines specifically for GAP packages: https://docs.fedoraproject.org/en-US/packaging-guidelines/GAP/.

Comment 12 Jerry James 2024-07-23 20:43:11 UTC
This package needs a lot of work.  You must be following some very out-of-date
packaging advice.  Please see https://rpm-packaging-guide.github.io/ for
modern instructions.  See "Issues" below for specifics.

Package Review
==============

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

Issues:
=======
- 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.
  Note: License file COPYING-DOCS is not marked as %license
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/LicensingGuidelines/#_license_text

- Remove all instances of "Group: Applications/Editors".  See the 2nd bullet of
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections.
  Fedora has not used the Group tag for many years.  

- Remove "%global debug_package %{nil}".  If that causes another problem, we
  need to solve that problem rather than cover it up.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/

- I think the License field may need more license terms.  Please run a license
  checking tool, such as licensecheck or scancode-toolkit.

- The autoconf BuildRequires is never used.  You would need it to regenerate
  the configure script from configure.ac, but this spec file does not do that.

- The configure script reports that it cannot find an lpr command.  Add
  "BuildRequires: cups-client" to the spec file to fix that.

- Change "BuildRequires: fontpackages-devel" to
  "BuildRequires: fonts-rpm-macros" for future compatibility.

- Some of the BuildRequires should use the pkgconfig syntax.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#_buildrequires_based_on_pkg_config.
  I suggest the following BuildRequires transformations:
  freetype-devel       -> pkgconfig(freetype2)
  libjpeg-devel        -> pkgconfig(libjpeg)
  xorg-x11-proto-devel -> pkgconfig(xproto)
  libX11-devel         -> pkgconfig(x11)

- Why is gettext a Requires?  Shouldn't it be a BuildRequires instead?

- Since yudit-data install icons into /usr/share/icons/hicolor, add
  "Requires: hicolor-icon-theme" to the "%package yudit-data" section.

- The main package creates the directory /usr/share/yudit/config, but none of
  the 3 packages owns that directory.

- I can understand the main package having "Requires: yudit-data", but why does
  it also have "Requires: yudit-doc"?  That seems wrong.  A user should be able
  to forego documentation if the user doesn't want it.

- Both yudit-data and yudit-doc have "BuildArch: noarch" in %description.  You
  can see it in the output of "rpm -qip yudit-data-3.1.0-4.fc41.x86_64.rpm" ...
  which is an x86_64 rpm instead of a noarch rpm precisely because of this.
  The BuildArch tag has to be in the %package section, not the %description
  section.

- The three packages repeat the same %description.  Instead, consider adding
  this just above %description:

  %global desc %{expand:
    Yudit is a Unicode text editor for the X Window ...
  }

  Then use that macro in each %description, like this:

  %description %desc
  %description data %desc
  %description doc %desc

  The data and doc subpackages currently have a final sentence that is lacking
  in the main package.  You can move those sentences to the line after the
  appropriate %description in each case.

- Move %configure from %prep to %build.  Some macros expand differently in the
  two sections.

- Can you successfully replace "make" with "%make_build"?  If so, do so.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make

- In %install, remove "rm -fr $RPM_BUILD_ROOT".  See the 3rd bullet of
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections

- In %install, replace "make DESTDIR=$RPM_BUILD_ROOT install" with
  %make_install.  You probably don't need the two mkdir commands above it.

- Why is yudit.properties installed in both /etc/yudit and
  /usr/share/yudit/config?

- Replace hardcoded pathnames with macros (%{_sysconfdir}, %{_datadir}, etc.):
  https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/#macros_installation

- Remove %defattr from %files.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_permissions

- Language files are not handled correctly.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#handling_locale_files

- Fonts are not handled correctly.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#_avoid_bundling_of_fonts_in_other_packages

- The MimeType field in the desktop file needs some work.  See
  https://www.iana.org/assignments/media-types/media-types.xhtml for the
  official MIME type names.  So, for example, there is no "text/english".
  I have never seen most of those "text/x-*" MIME types.  Does anything actually
  use those, or is this just an attempt to make yudit the default editor for
  lots of file types?  If the latter, this is the wrong way to do it.

- Please consider adding an AppData file.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/

- Please consider using %autorelease and %autochangelog.  You can preserve
  upstream's changelog by creating a file named "changelog" when importing the
  package.  See
  https://docs.fedoraproject.org/en-US/packaging-guidelines/#changelogs

- The build log shows quite a few instances of this warning:
  warning: ‘operator delete(void*, unsigned long)’ called on pointer returned from a mismatched allocat
ion function [-Wmismatched-new-delete]

  The code should be using "delete []" instead of "delete" in those instances.
  Please report this to upstream.  Using the wrong delete operator is undefined
  behavior.  Bad things might happen!

- Please let upstream know that their various COPYING files have a very old
  address for the FSF.  It is out of date by 19 years.  They should either
  give a correct address, or not give a physical address at all.  The FSF
  itself recommends giving a web address instead, as can be seen in their
  GPL 3.0 text: https://www.gnu.org/licenses/gpl-3.0.html

- Nitpick: there are some weird spacing issues in this spec file.  Why do some
  of the BuildRequires have 2 spaces after the colon and some only one, for
  example?  Why is the %description text wrapped at only 48 columns?  That is
  very narrow.  Also the %description text has been justified.  Don't do that.
  The description text will be displayed in various GUI tools that will do
  their own word-wrapping and justification.  Finally, fix the changelog entry
  dated Mon Jul 01 2024 to have a space after the leading '*'.  (Also, the word
  "separate" is misspelled in that entry.)

- Another nitpick: in the %description, the software is referred to as "she"
  and "her".  This sounds strange to my native American English ears.  I would
  use the words "it" and "its", respectively.

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[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", "GNU General Public License, Version
     2", "FSF Unlimited License [generated file]", "GNU General Public
     License, Version 2 [obsolete FSF postal address (Mass Ave)]", "GNU
     General Public License", "GNU General Public License v2.0 or later",
     "GNU General Public License v2.0 or later [obsolete FSF postal address
     (Mass Ave)]", "X11 License [generated file]", "*No copyright* GNU
     General Public License", "Creative Commons Attribution-ShareAlike
     3.0", "GNU Free Documentation License v1.1", "GNU Free Documentation
     License v1.1 or later", "Unicode strict", "MIT License". 756 files
     have unknown license. Detailed output of licensecheck in
     /home/jamesjer/2294718-yudit/licensecheck.txt

     Some files seem to be covered by licenses other than GPL-2.0-only.
     The appropriate license names should be added to License.

[x]: License file installed when any subpackage combination is installed.

     However, note that I object to the doc package being required from the
     main package.  If that is changed, the license file will need to be added
     to the data subpackage as well.

[!]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/yudit/config
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/icons/hicolor,
     /usr/share/icons/hicolor/scalable,
     /usr/share/icons/hicolor/48x48/apps,
     /usr/share/icons/hicolor/scalable/apps, /usr/share/yudit/config,
     /usr/share/yudit, /usr/share/icons/hicolor/48x48
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.

     Mostly, except for the missing space after a '*' noted above.

[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required

     This should be removed, as noted above.

[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed

     This should be removed, as noted above.

[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[!]: The spec file handles locales properly.

     This should be fixed, as noted above.

[!]: Package consistently uses macros (instead of hard-coded directory
     names).

     This should be fixed, as noted above.

[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.

     Problems noted above.

[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[!]: Useful -debuginfo package or justification otherwise.

     This must be fixed, as noted above.

[x]: Package is not known to require an ExcludeArch tag.
[!]: Package complies to the Packaging Guidelines

     Exceptions noted above.

[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]: The License field must be a valid SPDX expression.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[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 does not use a name that already exists.
[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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[!]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files

     This should be fixed, as noted above.

[-]: 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.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in yudit-
     data
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: SourceX tarball generation or download is documented.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.

     However, an md5sum IS published.  Please consider checking it.

[?]: Package should compile and build into binary rpms on all supported
     architectures.
[!]: %check is present and all tests pass.

     The upstream tarball does contain tests.  Can we run them in %check?

[!]: Packages should try to preserve timestamps of original installed
     files.

     Please add the "-p" flag to invocations of cp and install.

[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]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 10885120 bytes in /usr/share
     See:
     https://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines

     This is due to the misplacement of "BuildArch: noarch" noted above.

[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: yudit-3.1.0-4.fc41.x86_64.rpm
          yudit-data-3.1.0-4.fc41.x86_64.rpm
          yudit-doc-3.1.0-4.fc41.x86_64.rpm
          yudit-3.1.0-4.fc41.src.rpm
================================================ rpmlint session starts ================================================
rpmlint: 2.5.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
rpmlintrc: [PosixPath('/tmp/tmpxf9d09u5')]
checks: 32, packages: 4

yudit-data.x86_64: W: tag-in-description BuildArch:
yudit-doc.x86_64: W: tag-in-description BuildArch:
yudit-data.x86_64: E: spelling-error ('noarch', '%description -l en_US noarch -> no arch, no-arch, monarch')
yudit-doc.x86_64: E: spelling-error ('unicode', '%description -l en_US unicode -> Unicode, uni code, uni-code')
yudit-doc.x86_64: E: spelling-error ('pre', '%description -l en_US pre -> per, ore, pee')
yudit-doc.x86_64: E: spelling-error ('documetation', '%description -l en_US documetation -> documentation, domestication')
yudit-doc.x86_64: E: spelling-error ('noarch', '%description -l en_US noarch -> no arch, no-arch, monarch')
yudit-data.x86_64: W: no-documentation
yudit-data.x86_64: E: no-binary
yudit-doc.x86_64: E: no-binary
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/licenses/yudit-doc/COPYING.TXT
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/yudit/doc/COPYING.TXT
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/yudit/doc/cs/COPYING-DOCS
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/yudit/doc/cs/README-DOCS.TXT
yudit-doc.x86_64: E: files-duplicated-waste 155931
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/FAQ.TXT /usr/share/doc/yudit-doc/FAQ.TXT
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-arabic.txt /usr/share/doc/yudit-doc/HOWTO-arabic.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-baybayin.txt /usr/share/doc/yudit-doc/HOWTO-baybayin.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-berber.txt /usr/share/doc/yudit-doc/HOWTO-berber.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-bidi.txt /usr/share/doc/yudit-doc/HOWTO-bidi.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-build.txt /usr/share/doc/yudit-doc/HOWTO-build.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-configure.txt /usr/share/doc/yudit-doc/HOWTO-configure.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-devanagari.txt /usr/share/doc/yudit-doc/HOWTO-devanagari.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-freehand.txt /usr/share/doc/yudit-doc/HOWTO-freehand.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-georgian.txt /usr/share/doc/yudit-doc/HOWTO-georgian.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-greekancient.txt /usr/share/doc/yudit-doc/HOWTO-greekancient.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-japanese.txt /usr/share/doc/yudit-doc/HOWTO-japanese.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-keymap.txt /usr/share/doc/yudit-doc/HOWTO-keymap.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-malayalam.txt /usr/share/doc/yudit-doc/HOWTO-malayalam.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-rovasiras.txt /usr/share/doc/yudit-doc/HOWTO-rovasiras.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-syntax.txt /usr/share/doc/yudit-doc/HOWTO-syntax.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-tamil.txt /usr/share/doc/yudit-doc/HOWTO-tamil.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-tibetan.txt /usr/share/doc/yudit-doc/HOWTO-tibetan.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-vietnamese.txt /usr/share/doc/yudit-doc/HOWTO-vietnamese.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-windows.txt /usr/share/doc/yudit-doc/HOWTO-windows.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/README.TXT /usr/share/doc/yudit-doc/README.TXT
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/COPYING.TXT /usr/share/licenses/yudit-doc/COPYING.TXT
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/am/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ar/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/az/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/bg/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/bn/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/cs/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/de/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/el/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/en/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/es/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/fi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/fr/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ga/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/gu/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/hi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/hu/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ja/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ko/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/mn/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/mr/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/pa/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/pl/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ru/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/sl/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/sr/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ta/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/uk/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ur/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/vi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/yi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/zh/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/zh_CN/LC_MESSAGES/yudit.mo
========= 4 packages and 0 specfiles checked; 12 errors, 57 warnings, 14 filtered, 12 badness; has taken 0.8 s =========




Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.13/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: 32, packages: 3

yudit.x86_64: W: unused-direct-shlib-dependency /usr/bin/uniprint /lib64/libX11.so.6
yudit-data.x86_64: W: tag-in-description BuildArch:
yudit-doc.x86_64: W: tag-in-description BuildArch:
yudit-data.x86_64: E: spelling-error ('noarch', '%description -l en_US noarch -> no arch, no-arch, monarch')
yudit-doc.x86_64: E: spelling-error ('unicode', '%description -l en_US unicode -> Unicode, uni code, uni-code')
yudit-doc.x86_64: E: spelling-error ('pre', '%description -l en_US pre -> per, ore, pee')
yudit-doc.x86_64: E: spelling-error ('documetation', '%description -l en_US documetation -> documentation, domestication')
yudit-doc.x86_64: E: spelling-error ('noarch', '%description -l en_US noarch -> no arch, no-arch, monarch')
yudit-data.x86_64: W: no-documentation
yudit-data.x86_64: E: no-binary
yudit-doc.x86_64: E: no-binary
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/licenses/yudit-doc/COPYING.TXT
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/yudit/doc/COPYING.TXT
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/yudit/doc/cs/COPYING-DOCS
yudit-doc.x86_64: E: incorrect-fsf-address /usr/share/yudit/doc/cs/README-DOCS.TXT
yudit-doc.x86_64: E: files-duplicated-waste 155931
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/FAQ.TXT /usr/share/doc/yudit-doc/FAQ.TXT
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-arabic.txt /usr/share/doc/yudit-doc/HOWTO-arabic.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-baybayin.txt /usr/share/doc/yudit-doc/HOWTO-baybayin.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-berber.txt /usr/share/doc/yudit-doc/HOWTO-berber.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-bidi.txt /usr/share/doc/yudit-doc/HOWTO-bidi.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-build.txt /usr/share/doc/yudit-doc/HOWTO-build.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-configure.txt /usr/share/doc/yudit-doc/HOWTO-configure.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-devanagari.txt /usr/share/doc/yudit-doc/HOWTO-devanagari.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-freehand.txt /usr/share/doc/yudit-doc/HOWTO-freehand.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-georgian.txt /usr/share/doc/yudit-doc/HOWTO-georgian.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-greekancient.txt /usr/share/doc/yudit-doc/HOWTO-greekancient.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-japanese.txt /usr/share/doc/yudit-doc/HOWTO-japanese.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-keymap.txt /usr/share/doc/yudit-doc/HOWTO-keymap.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-malayalam.txt /usr/share/doc/yudit-doc/HOWTO-malayalam.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-rovasiras.txt /usr/share/doc/yudit-doc/HOWTO-rovasiras.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-syntax.txt /usr/share/doc/yudit-doc/HOWTO-syntax.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-tamil.txt /usr/share/doc/yudit-doc/HOWTO-tamil.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-tibetan.txt /usr/share/doc/yudit-doc/HOWTO-tibetan.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-vietnamese.txt /usr/share/doc/yudit-doc/HOWTO-vietnamese.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/HOWTO-windows.txt /usr/share/doc/yudit-doc/HOWTO-windows.txt
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/README.TXT /usr/share/doc/yudit-doc/README.TXT
yudit-doc.x86_64: W: files-duplicate /usr/share/yudit/doc/COPYING.TXT /usr/share/licenses/yudit-doc/COPYING.TXT
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/am/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ar/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/az/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/bg/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/bn/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/cs/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/de/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/el/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/en/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/es/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/fi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/fr/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ga/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/gu/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/hi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/hu/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ja/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ko/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/mn/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/mr/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/pa/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/pl/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ru/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/sl/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/sr/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ta/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/uk/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/ur/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/vi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/yi/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/zh/LC_MESSAGES/yudit.mo
yudit-data.x86_64: W: file-not-in-%lang /usr/share/locale/zh_CN/LC_MESSAGES/yudit.mo
 3 packages and 0 specfiles checked; 12 errors, 58 warnings, 10 filtered, 12 badness; has taken 0.5 s 



Requires
--------
yudit (rpmlib, GLIBC filtered):
    config(yudit)
    gettext
    libX11.so.6()(64bit)
    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)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.15)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    rtld(GNU_HASH)
    yudit-data
    yudit-doc

yudit-data (rpmlib, GLIBC filtered):

yudit-doc (rpmlib, GLIBC filtered):



Provides
--------
yudit:
    application()
    application(yudit.desktop)
    config(yudit)
    mimehandler(application/x-shellscript)
    mimehandler(text/english)
    mimehandler(text/plain)
    mimehandler(text/x-c)
    mimehandler(text/x-c++)
    mimehandler(text/x-c++hdr)
    mimehandler(text/x-c++src)
    mimehandler(text/x-chdr)
    mimehandler(text/x-csrc)
    mimehandler(text/x-java)
    mimehandler(text/x-makefile)
    mimehandler(text/x-moc)
    mimehandler(text/x-pascal)
    mimehandler(text/x-tcl)
    mimehandler(text/x-tex)
    yudit
    yudit(x86-64)

yudit-data:
    yudit-data
    yudit-data(x86-64)

yudit-doc:
    yudit-doc
    yudit-doc(x86-64)



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

Comment 13 Dr Anirban Mitra 2024-07-24 05:51:09 UTC
Thanks for your detail review. 
I actually took the src.rpm available at upstream https://yudit.org/download and modified it as suggested by Fedora review in Copr build taking some help from Suse packaging and random help from AI online as I am not very much conversant with C++ programming. 
As upstream is reluctant to make any changes in source as suggested, the source will probably need some patch to enable debugging. I will make other changes as suggested and re-upload the spec and srpm.

Comment 14 Jerry James 2024-07-24 22:28:51 UTC
Okay.  I am willing to help you work through this list of issues.  If you have questions, please don't hesitate to ask.  Feel free to send email if that is easier than working through bugzilla.

Comment 15 Dr Anirban Mitra 2024-07-25 18:43:54 UTC
Spec URL:https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07788756-yudit/yudit.spec
SRPM URL:https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07788756-yudit/yudit-3.1.0-1.fc41.src.rpm
source: www.yudit.org
FAS username: mitradranirban 

I tried to implement most of your suggestions as far as I could. However, I am unable to remove debuginfo {nil} as it leads to build failure with message "error: Empty %files file /builddir/build/BUILD/yudit-3.1.0/debugsourcefiles.list"
  I also could not remove  File listed twice: both in data folder of main package, and yudit-data subpackage (Please see build log athttps://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-40-x86_64/07788320-yudit/builder-live.log.gz 
Any help regarding these issues will be highly appreciated.

Comment 16 Jerry James 2024-07-27 20:36:59 UTC
(In reply to Dr Anirban Mitra from comment #15)
> I tried to implement most of your suggestions as far as I could. However, I
> am unable to remove debuginfo {nil} as it leads to build failure with
> message "error: Empty %files file
> /builddir/build/BUILD/yudit-3.1.0/debugsourcefiles.list"

The binary is being stripped as it is installed.  I see this in the build log:

/builddir/build/BUILD/yudit-3.1.0-build/yudit-3.1.0/bin/install-sh -c -s uniprint /builddir/build/BUILD/yudit-3.1.0-build/BUILDROOT//usr/bin

The -s argument says to run the strip program.  There are several ways you could fix this.  For example, you could remove the -s argument in %prep like this:

sed -i '/install-sh/s/ -s//' Makefile.conf.in

>   I also could not remove  File listed twice: both in data folder of main
> package, and yudit-data subpackage (Please see build log
> athttps://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/
> fedora-40-x86_64/07788320-yudit/builder-live.log.gz 
> Any help regarding these issues will be highly appreciated.

That is because "%files data" contains this:

%{_datadir}/yudit

The yudit-data package therefore owns /usr/share/yudit, *and everything below it*.  Add "%dir" to the beginning of that line to remove the warning.  Doing so will reveal that no package owns %{_datadir}/yudit/fonts.

Also, I see that "%description data" now contains "Requires: hicolor-icon-theme".  That needs to be in "%package data" instead.  In its current location, it merely shows up as text in the description of the yudit-data package.

The Fedora project is trying to move away from 32-bit x86 builds.  If you don't need such a build, then I encourage you to add something like this to the package:

# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch:    %{ix86}

Finally, I fear I pushed you too far towards longer lines.  Now we are getting rpmlint warnings about %description lines that are too long.  That triggers if a line is more than 79 characters long.  Can you rewrap to 79 characters or less?

Comment 17 Dr Anirban Mitra 2024-07-29 17:21:18 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07801564-yudit/yudit.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07801564-yudit/yudit-3.1.0-1.fc41.src.rpm
source: www.yudit.org
FAS username: mitradranirban

I had to do 2 major changes  
1) separate fonts into separate subpackage as they are essential for some function of the program

2) Though I created the metainfo file as per sample given in packaging guidelines, the appstream-util validate-relax command fails with following output in mock in copr 

/builddir/build/BUILD/yudit-3.1.0-build/BUILDROOT/usr/share/metainfo/yudit.metainfo.xml: failed to parse /builddir/build/BUILD/yudit-3.1.0-build/BUILDROOT/usr/share/metainfo/yudit.metainfo.xml: no <component> node
error: Bad exit status from /var/tmp/rpm-tmp.mxeAme (%install)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.mxeAme (%install)

So I had to comment off the validation part for rpm build to occur

How can I make the validation succeed?

Comment 18 Dr Anirban Mitra 2024-08-01 07:35:37 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07811049-yudit/yudit.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/mitradranirban/yudit/fedora-rawhide-x86_64/07811049-yudit/yudit-3.1.0-1.fc41.src.rpm
source: www.yudit.org
FAS username: mitradranirban

Corrected the typos in metainfo file - now it validates properly 

I could not add COPYING-DOCS as %license file as it leads to build failure with message - File not found

Comment 19 Fedora Review Service 2024-08-01 07:58:43 UTC
Created attachment 2043208 [details]
The .spec file difference from Copr build 7698078 to 7811091

Comment 20 Fedora Review Service 2024-08-01 07:58:45 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7811091
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2294718-yudit/fedora-rawhide-x86_64/07811091-yudit/fedora-review/review.txt

Found issues:

- License file COPYING-DOCS is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 21 Jerry James 2024-08-06 21:56:46 UTC
Sorry for the delay.  This is looking much better!

I think the metainfo problem is because the component type is "desktop".  It should be "desktop-application" instead.

According to the spec, the <id> tag should have the form tld.vendor.product.  The tld is org, the vendor is yudit, and the product is also yudit, so I think the metainfo should contain <id>org.yudit.yudit</id>.  The filenames should be based on the id, so that would be org.yudit.yudit.metainfo.xml for the AppData file and org.yudit.yudit.desktop for the desktop file.  See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic.

Also, for the <update_contact> tag, I recommend against listing upstream's email address, since the metainfo file is a downstream addition.  It should probably be yudit-maintainers (which won't exist until the package is created, of course).

It would also be good to add <launchable type="desktop-id">org.yudit.yudit.desktop</launchable>, assuming you follow my recommendation for the desktop file name.

It would would also be good to list the binaries, like this:
<provides>
  <binary>mytool</binary>
  <binary>uniconv</binary>
  <binary>uniprint</binary>
  <binary>yudit</binary>
</provides>

Now for the fonts.  Fonts are always a pain in the neck.  I'm afraid we need to do more work to comply with the Font Policy (https://docs.fedoraproject.org/en-US/packaging-guidelines/FontsPolicy/).

The OldHungarian and yudit fonts do not appear to be related to each other.  That means that each font must be in a separate package, not bundled together in a "fonts" subpackage: https://docs.fedoraproject.org/en-US/packaging-guidelines/FontsPolicy/#_installation_rpm_package_break_up_font_packages.

The OldHungarian font is under the CC-BY-SA-3.0 license.  While that is an allowed license for content and documentation, it is not on the list of allowed licenses for fonts: https://docs.fedoraproject.org/en-US/legal/allowed-licenses/.  Can you please file a ticket at https://gitlab.com/fedora/legal/fedora-license-data/-/issues and ask whether CC-BY-SA-3.0 is acceptable for fonts?

The prebuilt font files are TTF, but the Fonts Policy requires that OTF files be shipped: https://docs.fedoraproject.org/en-US/packaging-guidelines/FontsPolicy/#_font_file_formats.  The source for the OldHungarian font is in font-src/OldHungarian_Full.sfd, so it is possible to rebuild it as OTF.  However, I do not see sources for the yudit font.  Do you know if they are available somewhere?  The TTF file appears to have been built with fontforge, which we have in Fedora.  Furthermore, the yudit sources appear to be fixated on working with TTF files rather than OTF files.  You will either need to patch yudit to use OTF files or ask for an exception to the font policy for this package.

I'm not sure the *.hex files should be installed with the fonts, since they are not font files.  I will have to think about that.

Also, fonts/README.TXT says that yudit needs fonts that yudit upstream cannot redistribute, namely arial.ttf, kochi-gothic.ttf, gulim.ttf, cyberbit.ttf, caslr.ttf, and fogcaslr.ttf.  If they are not redistributable, then Fedora cannot package them either.  Will yudit have problems if these fonts are missing?

Fontconfig files need to be provided for the fonts: https://docs.fedoraproject.org/en-US/packaging-guidelines/FontsPolicy/#_fontconfig_2

Comment 22 Dr Anirban Mitra 2024-08-07 16:10:01 UTC
Regarding the font policy what is said
"OpenType uses an SFNT container around bitmaps (*.otb) and outlines in TT (*.ttf) or CFF (*.otf) formats. Multiple fonts can be consolidated in a single collection (*.ttc or *.otc)."
So the ttf font files are just fine as they are also OpenType fonts, albeit with a quadratic outline. These I speak from my 22 yrs experience as an amateure typographer. 
Yudit requires yudit.ttf to be present in /usr/share/yudit/fonts to have a usable UI on first startup - so if we only include that or a softling to that font in the said directory that is sufficient 
The .hex files are GNU Unifont compatible pre- OpenType fonts, not required now. 
Problem is we have to prevent make install to install these fonts, otherwise packaging will fail. 
I can package yudit.ttf as a separate font-package as I have packagds fonts before as per Fedora guidelines

Comment 23 Dr Anirban Mitra 2024-08-09 03:36:38 UTC
The Licencing issue for CC-BY-SA-3.0 for yudit font is solved.

https://gitlab.com/fedora/legal/fedora-license-data/-/issues/557

Now I have to create a font package for yudit.ttf  and get it reviewed before we can proceed with this one

Comment 24 Dr Anirban Mitra 2024-08-11 09:17:51 UTC
I have submitted a fresh review for yudit-fonts
 https://bugzilla.redhat.com/show_bug.cgi?id=2304005 

This review can continue only if that review is approved and yudit.ttf font is available in fedora rawhide


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