Spec URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/1/jack-example-tools.spec SRPM URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/1/jack-example-tools-4-1.fc40.src.rpm Description: The official examples and tools from the JACK project. Fedora Account System Username: nphilipp
Copr build: https://copr.fedorainfracloud.org/coprs/build/6627433 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2249418-jack-example-tools/fedora-rawhide-x86_64/06627433-jack-example-tools/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/2/jack-example-tools.spec SRPM URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/2/jack-example-tools-4-1.fc40.src.rpm This puts different things in different subpackages: tools vs. examples on one level and things that work in any JACK environment (“official” JACK or the API provided by pipewire) vs. those that plug into the “official” jackd server from the jack-audio-connection-kit package.
Some review warnings: jack-example-tools.aarch64: W: binary-or-shlib-calls-gethostbyname /usr/bin/jack_netsource jack-example-tools.src: W: strange-permission jack-example-tools.spec 600
Created attachment 1999147 [details] The .spec file difference from Copr build 6627433 to 6630298
Copr build: https://copr.fedorainfracloud.org/coprs/build/6630298 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2249418-jack-example-tools/fedora-rawhide-x86_64/06630298-jack-example-tools/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/3/jack-example-tools.spec SRPM URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/3/jack-example-tools-4-1.fc40.src.rpm (In reply to Benson Muite from comment #3) > Some review warnings: > jack-example-tools.aarch64: W: binary-or-shlib-calls-gethostbyname > /usr/bin/jack_netsource The above replaces the use of gethostbyname() with getaddrinfo(), I’ve submitted a patch upstream here: https://github.com/jackaudio/jack-example-tools/pull/82 > jack-example-tools.src: W: strange-permission jack-example-tools.spec 600 Hmm, this is the SRPM as produced by `fedpkg mockbuild`.
Created attachment 1999195 [details] The .spec file difference from Copr build 6630298 to 6631033
Copr build: https://copr.fedorainfracloud.org/coprs/build/6631033 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2249418-jack-example-tools/fedora-rawhide-x86_64/06631033-jack-example-tools/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
(In reply to Nils Philippsen from comment #6) > (In reply to Benson Muite from comment #3) > > jack-example-tools.src: W: strange-permission jack-example-tools.spec 600 > > Hmm, this is the SRPM as produced by `fedpkg mockbuild`. Ahh this is because of a bug in rpmautospec which preprocessed the original spec file (the directly linked one). I’ve fixed the bug in the rpmautospec repo, but haven’t gotten around to doing a release yet (plan to do it soon).
Spec URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/5/jack-example-tools.spec SRPM URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/5/jack-example-tools-4-1.fc40.src.rpm This one has the permissions of the spec file in the SRPM fixed. Additionally, I’ve moved common documentation and license files into the (noarch) jack-example-tools-common subpackage.
Created attachment 1999680 [details] The .spec file difference from Copr build 6631033 to 6645509
Copr build: https://copr.fedorainfracloud.org/coprs/build/6645509 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2249418-jack-example-tools/fedora-rawhide-x86_64/06645509-jack-example-tools/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Hi Benson, is there anything missing from my end for the review to continue?
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [x]: 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]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: 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* GNU General Public License, Version 2 and/or GNU General Public License, Version 3", "GNU General Public License, Version 2", "*No copyright* GNU General Public License, Version 2", "GNU General Public License v2.0 or later [obsolete FSF postal address (Mass Ave)]", "GNU Lesser General Public License v2.1 or later", "*No copyright* GNU General Public License v2.0 or later [obsolete FSF postal address (Mass Ave)]", "GNU General Public License v3.0 or later". 49 files have unknown license. Detailed output of licensecheck in /home/fedora/2249418-jack-example- tools/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [ ]: %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. [-]: Package contains desktop file if it is a GUI application. [x]: 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. [ ]: 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]: 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]: The License field must be a valid SPDX expression. [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]: 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 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 4579 bytes in 2 files. [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 jack- example-tools-common , jack-examples-server [ ]: 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. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_use_rpmlint [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Installation errors ------------------- INFO: mock.py version 5.2 starting (python version = 3.12.0, NVR = mock-5.2-1.fc39), args: /usr/libexec/mock/mock -r fedora-rawhide-aarch64 --no-cleanup-after --no-clean --resultdir=/home/fedora/2249418-jack-example-tools/results install /home/fedora/2249418-jack-example-tools/results/jack-examples-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-example-tools-debugsource-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-examples-server-debuginfo-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-tools-debuginfo-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-tools-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-tools-server-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-example-tools-common-4-1.fc40.noarch.rpm /home/fedora/2249418-jack-example-tools/results/jack-examples-debuginfo-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-tools-server-debuginfo-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-examples-server-4-1.fc40.aarch64.rpm /home/fedora/2249418-jack-example-tools/results/jack-example-tools-debuginfo-4-1.fc40.aarch64.rpm Start(bootstrap): init plugins INFO: selinux enabled Finish(bootstrap): init plugins Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Mock Version: 5.2 INFO: Mock Version: 5.2 Start(bootstrap): chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Package manager dnf detected and used (fallback) Finish(bootstrap): chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf detected and used (direct choice) Finish: chroot init INFO: installing package(s): /builddir/jack-examples-4-1.fc40.aarch64.rpm /builddir/jack-example-tools-debugsource-4-1.fc40.aarch64.rpm /builddir/jack-examples-server-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-tools-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-tools-4-1.fc40.aarch64.rpm /builddir/jack-tools-server-4-1.fc40.aarch64.rpm /builddir/jack-example-tools-common-4-1.fc40.noarch.rpm /builddir/jack-examples-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-tools-server-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-examples-server-4-1.fc40.aarch64.rpm /builddir/jack-example-tools-debuginfo-4-1.fc40.aarch64.rpm ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 29a70cdb19244bf18e266baa6a9de607 -D /var/lib/mock/fedora-rawhide-aarch64-bootstrap/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.yul8vblh:/etc/resolv.conf --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/fedora-rawhide-aarch64/root/installation-homedir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 --resolv-conf=off /usr/bin/dnf-3 --installroot /var/lib/mock/fedora-rawhide-aarch64/root/ --releasever 40 --setopt=deltarpm=False --setopt=allow_vendor_change=yes --allowerasing --disableplugin=local --disableplugin=spacewalk --disableplugin=versionlock install /builddir/jack-examples-4-1.fc40.aarch64.rpm /builddir/jack-example-tools-debugsource-4-1.fc40.aarch64.rpm /builddir/jack-examples-server-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-tools-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-tools-4-1.fc40.aarch64.rpm /builddir/jack-tools-server-4-1.fc40.aarch64.rpm /builddir/jack-example-tools-common-4-1.fc40.noarch.rpm /builddir/jack-examples-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-tools-server-debuginfo-4-1.fc40.aarch64.rpm /builddir/jack-examples-server-4-1.fc40.aarch64.rpm /builddir/jack-example-tools-debuginfo-4-1.fc40.aarch64.rpm --setopt=tsflags=nocontexts Rpmlint ------- Checking: jack-example-tools-common-4-1.fc40.noarch.rpm jack-examples-server-4-1.fc40.aarch64.rpm jack-example-tools-debuginfo-4-1.fc40.aarch64.rpm jack-example-tools-debugsource-4-1.fc40.aarch64.rpm jack-example-tools-4-1.fc40.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmprcuzbsa5')] checks: 31, packages: 5 jack-examples-server.aarch64: W: no-manual-page-for-binary jack_server_control jack-examples-server.aarch64: W: no-documentation 5 packages and 0 specfiles checked; 0 errors, 2 warnings, 0 badness; has taken 0.7 s Unversioned so-files -------------------- jack-examples-server: /usr/lib64/jack/jack_inprocess.so jack-examples-server: /usr/lib64/jack/jack_internal_metro.so jack-examples-server: /usr/lib64/jack/jack_intime.so Source checksums ---------------- https://github.com/jackaudio/jack-example-tools/archive/refs/tags/4.tar.gz : CHECKSUM(SHA256) this package : 2b1e0dc3cb3b5bfb0423f0aeb21eb611437cf71ee0ace2ca199f05f02705f174 CHECKSUM(SHA256) upstream package : 2b1e0dc3cb3b5bfb0423f0aeb21eb611437cf71ee0ace2ca199f05f02705f174 Requires -------- jack-example-tools-common (rpmlib, GLIBC filtered): jack-examples-server (rpmlib, GLIBC filtered): jack-audio-connection-kit(aarch-64) jack-example-tools-common(aarch-64) ld-linux-aarch64.so.1()(64bit) libc.so.6()(64bit) libjack.so.0()(64bit) libjackserver.so.0()(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH) jack-example-tools-debuginfo (rpmlib, GLIBC filtered): jack-example-tools-debugsource (rpmlib, GLIBC filtered): Provides -------- jack-example-tools-common: jack-example-tools-common jack-examples-server: jack-examples-server jack-examples-server(aarch-64) jack-example-tools-debuginfo: jack-example-tools-debuginfo jack-example-tools-debuginfo(aarch-64) jack-example-tools-debugsource: jack-example-tools-debugsource jack-example-tools-debugsource(aarch-64) Diff spec file in url and in SRPM --------------------------------- --- /home/fedora/2249418-jack-example-tools/srpm/jack-example-tools.spec 2023-11-23 13:19:43.933167639 +0000 +++ /home/fedora/2249418-jack-example-tools/srpm-unpacked/jack-example-tools.spec 2023-11-15 00:00:00.000000000 +0000 @@ -1,2 +1,12 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.8) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %global jack_tools \ alsa_in \ @@ -170,3 +180,6 @@ %changelog -%autochangelog +## START: Generated by rpmautospec +* Wed Nov 15 2023 Nils Philippsen <nils> - 4-1 +- Initial import +## END: Generated by rpmautospec Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2249418 Buildroot used: fedora-rawhide-aarch64 Active plugins: Generic, C/C++, Shell-api Disabled plugins: SugarActivity, fonts, Haskell, R, Java, Python, PHP, Perl, Ocaml Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) Sorry for the delay. b) In the spec file, please replace: Source0: https://github.com/jackaudio/%{name}/archive/refs/tags/%{version}.tar.gz by Source0: https://github.com/jackaudio/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz See https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_commit_revision c) The package does not seem to have any tests, so can remove %meson_test d) LGPL license may also be needed: GNU Lesser General Public License v2.1 or later ----------------------------------------------- jack-example-tools-4/example-clients/internal_metro.h jack-example-tools-4/example-clients/midi_latency_test.c e) Please report old FSF address to upstream: No copyright* GNU General Public License v2.0 or later [obsolete FSF postal address (Mass Ave)] ------------------------------------------------------------------------------------------------ jack-example-tools-4/example-clients/showtime.c jack-example-tools-4/tools/ipload.c jack-example-tools-4/tools/ipunload.c jack-example-tools-4/tools/lsp.c jack-example-tools-4/tools/monitor_client.c GNU General Public License v2.0 or later [obsolete FSF postal address (Mass Ave)] --------------------------------------------------------------------------------- jack-example-tools-4/common/memops.c jack-example-tools-4/common/memops.h jack-example-tools-4/common/netjack_packet.c jack-example-tools-4/common/netjack_packet.h jack-example-tools-4/example-clients/capture_client.c jack-example-tools-4/example-clients/impulse_grabber.c jack-example-tools-4/example-clients/internal_metro.cpp jack-example-tools-4/example-clients/intime.c jack-example-tools-4/example-clients/metro.c jack-example-tools-4/example-clients/midiseq.c jack-example-tools-4/example-clients/midisine.c jack-example-tools-4/example-clients/netmaster.c jack-example-tools-4/example-clients/netslave.c jack-example-tools-4/example-clients/server_control.c jack-example-tools-4/example-clients/simdtests.cpp jack-example-tools-4/example-clients/zombie.c jack-example-tools-4/tools/bufsize.c jack-example-tools-4/tools/connect.c jack-example-tools-4/tools/evmon.c jack-example-tools-4/tools/freewheel.c jack-example-tools-4/tools/iodelay.cpp jack-example-tools-4/tools/netsource.c jack-example-tools-4/tools/samplerate.c jack-example-tools-4/tools/session_notify.c jack-example-tools-4/tools/transport.c f) In the spec file, please replace Requires: %{name}-common%{?_isa} = %{version}-%{release} by Requires: %{name}-common = %{version}-%{release} This should enable installation as the package is a noarch package g) Some warnings from getaddrinfo patch in the build log: ../tools/netsource.c: In function ‘process’: ../tools/netsource.c:314:83: warning: passing argument 5 of ‘netjack_sendto’ from incompatible pointer type [-Wincompatible-pointer-type s] 314 | netjack_sendto (outsockfd, (char *) packet_buf_tx, tx_bufsize, 0, &destaddr, sizeof (destaddr), mtu); | ^~~~~~~~~ | | | struct addrinfo ** In file included from ../tools/netsource.c:52: ../common/netjack_packet.h:129:97: note: expected ‘struct sockaddr *’ but argument is of type ‘struct addrinfo **’ 129 | void netjack_sendto(int sockfd, char *packet_buf, int pkt_size, int flags, struct sockaddr *addr, int addr_size, int mtu); | ~~~~~~~~~~~~~~~~~^~~~ ../tools/netsource.c:447:83: warning: passing argument 5 of ‘netjack_sendto’ from incompatible pointer type [-Wincompatible-pointer-type s] 447 | netjack_sendto (outsockfd, (char *) packet_buf_tx, tx_bufsize, 0, &destaddr, sizeof (destaddr), mtu); | ^~~~~~~~~ | | | struct addrinfo ** ../common/netjack_packet.h:129:97: note: expected ‘struct sockaddr *’ but argument is of type ‘struct addrinfo **’ 129 | void netjack_sendto(int sockfd, char *packet_buf, int pkt_size, int flags, struct sockaddr *addr, int addr_size, int mtu); | ~~~~~~~~~~~~~~~~~^~~~ ../tools/netsource.c: In function ‘main’: ../tools/netsource.c:628:31: warning: passing argument 2 of ‘getaddrinfo’ makes pointer from integer without a cast [-Wint-conversion] 628 | e = getaddrinfo (peer_ip, peer_port, &hints, &destaddr); | ^~~~~~~~~ | | | int In file included from ../tools/netsource.c:43: /usr/include/netdb.h:661:48: note: expected ‘const char * restrict’ but argument is of type ‘int’ 661 | const char *__restrict __service, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ ../tools/netsource.c:631:50: warning: format ‘%s’ expects argument of type ‘char *’, but argument 4 has type ‘int’ [-Wformat=] 631 | fprintf (stderr, "getaddrinfo(\"%s\", \"%s\", ...) failed: %s\n", peer_ip, peer_port, gai_strerror (e)); | ~^ ~~~~~~~~~ | | | | char * int | %d ../tools/netsource.c:636:32: warning: passing argument 2 of ‘getaddrinfo’ makes pointer from integer without a cast [-Wint-conversion] 636 | e = getaddrinfo (NULL, bind_port, &hints, &bindaddr); | ^~~~~~~~~ | | | int /usr/include/netdb.h:661:48: note: expected ‘const char * restrict’ but argument is of type ‘int’ 661 | const char *__restrict __service, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ ../tools/netsource.c:639:52: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘int’ [-Wformat=] 639 | fprintf (stderr, "getaddrinfo(NULL, \"%s\", ...) failed: %s\n", peer_port, gai_strerror (e)); | ~^ ~~~~~~~~~ | | | | char * int | %d ../tools/netsource.c:669:32: warning: passing argument 2 of ‘getaddrinfo’ makes pointer from integer without a cast [-Wint-conversion] 669 | e = getaddrinfo (NULL, reply_port, &hints, &bindaddr); | ^~~~~~~~~~ | | | int /usr/include/netdb.h:661:48: note: expected ‘const char * restrict’ but argument is of type ‘int’ 661 | const char *__restrict __service, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ ../tools/netsource.c:672:52: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘int’ [-Wformat=] 672 | fprintf (stderr, "getaddrinfo(NULL, \"%s\", ...) failed: %s\n", peer_port, gai_strerror (e)); | ~^ ~~~~~~~~~ | | | | char * int | %d
Spec URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/6/jack-example-tools.spec SRPM URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/6/jack-example-tools-4-1.fc40.src.rpm (In reply to Benson Muite from comment #14) > Comments: > a) Sorry for the delay. No problem! > b) In the spec file, please replace: > Source0: > https://github.com/jackaudio/%{name}/archive/refs/tags/%{version}.tar.gz > by > Source0: > https://github.com/jackaudio/%{name}/archive/v%{version}/%{name}-%{version}. > tar.gz > See > https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ > #_commit_revision Done. > c) The package does not seem to have any tests, so can remove > %meson_test I’d rather leave it in, so if tests get added to the package they will be run. > d) LGPL license may also be needed: > GNU Lesser General Public License v2.1 or later > ----------------------------------------------- > jack-example-tools-4/example-clients/internal_metro.h This is only used in internal_metro.cpp which is GPLv2. > jack-example-tools-4/example-clients/midi_latency_test.c 👍 > e) Please report old FSF address to upstream: > No copyright* GNU General Public License v2.0 or later [obsolete FSF postal > address (Mass Ave)] > ----------------------------------------------------------------------------- > ------------------- > ... > GNU General Public License v2.0 or later [obsolete FSF postal address (Mass > Ave)] > ----------------------------------------------------------------------------- > ---- > ... https://github.com/jackaudio/jack-example-tools/pull/83 > f) In the spec file, please replace > Requires: %{name}-common%{?_isa} = %{version}-%{release} > by > Requires: %{name}-common = %{version}-%{release} > This should enable installation as the package is a noarch package 👍 > g) Some warnings from getaddrinfo patch in the build log: > ../tools/netsource.c: In function ‘process’: > ../tools/netsource.c:314:83: warning: passing argument 5 of ‘netjack_sendto’ > from incompatible pointer type [-Wincompatible-pointer-type > s] > ... Oops, my previously submitted patch was unfinished, I’ve fixed it.
Created attachment 2001140 [details] The .spec file difference from Copr build 6645509 to 6685904
Copr build: https://copr.fedorainfracloud.org/coprs/build/6685904 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2249418-jack-example-tools/fedora-rawhide-x86_64/06685904-jack-example-tools/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [x]: 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]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [?]: 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* GNU General Public License, Version 2 and/or GNU General Public License, Version 3", "GNU General Public License, Version 2", "GNU Lesser General Public License, Version 2.1", "*No copyright* GNU General Public License, Version 2", "GNU General Public License v2.0 or later", "GNU Lesser General Public License v2.1 or later", "*No copyright* GNU General Public License v2.0 or later", "GNU General Public License v2.0 or later [obsolete FSF postal address (Mass Ave)]", "GNU General Public License v3.0 or later". 49 files have unknown license. Detailed output of licensecheck in /home/fedora/2249418-jack-example- tools/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. [-]: Package contains desktop file if it is a GUI application. [x]: 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]: The License field must be a valid SPDX expression. [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]: 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 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 4579 bytes in 2 files. [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 jack- example-tools-common , jack-examples-server [ ]: Package functions as described. [ ]: 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]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [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]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: jack-example-tools-common-4-1.fc40.noarch.rpm jack-examples-server-4-1.fc40.x86_64.rpm jack-example-tools-debuginfo-4-1.fc40.x86_64.rpm jack-example-tools-debugsource-4-1.fc40.x86_64.rpm jack-example-tools-4-1.fc40.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmpmsg2x12f')] checks: 31, packages: 5 jack-examples-server.x86_64: W: no-manual-page-for-binary jack_server_control jack-examples-server.x86_64: W: no-documentation 5 packages and 0 specfiles checked; 0 errors, 2 warnings, 0 badness; has taken 3.6 s Rpmlint (debuginfo) ------------------- Checking: jack-example-tools-debuginfo-4-1.fc40.x86_64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmp22xgtf71')] checks: 31, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.8 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 4 jack-examples-server.x86_64: W: no-manual-page-for-binary jack_server_control jack-examples-server.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 0 errors, 2 warnings, 22 filtered, 0 badness; has taken 3.2 s Unversioned so-files -------------------- jack-examples-server: /usr/lib64/jack/jack_inprocess.so jack-examples-server: /usr/lib64/jack/jack_internal_metro.so jack-examples-server: /usr/lib64/jack/jack_intime.so Source checksums ---------------- https://github.com/jackaudio/jack-example-tools/archive/4/jack-example-tools-4.tar.gz : CHECKSUM(SHA256) this package : 2b1e0dc3cb3b5bfb0423f0aeb21eb611437cf71ee0ace2ca199f05f02705f174 CHECKSUM(SHA256) upstream package : 2b1e0dc3cb3b5bfb0423f0aeb21eb611437cf71ee0ace2ca199f05f02705f174 Requires -------- jack-example-tools-common (rpmlib, GLIBC filtered): jack-examples-server (rpmlib, GLIBC filtered): jack-audio-connection-kit(x86-64) jack-example-tools-common libc.so.6()(64bit) libjack.so.0()(64bit) libjackserver.so.0()(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH) jack-example-tools-debuginfo (rpmlib, GLIBC filtered): jack-example-tools-debugsource (rpmlib, GLIBC filtered): Provides -------- jack-example-tools-common: jack-example-tools-common jack-examples-server: jack-examples-server jack-examples-server(x86-64) jack-example-tools-debuginfo: jack-example-tools-debuginfo jack-example-tools-debuginfo(x86-64) jack-example-tools-debugsource: jack-example-tools-debugsource jack-example-tools-debugsource(x86-64) Diff spec file in url and in SRPM --------------------------------- --- /home/fedora/2249418-jack-example-tools/srpm/jack-example-tools.spec 2023-11-26 14:08:09.328833022 +0000 +++ /home/fedora/2249418-jack-example-tools/srpm-unpacked/jack-example-tools.spec 2023-11-23 00:00:00.000000000 +0000 @@ -1,2 +1,12 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.8) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %global jack_tools \ alsa_in \ @@ -177,3 +187,6 @@ %changelog -%autochangelog +## START: Generated by rpmautospec +* Thu Nov 23 2023 Nils Philippsen <nils> - 4-1 +- Initial import +## END: Generated by rpmautospec Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2249418 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: Java, SugarActivity, R, Haskell, fonts, Python, Ocaml, PHP, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) Builds on all architectures: https://koji.fedoraproject.org/koji/taskinfo?taskID=109664151 b) Please remove patch to update FSF address, should not change license files distributed with the software, just let upstream know about it, if the accept your pull request, can include changes in the next version. c) Please also create a pull request upstream for LGPL license, the contact author for that file seems to be active: https://github.com/pauldavisthefirst Maybe it should be GPL like all the others?
Oops, took me a while – I need to stay on top of this better… (In reply to Benson Muite from comment #18) > [?]: 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* GNU General Public > License, Version 2 and/or GNU General Public License, Version 3", "GNU > General Public License, Version 2", "GNU Lesser General Public > License, Version 2.1", "*No copyright* GNU General Public License, > Version 2", "GNU General Public License v2.0 or later", "GNU Lesser > General Public License v2.1 or later", "*No copyright* GNU General > Public License v2.0 or later", "GNU General Public License v2.0 or > later [obsolete FSF postal address (Mass Ave)]", "GNU General Public > License v3.0 or later". 49 files have unknown license. Detailed output > of licensecheck in /home/fedora/2249418-jack-example- > tools/licensecheck.txt To my knowledge, the license fields match the actual licenses of the files shipped in the respective subpackages. > ===== SHOULD items ===== > > Generic: [...] > [-]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in jack- > example-tools-common , jack-examples-server The -common subpackage is noarch, it only contains documentation and license texts. > [ ]: Package functions as described. > [ ]: Latest version is packaged. [x]: … 😀 > [!]: Patches link to upstream bugs/comments/lists or are otherwise > justified. All patches link to upstream PRs: --- 8< --- Source0: https://github.com/jackaudio/%{name}/archive/%{version}/%{name}-%{version}.tar.gz # https://github.com/jackaudio/jack-example-tools/pull/82 Patch: 0001-Don-t-use-gethostbyname.patch # https://github.com/jackaudio/jack-example-tools/pull/83 Patch: 0001-Update-FSF-address-in-GPLv2-license-texts.patch # https://github.com/jackaudio/jack-example-tools/pull/84 Patch: 0001-Add-LGPL-v2.1-license-text.patch BuildRequires: gcc --- >8 --- > ===== EXTRA items ===== > > Generic: > [!]: Spec file according to URL is the same as in SRPM. > Note: Spec file as given by url is not the same as in SRPM (see > attached diff). > See: (this test has no URL) The spec file uses rpmautospec, the spec file in the SRPM will therefore always be different because release field and changelog section are computed/generated and filled in – `fedpkg srpm` processes the spec file when building the SRPM. > Comments: > a) Builds on all architectures: > https://koji.fedoraproject.org/koji/taskinfo?taskID=109664151 I don’t understand the comment – it builds on all arches, doesn’t it? > b) Please remove patch to update FSF address, should not change license > files distributed with the software, > just let upstream know about it, if the accept your pull request, can > include changes in the next version. I can’t find anything in the Packaging Guidelines indicating that updating the FSF address in copies of the GPL is out of bounds. After all, this change doesn’t modify the licensing conditions and helps users who want to get a copy of the license from the FSF. > c) Please also create a pull request upstream for LGPL license, the contact I don’t understand, I did this already: --- 8< --- # https://github.com/jackaudio/jack-example-tools/pull/84 Patch: 0001-Add-LGPL-v2.1-license-text.patch --- >8 --- > author for that file seems to be active: > https://github.com/pauldavisthefirst Paul last contributed to this in 2012, while it still was part of the jack code base itself. I think he’s moved on from working on JACK. FalkTX who worked on this last seems to occasionally commit changes, but my PRs are still untouched. > Maybe it should be GPL like all the others? The LGPL is a different license, I don’t see why we should do that.
>> Comments: >> a) Builds on all architectures: >> https://koji.fedoraproject.org/koji/taskinfo?taskID=109664151 >I don’t understand the comment – it builds on all arches, doesn’t it? Just showing that it did. Not all comments are negative feedback. >> b) Please remove patch to update FSF address, should not change license >> files distributed with the software, >> just let upstream know about it, if the accept your pull request, can >> include changes in the next version. >I can’t find anything in the Packaging Guidelines indicating that updating the FSF address in copies of the GPL is out of bounds. >After all, this change doesn’t modify the licensing conditions and helps users who want to get a copy of the license from the FSF. Will need to look up where this is. The only requirement is to report that the address is outdated. Modifying the license from what upstream provides is not good practice. >> c) Please also create a pull request upstream for LGPL license, the contact >I don’t understand, I did this already: >--- 8< --- ># https://github.com/jackaudio/jack-example-tools/pull/84 >Patch: 0001-Add-LGPL-v2.1-license-text.patch >--- >8 --- >> author for that file seems to be active: >> https://github.com/pauldavisthefirst >Paul last contributed to this in 2012, while it still was part of the jack code base itself. I think he’s moved on from working on >JACK. FalkTX who worked on this last seems to occasionally commit changes, but my PRs are still untouched. Ok, sorry, missed this. >> Maybe it should be GPL like all the others? >The LGPL is a different license, I don’t see why we should do that. Just an observation that the license differed, not sure if it is an error upstream. Would have expected one set of licenses.
>>> b) Please remove patch to update FSF address, should not change license >>> files distributed with the software, >>> just let upstream know about it, if the accept your pull request, can >>> include changes in the next version. >> I can’t find anything in the Packaging Guidelines indicating that updating the FSF address in copies of the GPL is out of bounds. >> After all, this change doesn’t modify the licensing conditions and helps users who want to get a copy of the license from the FSF. > Will need to look up where this is. The only requirement is to report that the address is outdated. Modifying the > license from what upstream provides is not good practice. See https://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address
Thanks, will fix!
Spec URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/7/jack-example-tools.spec SRPM URL: https://nphilipp.fedorapeople.org/review/jack-example-tools/7/jack-example-tools-4-1.fc40.src.rpm
Created attachment 2008158 [details] The .spec file difference from Copr build 6685904 to 6880500
Copr build: https://copr.fedorainfracloud.org/coprs/build/6880500 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2249418-jack-example-tools/fedora-rawhide-x86_64/06880500-jack-example-tools/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thanks for the updates. Approved.
Thanks for the review!
The Pagure repository was created at https://src.fedoraproject.org/rpms/jack-example-tools