https://bugzilla.redhat.com/show_bug.cgi?id=1699561
Bug ID: 1699561 Summary: Review Request: reicast - Sega Dreamcast emulator Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Assignee: nobody@fedoraproject.org Reporter: david@davidgf.net QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://raw.githubusercontent.com/davidgfnet/reicast-fedora-packaging/r8.1/r... SRPM URL: https://github.com/davidgfnet/reicast-fedora-packaging/releases/download/r8....
Description:
Hey there. I'd like to include Reicast in the Fedora packages (see reicast.com). I created the src.rpm package and tested it all in copr (https://copr.fedorainfracloud.org/coprs/davidgf/reicast/)
Fedora Account System Username: davidgf
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
davidgf david@davidgf.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |177841 (FE-NEEDSPONSOR)
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=177841 [Bug 177841] Tracker: Review requests from new Fedora packagers who need a sponsor
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
Robert-André Mauchin zebob.m@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zebob.m@gmail.com
--- Comment #1 from Robert-André Mauchin zebob.m@gmail.com --- - Group: is not used in Fedora
- Packager: is not used in Fedora
- This should not be used without good reason:
%define debug_package %{nil}
If your package don't generate debug symbols, you need to find why.
- Use %global, not %define
- Make %setup quiet with -q:
%setup -qn reicast-emulator-r%{version}
- Not needed:
rm -rf $RPM_BUILD_ROOT
- Use %set_build_flags to set Fedora default build flags:
%build %set_build_flags
- make %{?_smp_mflags} → %make_build
- make install PREFIX=/usr DESTDIR=$RPM_BUILD_ROOT → %make_install PREFIX=%{_prefix}
- Not needed:
%clean rm -rf %{buildroot}
- Just use
%{_datadir}/%{name}
in %files to own all the files there
- Glob the .gz extension for man pages as the compression might change in the future:
%{_mandir}/man1/reicast.1.* %{_mandir}/man1/reicast-joyconfig.1.*
- Validate the .desktop file in %install or %check:
desktop-file-validate %{buildroot}/%{_datadir}/applications/reicast.desktop
- Remove the env in this too:
sed -i 's//usr/bin/env python//usr/bin/python3/g' shell/linux/tools/reicast-joyconfig.py
- You need to add a %changelog
- Use a better name for your archive:
Source0: https://github.com/reicast/reicast-emulator/archive/r%%7Bversion%7D/%%7Bname...
- Why not add ARM and aarch64 then?
# It can run on ARM and potentially any platform without JIT though. ExclusiveArch: x86_64 %{ix86} %{arm} aarch64
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
Elliott Sales de Andrade quantum.analyst@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |quantum.analyst@gmail.com
--- Comment #2 from Elliott Sales de Andrade quantum.analyst@gmail.com --- Sorry, I don't think this is acceptable in Fedora: https://fedoraproject.org/wiki/Licensing:SoftwareTypes#Emulators
Emulators which depend on firmware or ROM files to function may not be included in Fedora, unless the copyright holder(s) for the firmware/ROM files give clear permission for the firmware/ROM files to be distributed (either under a Fedora permissible license or under the Fedora firmware exception criteria). Note: This only covers the situation where an emulator will not run at all without firmware/ROM files. For example, emulators that compile and run, but ship with no game ROMs are not covered by this rule.
And from Reicast's user guide:
You will need the Dreamcast BIOS files (dc_boot.bin and dc_flash.bin) to run reicast. You need to dump these files from your Dreamcast.
If Reicast could run without these files at all (using some homebrewed version or something), it would be acceptable.
You may be able to package this for RPM Fusion instead, though I'm not exactly sure of their legal requirements.
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
--- Comment #3 from davidgf david@davidgf.net --- reicast has a built-in BIOS HLE: reios. Not great but works for many games :) Does that make it acceptable? In essence is like a high level implementation of the BIOS functions, open source also.
Robert-André Mauchin: I will try to address your concerns. So aarch64 will be supported on the next release, not that one. ARM(v7) is supported but haven't tested yet. Thanks for your input!
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
--- Comment #4 from Elliott Sales de Andrade quantum.analyst@gmail.com --- Well, I think that covers:
Note: This only covers the situation where an emulator will not run at all without firmware/ROM files. For example, emulators that compile and run, but ship with no game ROMs are not covered by this rule.
so yes, if the dumped BIOS is optional, then it is fine there.
Also keep in mind the other rules:
- Emulators must not ship with any ROM files (e.g. games) unless those ROM files are available under a Fedora permissible license and have been built from source code in the Fedora buildsystem.
- Emulators must not point to any third-party sites which provide firmware or ROM files that are distributed without the clear and explicit permission of their copyright holders.
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
--- Comment #5 from davidgf david@davidgf.net --- Hey there! I addressed most of the issues, there's a couple of them that I wasn't sure what you meant: https://github.com/davidgfnet/reicast-fedora-packaging/blob/master/reicast.s...
Please let me know what you think and I'll be happy to address any other issues there might be. Thanks for taking the time to review this, much appreciated!
In regard of the rules I think we comply with them so far. I'm happy to work improving the blob-less (BIOS-less) emulation to improve the users' experience. Also next release will have support for armv7/v8 too.
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
--- Comment #6 from Robert-André Mauchin zebob.m@gmail.com --- - Use %set_build_flags to set Fedora default build flags:
%build %set_build_flags
- Please split the description to stay below 80 characters per line.
- Use a better name for your archive:
Source0: https://github.com/reicast/reicast-emulator/archive/r%%7Bversion%7D/%%7Bname...
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
davidgf david@davidgf.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Resolution|--- |WONTFIX Last Closed| |2020-07-16 10:37:37
https://bugzilla.redhat.com/show_bug.cgi?id=1699561
davidgf david@davidgf.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(david@davidgf.net |needinfo? |) |
package-review@lists.fedoraproject.org