https://bugzilla.redhat.com/show_bug.cgi?id=2180243
--- Comment #17 from Jerry James loganjerry@gmail.com --- First, thank you very much for the review. This is a big complex package, and I appreciate you taking the time to look at it.
(In reply to Robert-André Mauchin 🐧 from comment #14)
- The License field must be a valid SPDX expression. Note: Not a valid SPDX expression 'GPL-3.0-only WITH Font-exception-2.0 AND GPL-2.0-or-later AND LGPL-3.0-only AND LGPL-2.1-or-later AND MIT AND (Unlicense OR MIT-0) AND (Unlicense or MIT)'. See: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1
Watch out for the last or, it must be capitalized:
Good catch! Fixed.
- Why Epoch is 1? This is a new package, you don't need Epoch.
The Epoch tag is on the mscore-fonts subpackage, which is not new. We already have mscore-fonts from the existing mscore package, but that one carries the version number of mscore itself, currently 3.6.2-14. Now we are correcting it to have the correct version number, which is lower: 2.002-1. Therefore, the epoch is necessary. However, I now realize the package doesn't need to obsolete or provide itself, so I have removed that.
If there were a valid font forge name for MuseScore, we could add that to the name and avoid the Epoch. But I don't see a registered forge name.
- Use autorelease/autochangelog
I don't think I can. There are multiple version numbers in play, so the release number can be set back to 1 only if all version numbers increase. I don't think the macros are smart enough to handle that situation.
- could you unbundle googletest? thirdparty/googletest We have googletest
in Fedora
Done, although note that the tests currently cannot be run (see the comment in %check).
- could you patch the FSF address and send it upstream
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/cchords_muse.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/cchords_nrb.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/cchords_rb.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/cchords_sym.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/chords.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/chords_jazz.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/chords_std.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/jazzchords.xml musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.1/styles/stdchords.xml
I already did that last winter, but the PR has not gone anywhere. I will poke upstream about it.
- could you message upstream about this incorrect address (but don't patch))
musescore.x86_64: E: incorrect-fsf-address /usr/share/licenses/musescore/COPYING.LESSER.rtf2html
Hmmm, I don't think upstream can do anything about that one. I will see if there is an active upstream for rtf2html.
- [!]: Large data in /usr/share should live in a noarch subpackage if
package is arched. Note: Arch-ed rpms have a total of 55623680 bytes in /usr/share musescore-4.1.1-1.fc40.x86_64.rpm:55623680 See:
https://fedoraproject.org/wiki/Packaging: ReviewGuidelines#Package_Review_Guidelines
We have lots of data in /usr/share that should be split into a noarch package, i.e. make a separate data noarch package for everything under /usr/share/mscore-4.1
Good point. I have done so.
(In reply to Robert-André Mauchin 🐧 from comment #16)
# (GPL-2.0-only OR GPL-3.0-only) # - thirdparty/KDDockWidgets
I think I left that out because I thought I would be able to unbundle KDDockWidgets. However, that is a work in progress. Added.
# BSD-3-Clause: # - thirdparty/googletest
None of the googletest files are in the binary RPM, so we can omit this.
# GPL-3.0-or-later: # - share/plugins/courtesy_accidentals/ # - share/plugins/intervals/ # - share/plugins/tuning/ # - share/plugins/tuning_modal/
Added.
# CC-BY-3.0: # - MuseScore-4.1.1/demos/Fugue_1.mscx # - MuseScore-4.1.1/demos/Unclaimed_Gift.mscx # - MuseScore-4.1.1/demos/Reunion.mscz-extract/Reunion.mscx # - MuseScore-4.1.1/src/engraving/tests/measure_data/measure-2.mscx # CC-BY-SA-4.0: # - MuseScore-4.1.1/demos/Brassed_Up.mscx # - MuseScore-4.1.1/demos/Dawn.mscx # - MuseScore-4.1.1/demos/Dynamic_Strings.mscx
None of these files are in the binary RPM, so we can omit this.
# MIT # - thirdparty/intervaltree # - src/framework/global/thirdparty/deto_async/LICENSE # - src/framework/global/thirdparty/haw_logger/LICENSE # - src/framework/global/thirdparty/haw_profiler/LICENSE # - thirdparty/fluidsynth/fluidsynth-2.1.4/src/bindings/fluid_rtkit.c # - thirdparty/fluidsynth/fluidsynth-2.1.4/src/bindings/fluid_rtkit.h # Zlib: # - src/framework/global/thirdparty/tinyxml/ # LGPL-2.1-or-later AND GPL-3.0-or-later: # - src/braille/thirdparty/liblouis/
Oh no! More bundled projects! Status of these: - deto_async: appears to be made specifically for MuseScore. There is no external release. - haw_logger: ditto - haw_profiler: ditto - liblouis: uses internal APIs not available from the Fedora build, so still bundled - tinyxml2: unbundled - utf8cpp: unbundled
License: GPL-3.0-only WITH Font-exception-2.0 AND GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND BSD-3-Clause AND GPL-3.0-or-later AND CC-BY-3.0 AND CC-BY-SA-4.0 AND LGPL-3.0-only AND LGPL-2.1-or-later AND MIT AND Zlib AND (LGPL-2.1-or-later AND GPL-3.0-or-later)
I think we need to keep the licenses from the header-only libraries (picojson, dr_libs, and stb_vorbis), so that yields this License tag:
License: GPL-3.0-only WITH Font-exception-2.0 AND GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-or-later AND LGPL-3.0-only AND LGPL-2.1-or-later AND (LGPL-2.1-or-later AND GPL-3.0-or-later) AND MIT AND BSD-2-Clause AND (Unlicense OR MIT-0) AND (Unlicense OR MIT)
New URLs: Spec URL: https://jjames.fedorapeople.org/musescore/musescore.spec SRPM URL: https://jjames.fedorapeople.org/musescore/musescore-4.1.1-2.fc40.src.rpm