Spec URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06694777-libheinz/libheinz.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06694777-libheinz/libheinz-2.0.0-1.fc40.src.rpm Description: C++ base library of Heinz Maier-Leibnitz Zentrum Fedora Account System Username: shattuckite This is my first Fedora package, so I need a Fedora sponsor to sponsor me into Fedora packager group.
Copr build: https://copr.fedorainfracloud.org/coprs/build/6695812 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2251523-libheinz/srpm-builds/06695812/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- 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.
Spec URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06694777-libheinz/libheinz.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06694777-libheinz/libheinz-2.0.0-1.fc40.src.rpm
[fedora-review-service-build]
The copr build in last comment: https://copr.fedorainfracloud.org/coprs/shattuckite/bornagain/build/6694777
Copr build: https://copr.fedorainfracloud.org/coprs/build/6700405 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2251523-libheinz/fedora-rawhide-x86_64/06700405-libheinz/fedora-review/review.txt Please take a look if any issues were found. --- 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.
> %global debug_package %{nil} This is definitely not good. Why you did it? > Patch0: libheinz-fix-cmake.patch It is advised that you include upstream issue where you try to incorporate the patch to upstream https://docs.fedoraproject.org/en-US/packaging-guidelines/PatchUpstreamStatus/ > %description > %{summary}. Sigh. I see that upstream does not have much information either. BTW are you member of the upstream? Can you improve it?
Thanks for your time to take the package review. > This is definitely not good. Why you did it? The library is header-only, so I think it does not contain the debug information. > It is advised that you include upstream issue where you try to incorporate the patch to upstream https://docs.fedoraproject.org/en-US/packaging-guidelines/PatchUpstreamStatus/ > Sigh. I see that upstream does not have much information either. BTW are you member of the upstream? > Can you improve it? I am not a member from the upstream. I opened an issue and write your suggestions (the patch about CMake files and more explicit, detailed description) on the upstream project . https://jugit.fz-juelich.de/mlz/libheinz/-/issues/2
update with SPEC and SRPM: I see that there is third-party catch2 library in the source code of libheinz, which is https://jugit.fz-juelich.de/mlz/libheinz/-/blob/main/test/catch.hpp. And I look through the license policy of Fedora packaging, so I think it should add the license of catch2 to license field and mark it as bundled. [1, 2] > Note that files in the package source code that are not compiled or otherwise included in the binary RPM must still be covered by a license allowed by Fedora, because Fedora is distributing the source code. [1] https://docs.fedoraproject.org/en-US/legal/license-field/ [2] https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ For the patch issue, the upstream maintainer says, As it happens, we are currently reviewing CMake installation commands, starting with some other libraries. Therefore please allow for some time before we come back to libheinz and to your patch. So I add the link of issue and some comments to explain what the patch do for now. Spec URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06704136-libheinz/libheinz.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06704136-libheinz/libheinz-2.0.0-1.fc40.src.rpm
Created attachment 2001922 [details] The .spec file difference from Copr build 6700405 to 6704146
Copr build: https://copr.fedorainfracloud.org/coprs/build/6704146 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2251523-libheinz/fedora-rawhide-x86_64/06704146-libheinz/fedora-review/review.txt Please take a look if any issues were found. --- 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.
> The library is header-only, so I think it does not contain the debug information. I never reviewed a package like this one. I checked with another maintainer and it seems correct. > I see that there is third-party catch2 library in the source code of libheinz, which is https://jugit.fz-juelich.de/mlz/libheinz/-/blob/main/test/catch.hpp. And I look through the license policy of Fedora packaging, so I think it should add the license of catch2 to license field and mark it as bundled. Good catch. You are correct about the license. I would not be so strict about providing the bundles(catch2). It seems to me that in the bundle only some parts of the code. But it will do no harm either. > For the patch issue, the upstream maintainer says, As it happens, we are currently reviewing CMake installation commands, starting with some other libraries. Therefore please allow for some time before we come back to libheinz and to your patch. So I add the link of issue and some comments to explain what the patch do for now. Yes. That is ok. Even if upstream would reject this patch then simple leaving the comment with link to the issue is reference that you tried and as pointer for anyone wondering why the patch is there. When upstream merged your PR, you can remove this part later. The spec file looks good now. With the exception of summary. You do not need to wait on upstream to come with better description. You can write something yourself. As part of sponsoring you I want to explain you the processes in Fedora. I see you are in Singapore TZ. Will you be available for about an hour long talk? Some morning of your local time? Maybe this Friday? I can sent you an invite to GMeet.
Hmm the file libheinz/test/catch.hpp is a test. The test is not included in the binary package. https://docs.fedoraproject.org/en-US/legal/license-field/#_basic_policy So you do not need to specify the boost license. And you can remove the provided bundle.
> Hmm the file libheinz/test/catch.hpp is a test. The test is not included in the binary package. https://docs.fedoraproject.org/en-US/legal/license-field/#_basic_policy Ok, I see. Thanks for the further clarification on the license issue. I will change it later. > As part of sponsoring you I want to explain you the processes in Fedora. I see you are in Singapore TZ. Will you be available for about an hour long talk? Some morning of your local time? Maybe this Friday? I can sent you an invite to GMeet. Thanks for your Google meeting invitation for explaining the in-depth details. But I have some more words. Due to that I am not an English native speaker, so my insufficient English speaking and listening abilities may not be able to communicate fluently with you face-to-face. Maybe in another way of explaining the details about Fedora packaging and other related things. If you still want to talk via GMeet, I am okay with that personally.
update: remove the license of catch2 and related bundled line, add a bit more expressive description Spec URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06706806-libheinz/libheinz.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/shattuckite/bornagain/fedora-rawhide-x86_64/06706806-libheinz/libheinz-2.0.0-1.fc40.src.rpm
Created attachment 2002051 [details] The .spec file difference from Copr build 6704146 to 6706846
Copr build: https://copr.fedorainfracloud.org/coprs/build/6706846 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2251523-libheinz/fedora-rawhide-x86_64/06706846-libheinz/fedora-review/review.txt Please take a look if any issues were found. --- 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.
Do you have any more comments?
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. [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]: Header files in -devel subpackage, if present. [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 successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [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. No licenses found. Please check the source files for licenses manually. [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. [-]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. [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]: The License field must be a valid SPDX expression. [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]: 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]: 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 8252 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [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). [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: 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]: 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]: Sources can be downloaded from URI in Source: tag [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: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. APPROVED
I added you to the Packager Group. (if you logged to src.fedoraproject.org before you have to sign out and sign in again) > Due to that I am not an English native speaker, so my insufficient English speaking and listening abilities may not be able to communicate fluently with you face-to-face. I am not native speaker as well. I understand your hesitation. You do not need to hesitate. There are lot of contributors who are not native speakers and the quality of English varies a lot. If you understand and other people understand you then your English is good enough. And you are clearly doing very well. Do not be afraid. I will not push you to face to face mtg. Please read: * https://docs.fedoraproject.org/en-US/package-maintainers/Joining_the_Package_Maintainers/#read_the_guidelines * check this video https://www.youtube.com/watch?v=VsnJymZRQOM * and this video https://www.youtube.com/watch?v=w3e3W00KqVI * you may read http://frostyx.cz/posts/for-my-fedora-packaging-sponsorees If you will have a question about Fedora process do not hesitate to write me email directly.
The Pagure repository was created at https://src.fedoraproject.org/rpms/libheinz
Many thanks for the review work of the package and sponsoring me into the packager group. I will look the contents that are in the links you listed.
FEDORA-2023-6d44b2135d has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-6d44b2135d
FEDORA-2023-6d44b2135d has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.