Spec URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-4.fc42.src.rpm Description: OpenMW is an open-source game engine based on Bethesda's Elder Scrolls III Morrowind. Fedora Account System Username: chapien Some details on the package, since I'm sure there will be questions in this area. First, what is openMW? OpenMW is a game engine. Originally, it was made to play the proprietary video game "Elder Scrolls III Morrowind" on Linux and other non-Windows platforms natively. It evolved into an entire engine replacement project, making it the preferred way to play the game even on Windows. This would imply that the game requires proprietary data to run. However, this is no longer the case. OpenMW has evolved into an entire game engine in its own right. Game projects have been created in openmw-cs (the construction set), requiring absolutely no proprietary code or assets from the original Morrowind. Upstream provides sample data files that can substitute Morrowind's, allowing the launcher to function even without Morrowind itself. Of course, the engine is still primarily used to run Morrowind at this time, but like another package we include, Stratagus, it can do more. Upstream's website: https://openmw.org/ Next, I want to pre-emptively explain some of the decisions made in the build process. I am statically linking three libraries, and for good reason. First, I am statically linking bullet3, a library we do provide. This is because openMW requires bullet to be built with Double Precision, and our own package is built with float precision. I was advised by the bullet3 Fedora maintainers that statically linking would be appropriate in this use-case. Second, I am statically linking OpenSceneGraph, a package we do provide. Upstream (openMW) has their own fork of OpenSceneGraph, which provides optimizations and improved framerate for openMW specifically. Statically linking their version of OSG simply made sense to me. The repo is here: https://github.com/OpenMW/osg Finally, RecastNavigation is something we do not package; Godot Engine, a package we do provide, seems to statically link RecastNavigation as well, so there is precedent. In addition, by default OpenMW statically links Recast rather than dynamically, which implies to me that this is preferred by upstream. Let me know if there are further questions and feedback!
Thanks for this contribution, but I have something to say. 1st of all remove all mentions of a trademarked software. E.g. use something like this: "OpenMW is an open-source game engine based on a well-known game." "OpenMW-CS is a replacement for a well-known Construction Set" 2nd. I'm sure License field needs some clarification. I am certain it's not just "GPL-3.0-only". It should also mention a License for OpenSceneGraph fork. Our copy is licensed under "GPL-2.0-or-later WITH WxWindows-exception-3.1". Also bulletphysics is licensed under "Zlib". Please double-check that all licenses are mentioned properly.
(In reply to Peter Lemenkov from comment #1) > Thanks for this contribution, but I have something to say. > > 1st of all remove all mentions of a trademarked software. E.g. use something > like this: > > "OpenMW is an open-source game engine based on a well-known game." > > "OpenMW-CS is a replacement for a well-known Construction Set" > > 2nd. I'm sure License field needs some clarification. I am certain it's not > just "GPL-3.0-only". It should also mention a License for OpenSceneGraph > fork. Our copy is licensed under "GPL-2.0-or-later WITH > WxWindows-exception-3.1". Also bulletphysics is licensed under "Zlib". > Please double-check that all licenses are mentioned properly. Understood. Do I list each license on a separate line?
Updated, using the licenses all on one line for now, let me know if that is not appropriate. Spec URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-5.fc42.src.rpm
> Understood. Do I list each license on a separate line? Putting multiple "License: XXX" tags on a single package is invalid and will cause rpmbuild to refuse to build the package and exit with an error, so the licences must all go in a single "License: XXX and YYY..." tag. (Unless you're building multiple packages from the same spec file, in which case each sub-package can have a different licence tag.) That being said, standard practice is to also put a comment explaining the licensing breakdown. You should end up with something like: # Most of the code is subject to license XXX. # - src/linked_list.c is licensed under YYY # Statically linked library "qwerty" is ZZZ. License: XXX and YYY and ZZZ
(In reply to Artur Frenszek-Iwicki from comment #4) > > Understood. Do I list each license on a separate line? > Putting multiple "License: XXX" tags on a single package is invalid > and will cause rpmbuild to refuse to build the package and exit with an > error, > so the licences must all go in a single "License: XXX and YYY..." tag. > (Unless you're building multiple packages from the same spec file, > in which case each sub-package can have a different licence tag.) > > That being said, standard practice is to also put a comment explaining the > licensing breakdown. > You should end up with something like: > > # Most of the code is subject to license XXX. > # - src/linked_list.c is licensed under YYY > # Statically linked library "qwerty" is ZZZ. > License: XXX and YYY and ZZZ Fixed. I also switched to using %autorelease, I was using manual build numbers for my own testing. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
Ran the review service and found some problems myself. Fixed up my License expression, and I also now run desktop-file-validate appropriately. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm [fedora-review-service] (hopefully I did that right)
Forgot that I needed desktop utils to do desktop-file-validate. Sorry. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm [fedora-review-service]
Moved desktop-file-validate to %check. Removed periods from Summary and desc. Added %dir %{_systemconfig}/openmw to files list. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm [fedora-review-service]
Fixed some licenses. My fedora review seems to come up clean now. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm [fedora-review-service]
I took a quick look at the spec file - it's quite good overall - and wanted to note the bundling policy: https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ To summarize, each bundled package needs to have a `Provides: bundled(package_name) = package_version`, so that its existence and potential security vulnerabilities can be identified from package metadata. Also, each bundled package should be justified as to why it meets the policy and can't be shipped separately in Fedora. As an example, looking at Repology, it seems like the recastnavigation package could be included in Fedora independently.
(In reply to Alexander Lent from comment #10) > I took a quick look at the spec file - it's quite good overall - and wanted > to note the bundling policy: > https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ > > To summarize, each bundled package needs to have a `Provides: > bundled(package_name) = package_version`, so that its existence and > potential security vulnerabilities can be identified from package metadata. > > Also, each bundled package should be justified as to why it meets the policy > and can't be shipped separately in Fedora. > > As an example, looking at Repology, it seems like the recastnavigation > package could be included in Fedora independently. Hey, thanks for the feedback! I think I justified adequately why I am bundling Bullet and OpenSceneGraph; both are provided by Fedora, but Bullet needs to be double precision and there's a fork of OSG provided by OpenMW that provides superior performance. I believe both of those are good explanations. As for Recast, I'm not sure why we don't package it. Godot also requires it, but the Fedora godot package statically links it. The CMAKE for openMW by default statically links recastnavigation rather than using the system recast; this was notable to me, as everything else was the reverse (i.e., I had to explicitly use static/non-system OSG and Bullet). To me, that indicates that recast might be better off being statically linked. However, I can ask upstream about their logic with regards to recast. As for the other two, I'll add in the Provides: bundled() in my next update; As I said, I believe I've adequately explained why I am statically linking those two.
(In reply to Claire Robsahm from comment #11) > (In reply to Alexander Lent from comment #10) > > I took a quick look at the spec file - it's quite good overall - and wanted > > to note the bundling policy: > > https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ > > > > To summarize, each bundled package needs to have a `Provides: > > bundled(package_name) = package_version`, so that its existence and > > potential security vulnerabilities can be identified from package metadata. > > > > Also, each bundled package should be justified as to why it meets the policy > > and can't be shipped separately in Fedora. > > > > As an example, looking at Repology, it seems like the recastnavigation > > package could be included in Fedora independently. > > Hey, thanks for the feedback! Thank you, in turn, for the clarification. > > I think I justified adequately why I am bundling Bullet and OpenSceneGraph; > both are provided by Fedora, but Bullet needs to be double precision and > there's a fork of OSG provided by OpenMW that provides superior performance. > I believe both of those are good explanations. I saw the justifications, and I agree; we have a similar situation with the OpenVINO toolkit for AI/ML packaging a custom version of libraries already otherwise packaged. > > As for Recast, I'm not sure why we don't package it. Godot also requires it, > but the Fedora godot package statically links it. The CMAKE for openMW by > default statically links recastnavigation rather than using the system > recast; this was notable to me, as everything else was the reverse (i.e., I > had to explicitly use static/non-system OSG and Bullet). To me, that > indicates that recast might be better off being statically linked. However, > I can ask upstream about their logic with regards to recast. As for the > other two, I'll add in the Provides: bundled() in my next update; As I said, > I believe I've adequately explained why I am statically linking those two. Reading the godot package, it looks like recastnavigation could be unbundled, but there were no other users at the time. If you can get openmw upstream to allow using a system library, we could unbundle it for both; it might be worth throwing a comment about that into the specfile. (If I was a CMake wizard, I'd try patching it in myself, but alas, I am but a beginner and all my CMake patches are terrible hacks.)
(In reply to Alexander Lent from comment #12) > Reading the godot package, it looks like recastnavigation could be > unbundled, but there were no other users at the time. > If you can get openmw upstream to allow using a system library, we could > unbundle it for both; it might be worth throwing a comment about that into > the specfile. (If I was a CMake wizard, I'd try patching it in myself, but > alas, I am but a beginner and all my CMake patches are terrible hacks.) Oh, it would be trivial to resolve; upstream has CMAKE flags that would allow me to use a system recastnavigation. I just find it interesting that, of all the libraries, recastnavigation is the only one that they *by default* link statically. It makes me wonder if there's something going on there. I'll ask like I said, but for now I'll add the package bundles as well as a comment in the spec file. I've labelled the OpenSceneGraph bundle as "OpenSceneGraph-openMW" to make clear that it is a fork of OSG. Let me know if this looks right. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
I received a response from upstream on recastnav: "They haven't tagged a release in years and we do have an opinion about which commit we want because of bugs/regressions so that's probably the primary reason to prefer static linking"
Okay. Made a bunch of changes. First, I now use the %forgemeta macro, and I explicitly set the git tags I want to be using for each of the bundled packages. Second, I now build and run the unit tests -- which pass currently, after a minor patch file. I've also made a MR upstream to render this patch file unnecessary, see: https://gitlab.com/OpenMW/openmw/-/merge_requests/4807 I think I am ready for an official review. No one has actually claimed this ticket yet, so I'm unsure who is reviewing my package. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
Disregard post about the patch. After talking to upstream, it seems that the unit test is in fact meant to be case sensitive. I tried a lot of things to make it work, but everything I did, the test failed. Weirdly, when I installed the game via the RPM and tested in the debug console, the pointer WAS named with the correct case (ie, player not Player). I noticed that building with clang outside of mock made it work. So, I changed the toolchain from gcc to clang as a sort of Hail Mary, and lo and behold, it worked. When building with clang, the unit tests pass. When building with gcc, they fail. I'm too exhausted to figure out why at the moment, but here's the updated links. Hopefully this won't hold up the review. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
> I'm too exhausted to figure out why at the moment, but here's the updated links おつかれさま。The big hurdle for this package seems to be done, now there are just a few details. I'll also address some questions from the matrix chat. I will write a shorter package review once I can get fedora-review to work again and help me with the license review. --- Some build dependencies are unused like `dos2unix`, `gnuplot`, `doxygen`, etc. If you check the built binaries/rpm, you could maybe deduce the minimum required from what packages are being linked. --- You can use %forgesetup as a simplification for %setup. You did mention that you didn't know what the difference between -p0 and -p1 is. Basically if you look at a patch, it can look like ``` --- a/CMakeLists.txt 2025-07-08 17:22:57.205176869 -0700 +++ b/CMakeLists.txt 2025-07-08 17:24:13.512715692 -0700 ``` -pN flag says to strip the first N paths (-p1 here would be a/ and b/) before applying the patch (which is done effectively in the git repo of SOURCE0, you can see the cd command in the %prep log of build.log). Generally it is best to use -p1 format because that's what github/gitlab will give you when you ask for their patch files. When writing patches you have to keep in mind: - to use consistent `-pN` across the patches, and account for the location of the patches after everything is extracted - the order of patches matter - if you want to use %autosetup with more than a Source0, you need to add -a flag for the other sources as well [1] Regarding extracting all of the other SourceN, this is done with -a flag, but keep in mind that the extracted folder of these will be less predictable. In your case you can use wildcard expansion, create symlinks in the prep phase, and so on. E.g. ``` -DFETCHCONTENT_SOURCE_DIR_BULLET:PATH=$(echo ./bullet-*) ``` On a small side-note `%{_builddir}` is not the CMake build-dir, it's the path where the RPM is being built in (I think one directory higher than the cwd in those commands). Just a random note in case you were not aware of it. --- When using %autorelease, please also use %autochangelog and vice-versa. There are weird breakages if only one of them is used. --- The CMakeLists.patch is unnecessary. Instead use ``` -DGLOBAL_DATA_PATH:PATH=%{_datadir} ``` Anything that has `option` or `set(CACHE)` you can change via `-D` variables. --- There are a lot of options that are worth going through and see if they need to be altered. One that catches my eye is `BUILD_WIZARD`. How is the "Installation Wizard" supposed to work, and particularly can it interfere with the installed files that are packaged? Most of the flags you would be having the best knowledge to judge. --- Regarding the previous comments about (de)bundling, these are best addressed with the other peers that use similar dependencies. I am not involved in this part of the ecosystem so I can't advise on future steps for this. But all of the reasoning you've documented look good, except for RecastNavigation. Do you want to put a TODO note about wanting to package it and what other package might use it? --- `extern/` path shows that there a few other dependencies that should be marked as `bundled`. Although they might not be used. If they are not used, you can avoid the `bundled` and just remove the folder. If you want to be extra careful, check the license of those files and make sure it is in Allowed License even if they are not used and do not appear in the `License` --- Is `openmw-navmeshtool` not a `-tool` binary? --- About the usage of `clang` for toolchain, if you want a smaller hammer, you could instead filter out the test in question, maybe ``` ./%{_vpath_builddir}/openmw-tests --gtest_filter="-test1:-test2" ``` The gtest executable has a good --help if you need check how to interact with it. Using clang toolchain is also fine, just keep in mind that there can be some weirdness when linking libraries built with other toolchains. --- License review: WIP --- [1]: https://rpm.org/docs/4.20.x/manual/spec.html#build-scriptlets
>(In reply to Cristian Le from comment #17) > > I'm too exhausted to figure out why at the moment, but here's the updated links > > おつかれさま。The big hurdle for this package seems to be done, now there are just > a few details. I'll also address some questions from the matrix chat. I will > write a shorter package review once I can get fedora-review to work again > and help me with the license review. > > --- > > Some build dependencies are unused like `dos2unix`, `gnuplot`, `doxygen`, > etc. If you check the built binaries/rpm, you could maybe deduce the minimum > required from what packages are being linked. Fixed. > --- > > You can use %forgesetup as a simplification for %setup. You did mention that > you didn't know what the difference between -p0 and -p1 is. Basically if you > look at a patch, it can look like > ``` > --- a/CMakeLists.txt 2025-07-08 17:22:57.205176869 -0700 > +++ b/CMakeLists.txt 2025-07-08 17:24:13.512715692 -0700 > ``` > -pN flag says to strip the first N paths (-p1 here would be a/ and b/) > before applying the patch (which is done effectively in the git repo of > SOURCE0, you can see the cd command in the %prep log of build.log). > Generally it is best to use -p1 format because that's what github/gitlab > will give you when you ask for their patch files. When writing patches you > have to keep in mind: > - to use consistent `-pN` across the patches, and account for the location > of the patches after everything is extracted > - the order of patches matter > - if you want to use %autosetup with more than a Source0, you need to add -a > flag for the other sources as well [1] > > Regarding extracting all of the other SourceN, this is done with -a flag, > but keep in mind that the extracted folder of these will be less > predictable. In your case you can use wildcard expansion, create symlinks in > the prep phase, and so on. E.g. > ``` > -DFETCHCONTENT_SOURCE_DIR_BULLET:PATH=$(echo ./bullet-*) > ``` > On a small side-note `%{_builddir}` is not the CMake build-dir, it's the > path where the RPM is being built in (I think one directory higher than the > cwd in those commands). Just a random note in case you were not aware of it. Yeah, I am aware. This was just the way I could get it to work. I could probably with autosetup get it in a better place, using your fetchcontent flags, but this is working just fine, and I think I prefer it. Will change if necessary. > --- > > When using %autorelease, please also use %autochangelog and vice-versa. > There are weird breakages if only one of them is used. Fixed. > --- > > The CMakeLists.patch is unnecessary. Instead use > ``` > -DGLOBAL_DATA_PATH:PATH=%{_datadir} > ``` > Anything that has `option` or `set(CACHE)` you can change via `-D` variables. I remember running into issues when I only changed the flag, but I might be misremembering. Fixed, will test and see if everything is kosher. > --- > > There are a lot of options that are worth going through and see if they need > to be altered. One that catches my eye is `BUILD_WIZARD`. How is the > "Installation Wizard" supposed to work, and particularly can it interfere > with the installed files that are packaged? Most of the flags you would be > having the best knowledge to judge. > > --- The install wizard is really a helper to help find the data files for the game you want to play. By default, it helps locate the data files of the "well-known" roleplaying game (Morrowind), but can also locate the datafiles of other openMW compatible games. The name installation makes it somewhat confusing, but it's an essential tool for ease of use. > Regarding the previous comments about (de)bundling, these are best addressed > with the other peers that use similar dependencies. I am not involved in > this part of the ecosystem so I can't advise on future steps for this. But > all of the reasoning you've documented look good, except for > RecastNavigation. Do you want to put a TODO note about wanting to package it > and what other package might use it? > > --- Upstream has a preferred commit to use from recastnavigation due to regressions. Otherwise, only godot also uses it. > `extern/` path shows that there a few other dependencies that should be > marked as `bundled`. Although they might not be used. If they are not used, > you can avoid the `bundled` and just remove the folder. If you want to be > extra careful, check the license of those files and make sure it is in > Allowed License even if they are not used and do not appear in the `License` Added information on extern. > --- > > Is `openmw-navmeshtool` not a `-tool` binary? > > --- On first blush, yes, except the other tools are run from commandline. `openmw-navmeshtool` is part of `openmw-launcher`; the user can run it from the navigation mesh tab to pregenerate navmeshes, improving load times. Because it's part of the launcher, I included it in the main package. > About the usage of `clang` for toolchain, if you want a smaller hammer, you > could instead filter out the test in question, maybe > ``` > ./%{_vpath_builddir}/openmw-tests --gtest_filter="-test1:-test2" > ``` > The gtest executable has a good --help if you need check how to interact > with it. > > Using clang toolchain is also fine, just keep in mind that there can be some > weirdness when linking libraries built with other toolchains. So, I ended up talking to upstream and they found that the test always fails when run alone regardless of compiler. The issue we were having simply exposed this issue. My merge request has been approved to fix this, see: https://gitlab.com/OpenMW/openmw/-/merge_requests/4807. For now, I'm patching the MR in, since this is building the 0.49.0 release, not the latest commit.
Oops, forgot the links; SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
Spec review notes: > Provides: bundled(MysticCards) > Provides: bundled(DemonicLetters) This should be bundled(fonts(<fontname>)), since these fonts are in TTF/OTF form. > %patch 0 -p1 > %patch 1 -p1 This can be replaced with "%autopatch -p1". > %build > # Now, we build OpenMW. > %cmake -G Ninja \ > -DBUILD_OPENMW_TESTS:BOOL=ON \ > -DBULLET_STATIC:BOOL=ON \ > -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON \ > -DFETCHCONTENT_SOURCE_DIR_BULLET:PATH=%{_builddir}/bullet \ > -DFETCHCONTENT_SOURCE_DIR_OSG:PATH:PATH=%{_builddir}/osg \ > -DFETCHCONTENT_SOURCE_DIR_RECASTNAVIGATION:PATH=%{_builddir}/recastnavigation \ > -DGLOBAL_DATA_PATH:PATH=%{_datadir} \ > -DOPENMW_USE_SYSTEM_BULLET:BOOL=OFF \ > -DOPENMW_USE_SYSTEM_GOOGLETEST:BOOL=ON \ > -DOPENMW_USE_SYSTEM_OSG:BOOL=OFF \ > -DOSG_STATIC:BOOL=ON Unless you plan to ship this in EPEL 8/9, it would be good to move the %cmake invocation to the %conf section. Cf. https://rpm-software-management.github.io/rpm/manual/spec.html#conf-since-rpm--418
(In reply to Neal Gompa from comment #20) > Spec review notes: > > > Provides: bundled(MysticCards) > > Provides: bundled(DemonicLetters) > > This should be bundled(fonts(<fontname>)), since these fonts are in TTF/OTF > form. Fixed. > > %patch 0 -p1 > > %patch 1 -p1 > > This can be replaced with "%autopatch -p1". Only one patch is necessary as I symlink the font now. > > %build > > # Now, we build OpenMW. > > %cmake -G Ninja \ > > -DBUILD_OPENMW_TESTS:BOOL=ON \ > > -DBULLET_STATIC:BOOL=ON \ > > -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON \ > > -DFETCHCONTENT_SOURCE_DIR_BULLET:PATH=%{_builddir}/bullet \ > > -DFETCHCONTENT_SOURCE_DIR_OSG:PATH:PATH=%{_builddir}/osg \ > > -DFETCHCONTENT_SOURCE_DIR_RECASTNAVIGATION:PATH=%{_builddir}/recastnavigation \ > > -DGLOBAL_DATA_PATH:PATH=%{_datadir} \ > > -DOPENMW_USE_SYSTEM_BULLET:BOOL=OFF \ > > -DOPENMW_USE_SYSTEM_GOOGLETEST:BOOL=ON \ > > -DOPENMW_USE_SYSTEM_OSG:BOOL=OFF \ > > -DOSG_STATIC:BOOL=ON > > Unless you plan to ship this in EPEL 8/9, it would be good to move the > %cmake invocation to the %conf section. > > Cf. > https://rpm-software-management.github.io/rpm/manual/spec.html#conf-since- > rpm--418 I was unaware. Fixed. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
Changed some descriptions as recommended by upstream. Minor change, shouldn't need a rebuild for testing. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
Final change I promise. Added one last patch file. Currently, openmw-cs doesn't work properly if run under wayland, due to OSGQT being broken. It launches, but rendering is messed up. I've modified the cs desktop file to have QT_QPA_PLATFORM=xcb as a launch argument. I also use a autopatch now. SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
> # Latest OSG OpenMW fork commit tag > %global tag2 43faf6fa88bd236e0911a5340bfbcbc25b3a98d9 > # Preferred commit by upstream for recastnavigation > %global tag3 c393777d26d2ff6519ac23612abf8af42678c9dd These are commit hashes, not tag refs, so you should set commit2 and commit3 instead.
(In reply to Maxwell G from comment #24) > These are commit hashes, not tag refs, so you should set commit2 and commit3 > instead. Fixed SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
Update: my patch for the unit tests has been merged upstream. Patch is still included in the SRPM and spec because I am packaging release tags, not latest commit, but it does mean the patch will eventually be unnecessary. It turns out the issue was caused by a static initialization order fiasco, which is in fact the technical term, apparently. MR: https://gitlab.com/OpenMW/openmw/-/merge_requests/4807 Merge: https://gitlab.com/OpenMW/openmw/-/commit/2051d5cbef499050ecaa76870811e91320d05380
Now this looks just great! Claire, thank you for all your efforts! And I am certain you may remove anything right after the `%autochangelog`.
Speaking about `Recastnavigation` - I believe we should keep it bundled right now. Perhaps in a future we could reconsider it and unbundle it but it makes a very little sense right now.
(In reply to Peter Lemenkov from comment #27) > Now this looks just great! Claire, thank you for all your efforts! And I am > certain you may remove anything right after the `%autochangelog`. Thank you so much! I removed the stuff after autochangelog as suggested.
Created attachment 2098477 [details] licensecheck
LGTM. One minor comment about `csxcb.patch`. This only patches the desktop launcher, but running it from terminal it could still fail. You could rename the binary and make a small wrapper. It's not a blocker and you can address it at your leisure. If you have a tracker for it can you also add it in the comment? Be careful when you `fedpkg import` that the srpm spec file is outdated and that that does not overwrite the one that you've made changes to. Also when you `fedpkg new-sources` you list all the git archive tar balls. CMake options like `BUILD_OPENCS_TESTS`, `BUILD_COMPONENTS_TESTS` would be good to turn on, but similarly, you can do it at your leisure. --- There are a few licenses that you should include (join everything by AND and indicate some of the sources that are relevant) ``` - bullet: Zlib AND MIT AND BSD-3-clause AND BSL-1.0 AND NTP - OpenSourceGraph: GPL-2.0-only AND LGPL-2.1-or-later WITH WxWindows-exception-3.1 AND SGI-B-2.0 ``` I have attached the full licensecheck report. Note that this does not really match the package's reported license, and might be good to double check with upstream. --- Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== 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", "*No copyright* zlib License", "GNU General Public License v3.0 or later", "*No copyright* GNU General Public License, Version 3", "GNU Library General Public License v2 or later", "zlib License", "BSD 3-Clause License", "BSD 2-Clause License", "Apache License 2.0", "MIT License", "MIT License and/or zlib License", "Boost Software License 1.0", "Khronos License and/or MIT License", "GNU General Public License, Version 3", "BSD 2-clause FreeBSD License", "*No copyright* Public domain", "*No copyright* MIT License", "*No copyright* GNU General Public License v2.0 or later", "GNU General Public License v2.0 or later [obsolete FSF postal address (Temple Place)]", "GNU General Public License", "GNU Lesser General Public License v2.1 or later", "Public domain", "GNU General Public License, Version 2", "Apache License 2.0 and/or MIT License", "GNU General Public License v2.0 or later", "Creative Commons Attribution 3.0", "*No copyright* Mozilla Public License 2.0", "Mozilla Public License 2.0", "Apache License 2.0 and/or Khronos License and/or MIT License", "MIT License and/or The Unlicense", "MIT Open Group variant", "NTP License", "SIL Open Font License 1.1", "GNU Lesser General Public License v2.1 or later [obsolete FSF postal address (Temple Place)]", "*No copyright* GNU Lesser General Public License v2.1 or later [obsolete FSF postal address (Temple Place)]", "GNU Lesser General Public License, Version 2.1", "GNU Library General Public License v2 or later [obsolete FSF postal address (Temple Place)]", "GNU Lesser General Public License v2.1 or later [obsolete FSF postal address (Mass Ave)]", "Khronos License", "Historical Permission Notice and Disclaimer - sell variant", "BSD 3-Clause License [generated file]", "SGI Free Software License B v2.0", "Apple MIT License", "BSD 3-Clause License and/or Mozilla Public License 2.0", "Boehm GC License and/or Mozilla Public License 2.0", "*No copyright* Apache License 2.0". 12954 files have unknown license. Detailed output of licensecheck in attachement [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: %build honors applicable compiler flags or justifies otherwise. [!]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: 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. [?]: 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. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 254606 bytes in 3 files. [x]: Package complies to the Packaging Guidelines [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]: 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]: 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]: 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]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Avoid bundling fonts in non-fonts packages. Note: Package contains font files [-]: 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. [?]: Packages should try to preserve timestamps of original installed files. [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]: Fully versioned dependency in subpackages if applicable. [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: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [-]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 2396160 bytes in /usr/share [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). Rpmlint ------- Checking: openmw-0.49.0-1.fc43.x86_64.rpm openmw-cs-0.49.0-1.fc43.x86_64.rpm openmw-tools-0.49.0-1.fc43.x86_64.rpm openmw-0.49.0-1.fc43.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.7.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 rpmlintrc: [PosixPath('/tmp/tmp885idw2i')] checks: 32, packages: 4 openmw.x86_64: E: zero-length /etc/openmw/defaults-cs.bin openmw-tools.x86_64: W: summary-ended-with-dot Utility programs for OpenMW. openmw.x86_64: W: non-conffile-in-etc /etc/openmw/defaults-cs.bin openmw.x86_64: W: non-conffile-in-etc /etc/openmw/defaults.bin openmw.x86_64: W: non-conffile-in-etc /etc/openmw/gamecontrollerdb.txt openmw.x86_64: W: non-conffile-in-etc /etc/openmw/openmw.cfg openmw.x86_64: W: no-manual-page-for-binary openmw openmw.x86_64: W: no-manual-page-for-binary openmw-bulletobjecttool openmw.x86_64: W: no-manual-page-for-binary openmw-essimporter openmw.x86_64: W: no-manual-page-for-binary openmw-iniimporter openmw.x86_64: W: no-manual-page-for-binary openmw-launcher openmw.x86_64: W: no-manual-page-for-binary openmw-navmeshtool openmw.x86_64: W: no-manual-page-for-binary openmw-wizard openmw-cs.x86_64: W: no-manual-page-for-binary openmw-cs openmw-tools.x86_64: W: no-manual-page-for-binary bsatool openmw-tools.x86_64: W: no-manual-page-for-binary esmtool openmw-tools.x86_64: W: no-manual-page-for-binary niftest openmw-cs.x86_64: W: no-documentation openmw-tools.x86_64: W: no-documentation openmw.src: W: name-repeated-in-summary OpenMW openmw.x86_64: W: name-repeated-in-summary OpenMW openmw.x86_64: W: files-duplicate /usr/share/pixmaps/openmw.png /usr/share/openmw/resources/openmw.png openmw.x86_64: W: files-duplicate /usr/share/openmw/resources/translations/wizard_de.qm /usr/share/openmw/resources/translations/launcher_de.qm openmw.x86_64: W: files-duplicate /usr/share/openmw/resources/vfs/mygui/openmw_mainmenu.skin.xml /usr/share/openmw/resources/vfs/mygui/openmw_dialogue_window.skin.xml openmw-cs.x86_64: W: desktopfile-without-binary /usr/share/applications/org.openmw.cs.desktop env openmw.x86_64: W: dangling-relative-symlink /usr/share/openmw/resources/vfs/fonts/DejaVuLGCSansMono.ttf ../../../../fonts/dejavu-lgc-sans-mono-fonts/DejaVuLGCSansMono.ttf 4 packages and 0 specfiles checked; 1 errors, 25 warnings, 19 filtered, 1 badness; has taken 4.9 s Rpmlint (debuginfo) ------------------- Checking: openmw-tools-debuginfo-0.49.0-1.fc43.x86_64.rpm openmw-cs-debuginfo-0.49.0-1.fc43.x86_64.rpm openmw-debuginfo-0.49.0-1.fc43.x86_64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.7.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 rpmlintrc: [PosixPath('/tmp/tmpalji_zst')] checks: 32, packages: 3 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 38 filtered, 0 badness; has taken 24.2 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.7.0 configuration: /usr/lib/python3.14/site-packages/rpmlint/configdefaults.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: 6 openmw.x86_64: E: zero-length /etc/openmw/defaults-cs.bin openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-bulletobjecttool /lib64/libfontconfig.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-essimporter /lib64/libluajit-5.1.so.2 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-essimporter /lib64/libyaml-cpp.so.0.8 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-essimporter /lib64/libfontconfig.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-iniimporter /lib64/libfontconfig.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-launcher /lib64/libz.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-launcher /lib64/libfontconfig.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-navmeshtool /lib64/libfontconfig.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-wizard /lib64/libz.so.1 openmw.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-wizard /lib64/libfontconfig.so.1 openmw-cs.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-cs /lib64/libMyGUIEngine.so.3.4.3 openmw-cs.x86_64: W: unused-direct-shlib-dependency /usr/bin/openmw-cs /lib64/libz.so.1 openmw-tools.x86_64: W: unused-direct-shlib-dependency /usr/bin/bsatool /lib64/libfontconfig.so.1 openmw-tools.x86_64: W: unused-direct-shlib-dependency /usr/bin/esmtool /lib64/libfontconfig.so.1 openmw-tools.x86_64: W: unused-direct-shlib-dependency /usr/bin/niftest /lib64/libfontconfig.so.1 openmw-tools.x86_64: W: summary-ended-with-dot Utility programs for OpenMW. openmw.x86_64: W: non-conffile-in-etc /etc/openmw/defaults-cs.bin openmw.x86_64: W: non-conffile-in-etc /etc/openmw/defaults.bin openmw.x86_64: W: non-conffile-in-etc /etc/openmw/gamecontrollerdb.txt openmw.x86_64: W: non-conffile-in-etc /etc/openmw/openmw.cfg openmw.x86_64: W: no-manual-page-for-binary openmw openmw.x86_64: W: no-manual-page-for-binary openmw-bulletobjecttool openmw.x86_64: W: no-manual-page-for-binary openmw-essimporter openmw.x86_64: W: no-manual-page-for-binary openmw-iniimporter openmw.x86_64: W: no-manual-page-for-binary openmw-launcher openmw.x86_64: W: no-manual-page-for-binary openmw-navmeshtool openmw.x86_64: W: no-manual-page-for-binary openmw-wizard openmw-cs.x86_64: W: no-manual-page-for-binary openmw-cs openmw-tools.x86_64: W: no-manual-page-for-binary bsatool openmw-tools.x86_64: W: no-manual-page-for-binary esmtool openmw-tools.x86_64: W: no-manual-page-for-binary niftest openmw-cs.x86_64: W: no-documentation openmw-tools.x86_64: W: no-documentation openmw.x86_64: W: name-repeated-in-summary OpenMW openmw.x86_64: W: files-duplicate /usr/share/pixmaps/openmw.png /usr/share/openmw/resources/openmw.png openmw.x86_64: W: files-duplicate /usr/share/openmw/resources/translations/wizard_de.qm /usr/share/openmw/resources/translations/launcher_de.qm openmw.x86_64: W: files-duplicate /usr/share/openmw/resources/vfs/mygui/openmw_mainmenu.skin.xml /usr/share/openmw/resources/vfs/mygui/openmw_dialogue_window.skin.xml openmw.x86_64: W: dangling-relative-symlink /usr/share/openmw/resources/vfs/fonts/DejaVuLGCSansMono.ttf ../../../../fonts/dejavu-lgc-sans-mono-fonts/DejaVuLGCSansMono.ttf 6 packages and 0 specfiles checked; 1 errors, 38 warnings, 61 filtered, 1 badness; has taken 3.7 s Source checksums ---------------- https://github.com/recastnavigation/recastnavigation/archive/c393777d26d2ff6519ac23612abf8af42678c9dd/recastnavigation-c393777d26d2ff6519ac23612abf8af42678c9dd.tar.gz : CHECKSUM(SHA256) this package : fa8b901651017b20a38996bbab2d205d244328ed11778b53224282e9884e6c91 CHECKSUM(SHA256) upstream package : fa8b901651017b20a38996bbab2d205d244328ed11778b53224282e9884e6c91 https://github.com/OpenMW/osg/archive/43faf6fa88bd236e0911a5340bfbcbc25b3a98d9/osg-43faf6fa88bd236e0911a5340bfbcbc25b3a98d9.tar.gz : CHECKSUM(SHA256) this package : 10b9bef6297ca328b70a94e53538c22f764795cfd3aad504a1db16df97d0950b CHECKSUM(SHA256) upstream package : 10b9bef6297ca328b70a94e53538c22f764795cfd3aad504a1db16df97d0950b https://github.com/bulletphysics/bullet3/archive/3.25/bullet3-3.25.tar.gz : CHECKSUM(SHA256) this package : c45afb6399e3f68036ddb641c6bf6f552bf332d5ab6be62f7e6c54eda05ceb77 CHECKSUM(SHA256) upstream package : c45afb6399e3f68036ddb641c6bf6f552bf332d5ab6be62f7e6c54eda05ceb77 https://gitlab.com/OpenMW/openmw/-/archive/openmw-0.49.0/openmw-openmw-0.49.0.tar.bz2 : CHECKSUM(SHA256) this package : 37589376be3b4d1b0769e50093f14d015c3a436de4fae5d696a5cbe3247abf22 CHECKSUM(SHA256) upstream package : 37589376be3b4d1b0769e50093f14d015c3a436de4fae5d696a5cbe3247abf22 Requires -------- openmw (rpmlib, GLIBC filtered): dejavu-lgc-sans-mono-fonts libGL.so.1()(64bit) libMyGUIEngine.so.3.4.3()(64bit) libQt6Core.so.6()(64bit) libQt6Core.so.6(Qt_6)(64bit) libQt6Core.so.6(Qt_6.9)(64bit) libQt6Gui.so.6()(64bit) libQt6Gui.so.6(Qt_6)(64bit) libQt6Svg.so.6()(64bit) libQt6Svg.so.6(Qt_6)(64bit) libQt6Widgets.so.6()(64bit) libQt6Widgets.so.6(Qt_6)(64bit) libSDL2-2.0.so.0()(64bit) libX11.so.6()(64bit) libXinerama.so.1()(64bit) libXrandr.so.2()(64bit) libavcodec.so.61()(64bit) libavcodec.so.61(LIBAVCODEC_61)(64bit) libavformat.so.61()(64bit) libavformat.so.61(LIBAVFORMAT_61)(64bit) libavutil.so.59()(64bit) libavutil.so.59(LIBAVUTIL_59)(64bit) libboost_iostreams.so.1.83.0()(64bit) libboost_program_options.so.1.83.0()(64bit) libc.so.6()(64bit) libcollada-dom2.5-dp.so.0()(64bit) libfontconfig.so.1()(64bit) libfreetype.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) libicui18n.so.76()(64bit) libicuuc.so.76()(64bit) libjpeg.so.62()(64bit) libjpeg.so.62(LIBJPEG_6.2)(64bit) libluajit-5.1.so.2()(64bit) liblz4.so.1()(64bit) libm.so.6()(64bit) libopenal.so.1()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libsqlite3.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.13)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libswresample.so.5()(64bit) libswresample.so.5(LIBSWRESAMPLE_5)(64bit) libswscale.so.8()(64bit) libswscale.so.8(LIBSWSCALE_8)(64bit) libunshield.so.1()(64bit) libyaml-cpp.so.0.8()(64bit) libz.so.1()(64bit) rtld(GNU_HASH) openmw-cs (rpmlib, GLIBC filtered): libGL.so.1()(64bit) libMyGUIEngine.so.3.4.3()(64bit) libQt6Core.so.6()(64bit) libQt6Core.so.6(Qt_6)(64bit) libQt6Core.so.6(Qt_6.9)(64bit) libQt6Gui.so.6()(64bit) libQt6Gui.so.6(Qt_6)(64bit) libQt6Network.so.6()(64bit) libQt6Network.so.6(Qt_6)(64bit) libQt6OpenGLWidgets.so.6()(64bit) libQt6OpenGLWidgets.so.6(Qt_6)(64bit) libQt6Svg.so.6()(64bit) libQt6Svg.so.6(Qt_6)(64bit) libQt6Widgets.so.6()(64bit) libQt6Widgets.so.6(Qt_6)(64bit) libSDL2-2.0.so.0()(64bit) libboost_iostreams.so.1.83.0()(64bit) libboost_program_options.so.1.83.0()(64bit) libc.so.6()(64bit) libcollada-dom2.5-dp.so.0()(64bit) libfontconfig.so.1()(64bit) libfreetype.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) libjpeg.so.62()(64bit) libjpeg.so.62(LIBJPEG_6.2)(64bit) liblz4.so.1()(64bit) libm.so.6()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(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.2)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libyaml-cpp.so.0.8()(64bit) libz.so.1()(64bit) openmw(x86-64) rtld(GNU_HASH) openmw-tools (rpmlib, GLIBC filtered): libGL.so.1()(64bit) libboost_iostreams.so.1.83.0()(64bit) libboost_program_options.so.1.83.0()(64bit) libc.so.6()(64bit) libcollada-dom2.5-dp.so.0()(64bit) libfontconfig.so.1()(64bit) libfreetype.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) libjpeg.so.62()(64bit) libjpeg.so.62(LIBJPEG_6.2)(64bit) liblz4.so.1()(64bit) libm.so.6()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(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.5)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libz.so.1()(64bit) openmw(x86-64) rtld(GNU_HASH) Provides -------- openmw: application() application(org.openmw.launcher.desktop) bundled(OpenSceneGraph-OpenMW) bundled(bullet) bundled(fonts(DemonicLetters)) bundled(fonts(MysticCards)) bundled(recastnavigation) bundled(sol3) metainfo() metainfo(openmw.appdata.xml) openmw openmw(x86-64) openmw-cs: application() application(org.openmw.cs.desktop) openmw-cs openmw-cs(x86-64) openmw-tools: openmw-tools openmw-tools(x86-64) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -n openmw Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: Ocaml, Java, SugarActivity, R, PHP, Haskell, Perl, Python, fonts Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Licensed fixed, and apparently the FPC exception thing is outdated, so the review should be good now once you approve it! In the meantime I am running a scratch build and will post the results here when it completes. For now; here's the updated spec SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
There are a few ExcludeArch that appear to be needed, but you can add them at the import. The license text is corrected which is the most important, and I hope it can be corrected in the original spec files as well. Other things can be investigated later on. Package Approved!
(In reply to Cristian Le from comment #33) > There are a few ExcludeArch that appear to be needed, but you can add them > at the import. The license text is corrected which is the most important, > and I hope it can be corrected in the original spec files as well. Other > things can be investigated later on. > > Package Approved! Thank you! For reference, I just added some ExcludeArches and will go from there SPEC URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/openmw.spec SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-1.fc42.src.rpm
The Pagure repository was created at https://src.fedoraproject.org/rpms/openmw
FEDORA-2025-c1cbce3f21 (openmw-0.49.0-2.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-c1cbce3f21
FEDORA-2025-c1cbce3f21 (openmw-0.49.0-2.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report.
There seems to be some problem with the following file. SRPM URL: https://git.chapien.net/chapien/openmw-rpm/raw/branch/main/SRPMS/openmw-0.49.0-5.fc42.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.