<div dir="ltr"><span style="font-size:12.8px">Package: musescore</span><div style="font-size:12.8px">Version: 2.0.2+dfsg-2</div><div style="font-size:12.8px">Severity: normal</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Dear maintainer,</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">MuseScore's Help -> About dialog displays a revision number which the upstream developers use for tracking bug reports at <a href="https://musescore.org/en/project/issues">https://musescore.org/en/project/issues</a>. The revision number should be set to the first 7 digits of the git commit SHA corresponding to the upstream release, however, this is not being done in the Debian packages (the default value of "3543170" is being used each time instead). I have attached code files which will set the revision number to the correct value automatically.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">The revision number is an upstream concept, so it should be performed before the creation of orig.tar.gz. <span style="font-size:12.8px">The upstream Makefile provides the target "make revision" to set the revision number, but this target only works inside a Git repository</span><span style="font-size:12.8px">. It could be performed by the "get-orig-source" function inside debian/rules, which would do a Git clone of the upstream tag, run "make revision", and then tidy up and pack everything into orig.tar.gz. However, if a future maintainer were to perform a upstream update via debian/watch (i.e. `uscan`) instead of `debian/rules get-orig-source` then the revision number would not be set.</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">The solution chosen here is not to clone the Git repo, but instead to use `uscan` to download the upstream tarball and set the revision number by grepping it from the tag page on GitHub. The "get-orig-source" target in debian/rules simply calls `uscan`, so the revision number will be set whichever method the maintainer uses.</span><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Please find solution code in the attached files. The solution makes use of the<span style="font-size:12.8px"> "action" field in debian/watch to launch the new script debian/repack, which sets the revision number in the upstream tarball and makes changes necessary for DFSG compliance.</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">musescore-debian-watch.txt - rename this debian/watch and replace existing file.</span></div><div style="font-size:12.8px"><span style="font-size:12.8px">musescore-debian-repack.txt - rename this debian/repack and give execute permission.</span><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">musescore-debian-rules-getorigsource.txt - replace the existing "get-orig-source" target in debian/rules with the contents of this file.</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">You might also want to add an explanation to debian/README.Debian. Maybe something like:</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><div style="font-size:12.8px">> MuseScore's Help -> About dialog shows a revision number which is simply the</div><div style="font-size:12.8px">> first 7 digits of the git commit SHA corresponding to the tagged upstream</div><div style="font-size:12.8px">> release. This number must be set in the upstream tarball after it has been</div><div style="font-size:12.8px">> downloaded (this is done automatically if the tarball is fetched using `uscan`</div><div style="font-size:12.8px">> or the get-orig-source target in debian/rules). The revision number is used by</div><div style="font-size:12.8px">> upstream for tracking bugs, so it shouldn't be changed on a Debian revision.</div></span></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I, the author and copyright holder for the attached files "musescore-debian-watch.txt", <span style="font-size:12.8px">"musescore-debian-repack.</span><span style="font-size:12.8px">txt" and </span><span style="font-size:12.8px">"musescore-debian-rules-getorigsource.</span><span style="font-size:12.8px">txt"</span><span style="font-size:12.8px"> give permission for their contents to be modified and/or redistributed under the terms of the GNU General Public License, version 2.</span></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Thanks,</div><div style="font-size:12.8px">Peter Jonas</div><div style="font-size:12.8px">(a.k.a. "shoogle" on GitHub and MuseScore.org)</div></div>