Bug 1827939 - Review Request: ardour6 - Digital Audio Workstation
Summary: Review Request: ardour6 - Digital Audio Workstation
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Guido Aulisi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-04-25 18:04 UTC by Nils Philippsen
Modified: 2020-08-14 15:58 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-08-14 15:58:43 UTC
Type: ---
Embargoed:
guido.aulisi: fedora-review+


Attachments (Terms of Use)

Description Nils Philippsen 2020-04-25 18:04:14 UTC
Spec URL: https://nphilipp.fedorapeople.org/review/ardour6/ardour6.spec
SRPM URL: https://nphilipp.fedorapeople.org/review/ardour6/ardour6-6.0-0.1.rc1.104.fc33.src.rpm
Description: Ardour is a multi-channel digital audio workstation, allowing users to record,
edit, mix and master audio and MIDI projects. It is targeted at audio
engineers, musicians, soundtrack editors and composers.
Fedora Account System Username: nphilipp

Comment 1 Guido Aulisi 2020-05-24 13:07:55 UTC
Some quick findings:

Fix path of Droid Sans Mono

> # ArdourMono.ttf is really Droid Sans Mono
> ln -snf ../fonts/google-droid/DroidSansMono.ttf %{buildroot}%{_datadir}/%{name}/ArdourMono.ttf

ln -snf ../fonts/google-droid-sans-mono-fonts/DroidSansMono.ttf %{buildroot}%{_datadir}/%{name}/ArdourMono.ttf

Ardour 6 is out now, the package should be updated.

Comment 2 Guido Aulisi 2020-05-24 15:28:02 UTC
This section is not correct imho, it seems that if checks are not enabled, then appdata is not validated:

> %if %{with tests}
> %check
> WAFTPATH="$PWD/doc/waft"
> pushd libs/ardour
> sh "$WAFTPATH" --targets=libardour-tests && LV2_PATH= ./run-tests.sh
> popd

> # check appdata file
> appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/%{name}.appdata.xml
> %endif

> rm -f %{buildroot}%{_bindir}/run-tests

I would change it to:

%check
%if %{with tests}
WAFTPATH="$PWD/doc/waft"
pushd libs/ardour
sh "$WAFTPATH" --targets=libardour-tests && LV2_PATH= ./run-tests.sh
popd
rm -f %{buildroot}%{_bindir}/run-tests
%endif

# check appdata file
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/%{name}.appdata.xml

Comment 3 Nils Philippsen 2020-05-26 12:48:48 UTC
(In reply to Guido Aulisi from comment #1)
> Some quick findings:
> 
> Fix path of Droid Sans Mono
> 
> > # ArdourMono.ttf is really Droid Sans Mono
> > ln -snf ../fonts/google-droid/DroidSansMono.ttf %{buildroot}%{_datadir}/%{name}/ArdourMono.ttf
> 
> ln -snf ../fonts/google-droid-sans-mono-fonts/DroidSansMono.ttf
> %{buildroot}%{_datadir}/%{name}/ArdourMono.ttf

Hm, for some reason this path changed between F-31 and F-32.

> Ardour 6 is out now, the package should be updated.

(In reply to Guido Aulisi from comment #2)
> This section is not correct imho, it seems that if checks are not enabled,
> then appdata is not validated: ...

Good catch! Done and done.

Comment 5 Guido Aulisi 2020-05-27 15:20:02 UTC
Some more findings:

1) License seems to be GPLv2+ and not GPLv3+

2) Restore default release tag, rpmdev-bumpspec isn't playing well with that complex release tag
> Release:    %{rel}%{dotprerel}%{?dist}
Release:    1%{?dist}

3) Add to the end of %install section
# Delete zero length file (problably needed to keep empty dir in GIT)
rm -f "%{buildroot}%{_datadir}/%{name}/templates/.stub"

# Delete wscript file (I will send a PR for this)
rm -f "%{buildroot}%{_datadir}/%{name}/plugin_metadata/wscript"

4) Consider separating patchfiles to a subpackage, they are about 23MB and I think almost useless for medium user.
%{_datadir}/%{name}/patchfiles/

5) Explain better why backend macro has to be %define

6) Do we need FPC exception for bundled libraries?

This is the output of fedora-review: there are some minor points that did not pass the checks, like this one:
  Package does not include license text files separate from upstream.

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

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


Issues:
=======
- Package does not contain duplicates in %files.
  Note: warning: File listed twice: /usr/lib/.build-
  id/73/1f90065311c407094863ffddc11d39fd40a298
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_duplicate_files


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[-]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[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", "GNU Lesser General Public License",
     "BSD 3-clause "New" or "Revised" License BSD 2-clause "Simplified"
     License GPL (v2)", "*No copyright* BSD 3-clause "New" or "Revised"
     License", "GPL (v2 or later)", "GNU Lesser General Public License
     (v2.1 or later)", "*No copyright* Do What The Fuck You Want To Public
     License, Version 2", "Public domain GPL (v2 or later)", "GPL (v2 or
     later) (with incorrect FSF address)", "*No copyright* GPL (v2 or
     later)", "*No copyright* GNU General Public License (v2)", "GNU
     General Public License (v2 or later)", "GNU General Public License",
     "Expat License", "GNU Lesser General Public License (v2 or later)",
     "*No copyright* GNU Lesser General Public License (v2 or later)", "GNU
     Lesser General Public License (v2.1)", "NTP License", "GNU General
     Public License (v2.0) GNU Lesser General Public License (v2.1)", "GPL
     (v3 or later)", "Do What The Fuck You Want To Public License, Version
     2", "zlib/libpng license", "*No copyright* GPL (v2 or later) (with
     incorrect FSF address)", "BSD 3-clause "New" or "Revised" License GNU
     General Public License GNU Lesser General Public License", "*No
     copyright* GNU Lesser General Public License (v2.1 or later)", "Boost
     Software License 1.0", "BSD 4-clause "Original" or "Old" License",
     "GPL (v2 or later) GNU Lesser General Public License", "NTP License
     Expat License", "BSD 3-clause "New" or "Revised" License", "GPL (v2)".
     1940 files have unknown license. Detailed output of licensecheck in
     /home/guido/tmp/1827939-ardour6/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[ ]: 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.
[ ]: 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]: 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]: %config files are marked noreplace or the reason is justified.
[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]: 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]: No %config files under /usr.
[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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files (only links to real 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.
[ ]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[!]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[ ]: 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.
[ ]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: # This macro creates a backend
     subpackage. Needs to be %%define, not %%global., %define
     backend_package() %package backend-%{lua:
     print(string.lower(rpm.expand("%1")))}Summary: %{1} backend for
     %{name}Requires: %{name}%{?_isa} =
     %{?epoch:%{epoch}:}%{version}-%{release}Provides:
     %{name}-backend%{?_isa} =
     %{?epoch:%{epoch}:}%{version}-%{release}%description backend-%{lua:
     print(string.lower(rpm.expand("%1")))}This package provides the %{1}
     backend for Ardour.%files backend-%{lua:
     print(string.lower(rpm.expand("%1")))}%{_libdir}/%{name}/backends/lib%{lua:
     print(string.lower(rpm.expand("%1")))}_*backend.so
[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]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: SourceX is a working URL.

===== 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 28323840 bytes in /usr/share
     ardour6-6.0.0-1.fc33.x86_64.rpm:28323840
     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: ardour6-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-alsa-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-jack-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-pulseaudio-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-dummy-6.0.0-1.fc33.x86_64.rpm
          ardour6-debuginfo-6.0.0-1.fc33.x86_64.rpm
          ardour6-debugsource-6.0.0-1.fc33.x86_64.rpm
          ardour6-6.0.0-1.fc33.src.rpm
ardour6.x86_64: W: spelling-error %description -l en_US Ardour -> Armour, Ar dour, Ar-dour
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/73/1f90065311c407094863ffddc11d39fd40a298 ../../../../usr/lib64/ardour6/backends/libjack_audiobackend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/76/577ec3ead78956e2bb72226c8c09c1ea0a4bd4 ../../../../usr/lib64/ardour6/backends/libpulseaudio_backend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/ed/248680f529fcccc91216f3bc5a5bac15b5a8ce ../../../../usr/lib64/ardour6/backends/libalsa_audiobackend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/f7/36fbf7484163aa458c3b572a5b185223d585b0 ../../../../usr/lib64/ardour6/backends/libdummy_audiobackend.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libardour.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libardouralsautil.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libaudiographer.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libcanvas.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libevoral.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libgtkmm2ext.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libmidipp.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libpbd.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libptformat.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libtemporal.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libwaveview.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libwidgets.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/vamp/libardourvampplugins.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/vamp/libardourvamppyin.so
ardour6.x86_64: W: dangling-relative-symlink /usr/share/ardour6/ArdourMono.ttf ../fonts/google-droid-sans-mono-fonts/DroidSansMono.ttf
ardour6.x86_64: W: dangling-relative-symlink /usr/share/ardour6/ArdourSans.ttf ../fonts/google-noto/NotoSans-Regular.ttf
ardour6.x86_64: E: non-executable-script /usr/share/ardour6/plugin_metadata/wscript 644 /usr/bin/python 
ardour6.x86_64: W: hidden-file-or-dir /usr/share/ardour6/templates/.stub
ardour6.x86_64: E: zero-length /usr/share/ardour6/templates/.stub
ardour6.x86_64: W: no-manual-page-for-binary ardour6-copy-mixer
ardour6.x86_64: W: no-manual-page-for-binary ardour6-export
ardour6.x86_64: W: no-manual-page-for-binary ardour6-fix_bbtppq
ardour6.x86_64: W: no-manual-page-for-binary ardour6-lua
ardour6.x86_64: W: no-manual-page-for-binary ardour6-new_empty_session
ardour6.x86_64: W: no-manual-page-for-binary ardour6-new_session
ardour6-backend-alsa.x86_64: W: no-documentation
ardour6-backend-jack.x86_64: W: no-documentation
ardour6-backend-pulseaudio.x86_64: W: no-documentation
ardour6-backend-dummy.x86_64: W: no-documentation
ardour6.src: W: spelling-error %description -l en_US Ardour -> Armour, Ar dour, Ar-dour
ardour6.src: W: invalid-url Source0: Ardour-6.0.0.tar.bz2
8 packages and 0 specfiles checked; 2 errors, 34 warnings.




Rpmlint (debuginfo)
-------------------
Checking: ardour6-debuginfo-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-pulseaudio-debuginfo-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-alsa-debuginfo-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-jack-debuginfo-6.0.0-1.fc33.x86_64.rpm
          ardour6-backend-dummy-debuginfo-6.0.0-1.fc33.x86_64.rpm
5 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-jack.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
ardour6-backend-jack.x86_64: W: no-documentation
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-dummy-debuginfo.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-debugsource.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-pulseaudio.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
ardour6-backend-pulseaudio.x86_64: W: no-documentation
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-debuginfo.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-jack-debuginfo.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-alsa-debuginfo.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6.x86_64: W: spelling-error %description -l en_US Ardour -> Armour, Ar dour, Ar-dour
ardour6.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/73/1f90065311c407094863ffddc11d39fd40a298 ../../../../usr/lib64/ardour6/backends/libjack_audiobackend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/76/577ec3ead78956e2bb72226c8c09c1ea0a4bd4 ../../../../usr/lib64/ardour6/backends/libpulseaudio_backend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/ed/248680f529fcccc91216f3bc5a5bac15b5a8ce ../../../../usr/lib64/ardour6/backends/libalsa_audiobackend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/f7/36fbf7484163aa458c3b572a5b185223d585b0 ../../../../usr/lib64/ardour6/backends/libdummy_audiobackend.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libardour.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libardouralsautil.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libaudiographer.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libcanvas.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libevoral.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libgtkmm2ext.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libmidipp.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libpbd.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libptformat.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libtemporal.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libwaveview.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libwidgets.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/vamp/libardourvampplugins.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/vamp/libardourvamppyin.so
ardour6.x86_64: W: dangling-relative-symlink /usr/share/ardour6/ArdourMono.ttf ../fonts/google-droid-sans-mono-fonts/DroidSansMono.ttf
ardour6.x86_64: W: dangling-relative-symlink /usr/share/ardour6/ArdourSans.ttf ../fonts/google-noto/NotoSans-Regular.ttf
ardour6.x86_64: E: non-executable-script /usr/share/ardour6/plugin_metadata/wscript 644 /usr/bin/python 
ardour6.x86_64: W: hidden-file-or-dir /usr/share/ardour6/templates/.stub
ardour6.x86_64: E: zero-length /usr/share/ardour6/templates/.stub
ardour6.x86_64: W: no-manual-page-for-binary ardour6-copy-mixer
ardour6.x86_64: W: no-manual-page-for-binary ardour6-export
ardour6.x86_64: W: no-manual-page-for-binary ardour6-fix_bbtppq
ardour6.x86_64: W: no-manual-page-for-binary ardour6-lua
ardour6.x86_64: W: no-manual-page-for-binary ardour6-new_empty_session
ardour6.x86_64: W: no-manual-page-for-binary ardour6-new_session
ardour6.x86_64: E: invalid-appdata-file /usr/share/appdata/ardour6.appdata.xml
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-dummy.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
ardour6-backend-dummy.x86_64: W: no-documentation
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-pulseaudio-debuginfo.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
ardour6-backend-alsa.x86_64: W: invalid-url URL: http://ardour.org <urlopen error [Errno -2] Name or service not known>
ardour6-backend-alsa.x86_64: W: no-documentation
11 packages and 0 specfiles checked; 3 errors, 43 warnings.



Unversioned so-files
--------------------
ardour6: /usr/lib64/ardour6/LV2/a-comp.lv2/a-comp.so
ardour6: /usr/lib64/ardour6/LV2/a-delay.lv2/a-delay.so
ardour6: /usr/lib64/ardour6/LV2/a-eq.lv2/a-eq.so
ardour6: /usr/lib64/ardour6/LV2/a-exp.lv2/a-exp.so
ardour6: /usr/lib64/ardour6/LV2/a-fluidsynth.lv2/a-fluidsynth.so
ardour6: /usr/lib64/ardour6/LV2/a-reverb.lv2/a-reverb.so
ardour6: /usr/lib64/ardour6/LV2/reasonablesynth.lv2/reasonablesynth.so
ardour6: /usr/lib64/ardour6/engines/libclearlooks.so
ardour6: /usr/lib64/ardour6/libardour.so
ardour6: /usr/lib64/ardour6/libardouralsautil.so
ardour6: /usr/lib64/ardour6/libardourcp.so
ardour6: /usr/lib64/ardour6/libaudiographer.so
ardour6: /usr/lib64/ardour6/libcanvas.so
ardour6: /usr/lib64/ardour6/libevoral.so
ardour6: /usr/lib64/ardour6/libgtkmm2ext.so
ardour6: /usr/lib64/ardour6/libmidipp.so
ardour6: /usr/lib64/ardour6/libpbd.so
ardour6: /usr/lib64/ardour6/libptformat.so
ardour6: /usr/lib64/ardour6/libtemporal.so
ardour6: /usr/lib64/ardour6/libwaveview.so
ardour6: /usr/lib64/ardour6/libwidgets.so
ardour6: /usr/lib64/ardour6/panners/libpan1in2out.so
ardour6: /usr/lib64/ardour6/panners/libpan2in2out.so
ardour6: /usr/lib64/ardour6/panners/libpanbalance.so
ardour6: /usr/lib64/ardour6/panners/libpanvbap.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_cc121.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_contourdesign.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport16.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport2.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport8.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_generic_midi.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_launch_control_xl.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_mcp.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_osc.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_push2.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_us2400.so
ardour6: /usr/lib64/ardour6/vamp/libardourvampplugins.so
ardour6: /usr/lib64/ardour6/vamp/libardourvamppyin.so
ardour6-backend-alsa: /usr/lib64/ardour6/backends/libalsa_audiobackend.so
ardour6-backend-jack: /usr/lib64/ardour6/backends/libjack_audiobackend.so
ardour6-backend-pulseaudio: /usr/lib64/ardour6/backends/libpulseaudio_backend.so
ardour6-backend-dummy: /usr/lib64/ardour6/backends/libdummy_audiobackend.so

Requires
--------
ardour6 (rpmlib, GLIBC filtered):
    /usr/bin/sh
    ardour6-backend(x86-64)
    config(ardour6)
    google-droid-sans-mono-fonts
    google-noto-sans-fonts
    libFLAC.so.8()(64bit)
    libX11.so.6()(64bit)
    libarchive.so.13()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libatk-1.0.so.0()(64bit)
    libatkmm-1.6.so.1()(64bit)
    libaubio.so.5()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libcairomm-1.0.so.1()(64bit)
    libcurl.so.4()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-1.so.3(LIBDBUS_1_3)(64bit)
    libdl.so.2()(64bit)
    libfftw3f.so.3()(64bit)
    libfftw3f_threads.so.3()(64bit)
    libfluidsynth.so.2()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.4)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgdkmm-2.4.so.1()(64bit)
    libgio-2.0.so.0()(64bit)
    libgiomm-2.4.so.1()(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libgtkmm-2.4.so.1()(64bit)
    libharfbuzz.so.0()(64bit)
    liblilv-0.so.0()(64bit)
    liblo.so.7()(64bit)
    liblrdf.so.2()(64bit)
    libltc.so.11()(64bit)
    libm.so.6()(64bit)
    libmvec.so.1()(64bit)
    libogg.so.0()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpangomm-1.4.so.1()(64bit)
    libpthread.so.0()(64bit)
    libreadline.so.8()(64bit)
    librubberband.so.2()(64bit)
    libsamplerate.so.0()(64bit)
    libsamplerate.so.0(libsamplerate.so.0.0)(64bit)
    libserd-0.so.0()(64bit)
    libsigc-2.0.so.0()(64bit)
    libsndfile.so.1()(64bit)
    libsndfile.so.1(libsndfile.so.1.0)(64bit)
    libsord-0.so.0()(64bit)
    libsratom-0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libsuil-0.so.0()(64bit)
    libtag.so.1()(64bit)
    libusb-1.0.so.0()(64bit)
    libvamp-hostsdk.so.3()(64bit)
    libvamp-sdk.so.2()(64bit)
    libxml2.so.2()(64bit)
    libxml2.so.2(LIBXML2_2.4.30)(64bit)
    libxml2.so.2(LIBXML2_2.6.0)(64bit)
    rtld(GNU_HASH)

ardour6-backend-alsa (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libm.so.6()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-backend-jack (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libasound.so.2()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libjack.so.0()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-backend-pulseaudio (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libpulse.so.0()(64bit)
    libpulse.so.0(PULSE_0)(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-backend-dummy (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libm.so.6()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-debuginfo (rpmlib, GLIBC filtered):

ardour6-debugsource (rpmlib, GLIBC filtered):



Provides
--------
ardour6:
    application()
    application(ardour6.desktop)
    ardour6
    ardour6(x86-64)
    bundled(LuaBridge)
    bundled(gtk-theme-engine-clearlooks)
    bundled(libsmf)
    bundled(lua)
    bundled(midi++)
    bundled(pbd)
    config(ardour6)
    metainfo()
    metainfo(ardour6.appdata.xml)
    mimehandler(application/x-ardour)

ardour6-backend-alsa:
    ardour6-backend(x86-64)
    ardour6-backend-alsa
    ardour6-backend-alsa(x86-64)
    libalsa_audiobackend.so()(64bit)

ardour6-backend-jack:
    ardour6-backend(x86-64)
    ardour6-backend-jack
    ardour6-backend-jack(x86-64)
    libjack_audiobackend.so()(64bit)

ardour6-backend-pulseaudio:
    ardour6-backend(x86-64)
    ardour6-backend-pulseaudio
    ardour6-backend-pulseaudio(x86-64)
    libpulseaudio_backend.so()(64bit)

ardour6-backend-dummy:
    ardour6-backend(x86-64)
    ardour6-backend-dummy
    ardour6-backend-dummy(x86-64)
    libdummy_audiobackend.so()(64bit)

ardour6-debuginfo:
    ardour6-debuginfo
    ardour6-debuginfo(x86-64)
    debuginfo(build-id)

ardour6-debugsource:
    ardour6-debugsource
    ardour6-debugsource(x86-64)

Comment 6 Nils Philippsen 2020-05-27 22:44:29 UTC
(In reply to Guido Aulisi from comment #5)
> Some more findings:
> 
> 1) License seems to be GPLv2+ and not GPLv3+

No, according to https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_field : "The License: field refers to the licenses of the contents of the binary rpm. ". See the top of LICENSING which is the result of my attempt to clear up the licensing situation a couple of years ago:

--- 8< ---
Ardour is licensed under the GNU General Public License, version 2 or later.
See the file COPYING for details.

Ardour uses some 3rd party code distributed under different licenses which are
reproduced below where that is necessary. The combined program is licensed
under the GNU General Public License, version 3 or later.
--- >8 ---

The GPLv3+ comes from the libs/zita-convolver, libs/zita-resampler and libs/backends/alsa/zita-* files, respectively. This is also why the RPM package includes the GPLv3 license text separately. 

> 2) Restore default release tag, rpmdev-bumpspec isn't playing well with that
> complex release tag
> > Release:    %{rel}%{dotprerel}%{?dist}
> Release:    1%{?dist}

Done.

> 3) Add to the end of %install section
> # Delete zero length file (problably needed to keep empty dir in GIT)
> rm -f "%{buildroot}%{_datadir}/%{name}/templates/.stub"
> 
> # Delete wscript file (I will send a PR for this)
> rm -f "%{buildroot}%{_datadir}/%{name}/plugin_metadata/wscript"

Done, I'll remove the "-f" option so we notice when the removal isn't necessary anymore.

> 4) Consider separating patchfiles to a subpackage, they are about 23MB and I
> think almost useless for medium user.
> %{_datadir}/%{name}/patchfiles/

I'd prefer to leave them in the main package. Splitting them off would only reduce the package size by a third, or the equivalent of about 130 seconds of uncompressed CD-quality audio. But if someone needs these files, it's hard to discover that they need to install an additional package (i.e. bad user experience).

> 5) Explain better why backend macro has to be %define

Done.

> 6) Do we need FPC exception for bundled libraries?

I don't think so, see https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling . Where we have (functional equivalent) library packages, ardour uses them. The bundled bits are either customized, a "copylib" (just included headers), or ardour-internal libraries. See the comments around lines 117~130 of the spec file.

> This is the output of fedora-review: there are some minor points that did
> not pass the checks, like this one:
>   Package does not include license text files separate from upstream.
> 
> Package Review
> ==============
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> [ ] = Manual review needed
> 
> 
> Issues:
> =======
> - Package does not contain duplicates in %files.
>   Note: warning: File listed twice: /usr/lib/.build-
>   id/73/1f90065311c407094863ffddc11d39fd40a298
>   See: https://docs.fedoraproject.org/en-US/packaging-
>   guidelines/#_duplicate_files

This is odd, it's a debuginfo file and I don't know what could be done to fix this in the spec file.

> ===== MUST items =====
...
> [!]: License field in the package spec file matches the actual license.

See above, it does. ;)

...
> ===== SHOULD items =====
...
> [!]: Package does not include license text files separate from upstream.

Same here.

...
> Generic:
> [!]: Large data in /usr/share should live in a noarch subpackage if package
>      is arched.
>      Note: Arch-ed rpms have a total of 28323840 bytes in /usr/share
>      ardour6-6.0.0-1.fc33.x86_64.rpm:28323840
>      See:
>     
> https://fedoraproject.org/wiki/Packaging:
> ReviewGuidelines#Package_Review_Guidelines

See above. I'm also confused about these "extra" items, they don't seem to be covered in the guidelines at all.

Comment 8 Guido Aulisi 2020-05-28 09:07:39 UTC
> # Delete zero length file (probably needed to keep empty dir in GIT)
> rm %{buildroot}%{_datadir}/%{name}/templates/.stub

> # Delete wscript file (merged upstream https://github.com/Ardour/ardour/pull/516)
> rm "%{buildroot}%{_datadir}/%{name}/plugin_metadata/wscript"

These have to be moved before %find_lang, rpm looks for them:

RPM build errors:
    File not found: /builddir/build/BUILDROOT/ardour6-6.0.0-2.fc33.x86_64/usr/share/ardour6/templates/.stub
    File not found: /builddir/build/BUILDROOT/ardour6-6.0.0-2.fc33.x86_64/usr/share/ardour6/plugin_metadata/wscript

Sorry, that was my mistake.
Pull request for wscript has been merged

Package seems good to me now, I will post the last review log asap and approve it when you fix the above error.

If you want to build for f32 too, we should upgrade fluidsynth2 on f32 and rebuild the dependant packages. ardour5 has already been patched for f33, it could be patched on f32 too.

Comment 9 Nils Philippsen 2020-05-31 20:44:23 UTC
(In reply to Guido Aulisi from comment #8)
> > # Delete zero length file (probably needed to keep empty dir in GIT)
> > rm %{buildroot}%{_datadir}/%{name}/templates/.stub
> 
> > # Delete wscript file (merged upstream https://github.com/Ardour/ardour/pull/516)
> > rm "%{buildroot}%{_datadir}/%{name}/plugin_metadata/wscript"
> 
> These have to be moved before %find_lang, rpm looks for them:
> 
> RPM build errors:
>     File not found:
> /builddir/build/BUILDROOT/ardour6-6.0.0-2.fc33.x86_64/usr/share/ardour6/
> templates/.stub
>     File not found:
> /builddir/build/BUILDROOT/ardour6-6.0.0-2.fc33.x86_64/usr/share/ardour6/
> plugin_metadata/wscript
> 
> Sorry, that was my mistake.

Let's share responsibility for this, I could have attempted to build the package myself. ;)

With your suggested change it builds fine.

> Pull request for wscript has been merged
> 
> Package seems good to me now, I will post the last review log asap and
> approve it when you fix the above error.
> 
> If you want to build for f32 too, we should upgrade fluidsynth2 on f32 and
> rebuild the dependant packages. ardour5 has already been patched for f33, it
> could be patched on f32 too.

Oh, not quite today. The number of dependants is a bit daunting and it would need much closer coordination in a stable release than what was needed in Rawhide.

Comment 11 Guido Aulisi 2020-06-01 09:31:06 UTC
Package Review
==============

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


Issues:
=======
- Package does not contain duplicates in %files.
  Note: warning: File listed twice: /usr/lib/.build-
  id/04/b99d598fbc7a93ff5bc9de98b83b946fd82846
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_duplicate_files


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[-]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[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", "GNU Lesser General Public License",
     "BSD 3-clause "New" or "Revised" License BSD 2-clause "Simplified"
     License GPL (v2)", "*No copyright* BSD 3-clause "New" or "Revised"
     License", "GPL (v2 or later)", "GNU Lesser General Public License
     (v2.1 or later)", "*No copyright* Do What The Fuck You Want To Public
     License, Version 2", "Public domain GPL (v2 or later)", "GPL (v2 or
     later) (with incorrect FSF address)", "*No copyright* GPL (v2 or
     later)", "*No copyright* GNU General Public License (v2)", "GNU
     General Public License (v2 or later)", "GNU General Public License",
     "Expat License", "GNU Lesser General Public License (v2 or later)",
     "*No copyright* GNU Lesser General Public License (v2 or later)", "GNU
     Lesser General Public License (v2.1)", "NTP License", "GNU General
     Public License (v2.0) GNU Lesser General Public License (v2.1)", "GPL
     (v3 or later)", "Do What The Fuck You Want To Public License, Version
     2", "zlib/libpng license", "*No copyright* GPL (v2 or later) (with
     incorrect FSF address)", "BSD 3-clause "New" or "Revised" License GNU
     General Public License GNU Lesser General Public License", "*No
     copyright* GNU Lesser General Public License (v2.1 or later)", "Boost
     Software License 1.0", "BSD 4-clause "Original" or "Old" License",
     "GPL (v2 or later) GNU Lesser General Public License", "NTP License
     Expat License", "BSD 3-clause "New" or "Revised" License", "GPL (v2)".
     1940 files have unknown license. Detailed output of licensecheck in
     /home/guido/tmp/1827939-ardour6/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[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]: 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]: %config files are marked noreplace or the reason is justified.
[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]: 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]: No %config files under /usr.
[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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files (only links to real 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]: Package functions as described.
[x]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: 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]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: # This macro creates a backend
     subpackage. Needs to be %%define, not %%global so that it's not,
     %define backend_package() %package backend-%{lua:
     print(string.lower(rpm.expand("%1")))}Summary: %{1} backend for
     %{name}Requires: %{name}%{?_isa} =
     %{?epoch:%{epoch}:}%{version}-%{release}Provides:
     %{name}-backend%{?_isa} =
     %{?epoch:%{epoch}:}%{version}-%{release}%description backend-%{lua:
     print(string.lower(rpm.expand("%1")))}This package provides the %{1}
     backend for Ardour.%files backend-%{lua:
     print(string.lower(rpm.expand("%1")))}%{_libdir}/%{name}/backends/lib%{lua:
     print(string.lower(rpm.expand("%1")))}_*backend.so
[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]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: SourceX is a working URL.

===== 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 28313600 bytes in /usr/share
     ardour6-6.0.0-3.fc33.x86_64.rpm:28313600
     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: ardour6-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-alsa-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-jack-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-pulseaudio-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-dummy-6.0.0-3.fc33.x86_64.rpm
          ardour6-debuginfo-6.0.0-3.fc33.x86_64.rpm
          ardour6-debugsource-6.0.0-3.fc33.x86_64.rpm
          ardour6-6.0.0-3.fc33.src.rpm
ardour6.x86_64: W: spelling-error %description -l en_US Ardour -> Armour, Ar dour, Ar-dour
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/04/b99d598fbc7a93ff5bc9de98b83b946fd82846 ../../../../usr/lib64/ardour6/backends/libdummy_audiobackend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/26/7caf32e31a68d0fa1592c3bf6a27c507fbda88 ../../../../usr/lib64/ardour6/backends/libpulseaudio_backend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/47/5e657bab46e416322a3532a2c732bd584f5c1e ../../../../usr/lib64/ardour6/backends/libalsa_audiobackend.so
ardour6.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/69/2a4ab091aadfc6fcb1c593cbb850579e34aac7 ../../../../usr/lib64/ardour6/backends/libjack_audiobackend.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libardour.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libardouralsautil.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libaudiographer.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libcanvas.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libevoral.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libgtkmm2ext.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libmidipp.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libpbd.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libptformat.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libtemporal.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libwaveview.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/libwidgets.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/vamp/libardourvampplugins.so
ardour6.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ardour6/vamp/libardourvamppyin.so
ardour6.x86_64: W: dangling-relative-symlink /usr/share/ardour6/ArdourMono.ttf ../fonts/google-droid-sans-mono-fonts/DroidSansMono.ttf
ardour6.x86_64: W: dangling-relative-symlink /usr/share/ardour6/ArdourSans.ttf ../fonts/google-noto/NotoSans-Regular.ttf
ardour6.x86_64: W: no-manual-page-for-binary ardour6-copy-mixer
ardour6.x86_64: W: no-manual-page-for-binary ardour6-export
ardour6.x86_64: W: no-manual-page-for-binary ardour6-fix_bbtppq
ardour6.x86_64: W: no-manual-page-for-binary ardour6-lua
ardour6.x86_64: W: no-manual-page-for-binary ardour6-new_empty_session
ardour6.x86_64: W: no-manual-page-for-binary ardour6-new_session
ardour6-backend-alsa.x86_64: W: no-documentation
ardour6-backend-jack.x86_64: W: no-documentation
ardour6-backend-pulseaudio.x86_64: W: no-documentation
ardour6-backend-dummy.x86_64: W: no-documentation
ardour6.src: W: spelling-error %description -l en_US Ardour -> Armour, Ar dour, Ar-dour
ardour6.src: W: invalid-url Source0: Ardour-6.0.0.tar.bz2
8 packages and 0 specfiles checked; 0 errors, 33 warnings.




Rpmlint (debuginfo)
-------------------
Checking: ardour6-backend-jack-debuginfo-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-alsa-debuginfo-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-dummy-debuginfo-6.0.0-3.fc33.x86_64.rpm
          ardour6-backend-pulseaudio-debuginfo-6.0.0-3.fc33.x86_64.rpm
          ardour6-debuginfo-6.0.0-3.fc33.x86_64.rpm
5 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Unversioned so-files
--------------------
ardour6: /usr/lib64/ardour6/LV2/a-comp.lv2/a-comp.so
ardour6: /usr/lib64/ardour6/LV2/a-delay.lv2/a-delay.so
ardour6: /usr/lib64/ardour6/LV2/a-eq.lv2/a-eq.so
ardour6: /usr/lib64/ardour6/LV2/a-exp.lv2/a-exp.so
ardour6: /usr/lib64/ardour6/LV2/a-fluidsynth.lv2/a-fluidsynth.so
ardour6: /usr/lib64/ardour6/LV2/a-reverb.lv2/a-reverb.so
ardour6: /usr/lib64/ardour6/LV2/reasonablesynth.lv2/reasonablesynth.so
ardour6: /usr/lib64/ardour6/engines/libclearlooks.so
ardour6: /usr/lib64/ardour6/libardour.so
ardour6: /usr/lib64/ardour6/libardouralsautil.so
ardour6: /usr/lib64/ardour6/libardourcp.so
ardour6: /usr/lib64/ardour6/libaudiographer.so
ardour6: /usr/lib64/ardour6/libcanvas.so
ardour6: /usr/lib64/ardour6/libevoral.so
ardour6: /usr/lib64/ardour6/libgtkmm2ext.so
ardour6: /usr/lib64/ardour6/libmidipp.so
ardour6: /usr/lib64/ardour6/libpbd.so
ardour6: /usr/lib64/ardour6/libptformat.so
ardour6: /usr/lib64/ardour6/libtemporal.so
ardour6: /usr/lib64/ardour6/libwaveview.so
ardour6: /usr/lib64/ardour6/libwidgets.so
ardour6: /usr/lib64/ardour6/panners/libpan1in2out.so
ardour6: /usr/lib64/ardour6/panners/libpan2in2out.so
ardour6: /usr/lib64/ardour6/panners/libpanbalance.so
ardour6: /usr/lib64/ardour6/panners/libpanvbap.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_cc121.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_contourdesign.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport16.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport2.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_faderport8.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_generic_midi.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_launch_control_xl.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_mcp.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_osc.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_push2.so
ardour6: /usr/lib64/ardour6/surfaces/libardour_us2400.so
ardour6: /usr/lib64/ardour6/vamp/libardourvampplugins.so
ardour6: /usr/lib64/ardour6/vamp/libardourvamppyin.so
ardour6-backend-alsa: /usr/lib64/ardour6/backends/libalsa_audiobackend.so
ardour6-backend-jack: /usr/lib64/ardour6/backends/libjack_audiobackend.so
ardour6-backend-pulseaudio: /usr/lib64/ardour6/backends/libpulseaudio_backend.so
ardour6-backend-dummy: /usr/lib64/ardour6/backends/libdummy_audiobackend.so

Requires
--------
ardour6 (rpmlib, GLIBC filtered):
    /usr/bin/sh
    ardour6-backend(x86-64)
    config(ardour6)
    google-droid-sans-mono-fonts
    google-noto-sans-fonts
    libFLAC.so.8()(64bit)
    libX11.so.6()(64bit)
    libarchive.so.13()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libatk-1.0.so.0()(64bit)
    libatkmm-1.6.so.1()(64bit)
    libaubio.so.5()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libcairomm-1.0.so.1()(64bit)
    libcurl.so.4()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-1.so.3(LIBDBUS_1_3)(64bit)
    libdl.so.2()(64bit)
    libfftw3f.so.3()(64bit)
    libfftw3f_threads.so.3()(64bit)
    libfluidsynth.so.2()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.4)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgdkmm-2.4.so.1()(64bit)
    libgio-2.0.so.0()(64bit)
    libgiomm-2.4.so.1()(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libgtkmm-2.4.so.1()(64bit)
    libharfbuzz.so.0()(64bit)
    liblilv-0.so.0()(64bit)
    liblo.so.7()(64bit)
    liblrdf.so.2()(64bit)
    libltc.so.11()(64bit)
    libm.so.6()(64bit)
    libmvec.so.1()(64bit)
    libogg.so.0()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpangomm-1.4.so.1()(64bit)
    libpthread.so.0()(64bit)
    libreadline.so.8()(64bit)
    librubberband.so.2()(64bit)
    libsamplerate.so.0()(64bit)
    libsamplerate.so.0(libsamplerate.so.0.0)(64bit)
    libserd-0.so.0()(64bit)
    libsigc-2.0.so.0()(64bit)
    libsndfile.so.1()(64bit)
    libsndfile.so.1(libsndfile.so.1.0)(64bit)
    libsord-0.so.0()(64bit)
    libsratom-0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libsuil-0.so.0()(64bit)
    libtag.so.1()(64bit)
    libusb-1.0.so.0()(64bit)
    libvamp-hostsdk.so.3()(64bit)
    libvamp-sdk.so.2()(64bit)
    libxml2.so.2()(64bit)
    libxml2.so.2(LIBXML2_2.4.30)(64bit)
    libxml2.so.2(LIBXML2_2.6.0)(64bit)
    rtld(GNU_HASH)

ardour6-backend-alsa (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libm.so.6()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-backend-jack (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libasound.so.2()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libjack.so.0()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-backend-pulseaudio (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libpulse.so.0()(64bit)
    libpulse.so.0(PULSE_0)(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-backend-dummy (rpmlib, GLIBC filtered):
    ardour6(x86-64)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libm.so.6()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libxml2.so.2()(64bit)
    rtld(GNU_HASH)

ardour6-debuginfo (rpmlib, GLIBC filtered):

ardour6-debugsource (rpmlib, GLIBC filtered):



Provides
--------
ardour6:
    application()
    application(ardour6.desktop)
    ardour6
    ardour6(x86-64)
    bundled(LuaBridge)
    bundled(gtk-theme-engine-clearlooks)
    bundled(libsmf)
    bundled(lua)
    bundled(midi++)
    bundled(pbd)
    config(ardour6)
    metainfo()
    metainfo(ardour6.appdata.xml)
    mimehandler(application/x-ardour)

ardour6-backend-alsa:
    ardour6-backend(x86-64)
    ardour6-backend-alsa
    ardour6-backend-alsa(x86-64)
    libalsa_audiobackend.so()(64bit)

ardour6-backend-jack:
    ardour6-backend(x86-64)
    ardour6-backend-jack
    ardour6-backend-jack(x86-64)
    libjack_audiobackend.so()(64bit)

ardour6-backend-pulseaudio:
    ardour6-backend(x86-64)
    ardour6-backend-pulseaudio
    ardour6-backend-pulseaudio(x86-64)
    libpulseaudio_backend.so()(64bit)

ardour6-backend-dummy:
    ardour6-backend(x86-64)
    ardour6-backend-dummy
    ardour6-backend-dummy(x86-64)
    libdummy_audiobackend.so()(64bit)

ardour6-debuginfo:
    ardour6-debuginfo
    ardour6-debuginfo(x86-64)
    debuginfo(build-id)

ardour6-debugsource:
    ardour6-debugsource
    ardour6-debugsource(x86-64)


Package is approved

Comment 12 Nils Philippsen 2020-06-02 08:29:41 UTC
Thanks for the review!

Comment 13 Gwyn Ciesla 2020-06-02 12:02:01 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/ardour6


Note You need to log in before you can comment on or make changes to this bug.