https://bugzilla.redhat.com/show_bug.cgi?id=2163447
--- Comment #5 from hardt@kit.edu --- Many many thanks for this extensive review! I will apply these points to my two other packages, once I get to them, and resubmit them.
I have followed all your recommendations, except:
[...]
Some people would even recommend this, in case you add an Epoch in the future:
I didn't use the epoch version
[...]
If you are using %{autorelease}, it’s best to use %{autochangelog} too. See: https://docs.pagure.org/Fedora-Infra.rpmautospec/opting-in.html#opting-into-...
Do this instead of writing a manual changelog:
%changelog %autochangelog
I'm a bit reluctant to push the full git history into the changelog. Here, I've git committed for each change you suggested. That seems quite exhaustive to me.
[...]
- The Makefile installs files without preserving their timestamps. See: However, I’ve offered a PR upstream to make this easier:
I'm now packaging v1.2.5 which includes your PR
===== MUST items =====
Generic:
[!]: 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.
Fixed.
[!]: License file installed when any subpackage combination is installed.
Fixed.
[!]: Package requires other packages for directories it uses. Note: No known owner of /usr/include/mustach
Fixed.
[!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/include/mustach
Fixed.
[!]: %build honors applicable compiler flags or justifies otherwise.
Fixed.
[!]: Each %files section contains %defattr if rpm < 4.4 Note: %defattr present but not needed
Fixed.
[!]: Requires correct, justified where necessary. Unnecessary and not-always-correct manual Requires are present.
Fixed.
[!]: Package complies to the Packaging Guidelines See Issues section.
Fixed.
===== SHOULD items =====
Generic: [!]: Final provides and requires are sane (see attachments). There are some issues, noted in Issues.
I hope for the best
[!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in mustach- lib-core , mustach-lib-core-devel , mustach-lib-json-c , mustach-lib- json-c-devel , mustach-lib-cjson , mustach-lib-cjson-devel , mustach- lib-jansson , mustach-lib-jansson-devel
Fixed.
[?]: Package functions as described.
The tests are included and run during packaging.
[!]: %check is present and all tests pass.
Yup
[!]: Packages should try to preserve timestamps of original installed files.
Fixed by upstream PR #29
===== EXTRA items =====
Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_use_rpmlint
Except: - W: no-documentation, since this is only warned for sub-packages - W: name-repeated-in-summary, since I think this is a bug in Rpmlint: the name is "mustach" the repeated name refers to the software "mustache" (i.e. with an additional 'e').
Installation errors
[...]
ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M d3cf83e0343d431a8b20c0a7306a9ecd -D /var/lib/mock/fedora-rawhide-x86_64-bootstrap/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.a2gn4isy:/etc/resolv.conf --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/fedora-rawhide-x86_64/root/installation-homedir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v$ --setenv=LANG=C.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 --resolv-conf=off /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 38 --setopt=deltarpm=False --allowerasing --disableplugin=local --disableplugin=spacewalk --disableplugin=versionlock install /builddir/mustach-lib-json-c-devel-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-core-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-core-devel-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-cjson-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-json-c-debuginfo-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-core-debuginfo-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-json-c-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-cjson-debuginfo-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-cjson-devel-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-debuginfo-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-debugsource-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-jansson-debuginfo-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-jansson-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-1.2.4-1.fc38.x86_64.rpm /builddir/mustach-lib-jansson-devel-1.2.4-1.fc38.x86_64.rpm --setopt=tsflags=nocontexts
I have no idea if / how to address this.