https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Bug ID: 1811485 Summary: Review Request: non-daw - Digital Audio Workstation for Jack Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Assignee: nobody@fedoraproject.org Reporter: erich@ericheickmeyer.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f... SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f...
Description: Non-daw is a digital audio workstation for JACK. It includes a timeline, mixer, session manager, and sequencer.
Fedora Account System Username: eeickmeyer
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Artur Iwicki fedora@svgames.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fedora@svgames.pl Doc Type|--- |If docs needed, set a value
--- Comment #1 from Artur Iwicki fedora@svgames.pl ---
Release: 1.gitbbe83864%{?dist}
Snapshots must also include the commit date. https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_snaps...
Group: Applications/Multimedia
The "Group:" tag is not used in Fedora. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_section...
# Distribution-specific patch to use /bin/env python3 shebang Patch1: patch-waf-for-python3.patch
Do not use /bin/env. Explicitly specify the interpreter. (The link below talks mostly about packaged files, but still it's a good rule to follow.) https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shebang_lines
Source0: non-20200307-gitbbe83864.tar.bz2 # sh non-snapshot.sh (rev> Source1: non-snapshot.sh
Poking around the site a little, it seems you can download a snapshot directly using a URL like this: "https://git.tuxfamily.org/non/non.git/snapshot/non-$%7BGIT_COMMIT_HASH%7D.ta...".
Also, as far as I can see, non.tuxfamily.org supports HTTPS, so I'd suggest switching all the links from http:// to https://.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Guido Aulisi guido.aulisi@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |guido.aulisi@gmail.com
--- Comment #2 from Guido Aulisi guido.aulisi@gmail.com --- Happy to see this package unretired, I add some quick findings:
1) To fix python shebangs you can use:
BuildRequires: %{_bindir}/pathfix.py ...
%prep ...
# Fix unversioned python shebangs pathfix.py -pni %{_bindir}/python3 waf wscript ...
2) Your are not settings LDFLAGS, you could add this macro (%set_build_flags) that sets all flags, then add custom ones, and maybe this is more readable:
%build %ifarch %{ix86} x86_64 CXXFLAGS="%{optflags} -std=c++11" ./waf configure --prefix=%{_prefix} --libdir=%{_libdir} %else CXXFLAGS="%{optflags} -std=c++11" ./waf configure --prefix=%{_prefix} --libdir=%{_libdir} --disable-sse %endif
%build %set_build_flags CXXFLAGS+=" -std=c++11" // I thinks g++ defaults to c++11 so it could be omitted
./waf configure --prefix=%{_prefix} --libdir=%{_libdir} \ %ifarch %{ix86} x86_64
%else --disable-sse %endif
3) Use license tag
%doc COPYING
%license COPYING
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #3 from Erich Eickmeyer erich@ericheickmeyer.com --- I went ahead and applied everyone's suggestions (Guido and Artur, thanks!). New files are as follows.
Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f... SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f...
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #4 from Guido Aulisi guido.aulisi@gmail.com --- Some more findings...
1) You should patch all python shebangs, i.e.:
pathfix.py -pni %{_bindir}/python3 waf $(find -name wscript)
2) You should unbundle non-ntk library, it's already present in fedora [0] See [1]
[0]: https://src.fedoraproject.org/rpms/non-ntk [1]: https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #5 from Erich Eickmeyer erich@ericheickmeyer.com --- Thanks, Guido! I applied those fixes. New files:
Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f... SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f...
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Erich Eickmeyer erich@ericheickmeyer.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(guido.aulisi@gmai | |l.com)
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Guido Aulisi guido.aulisi@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(guido.aulisi@gmai | |l.com) |
--- Comment #6 from Guido Aulisi guido.aulisi@gmail.com --- Sorry for the late answer, I'm posting some other findings, then I will post the review:
BuildRequires: fltk-devel BuildRequires: fltk-fluid
Are these really needed? In particular fltk-fluid shouldn't be needed, because it's a GUI to design widgets.
BuildRequires: non-ntk-fluid
Same as above.
Requires: non-ntk Requires: non-ntk-fluid
These are not needed, because rpm finds dependencies automatically, and non-ntk-fluid isn't needed at runtime.
You should add
Buildrequires: %{_bindir}/find
because you use it patching python shebangs.
You are not running the build command, you should add as the latest command in %build section this:
./waf build -v %{?_smp_mflags}
It runs build in verbose mode and with parallelism.
I will post the output of fedora-review ASAP, I think the package is fine.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #7 from Guido Aulisi guido.aulisi@gmail.com --- This was reported by fedora-review:
- Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 2242560 bytes in 46 files. See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_documentation
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #9 from Erich Eickmeyer erich@ericheickmeyer.com --- Hi Guido,
I went with your recommendation to remove ntk-fluid from BuildRequires. However, during build process, I ran into this:
Checking for program 'ntk-fluid' : not found Could not find the program ['ntk-fluid']
So, yes, it is required.
However, I did remove the rest and add hicolor-icon-theme. Additionally, since every subpackage has its own documentation, I added a -doc to each subpackage.
Thanks for your help. I hope we get a pass this time around.
New files: Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f... SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f...
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #10 from Guido Aulisi guido.aulisi@gmail.com --- Versioning is not correct. Latest version in Fedora was 1.2.0-18... so you should increment by one and start with 1.2.0-19%{commitdate}git%{shortcommit0}%{?dist}
You didn't use the latest spec when unretiring this package and cut some of the recent history, which could be useful.
License should be GPLv2+ and ISC (there is one file with ISC license)
Many source files have incorrect FSF address, this must be corrected by a patch, there is a sed script that can help do this. You can't modify COPYING file because only upstream can do that, but you should notify of the incorrect FSF address and maybe send a patch.
License file (COPYING) must be added to every subpackage, because they can be installed separately.
Output of fedora review related to comment #5, with some manual checks. Some cheks are still missing and there are cheks that do not pass.
Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
Issues: ======= - Package does not use a name that already exists. Note: A package with this name already exists. Please check https://src.fedoraproject.org/rpms/non-daw See: https://docs.fedoraproject.org/en-US/packaging- guidelines/Naming/#_conflicting_package_names - Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 2242560 bytes in 46 files. See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_documentation
===== MUST items =====
C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [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]: 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* BSD 3-clause "New" or "Revised" License", "GPL (v2 or later) (with incorrect FSF address)", "ISC License". 154 files have unknown license. Detailed output of licensecheck in /home/guido/tmp/1811485-non-daw/licensecheck.txt [!]: License file installed when any subpackage combination is installed. [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/icons/hicolor/32x32, /usr/share/icons/hicolor, /usr/share/icons/hicolor/256x256, /usr/share/icons/hicolor/72x72/apps, /usr/share/icons/hicolor/64x64, /usr/share/icons/hicolor/128x128, /usr/share/icons/hicolor/256x256/apps, /usr/share/icons/hicolor/512x512/apps, /usr/share/icons/hicolor/36x36/apps, /usr/share/icons/hicolor/36x36, /usr/share/icons/hicolor/64x64/apps, /usr/share/icons/hicolor/48x48, /usr/share/icons/hicolor/192x192/apps, /usr/share/icons/hicolor/16x16, /usr/share/icons/hicolor/128x128/apps, /usr/share/icons/hicolor/48x48/apps, /usr/share/icons/hicolor/192x192, /usr/share/icons/hicolor/16x16/apps, /usr/share/icons/hicolor/72x72, /usr/share/icons/hicolor/96x96/apps, /usr/share/icons/hicolor/512x512, /usr/share/icons/hicolor/32x32/apps, /usr/share/icons/hicolor/96x96 [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. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: 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. [ ]: 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 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 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: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [!]: Final provides and requires are sane (see attachments). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in non- mixer , non-session-manager , non-sequencer [ ]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [ ]: 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. [ ]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [ ]: Package should compile and build into binary rpms on all supported architectures. [ ]: %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]: 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 3430400 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). [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: non-daw-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm non-mixer-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm non-session-manager-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm non-sequencer-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm non-daw-debuginfo-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm non-daw-debugsource-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm non-daw-1.2.0-1.20200307gitbbe8386.fc33.src.rpm non-daw.x86_64: W: incoherent-version-in-changelog 1.2.0-1.gitbbe83864 ['1.2.0-1.20200307gitbbe8386.fc33', '1.2.0-1.20200307gitbbe8386'] non-daw.x86_64: W: no-manual-page-for-binary import-ardour-session_gui non-daw.x86_64: W: no-manual-page-for-binary non-daw non-daw.x86_64: W: no-manual-page-for-binary non-timeline non-mixer.x86_64: W: no-manual-page-for-binary non-midi-mapper non-mixer.x86_64: W: no-manual-page-for-binary non-mixer non-mixer.x86_64: W: no-manual-page-for-binary non-mixer-noui non-session-manager.x86_64: W: no-manual-page-for-binary jackpatch non-session-manager.x86_64: W: no-manual-page-for-binary non-session-manager non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy-gui non-session-manager.x86_64: W: no-manual-page-for-binary nsmd non-sequencer.x86_64: W: no-manual-page-for-binary non-sequencer non-daw.src: W: strange-permission non-snapshot.sh 775 7 packages and 0 specfiles checked; 0 errors, 14 warnings.
Rpmlint (debuginfo) ------------------- Checking: non-daw-debuginfo-1.2.0-1.20200307gitbbe8386.fc33.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Rpmlint (installed packages) ---------------------------- perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "C.UTF-8", LANG = "it_IT.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "C.UTF-8", LANG = "it_IT.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). non-mixer.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-mixer.x86_64: W: no-manual-page-for-binary non-midi-mapper non-mixer.x86_64: W: no-manual-page-for-binary non-mixer non-mixer.x86_64: W: no-manual-page-for-binary non-mixer-noui non-daw.x86_64: W: incoherent-version-in-changelog 1.2.0-1.gitbbe83864 ['1.2.0-1.20200307gitbbe8386.fc33', '1.2.0-1.20200307gitbbe8386'] non-daw.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-daw.x86_64: W: no-manual-page-for-binary import-ardour-session_gui non-daw.x86_64: W: no-manual-page-for-binary non-daw non-daw.x86_64: W: no-manual-page-for-binary non-timeline non-sequencer.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-sequencer.x86_64: W: no-manual-page-for-binary non-sequencer non-session-manager.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-session-manager.x86_64: W: no-manual-page-for-binary jackpatch non-session-manager.x86_64: W: no-manual-page-for-binary non-session-manager non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy-gui non-session-manager.x86_64: W: no-manual-page-for-binary nsmd non-daw-debugsource.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-daw-debuginfo.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> 6 packages and 0 specfiles checked; 0 errors, 19 warnings.
Source checksums ---------------- https://git.tuxfamily.org/non/non.git/snapshot/non-bbe8386499621c8e60eebb06d... : CHECKSUM(SHA256) this package : 4ea2d5abd810d00b4fb99b5f79383c09bd9e59f36f356c9371100fd06bc30f8a CHECKSUM(SHA256) upstream package : 4ea2d5abd810d00b4fb99b5f79383c09bd9e59f36f356c9371100fd06bc30f8a
Requires -------- non-daw (rpmlib, GLIBC filtered): jack-audio-connection-kit libc.so.6()(64bit) libcairo.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) libm.so.6()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libsndfile.so.1()(64bit) libsndfile.so.1(libsndfile.so.1.0)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) non-ntk non-ntk-fluid rtld(GNU_HASH)
non-mixer (rpmlib, GLIBC filtered): jack-audio-connection-kit libc.so.6()(64bit) libcairo.so.2()(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) liblrdf.so.2()(64bit) libm.so.6()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) rtld(GNU_HASH)
non-session-manager (rpmlib, GLIBC filtered): jack-audio-connection-kit libc.so.6()(64bit) libcairo.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH)
non-sequencer (rpmlib, GLIBC filtered): jack-audio-connection-kit libX11.so.6()(64bit) libc.so.6()(64bit) libcairo.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libsigc-2.0.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH)
non-daw-debuginfo (rpmlib, GLIBC filtered):
non-daw-debugsource (rpmlib, GLIBC filtered):
Provides -------- non-daw: application() application(non-timeline.desktop) non-daw non-daw(x86-64)
non-mixer: application() application(non-mixer.desktop) non-mixer non-mixer(x86-64)
non-session-manager: application() application(non-session-manager.desktop) non-session-manager non-session-manager(x86-64)
non-sequencer: application() application(non-sequencer.desktop) non-sequencer non-sequencer(x86-64)
non-daw-debuginfo: debuginfo(build-id) non-daw-debuginfo non-daw-debuginfo(x86-64)
non-daw-debugsource: non-daw-debugsource non-daw-debugsource(x86-64)
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #11 from Erich Eickmeyer erich@ericheickmeyer.com ---
You didn't use the latest spec when unretiring this package and cut some of the recent history, which could be useful.
Unfortunately, that spec wasn't available in src.fedoraproject.org, so I had to use the one from the last known good build. In other words, I couldn't find it.
Versioning is not correct. Latest version in Fedora was 1.2.0-18... so you should increment by one and start with 1.2.0-19%{commitdate}git%{shortcommit0}%{?dist}
Fixed.
License should be GPLv2+ and ISC (there is one file with ISC license)
Fixed.
Many source files have incorrect FSF address, this must be corrected by a patch, there is a sed script that can help do this.
Done.
You can't modify COPYING file because only upstream can do that, but you should notify of the incorrect FSF address and maybe send a patch.
The initial sed script didn't modify the root /COPYING file, so it must be correct. However, there is a sequencer/COPYING file that has the wrong address that I did not modify with the patch. Should I have?
[!]: Package must own all directories that it creates.
This looks like it mostly has to do with the icon files/directories. I don't understand what is wrong with the %files for each individual package not owning these.
[!]: Requires correct, justified where necessary.
I'm not clear as to what is going on here.
[!]: Final provides and requires are sane (see attachments).
Again, I'm not clear on this, but it appears to have something to do with the manpage warnings (which are justified in the .spec file)?
If it completely comes down to it, another package of mine (raysession), which is API compatible with this package, has been approved/accepted, meaning we can drop this package if it fails to meet guidelines. The upstream on this particular package has been hostile/nonresponsive to other developers historically.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #12 from Erich Eickmeyer erich@ericheickmeyer.com --- New files:
Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f... SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f...
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #13 from Guido Aulisi guido.aulisi@gmail.com --- Sorry for the long review, but this is a quite hard package IMHO
(In reply to Erich Eickmeyer from comment #11)
You didn't use the latest spec when unretiring this package and cut some of the recent history, which could be useful.
Unfortunately, that spec wasn't available in src.fedoraproject.org, so I had to use the one from the last known good build. In other words, I couldn't find it.
It was the commit before retiring https://src.fedoraproject.org/rpms/non-daw/tree/531a1f8e8db4351b6fb73a5bf4db...
Versioning is not correct. Latest version in Fedora was 1.2.0-18... so you should increment by one and start with 1.2.0-19%{commitdate}git%{shortcommit0}%{?dist}
Fixed.
License should be GPLv2+ and ISC (there is one file with ISC license)
Fixed.
This should be exactly GPLv2+ and ISC
Many source files have incorrect FSF address, this must be corrected by a patch, there is a sed script that can help do this.
Done.
You can't modify COPYING file because only upstream can do that, but you should notify of the incorrect FSF address and maybe send a patch.
The initial sed script didn't modify the root /COPYING file, so it must be correct. However, there is a sequencer/COPYING file that has the wrong address that I did not modify with the patch. Should I have?
[!]: Package must own all directories that it creates.
This looks like it mostly has to do with the icon files/directories. I don't understand what is wrong with the %files for each individual package not owning these.
I think Requires: hicolor-icon-theme is missing from main package
[!]: Requires correct, justified where necessary.
I'm not clear as to what is going on here.
This should be ok now
[!]: Final provides and requires are sane (see attachments).
Again, I'm not clear on this, but it appears to have something to do with the manpage warnings (which are justified in the .spec file)?
This should be ok now
If it completely comes down to it, another package of mine (raysession), which is API compatible with this package, has been approved/accepted, meaning we can drop this package if it fails to meet guidelines. The upstream on this particular package has been hostile/nonresponsive to other developers historically.
The only other minor issue I see know, after enabling verbose build are some compiler optimization that should be avoid in Fedora, like -O3, which get appended to Fedora build flags.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #14 from Erich Eickmeyer erich@ericheickmeyer.com ---
License should be GPLv2+ and ISC (there is one file with ISC license)
Fixed.
This should be exactly GPLv2+ and ISC
Actually fixed now.
I think Requires: hicolor-icon-theme is missing from main package
Fixed.
The only other minor issue I see know, after enabling verbose build are some compiler optimization that should be avoid in Fedora, like -O3, which get appended to Fedora build flags.
I went ahead and patched the wscript to remove the optimization flags since Fedora has its own.
New files: Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f... SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/f...
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Guido Aulisi guido.aulisi@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|nobody@fedoraproject.org |guido.aulisi@gmail.com Flags| |fedora-review+
--- Comment #15 from Guido Aulisi guido.aulisi@gmail.com --- Package is approved.
Please fix changelog version:
* Sun Mar 08 2020 Erich Eickmeyer erich@ericheickmeyer.com - 1.2.0-19.20200307gitbbe8386.fc33
Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
Issues: ======= - Package does not use a name that already exists. Note: A package with this name already exists. Please check https://src.fedoraproject.org/rpms/non-daw See: https://docs.fedoraproject.org/en-US/packaging- guidelines/Naming/#_conflicting_package_names
Not an issue, this is a review to unretire a package
===== MUST items =====
C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [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]: 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", "*No copyright* BSD 3-clause "New" or "Revised" License", "GPL (v2 or later)", "ISC License". 154 files have unknown license. Detailed output of licensecheck in /home/guido/tmp/1811485-non-daw/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]: %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. [-]: 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 614400 bytes in 18 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 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 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: [-]: 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). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in non- mixer , non-session-manager , non-sequencer [ ]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [ ]: 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]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [ ]: Package should compile and build into binary rpms on all supported architectures. [-]: %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]: 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 3584000 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). [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: non-daw-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-mixer-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-mixer-doc-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-session-manager-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-session-manager-doc-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-sequencer-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-sequencer-doc-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-daw-debuginfo-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-daw-debugsource-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm non-daw-1.2.0-19.20200307gitbbe8386.fc33.src.rpm non-daw.x86_64: W: incoherent-version-in-changelog 1.2.0-19.gitbbe83864 ['1.2.0-19.20200307gitbbe8386.fc33', '1.2.0-19.20200307gitbbe8386'] non-daw.x86_64: W: no-manual-page-for-binary import-ardour-session_gui non-daw.x86_64: W: no-manual-page-for-binary non-daw non-daw.x86_64: W: no-manual-page-for-binary non-timeline non-mixer.x86_64: W: no-documentation non-mixer.x86_64: W: no-manual-page-for-binary non-midi-mapper non-mixer.x86_64: W: no-manual-page-for-binary non-mixer non-mixer.x86_64: W: no-manual-page-for-binary non-mixer-noui non-session-manager.x86_64: W: no-documentation non-session-manager.x86_64: W: no-manual-page-for-binary jackpatch non-session-manager.x86_64: W: no-manual-page-for-binary non-session-manager non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy-gui non-session-manager.x86_64: W: no-manual-page-for-binary nsmd non-sequencer.x86_64: W: no-documentation non-sequencer.x86_64: W: no-manual-page-for-binary non-sequencer 10 packages and 0 specfiles checked; 0 errors, 16 warnings.
Rpmlint (debuginfo) ------------------- Checking: non-daw-debuginfo-1.2.0-19.20200307gitbbe8386.fc33.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Rpmlint (installed packages) ---------------------------- perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "C.UTF-8", LANG = "it_IT.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "C.UTF-8", LANG = "it_IT.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). non-daw-debugsource.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-session-manager.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-session-manager.x86_64: W: no-documentation non-session-manager.x86_64: W: no-manual-page-for-binary jackpatch non-session-manager.x86_64: W: no-manual-page-for-binary non-session-manager non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy non-session-manager.x86_64: W: no-manual-page-for-binary nsm-proxy-gui non-session-manager.x86_64: W: no-manual-page-for-binary nsmd non-daw-debuginfo.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-sequencer-doc.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-mixer-doc.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-session-manager-doc.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-sequencer.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-sequencer.x86_64: W: no-documentation non-sequencer.x86_64: W: no-manual-page-for-binary non-sequencer non-mixer.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-mixer.x86_64: W: no-documentation non-mixer.x86_64: W: no-manual-page-for-binary non-midi-mapper non-mixer.x86_64: W: no-manual-page-for-binary non-mixer non-mixer.x86_64: W: no-manual-page-for-binary non-mixer-noui non-daw.x86_64: W: incoherent-version-in-changelog 1.2.0-19.gitbbe83864 ['1.2.0-19.20200307gitbbe8386.fc33', '1.2.0-19.20200307gitbbe8386'] non-daw.x86_64: W: invalid-url URL: https://non.tuxfamily.org/ <urlopen error [Errno -2] Name or service not known> non-daw.x86_64: W: no-manual-page-for-binary import-ardour-session_gui non-daw.x86_64: W: no-manual-page-for-binary non-daw non-daw.x86_64: W: no-manual-page-for-binary non-timeline 9 packages and 0 specfiles checked; 0 errors, 25 warnings.
Source checksums ---------------- https://git.tuxfamily.org/non/non.git/snapshot/non-bbe8386499621c8e60eebb06d... : CHECKSUM(SHA256) this package : 4ea2d5abd810d00b4fb99b5f79383c09bd9e59f36f356c9371100fd06bc30f8a CHECKSUM(SHA256) upstream package : 4ea2d5abd810d00b4fb99b5f79383c09bd9e59f36f356c9371100fd06bc30f8a
Requires -------- non-daw (rpmlib, GLIBC filtered): hicolor-icon-theme jack-audio-connection-kit libc.so.6()(64bit) libcairo.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) libm.so.6()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libsndfile.so.1()(64bit) libsndfile.so.1(libsndfile.so.1.0)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) rtld(GNU_HASH)
non-mixer (rpmlib, GLIBC filtered): hicolor-icon-theme jack-audio-connection-kit libc.so.6()(64bit) libcairo.so.2()(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) liblrdf.so.2()(64bit) libm.so.6()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) rtld(GNU_HASH)
non-mixer-doc (rpmlib, GLIBC filtered):
non-session-manager (rpmlib, GLIBC filtered): hicolor-icon-theme jack-audio-connection-kit libc.so.6()(64bit) libcairo.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH)
non-session-manager-doc (rpmlib, GLIBC filtered):
non-sequencer (rpmlib, GLIBC filtered): hicolor-icon-theme jack-audio-connection-kit libX11.so.6()(64bit) libc.so.6()(64bit) libcairo.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjack.so.0()(64bit) liblo.so.7()(64bit) libm.so.6()(64bit) libntk.so.1()(64bit) libntk_images.so.1()(64bit) libpthread.so.0()(64bit) libsigc-2.0.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH)
non-sequencer-doc (rpmlib, GLIBC filtered):
non-daw-debuginfo (rpmlib, GLIBC filtered):
non-daw-debugsource (rpmlib, GLIBC filtered):
Provides -------- non-daw: application() application(non-timeline.desktop) non-daw non-daw(x86-64)
non-mixer: application() application(non-mixer.desktop) non-mixer non-mixer(x86-64)
non-mixer-doc: non-mixer-doc non-mixer-doc(x86-64)
non-session-manager: application() application(non-session-manager.desktop) non-session-manager non-session-manager(x86-64)
non-session-manager-doc: non-session-manager-doc non-session-manager-doc(x86-64)
non-sequencer: application() application(non-sequencer.desktop) non-sequencer non-sequencer(x86-64)
non-sequencer-doc: non-sequencer-doc non-sequencer-doc(x86-64)
non-daw-debuginfo: debuginfo(build-id) non-daw-debuginfo non-daw-debuginfo(x86-64)
non-daw-debugsource: non-daw-debugsource non-daw-debugsource(x86-64)
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #16 from Erich Eickmeyer erich@ericheickmeyer.com --- Changelog version is fixed. Thanks for everything Guido!
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |MODIFIED
--- Comment #17 from Fedora Update System updates@fedoraproject.org --- FEDORA-2020-a005abf478 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-a005abf478
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #18 from Fedora Update System updates@fedoraproject.org --- FEDORA-2020-12306c4ae6 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-12306c4ae6
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA
--- Comment #19 from Fedora Update System updates@fedoraproject.org --- FEDORA-2020-a005abf478 has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-a005abf478 *` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-a005abf478
See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #20 from Fedora Update System updates@fedoraproject.org --- FEDORA-2020-12306c4ae6 has been pushed to the Fedora 31 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-12306c4ae6 *` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-12306c4ae6
See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA Last Closed| |2020-04-04 00:45:16
--- Comment #21 from Fedora Update System updates@fedoraproject.org --- FEDORA-2020-a005abf478 has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.
https://bugzilla.redhat.com/show_bug.cgi?id=1811485
--- Comment #22 from Fedora Update System updates@fedoraproject.org --- FEDORA-2020-12306c4ae6 has been pushed to the Fedora 31 stable repository. If problem still persists, please make note of it in this bug report.
package-review@lists.fedoraproject.org