Bug 2180243 - Review Request: musescore - Music Composition & Notation Software
Summary: Review Request: musescore - Music Composition & Notation Software
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Robert-André Mauchin 🐧
URL: https://musescore.org/
Whiteboard:
Depends On: 2152347 2180241 2180242
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-03-21 03:18 UTC by Jerry James
Modified: 2023-09-15 18:45 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-31 14:58:42 UTC
Type: ---
Embargoed:
zebob.m: fedora-review+


Attachments (Terms of Use)

Description Jerry James 2023-03-21 03:18:12 UTC
Spec URL: https://jjames.fedorapeople.org/musescore/musescore.spec
SRPM URL: https://jjames.fedorapeople.org/musescore/musescore-4.0.2-1.fc37.src.rpm
Fedora Account System Username: jjames
Description: MuseScore is a free cross platform WYSIWYG music notation program. Some highlights:

    * WYSIWYG, notes are entered on a "virtual note sheet"
    * Unlimited number of staves
    * Up to four voices per staff
    * Easy and fast note entry with mouse, keyboard or MIDI
    * Integrated sequencer and FluidSynth software synthesizer
    * Import and export of MusicXML and Standard MIDI Files (SMF)
    * Translated in 26 languages

NOTE: the training videos do not work.  Upstream uses the YouTube API to
display the videos.  However, their YouTube API Key is not available to
downstream packagers.  Therefore, the YouTube API rejects attempts to
use it via MuseScore.  To access the training videos, you will have to
watch them in a web browser, or use the AppImage version of MuseScore.

See https://copr.fedorainfracloud.org/coprs/jjames/MuseScore4/ for builds of this and related packages.

Comment 1 Jerry James 2023-03-21 03:19:41 UTC
This is a rename review.  The current package is named "mscore".  There have been multiple requests to change the name to make it more discoverable for users.

Comment 2 Jakub Kadlčík 2023-03-21 03:22:31 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5687586
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2180243-musescore/fedora-rawhide-x86_64/05687586-musescore/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 Alexander Ploumistos 2023-03-21 20:38:17 UTC
It's going to take me a while, running fedora-review locally results in a crash and I'm checking everything myself.

Comment 4 Alexander Ploumistos 2023-03-22 15:25:41 UTC
Hi again, I took the template from another package and adapted it, I hope I didn't leave out anything important. There are some minor things to check and I have some questions, everything else seems in order.


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated



===== MUST items =====

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[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.
* I did my best to verify the licenses mentioned in the spec file, they seem right and kudos for sorting that mess. Besides that, rpmlint has this to say:
musescore.x86_64: E: incorrect-fsf-address /usr/share/licenses/musescore/COPYING.LESSER.rtf2html
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/cchords_muse.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/cchords_nrb.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/cchords_rb.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/cchords_sym.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/chords.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/chords_jazz.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/chords_std.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/jazzchords.xml
musescore.x86_64: E: incorrect-fsf-address /usr/share/mscore-4.0/styles/stdchords.xml
I think these should be reported and fixed upstream.


[x]: Package must own all directories that it creates.
* Why use both the old and new name in paths and files?


[?]: Package contains no bundled libraries without FPC exception.
* I see the unbundled libraries and what remains bundled, shouldn't this be in the "SHOULD" section?


[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.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: 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.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Package complies to the Packaging Guidelines
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
[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]: Package requires other packages for directories it uses.
[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.
* Some of these duplicates reported by rpmlint appear to be false positives, but not all of them:
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/locale/musescore_ar_DZ.qm /usr/share/mscore-4.0/locale/instruments_ar_DZ.qm
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/plugins/tuning_modal/modal_tuning.png /usr/share/mscore-4.0/plugins/tuning/modal_tuning.png
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/05-Jazz/01-Jazz_Lead_Sheet/audiosettings.json /usr/share/mscore-4.0/templates/01-General/01-Treble_Clef/audiosettings.json:/usr/share/mscore-4.0/templates/01-General/02-Bass_Clef/audiosettings.json:/usr/share/mscore-4.0/templates/01-General/03-Grand_Staff/audiosettings.json:/usr/share/mscore-4.0/templates/02-Choral/10-Liturgical_Unmetrical/audiosettings.json:/usr/share/mscore-4.0/templates/04-Solo/01-Guitar/audiosettings.json:/usr/share/mscore-4.0/templates/04-Solo/02-Guitar_+_Tablature/audiosettings.json:/usr/share/mscore-4.0/templates/04-Solo/03-Guitar_Tablature/audiosettings.json:/usr/share/mscore-4.0/templates/04-Solo/04-Piano/audiosettings.json
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/07-Band_and_Percussion/06-Battery_Percussion/score_style.mss /usr/share/mscore-4.0/templates/01-General/01-Treble_Clef/score_style.mss:/usr/share/mscore-4.0/templates/01-General/02-Bass_Clef/score_style.mss:/usr/share/mscore-4.0/templates/01-General/03-Grand_Staff/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/01-SATB/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/02-SATB_+_Organ/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/03-SATB_+_Piano/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/04-SATB_Closed_Score/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/05-SATB_Closed_Score_+_Organ/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/06-SATB_Closed_Score_+_Piano/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/07-Voice_+_Piano/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/08-Barbershop_Quartet_(Men)/score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/09-Barbershop_Quartet_(Women)/score_style.mss:/usr/share/mscore-4.0/templates/04-Solo/01-Guitar/score_style.mss:/usr/share/mscore-4.0/templates/04-Solo/02-Guitar_+_Tablature/score_style.mss:/usr/share/mscore-4.0/templates/04-Solo/03-Guitar_Tablature/score_style.mss:/usr/share/mscore-4.0/templates/04-Solo/04-Piano/score_style.mss
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/08-Orchestral/03-String_Orchestra/viewsettings.json /usr/share/mscore-4.0/templates/01-General/01-Treble_Clef/viewsettings.json:/usr/share/mscore-4.0/templates/01-General/02-Bass_Clef/viewsettings.json:/usr/share/mscore-4.0/templates/01-General/03-Grand_Staff/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/01-SATB/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/02-SATB_+_Organ/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/03-SATB_+_Piano/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/04-SATB_Closed_Score/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/05-SATB_Closed_Score_+_Organ/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/06-SATB_Closed_Score_+_Piano/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/07-Voice_+_Piano/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/08-Barbershop_Quartet_(Men)/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/09-Barbershop_Quartet_(Women)/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/10-Liturgical_Unmetrical/viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/11-Liturgical_Unmetrical_+_Organ/viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/01-String_Quartet/viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/02-Wind_Quartet/viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/03-Wind_Quintet/viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/04-Saxophone_Quartet/viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/05-Brass_Quartet/viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/06-Brass_Quintet/viewsettings.json:/usr/share/mscore-4.0/templates/04-Solo/01-Guitar/viewsettings.json:/usr/share/mscore-4.0/templates/04-Solo/02-Guitar_+_Tablature/viewsettings.json:/usr/share/mscore-4.0/templates/04-Solo/03-Guitar_Tablature/viewsettings.json:/usr/share/mscore-4.0/templates/04-Solo/04-Piano/viewsettings.json:/usr/share/mscore-4.0/templates/05-Jazz/01-Jazz_Lead_Sheet/viewsettings.json:/usr/share/mscore-4.0/templates/05-Jazz/02-Big_Band/viewsettings.json:/usr/share/mscore-4.0/templates/05-Jazz/03-Jazz_Combo/viewsettings.json:/usr/share/mscore-4.0/templates/06-Popular/01-Rock_Band/viewsettings.json:/usr/share/mscore-4.0/templates/06-Popular/02-Bluegrass_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/01-Concert_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/02-Small_Concert_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/03-Brass_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/04-Marching_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/05-Small_Marching_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/06-Battery_Percussion/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/07-Large_Pit_Percussion/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/08-Small_Pit_Percussion/viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/09-European_Concert_Band/viewsettings.json:/usr/share/mscore-4.0/templates/08-Orchestral/01-Classical_Orchestra/viewsettings.json:/usr/share/mscore-4.0/templates/08-Orchestral/02-Symphony_Orchestra/viewsettings.json
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/07-Band_and_Percussion/06-Battery_Percussion/audiosettings.json /usr/share/mscore-4.0/templates/02-Choral/01-SATB/audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/01-String_Quartet/audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/02-Wind_Quartet/audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/04-Saxophone_Quartet/audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/05-Brass_Quartet/audiosettings.json
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/08-Orchestral/03-String_Orchestra/audiosettings.json /usr/share/mscore-4.0/templates/02-Choral/02-SATB_+_Organ/audiosettings.json:/usr/share/mscore-4.0/templates/02-Choral/03-SATB_+_Piano/audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/03-Wind_Quintet/audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/06-Brass_Quintet/audiosettings.json
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/02-Choral/11-Liturgical_Unmetrical_+_Organ/audiosettings.json /usr/share/mscore-4.0/templates/02-Choral/04-SATB_Closed_Score/audiosettings.json:/usr/share/mscore-4.0/templates/02-Choral/07-Voice_+_Piano/audiosettings.json:/usr/share/mscore-4.0/templates/02-Choral/08-Barbershop_Quartet_(Men)/audiosettings.json:/usr/share/mscore-4.0/templates/02-Choral/09-Barbershop_Quartet_(Women)/audiosettings.json
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/02-Choral/06-SATB_Closed_Score_+_Piano/audiosettings.json /usr/share/mscore-4.0/templates/02-Choral/05-SATB_Closed_Score_+_Organ/audiosettings.json
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.0/templates/03-Chamber_Music/05-Brass_Quartet/score_style.mss /usr/share/mscore-4.0/templates/03-Chamber_Music/01-String_Quartet/score_style.mss:/usr/share/mscore-4.0/templates/03-Chamber_Music/02-Wind_Quartet/score_style.mss:/usr/share/mscore-4.0/templates/03-Chamber_Music/03-Wind_Quintet/score_style.mss:/usr/share/mscore-4.0/templates/03-Chamber_Music/04-Saxophone_Quartet/score_style.mss


[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[-]: 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.
[-]: systemd_post is invoked in %post, systemd_preun in %preun, and
     systemd_postun in %postun for Systemd service files.
[x]: File names are valid UTF-8.
[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.
[-]: 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).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Scriptlets must be sane, if used.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
[x]: Package should compile and build into binary rpms on all supported
     architectures.

[!]: %check is present and all tests pass.
* I think that "desktop-file-validate" and "appstreamcli validate" should be under %check, no?


[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.

Comment 5 Jerry James 2023-07-19 20:04:31 UTC
Four months later...  I'm very sorry for the huge delay.  I got swamped with more urgent matters, and it has taken me this long to dig my way out of the pile and get back to this.  I have updated the COPR (https://copr.fedorainfracloud.org/coprs/jjames/MuseScore4/) with new builds, and MuseScore 4.1.0.

(In reply to Alexander Ploumistos from comment #4)
> [x]: License field in the package spec file matches the actual license.
> * I did my best to verify the licenses mentioned in the spec file, they seem
> right and kudos for sorting that mess. Besides that, rpmlint has this to say:
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/licenses/musescore/COPYING.LESSER.rtf2html
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/cchords_muse.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/cchords_nrb.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/cchords_rb.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/cchords_sym.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/chords.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/chords_jazz.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/chords_std.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/jazzchords.xml
> musescore.x86_64: E: incorrect-fsf-address
> /usr/share/mscore-4.0/styles/stdchords.xml
> I think these should be reported and fixed upstream.

https://github.com/musescore/MuseScore/issues/18710

> [x]: Package must own all directories that it creates.
> * Why use both the old and new name in paths and files?

The fact that both mscore and musescore appear in upstream's distribution is probably what led to the package being named mscore in the first place.  Upstream has selected the file and path names, not me.

> [?]: Package contains no bundled libraries without FPC exception.
> * I see the unbundled libraries and what remains bundled, shouldn't this be
> in the "SHOULD" section?

Yes.  I believe the package complies with https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling.

> [x]: Package does not contain duplicates in %files.
> * Some of these duplicates reported by rpmlint appear to be false positives,
> but not all of them:
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/locale/musescore_ar_DZ.qm
> /usr/share/mscore-4.0/locale/instruments_ar_DZ.qm
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/plugins/tuning_modal/modal_tuning.png
> /usr/share/mscore-4.0/plugins/tuning/modal_tuning.png
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/05-Jazz/01-Jazz_Lead_Sheet/audiosettings.
> json
> /usr/share/mscore-4.0/templates/01-General/01-Treble_Clef/audiosettings.json:
> /usr/share/mscore-4.0/templates/01-General/02-Bass_Clef/audiosettings.json:/
> usr/share/mscore-4.0/templates/01-General/03-Grand_Staff/audiosettings.json:/
> usr/share/mscore-4.0/templates/02-Choral/10-Liturgical_Unmetrical/
> audiosettings.json:/usr/share/mscore-4.0/templates/04-Solo/01-Guitar/
> audiosettings.json:/usr/share/mscore-4.0/templates/04-Solo/02-
> Guitar_+_Tablature/audiosettings.json:/usr/share/mscore-4.0/templates/04-
> Solo/03-Guitar_Tablature/audiosettings.json:/usr/share/mscore-4.0/templates/
> 04-Solo/04-Piano/audiosettings.json
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/07-Band_and_Percussion/06-Battery_Percussion/
> score_style.mss
> /usr/share/mscore-4.0/templates/01-General/01-Treble_Clef/score_style.mss:/
> usr/share/mscore-4.0/templates/01-General/02-Bass_Clef/score_style.mss:/usr/
> share/mscore-4.0/templates/01-General/03-Grand_Staff/score_style.mss:/usr/
> share/mscore-4.0/templates/02-Choral/01-SATB/score_style.mss:/usr/share/
> mscore-4.0/templates/02-Choral/02-SATB_+_Organ/score_style.mss:/usr/share/
> mscore-4.0/templates/02-Choral/03-SATB_+_Piano/score_style.mss:/usr/share/
> mscore-4.0/templates/02-Choral/04-SATB_Closed_Score/score_style.mss:/usr/
> share/mscore-4.0/templates/02-Choral/05-SATB_Closed_Score_+_Organ/
> score_style.mss:/usr/share/mscore-4.0/templates/02-Choral/06-
> SATB_Closed_Score_+_Piano/score_style.mss:/usr/share/mscore-4.0/templates/02-
> Choral/07-Voice_+_Piano/score_style.mss:/usr/share/mscore-4.0/templates/02-
> Choral/08-Barbershop_Quartet_(Men)/score_style.mss:/usr/share/mscore-4.0/
> templates/02-Choral/09-Barbershop_Quartet_(Women)/score_style.mss:/usr/share/
> mscore-4.0/templates/04-Solo/01-Guitar/score_style.mss:/usr/share/mscore-4.0/
> templates/04-Solo/02-Guitar_+_Tablature/score_style.mss:/usr/share/mscore-4.
> 0/templates/04-Solo/03-Guitar_Tablature/score_style.mss:/usr/share/mscore-4.
> 0/templates/04-Solo/04-Piano/score_style.mss
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/08-Orchestral/03-String_Orchestra/
> viewsettings.json
> /usr/share/mscore-4.0/templates/01-General/01-Treble_Clef/viewsettings.json:/
> usr/share/mscore-4.0/templates/01-General/02-Bass_Clef/viewsettings.json:/
> usr/share/mscore-4.0/templates/01-General/03-Grand_Staff/viewsettings.json:/
> usr/share/mscore-4.0/templates/02-Choral/01-SATB/viewsettings.json:/usr/
> share/mscore-4.0/templates/02-Choral/02-SATB_+_Organ/viewsettings.json:/usr/
> share/mscore-4.0/templates/02-Choral/03-SATB_+_Piano/viewsettings.json:/usr/
> share/mscore-4.0/templates/02-Choral/04-SATB_Closed_Score/viewsettings.json:/
> usr/share/mscore-4.0/templates/02-Choral/05-SATB_Closed_Score_+_Organ/
> viewsettings.json:/usr/share/mscore-4.0/templates/02-Choral/06-
> SATB_Closed_Score_+_Piano/viewsettings.json:/usr/share/mscore-4.0/templates/
> 02-Choral/07-Voice_+_Piano/viewsettings.json:/usr/share/mscore-4.0/templates/
> 02-Choral/08-Barbershop_Quartet_(Men)/viewsettings.json:/usr/share/mscore-4.
> 0/templates/02-Choral/09-Barbershop_Quartet_(Women)/viewsettings.json:/usr/
> share/mscore-4.0/templates/02-Choral/10-Liturgical_Unmetrical/viewsettings.
> json:/usr/share/mscore-4.0/templates/02-Choral/11-
> Liturgical_Unmetrical_+_Organ/viewsettings.json:/usr/share/mscore-4.0/
> templates/03-Chamber_Music/01-String_Quartet/viewsettings.json:/usr/share/
> mscore-4.0/templates/03-Chamber_Music/02-Wind_Quartet/viewsettings.json:/usr/
> share/mscore-4.0/templates/03-Chamber_Music/03-Wind_Quintet/viewsettings.
> json:/usr/share/mscore-4.0/templates/03-Chamber_Music/04-Saxophone_Quartet/
> viewsettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/05-
> Brass_Quartet/viewsettings.json:/usr/share/mscore-4.0/templates/03-
> Chamber_Music/06-Brass_Quintet/viewsettings.json:/usr/share/mscore-4.0/
> templates/04-Solo/01-Guitar/viewsettings.json:/usr/share/mscore-4.0/
> templates/04-Solo/02-Guitar_+_Tablature/viewsettings.json:/usr/share/mscore-
> 4.0/templates/04-Solo/03-Guitar_Tablature/viewsettings.json:/usr/share/
> mscore-4.0/templates/04-Solo/04-Piano/viewsettings.json:/usr/share/mscore-4.
> 0/templates/05-Jazz/01-Jazz_Lead_Sheet/viewsettings.json:/usr/share/mscore-4.
> 0/templates/05-Jazz/02-Big_Band/viewsettings.json:/usr/share/mscore-4.0/
> templates/05-Jazz/03-Jazz_Combo/viewsettings.json:/usr/share/mscore-4.0/
> templates/06-Popular/01-Rock_Band/viewsettings.json:/usr/share/mscore-4.0/
> templates/06-Popular/02-Bluegrass_Band/viewsettings.json:/usr/share/mscore-4.
> 0/templates/07-Band_and_Percussion/01-Concert_Band/viewsettings.json:/usr/
> share/mscore-4.0/templates/07-Band_and_Percussion/02-Small_Concert_Band/
> viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/03-
> Brass_Band/viewsettings.json:/usr/share/mscore-4.0/templates/07-
> Band_and_Percussion/04-Marching_Band/viewsettings.json:/usr/share/mscore-4.0/
> templates/07-Band_and_Percussion/05-Small_Marching_Band/viewsettings.json:/
> usr/share/mscore-4.0/templates/07-Band_and_Percussion/06-Battery_Percussion/
> viewsettings.json:/usr/share/mscore-4.0/templates/07-Band_and_Percussion/07-
> Large_Pit_Percussion/viewsettings.json:/usr/share/mscore-4.0/templates/07-
> Band_and_Percussion/08-Small_Pit_Percussion/viewsettings.json:/usr/share/
> mscore-4.0/templates/07-Band_and_Percussion/09-European_Concert_Band/
> viewsettings.json:/usr/share/mscore-4.0/templates/08-Orchestral/01-
> Classical_Orchestra/viewsettings.json:/usr/share/mscore-4.0/templates/08-
> Orchestral/02-Symphony_Orchestra/viewsettings.json
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/07-Band_and_Percussion/06-Battery_Percussion/
> audiosettings.json
> /usr/share/mscore-4.0/templates/02-Choral/01-SATB/audiosettings.json:/usr/
> share/mscore-4.0/templates/03-Chamber_Music/01-String_Quartet/audiosettings.
> json:/usr/share/mscore-4.0/templates/03-Chamber_Music/02-Wind_Quartet/
> audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/04-
> Saxophone_Quartet/audiosettings.json:/usr/share/mscore-4.0/templates/03-
> Chamber_Music/05-Brass_Quartet/audiosettings.json
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/08-Orchestral/03-String_Orchestra/
> audiosettings.json
> /usr/share/mscore-4.0/templates/02-Choral/02-SATB_+_Organ/audiosettings.json:
> /usr/share/mscore-4.0/templates/02-Choral/03-SATB_+_Piano/audiosettings.json:
> /usr/share/mscore-4.0/templates/03-Chamber_Music/03-Wind_Quintet/
> audiosettings.json:/usr/share/mscore-4.0/templates/03-Chamber_Music/06-
> Brass_Quintet/audiosettings.json
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/02-Choral/11-Liturgical_Unmetrical_+_Organ/
> audiosettings.json
> /usr/share/mscore-4.0/templates/02-Choral/04-SATB_Closed_Score/audiosettings.
> json:/usr/share/mscore-4.0/templates/02-Choral/07-Voice_+_Piano/
> audiosettings.json:/usr/share/mscore-4.0/templates/02-Choral/08-
> Barbershop_Quartet_(Men)/audiosettings.json:/usr/share/mscore-4.0/templates/
> 02-Choral/09-Barbershop_Quartet_(Women)/audiosettings.json
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/02-Choral/06-SATB_Closed_Score_+_Piano/
> audiosettings.json
> /usr/share/mscore-4.0/templates/02-Choral/05-SATB_Closed_Score_+_Organ/
> audiosettings.json
> musescore.x86_64: W: files-duplicate
> /usr/share/mscore-4.0/templates/03-Chamber_Music/05-Brass_Quartet/
> score_style.mss
> /usr/share/mscore-4.0/templates/03-Chamber_Music/01-String_Quartet/
> score_style.mss:/usr/share/mscore-4.0/templates/03-Chamber_Music/02-
> Wind_Quartet/score_style.mss:/usr/share/mscore-4.0/templates/03-
> Chamber_Music/03-Wind_Quintet/score_style.mss:/usr/share/mscore-4.0/
> templates/03-Chamber_Music/04-Saxophone_Quartet/score_style.mss

Hmmm, I'm not sure what to do about these.  Those are files created and installed by upstream.  I suppose I could run hardlink over the installed tree.  Does RPM handle hardlinked files correctly?  (And *should* these files be hardlinked?  I'm not at all sure about that.)

> [!]: %check is present and all tests pass.
> * I think that "desktop-file-validate" and "appstreamcli validate" should be
> under %check, no?

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_file_install_usage says that desktop-file-validate can be run in either %install or %check.  Likewise, https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/#_app_data_validate_usage says that appstream-util can be run in either %install or %check.

Again, my apologies for going silent.  I should have time to stay on top of this review going forward, unless Murphy decides to smite me again.

New URLs:
Spec URL: https://jjames.fedorapeople.org/musescore/musescore.spec
SRPM URL: https://jjames.fedorapeople.org/musescore/musescore-4.1.0-1.fc39.src.rpm

Comment 6 Fedora Review Service 2023-07-19 20:11:28 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6187583
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2180243-musescore/fedora-rawhide-x86_64/06187583-musescore/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 7 Ben Beasley 2023-07-19 21:05:40 UTC
(In reply to Jerry James from comment #5)
> Hmmm, I'm not sure what to do about these.  Those are files created and
> installed by upstream.  I suppose I could run hardlink over the installed
> tree.  Does RPM handle hardlinked files correctly?

Yes.

> (And *should* these files be hardlinked?  I'm not at all sure about that.)

I don’t know of anything that would *require* you to hardlink dupliate files.

My personal opinion is that it is *desirable* to hardlink duplicate files when the space savings are subjectively significant, and when there is no risk of the hardlinked files residing on different filesystems. There is no risk of this when hardlinking (recursively) within a single package-owned directory.

Nevertheless, rpmlint will always warn about cross-directory hardlinks even when it can be shown that the directories must be installed on the same filesystem. There is no way to avoid getting warnings about these files one way or the other.

Comment 8 Jerry James 2023-07-19 21:18:18 UTC
Good information.  Thanks, Ben.

Comment 9 Jerry James 2023-07-27 23:03:51 UTC
The COPR has been updated to version 4.1.1.  The hardlinking discussed in above is now done.  New URLs:
Spec URL: https://jjames.fedorapeople.org/musescore/musescore.spec
SRPM URL: https://jjames.fedorapeople.org/musescore/musescore-4.1.0-1.fc39.src.rpm

Comment 10 Fedora Review Service 2023-07-27 23:04:19 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6218270
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2180243-musescore/srpm-builds/06218270/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 11 Jerry James 2023-07-27 23:05:08 UTC
Let's try that again.  New URLs:

Spec URL: https://jjames.fedorapeople.org/musescore/musescore.spec
SRPM URL: https://jjames.fedorapeople.org/musescore/musescore-4.1.1-1.fc39.src.rpm

Comment 12 Fedora Review Service 2023-07-27 23:10:39 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6218308
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2180243-musescore/fedora-rawhide-x86_64/06218308-musescore/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 13 Jerry James 2023-08-01 22:49:06 UTC
The edwin-fonts and leland-fonts reviews are done, so we just need reviews for makemusic-finale-fonts (bug 2152347) and this one.

Comment 14 Robert-André Mauchin 🐧 2023-08-27 10:35:18 UTC
- 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:

License:        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)


- Why Epoch is 1? This is a new package, you don't need Epoch.


 - Use autorelease/autochangelog

 - could you unbundle googletest? thirdparty/googletest We have googletest in Fedora

 - 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

 - 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


 - [!]: 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

 - Will check licensing further in the next comemnt.


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- 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


===== MUST items =====

C/C++:
[ ]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[ ]: 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 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. Licenses
     found: "Unknown or generated", "GNU General Public License, Version
     3", "*No copyright* GNU General Public License, Version 3", "GNU
     General Public License, Version 2 [obsolete FSF postal address (Mass
     Ave)]", "Creative Commons Attribution 3.0", "SIL Open Font License
     1.1", "GNU General Public License, Version 3 GNU General Public
     License, Version 2", "SIL Open Font License", "*No copyright* SIL Open
     Font License 1.1", "*No copyright* SIL Open Font License", "GNU
     General Public License v3.0 or later", "MIT License", "GNU Lesser
     General Public License, Version 3", "GNU General Public License,
     Version 2", "GNU General Public License v2.0 or later", "*No
     copyright* GNU General Public License v2.0 or later", "Apache License
     2.0", "*No copyright* Apache License 2.0", "BSD 3-Clause License",
     "*No copyright* MIT License", "GNU Lesser General Public License,
     Version 2.1", "GNU Lesser General Public License", "GNU Lesser General
     Public License v2.1 or later [obsolete FSF postal address (Temple
     Place)]", "GNU General Public License, Version 2 [obsolete FSF postal
     address (Temple Place)]", "*No copyright* GNU General Public License",
     "GNU Lesser General Public License v2.1 or later", "*No copyright* GNU
     Lesser General Public License", "*No copyright* GNU General Public
     License, Version 2", "FSF All Permissive License", "GNU Lesser General
     Public License, Version 3 GNU General Public License, Version 2", "GNU
     Lesser General Public License, Version 2.1 GNU General Public License,
     Version 3", "Apache License 2.0 [generated file]", "BSD 3-Clause
     License [generated file]", "GNU Lesser General Public License v3.0 or
     later", "GNU General Public License GNU Lesser General Public License
     v2.1 or later", "*No copyright* GNU Lesser General Public License v2.1
     or later", "BSD 2-Clause License", "*No copyright* zlib License", "*No
     copyright* Boost Software License 1.0", "Boost Software License 1.0",
     "*No copyright* BSD 3-Clause License", "GNU Library General Public
     License v2 or later", "*No copyright* Public domain", "Unicode License
     Agreement - Data Files and Software (2016)". 5915 files have unknown
     license. Detailed output of licensecheck in
     /home/bob/packaging/review/musescore/review-musescore/licensecheck.txt
[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]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/share/SMuFL(finale-ash-
     text-fonts, finale-ash-fonts, finale-legacy-fonts, finale-broadway-
     legacy-text-fonts, finale-jazz-text-lowercase-fonts, finale-maestro-
     text-fonts, finale-broadway-text-fonts, finale-maestro-fonts, finale-
     engraver-fonts, finale-jazz-text-fonts, finale-jazz-fonts, finale-
     broadway-fonts), /usr/share/SMuFL/Fonts(finale-ash-text-fonts, finale-
     ash-fonts, finale-legacy-fonts, finale-broadway-legacy-text-fonts,
     finale-jazz-text-lowercase-fonts, finale-maestro-text-fonts, finale-
     broadway-text-fonts, finale-maestro-fonts, finale-engraver-fonts,
     finale-jazz-text-fonts, finale-jazz-fonts, finale-broadway-fonts)
[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.
[-]: 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.
[x]: 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.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 43276 bytes in 13 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]: Package requires other packages for directories it uses.
[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 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:
[-]: 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).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     musescore-soundfont , mscore-fonts , mscoretext-fonts , musescoreicon-
     fonts , mscorebc-fonts , mscoretabulature-fonts , musejazz-fonts ,
     musejazz-text-fonts , gootville-fonts , gootville-text-fonts
[?]: 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.
[x]: 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]: 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]: 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:
[!]: 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
[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).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: musescore-4.1.1-1.fc40.x86_64.rpm
          musescore-soundfont-0.2.0-1.fc40.noarch.rpm
          mscore-fonts-2.002-1.fc40.noarch.rpm
          mscoretext-fonts-1.0-1.fc40.noarch.rpm
          musescoreicon-fonts-1.0-1.fc40.noarch.rpm
          mscorebc-fonts-1.0-1.fc40.noarch.rpm
          mscoretabulature-fonts-001.000-1.fc40.noarch.rpm
          musejazz-fonts-1.0-1.fc40.noarch.rpm
          musejazz-text-fonts-1.0-1.fc40.noarch.rpm
          gootville-fonts-1.3-1.fc40.noarch.rpm
          gootville-text-fonts-1.2-1.fc40.noarch.rpm
          musescore-debuginfo-4.1.1-1.fc40.x86_64.rpm
          musescore-debugsource-4.1.1-1.fc40.x86_64.rpm
          musescore-4.1.1-1.fc40.src.rpm
============================================================================================================================================== rpmlint session starts ==============================================================================================================================================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.11/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/tmpt99e41ae')]
checks: 31, packages: 14

musescore-soundfont.noarch: W: no-documentation
musescore.x86_64: E: incorrect-fsf-address /usr/share/licenses/musescore/COPYING.LESSER.rtf2html
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
musescore.x86_64: W: incoherent-version-in-changelog 1:4.1.1-1 ['4.1.1-1.fc40', '4.1.1-1']
musescore.x86_64: W: files-duplicate /usr/share/mscore-4.1/locale/musescore_ar_DZ.qm /usr/share/mscore-4.1/locale/instruments_ar_DZ.qm
============================================================================================================ 14 packages and 0 specfiles checked; 10 errors, 1042 warnings, 10 badness; has taken 7.4 s ============================================================================================================

Comment 15 Robert-André Mauchin 🐧 2023-08-27 11:09:35 UTC
So currently we have

# The MuseScore project itself is GPL-3.0-only WITH Font-exception-2.0.  Other
# licenses in play:
# GPL-2.0-or-later
# - thirdparty/beatroot
# LGPL-3.0-only
# - share/wallpapers/paper5.png
# LGPL-2.1-or-later
# - thirdparty/fluidsynth
# - thirdparty/rtf2html
# MIT
# - thirdparty/intervaltree
# Unlicense OR MIT-0
# - code from the dr_libs header-only library
# Unlicense OR MIT
# - code from the stb_vorbis header-only library
License:        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)


Let's check what I have:

thirdparty/KDDockWidgets/ -> (GPL-2.0-only OR GPL-3.0-only)

thirdparty/googletest -> BSD-3-Clause (but we need to get rid of it if possible)

thirdparty/beatroot -> GPL-2.0-or-later

GPL-3.0-only WITH Font-exception-2.0:
  - MuseScore-4.1.1/README.md

GPL-3.0-or-later:
  - MuseScore-4.1.1/share/plugins/courtesy_accidentals/
  - MuseScore-4.1.1/share/plugins/intervals/
  - MuseScore-4.1.1/share/plugins/tuning/
  - MuseScore-4.1.1/share/plugins/tuning_modal/


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

OFL-1.1:
  - MuseScore-4.1.1/fonts/mscore-BC.sfd
  - MuseScore-4.1.1/fonts/mscore-BC.ttf
  - MuseScore-4.1.1/fonts/mscoreTab.sfd
  - MuseScore-4.1.1/fonts/mscoreTab.ttf
  - MuseScore-4.1.1/fonts/bravura/Bravura.otf
  - MuseScore-4.1.1/fonts/bravura/BravuraText.otf
  - MuseScore-4.1.1/fonts/bravura/LICENSE.txt
  - MuseScore-4.1.1/fonts/bravura/OFL.txt
  - MuseScore-4.1.1/fonts/campania/Campania.otf
  - MuseScore-4.1.1/fonts/campania/LICENSE
  - MuseScore-4.1.1/fonts/edwin/Edwin-BdIta.otf
  - MuseScore-4.1.1/fonts/edwin/Edwin-Bold.otf
  - MuseScore-4.1.1/fonts/edwin/Edwin-Italic.otf
  - MuseScore-4.1.1/fonts/edwin/Edwin-Roman.otf
  - MuseScore-4.1.1/fonts/edwin/LICENSE.txt
  - MuseScore-4.1.1/fonts/finalebroadway/OFL.txt
  - MuseScore-4.1.1/fonts/finalemaestro/OFL.txt
  - MuseScore-4.1.1/fonts/gootville/Gootville.otf
  - MuseScore-4.1.1/fonts/gootville/GootvilleText.otf
  - MuseScore-4.1.1/fonts/gootville/readme.txt
  - MuseScore-4.1.1/fonts/leland/Leland.otf
  - MuseScore-4.1.1/fonts/leland/LelandText.otf
  - MuseScore-4.1.1/fonts/leland/LICENSE.txt
  - MuseScore-4.1.1/fonts/leland/README.md
  - MuseScore-4.1.1/fonts/mscore/MScoreText.sfd
  - MuseScore-4.1.1/fonts/mscore/MScoreText.ttf
  - MuseScore-4.1.1/fonts/musejazz/OFL.txt
  - MuseScore-4.1.1/fonts/petaluma/OFL.txt
  - MuseScore-4.1.1/fonts/petaluma/Petaluma.otf
  - MuseScore-4.1.1/fonts/petaluma/PetalumaScript.otf
  - MuseScore-4.1.1/fonts/petaluma/PetalumaText.otf
  - MuseScore-4.1.1/fonts/musejazz/MuseJazz.otf
  - MuseScore-4.1.1/fonts/musejazz/MuseJazzText.otf

GPL-3.0-or-later WITH Font-exception-2.0:
  - MuseScore-4.1.1/fonts/mscore/mscore.ttf
  - MuseScore-4.1.1/fonts/mscore/mscore.sfd
  - MuseScore-4.1.1/fonts/FreeSans.sfd
  - MuseScore-4.1.1/fonts/FreeSans.ttf
  - MuseScore-4.1.1/fonts/FreeSerif.sfd
  - MuseScore-4.1.1/fonts/FreeSerif.ttf
  - MuseScore-4.1.1/fonts/FreeSerifBold.sfd
  - MuseScore-4.1.1/fonts/FreeSerifBold.ttf
  - MuseScore-4.1.1/fonts/FreeSerifBoldItalic.sfd
  - MuseScore-4.1.1/fonts/FreeSerifBoldItalic.ttf
  - MuseScore-4.1.1/fonts/FreeSerifItalic.sfd
  - MuseScore-4.1.1/fonts/FreeSerifItalic.ttf

Zlib:
  - MuseScore-4.1.1/src/framework/global/thirdparty/tinyxml/tinyxml2.cpp
  - MuseScore-4.1.1/src/framework/global/thirdparty/tinyxml/tinyxml2.h

MIT:
  - MuseScore-4.1.1/src/framework/global/thirdparty/deto_async/LICENSE
  - MuseScore-4.1.1/src/framework/global/thirdparty/haw_logger/LICENSE
  - MuseScore-4.1.1/src/framework/global/thirdparty/haw_profiler/LICENSE
  - MuseScore-4.1.1/thirdparty/fluidsynth/fluidsynth-2.1.4/src/bindings/fluid_rtkit.c
  - MuseScore-4.1.1/thirdparty/fluidsynth/fluidsynth-2.1.4/src/bindings/fluid_rtkit.h
  - MuseScore-4.1.1/thirdparty/intervaltree/LICENSE
  - MuseScore-4.1.1/thirdparty/intervaltree/README

LGPL-3.0-only:
  - MuseScore-4.1.1/share/wallpapers/COPYRIGHT

LGPL-2.1-or-later:
  - MuseScore-4.1.1/thirdparty/rtf2html/README
  - MuseScore-4.1.1/thirdparty/fluidsynth/fluidsynth-2.1.4/README.md

LGPL-2.1-or-later AND GPL-3.0-or-later:
  - MuseScore-4.1.1/src/braille/thirdparty/liblouis/README

This is not used:

# Unlicense OR MIT-0
# - code from the dr_libs header-only library


# Unlicense OR MIT
# - code from the stb_vorbis header-only library


So let's recap:

# The MuseScore project itself is GPL-3.0-only WITH Font-exception-2.0.
# Other licenses in play:
# GPL-2.0-or-later
# - thirdparty/beatroot
# (GPL-2.0-only OR GPL-3.0-only)
# - thirdparty/KDDockWidgets
# BSD-3-Clause:
# - thirdparty/googletest
# GPL-3.0-or-later:
# - share/plugins/courtesy_accidentals/
# - share/plugins/intervals/
# - share/plugins/tuning/
# - share/plugins/tuning_modal/
# 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
# LGPL-3.0-only
# - share/wallpapers/paper5.png
# LGPL-2.1-or-later
# - thirdparty/fluidsynth
# - thirdparty/rtf2html
# 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/
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-2.0-only OR GPL-3.0-only) 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)

Is it okay for you?

Comment 16 Robert-André Mauchin 🐧 2023-08-27 11:14:56 UTC
I made a bad copy paste:

# The MuseScore project itself is GPL-3.0-only WITH Font-exception-2.0.
# Other licenses in play:
# GPL-2.0-or-later
# - thirdparty/beatroot
# (GPL-2.0-only OR GPL-3.0-only)
# - thirdparty/KDDockWidgets
# BSD-3-Clause:
# - thirdparty/googletest
# GPL-3.0-or-later:
# - share/plugins/courtesy_accidentals/
# - share/plugins/intervals/
# - share/plugins/tuning/
# - share/plugins/tuning_modal/
# 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
# LGPL-3.0-only
# - share/wallpapers/paper5.png
# LGPL-2.1-or-later
# - thirdparty/fluidsynth
# - thirdparty/rtf2html
# 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/
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)

Comment 17 Jerry James 2023-08-29 21:39:46 UTC
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

Comment 18 Fedora Review Service 2023-08-29 22:47:11 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6353994
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2180243-musescore/fedora-rawhide-x86_64/06353994-musescore/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 19 Robert-André Mauchin 🐧 2023-08-30 17:19:17 UTC
LGTM, package approved.

Comment 20 Jerry James 2023-08-30 20:12:15 UTC
Thank you very, very much!  I appreciate the work you put into this review, as well as those who left comments previously.

Comment 21 Fedora Admin user for bugzilla script actions 2023-08-30 21:31:09 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/musescore

Comment 22 Fedora Update System 2023-08-31 14:48:37 UTC
FEDORA-2023-33edff98fe has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-33edff98fe

Comment 23 Fedora Update System 2023-08-31 14:58:42 UTC
FEDORA-2023-33edff98fe has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 24 Fedora Update System 2023-08-31 16:25:47 UTC
FEDORA-2023-4221bf49b3 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-4221bf49b3

Comment 25 Fedora Update System 2023-09-01 01:46:47 UTC
FEDORA-2023-4221bf49b3 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-4221bf49b3 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-4221bf49b3

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 26 Fedora Update System 2023-09-02 02:10:41 UTC
FEDORA-2023-4221bf49b3 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-4221bf49b3 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-4221bf49b3

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 27 Fedora Update System 2023-09-15 18:45:18 UTC
FEDORA-2023-4221bf49b3 has been pushed to the Fedora 39 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.