Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 2251523 - Review Request: libheinz - C++ base library of Heinz Maier-Leibnitz Zentrum
Summary: Review Request: libheinz - C++ base library of Heinz Maier-Leibnitz Zentrum
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Miroslav Suchý
QA Contact: Fedora Extras Quality Assurance
URL: https://jugit.fz-juelich.de/mlz/libheinz
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR 2251524
TreeView+ depends on / blocked
 
Reported: 2023-11-26 01:49 UTC by Beck Liu
Modified: 2023-12-04 16:22 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-12-04 16:22:56 UTC
Type: ---
Embargoed:
msuchy: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 6700405 to 6704146 (deleted)
2023-11-29 04:59 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 6704146 to 6706846 (deleted)
2023-11-30 01:08 UTC, Fedora Review Service
no flags Details | Diff

Description Beck Liu 2023-11-26 01:49:31 UTC
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.

Comment 1 Fedora Review Service 2023-11-26 16:44:18 UTC
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.

Comment 3 Beck Liu 2023-11-27 12:02:32 UTC
[fedora-review-service-build]

Comment 4 Beck Liu 2023-11-27 12:26:10 UTC
The copr build in last comment: https://copr.fedorainfracloud.org/coprs/shattuckite/bornagain/build/6694777

Comment 5 Fedora Review Service 2023-11-27 21:04:24 UTC
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.

Comment 6 Miroslav Suchý 2023-11-28 07:24:43 UTC
> %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?

Comment 7 Beck Liu 2023-11-28 08:32:15 UTC
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

Comment 8 Beck Liu 2023-11-29 04:54:13 UTC
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

Comment 9 Fedora Review Service 2023-11-29 04:59:45 UTC
Created attachment 2001922 [details]
The .spec file difference from Copr build 6700405 to 6704146

Comment 10 Fedora Review Service 2023-11-29 04:59:48 UTC
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.

Comment 11 Miroslav Suchý 2023-11-29 07:28:11 UTC
> 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.

Comment 12 Miroslav Suchý 2023-11-29 07:33:16 UTC
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.

Comment 13 Beck Liu 2023-11-29 16:42:46 UTC
> 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.

Comment 15 Fedora Review Service 2023-11-30 01:08:01 UTC
Created attachment 2002051 [details]
The .spec file difference from Copr build 6704146 to 6706846

Comment 16 Fedora Review Service 2023-11-30 01:08:03 UTC
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.

Comment 17 Beck Liu 2023-12-04 06:02:30 UTC
Do you have any more comments?

Comment 18 Miroslav Suchý 2023-12-04 06:45:19 UTC
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

Comment 19 Miroslav Suchý 2023-12-04 07:16:05 UTC
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.

Comment 20 Fedora Admin user for bugzilla script actions 2023-12-04 14:42:40 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/libheinz

Comment 21 Beck Liu 2023-12-04 14:44:55 UTC
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.

Comment 22 Fedora Update System 2023-12-04 16:16:28 UTC
FEDORA-2023-6d44b2135d has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-6d44b2135d

Comment 23 Fedora Update System 2023-12-04 16:22:56 UTC
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.


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