spec: https://svgames.pl/fedora/imhex-1.5.0-1/imhex.spec srpm: https://svgames.pl/fedora/imhex-1.5.0-1/imhex-1.5.0-1.fc33.src.rpm koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=58846929 Description: ImHex is a hex editor for reverse engineers, programmers, and people who value their eyesight while working late at night. Fedora Account System Username: suve
I’m glad to see you have correctly handled the bundled dependencies in the License field. You still need to follow https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling: if upstream does not support building against an external/system version of the bundled dependencies, you must contact them publicly about a path to doing so, and you must add the appropriate virtual Provides to indicate the bundling. The latest version is 1.7.0, and it has additional bundled dependencies which you must also handle. Since this is a GUI application, you need a desktop file (https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files). If upstream does not provide one, you must write one. You should (not must, but should) also write an AppData XML file (https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/). It makes sense to offer both of these upstream. When ignoring format-security warnings, you should comment on whether you think they are spurious, and if not, why not. Or, report them upstream and let upstream decide, and link the bug report.
Nothing seems to be happening with this review. Do you still intend to complete the package?
>Since this is a GUI application, you need a desktop file [...] also an AppData XML file [...] Sure. >When ignoring format-security warnings, you should comment on whether you think they are spurious, and if not, why not. Or, report them upstream and let upstream decide, and link the bug report. This has been fixed since, 1.7.0 does not require the patch. >Do you still intend to complete the package? I tried updating to 1.7.0 and building that fails because of RPATH issues. I have exactly zero knowledge of how RPATH works, so unless upstream fixes this on their side, I don't really see myself pushing this forward. ERROR 0002: file '/usr/bin/imhex' contains an invalid rpath '/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex' in [/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui/external/glad:] ERROR 0002: file '/usr/bin/imhex' contains an invalid rpath '/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui' in [/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui/external/glad:] ERROR 0002: file '/usr/bin/imhex' contains an invalid rpath '/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui/external/glad' in [/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui/external/glad:] ERROR 0010: file '/usr/bin/imhex' contains an empty rpath in [/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui:/home/rpmbuilder/rpmbuild/BUILD/ImHex-1.7.0/x86_64-redhat-linux-gnu/plugins/libimhex/external/ImGui/external/glad:]
RPATH is a path for finding shared libraries, hard-coded into the executable instead of picked up from the environment. We usually have to remove these or prevent their creation in Fedora, but they can be acceptable for internal libraries like plugins (https://docs.fedoraproject.org/en-US/packaging-guidelines/#_rpath_for_internal_libraries), which at a glance is likely the case here. However, the build is setting RPATHs that are totally wrong, since they refer to the build environment. They will probably need to be adjusted with chrpath. I can probably help you figure out how to deal with the RPATH issues, if you are willing to work through them along with correctly dealing with the bundled dependencies, writing the desktop/AppData files, and any other issues. For example, based on the README at https://github.com/WerWolv/ImHex#linux, there are likely a lot more files that need to be manually installed. On the other hand, if you are having second thoughts and don’t want to finish the work needed for this package, you can say so and close this bug as WONTFIX, and that’s just fine too.
> I can probably help you figure out how to deal with the RPATH issues Much appreciated. > correctly dealing with the bundled dependencies Some CMake help may also be needed. > writing the desktop/AppData files No biggie. > if you are having second thoughts and don’t want to finish the work needed for this package Not guaranteeing that I'm gonna see this through, though the program seems interesting enough to me that I'd like to give it one more go. Worst case scenario we'll end up with a bunch of patches that, hopefully, will be of interest to upstream. I'll start with un-bundling new libraries introduced since 1.5.0 and let you know about progress.
Just checking if you are still working on this or not…
Unfortunately I haven't really touched on this since our last exchange. I'll close this in case someone else wants to have a go, so they won't be blocked by the "no duplicate requests" policy.