Spec URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver.spec SRPM URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver-0.11-1.fc36.src.rpm Description: A multiplatform tool to save scans from the TinySA, sweep frequency spans in segments to gain more than 290 data points, and generally display and analyze the resulting data. Fedora Account System Username: jskarvad It's fork from the nanovna-saver, but TinySA is different hardware than the NanoVNA - i.e. Spectrum Analyzer vs Vector Network Analyzer. It's unlikely that nanovna-saver upstream would ever support spectrum analyzers. If they add the support in the future I will drop this package (I am currently maintaining nanovna-saver in the Fedora). The fork is not intended to control the original NanoVNA, just the TinySA.
I changed python macro, SPDX license and did some makeup :) --- a/tinysa-saver.spec 2021-12-07 22:34:48.000000000 +0200 +++ b/tinysa-saver.spec 2022-11-08 10:28:15.981892142 +0200 @@ -5,27 +5,25 @@ Version: 0.11 Release: 1%{?dist} Summary: Tool for reading, displaying and saving data from the TinySA -License: GPLv3 -URL: https://github.com/erikkaashoek/tinySA-saver +License: GPL-3.0-or-later +URL: https://github.com/erikkaashoek/tinySA-saver Source0: %{URL}/archive/v%{version}/%{name}-%{version}.tar.gz # Reported upstream: https://github.com/mihtjel/nanovna-saver/issues/163 Source1: tinysa-saver.desktop + +# OS/distro specific +Patch0: tinysa-saver-0.11-fedora-icon.patch +# original patch +# https://github.com/mihtjel/nanovna-saver/pull/162 +Patch1: tinysa-saver-0.11-test-fix.patch + BuildArch: noarch -BuildRequires: python3-setuptools + BuildRequires: python3-devel -BuildRequires: python3-pyserial -BuildRequires: python3-numpy -BuildRequires: python3-scipy -BuildRequires: python3-qt5 -BuildRequires: sed +BuildRequires: python3-pytest BuildRequires: desktop-file-utils Requires: hicolor-icon-theme -# OS/distro specific -Patch0: tinysa-saver-0.11-fedora-icon.patch -# original patch -# https://github.com/mihtjel/nanovna-saver/pull/162 -Patch1: tinysa-saver-0.11-test-fix.patch %description A multiplatform tool to save scans from the TinySA, sweep frequency @@ -33,17 +31,20 @@ display and analyze the resulting data. %prep -%setup -q -%autopatch -p1 +%autosetup -p1 -n %{name}-%{version} # Drop shebang of non-executable sed -i '1 d' TinySASaver/__main__.py +%generate_buildrequires +%pyproject_buildrequires + %build -%py3_build +%pyproject_wheel %install -%py3_install +%pyproject_install +%pyproject_save_files TinySASaver # drop the tests, we do not need them in production, do not use rm -rf pushd %{buildroot}%{python3_sitelib} @@ -63,14 +64,11 @@ %{SOURCE1} %check -%{python3} setup.py test +%pytest -v -%files -%license LICENSE +%files -n %{name} -f %{pyproject_files} %doc README.md %{_bindir}/TinySASaver -%{python3_sitelib}/TinySASaver -%{python3_sitelib}/TinySASaver-%{pyversion}-py*.egg-info %{_datadir}/icons/hicolor/48x48/apps/%{name}.png %{_datadir}/applications/%{name}.desktop
This is an automatic check from review-stats script. This review request ticket hasn't been updated for some time, but it seems that the review is still being working out by you. If this is right, please respond to this comment clearing the NEEDINFO flag and try to reach out the submitter to proceed with the review. If you're not interested in reviewing this ticket anymore, please clear the fedora-review flag and reset the assignee, so that a new reviewer can take this ticket. Without any reply, this request will shortly be resetted.
This is an automatic action taken by review-stats script. The ticket reviewer failed to clear the NEEDINFO flag in a month. As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews we reset the status and the assignee of this ticket.
This is an automatic check from review-stats script. This review request ticket hasn't been updated for some time. We're sorry it is taking so long. If you're still interested in packaging this software into Fedora repositories, please respond to this comment clearing the NEEDINFO flag. You may want to update the specfile and the src.rpm to the latest version available and to propose a review swap on Fedora devel mailing list to increase chances to have your package reviewed. If this is your first package and you need a sponsor, you may want to post some informal reviews. Read more at https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group. Without any reply, this request will shortly be considered abandoned and will be closed. Thank you for your patience.
I am still interested.
Hello, I do realize that this is possibly an old ticket. I am sorry that it hasn't been reviewed yet. Let me trigger the Fedora Review Service to see if the package builds successfully. Hopefully, a green check mark will attract some reviewer. If I am resurrecting an old ticket that you are not interested in anymore, my apologies, feel free to close it. [fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/9816052 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2030050-tinysa-saver/fedora-rawhide-x86_64/09816052-tinysa-saver/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
New version: Spec URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver.spec SRPM URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver-0.11-2.fc44.src.rpm
There seems to be some problem with the following file. SRPM URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver-0.11-2.fc44.src.rpm Fetching it results in a 404 Not Found error. Please make sure the URL is correct and publicly available. --- 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.
Consider using autorelease and autochangelog macros, version for src.rpm does not match that in the spec file. Probably also need a appdata file https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/ Spec URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver.spec SRPM URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver-0.11-1.fc44.src.rpm
Updated: Spec URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver.spec SRPM URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver-0.11-1.fc44.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/9973491 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2030050-tinysa-saver/fedora-rawhide-x86_64/09973491-tinysa-saver/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.
- See "Diff spec file in url and in SRPM" at the bottom - Please, number he patched in the form PatchN - Note this message: ``` /usr/lib/python3.14/site-packages/setuptools/dist.py:599: SetuptoolsDeprecationWarning: Invalid dash-separated key 'description-file' in 'metadata' (setup.cfg), please use the underscore name 'description_file' instead. !! ******************************************************************************** Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead. (Affected: TinySASaver). Available configuration options are listed in: https://setuptools.pypa.io/en/latest/userguide/declarative_config.html By 2026-Mar-03, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://github.com/pypa/setuptools/discussions/5011 for details. ******************************************************************************** !! opt = self._enforce_underscore(opt, section) ``` - LICENSE should be added automatically, so you dont need to list in %files Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "GNU General Public License v3.0 or later", "Creative Commons Attribution-ShareAlike 4.0", "*No copyright* GNU General Public License". 27 files have unknown license. Detailed output of licensecheck in /home/sagitter/review-tinysa- saver/licensecheck.txt [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib/python3.14, /usr/lib/python3.14/site-packages [x]: Package contains no bundled libraries or specifies bundled libraries with Provides: bundled(<libname>) if unbundling is not possible. [!]: 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]: Package is not known to require an ExcludeArch tag. [!]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: The License field must be a valid SPDX expression. [x]: Package requires other packages for directories it uses. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package 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 8900 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== 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). [ ]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: 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 all installed packages. Note: There are rpmlint messages (see attachment). Rpmlint ------- Checking: tinysa-saver-0.11-1.fc45.noarch.rpm tinysa-saver-0.11-1.fc45.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.8.0 configuration: /usr/lib/python3.14/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/tmphk_z_jhi')] checks: 32, packages: 2 tinysa-saver.noarch: W: no-manual-page-for-binary TinySASaver 2 packages and 0 specfiles checked; 0 errors, 1 warnings, 9 filtered, 0 badness; has taken 0.4 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.8.0 configuration: /usr/lib/python3.14/site-packages/rpmlint/configdefaults.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: 1 tinysa-saver.noarch: W: no-manual-page-for-binary TinySASaver 1 packages and 0 specfiles checked; 0 errors, 1 warnings, 4 filtered, 0 badness; has taken 0.1 s Source checksums ---------------- https://github.com/erikkaashoek/tinySA-saver/archive/v0.11/tinysa-saver-0.11.tar.gz : CHECKSUM(SHA256) this package : 54be3600c44f1951c8551487d3fbeb23168b2f6c3e341bcc97bf302e9e3a8703 CHECKSUM(SHA256) upstream package : 54be3600c44f1951c8551487d3fbeb23168b2f6c3e341bcc97bf302e9e3a8703 Requires -------- tinysa-saver (rpmlib, GLIBC filtered): /usr/bin/python3 hicolor-icon-theme python(abi) python3.14dist(numpy) python3.14dist(pyqt5) python3.14dist(pyserial) python3.14dist(scipy) Provides -------- tinysa-saver: application() application(io.github.erikkaashoek.tinySA-saver.desktop) metainfo() metainfo(io.github.erikkaashoek.tinySA-saver.metainfo.xml) python3.14dist(tinysasaver) python3dist(tinysasaver) tinysa-saver Diff spec file in url and in SRPM --------------------------------- --- /home/sagitter/./tinysa-saver.spec 2026-01-03 13:46:04.000000000 +0100 +++ /home/sagitter/review-tinysa-saver/srpm-unpacked/tinysa-saver.spec 2026-01-03 01:00:00.000000000 +0100 @@ -1,2 +1,12 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.8.3) +## 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 + # wrong version in the tinysa fork %global pyversion 0.2.2 @@ -80,3 +90,6 @@ %changelog -%autochangelog +## START: Generated by rpmautospec +* Sat Jan 03 2026 Jaroslav Škarvada <jskarvad> - 0.11-1 +- Uncommitted changes +## END: Generated by rpmautospec Generated by fedora-review 0.11.0 (05c5b26) last change: 2025-11-29 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -n ./tinysa-saver Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Python, Shell-api Disabled plugins: Perl, R, Haskell, Java, Ocaml, SugarActivity, C/C++, fonts, PHP Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
(In reply to Antonio T. sagitter from comment #13) Thanks for the review. > - See "Diff spec file in url and in SRPM" at the bottom This is bug of the fedora review tool, it doesn't recognize %autochangelog and reports this false positive. > - Please, number he patched in the form PatchN Why to return to this old format? Patch is described in the comment and automatically applied in order by the %autosetup. Why to complicate it with maintenance of some sequential numbers which aren't used anywhere? > - Note this message: > > ``` > /usr/lib/python3.14/site-packages/setuptools/dist.py:599: > SetuptoolsDeprecationWarning: > Invalid dash-separated key 'description-file' in 'metadata' (setup.cfg), > please use the underscore name 'description_file' instead. > !! > > ***************************************************************************** > *** > Usage of dash-separated 'description-file' will not be supported > in future > versions. Please use the underscore name 'description_file' > instead. > (Affected: TinySASaver). > Available configuration options are listed in: > > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html > By 2026-Mar-03, you need to update your project and remove > deprecated calls > or your builds will no longer be supported. > See https://github.com/pypa/setuptools/discussions/5011 for > details. > > ***************************************************************************** > *** > !! > opt = self._enforce_underscore(opt, section) > ``` > I will notify upstream. > - LICENSE should be added automatically, so you dont need to list in %files > Fixed. Spec URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver.spec SRPM URL: https://jskarvad.fedorapeople.org/tinysa/tinysa-saver-0.11-1.fc45.src.rpm
>> - Please, number he patched in the form PatchN > Why to return to this old format? Patch is described in the comment and automatically applied in order by the %autosetup. Why to complicate it with maintenance of some sequential numbers which > aren't used anywhere? It is not mandatory but advisable: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_applying_patches Executable is not running on Fedora 43: $ /usr/bin/TinySASaver Traceback (most recent call last): File "/usr/bin/TinySASaver", line 5, in <module> from TinySASaver.__main__ import main File "/usr/lib/python3.14/site-packages/TinySASaver/__main__.py", line 22, in <module> from .TinySASaver import TinySASaver File "/usr/lib/python3.14/site-packages/TinySASaver/TinySASaver.py", line 36, in <module> from .Calibration import CalibrationWindow, Calibration File "/usr/lib/python3.14/site-packages/TinySASaver/Calibration.py", line 815, in <module> class Calibration: ...<273 lines>... logger.exception("Failed loading calibration data: %s", e) File "/usr/lib/python3.14/site-packages/TinySASaver/Calibration.py", line 834, in Calibration shortIdeal = np.complex(-1, 0) ^^^^^^^^^^ File "/usr/lib64/python3.14/site-packages/numpy/__init__.py", line 778, in __getattr__ raise AttributeError(__former_attrs__[attr], name=None) AttributeError: module 'numpy' has no attribute 'complex'. `np.complex` was a deprecated alias for the builtin `complex`. To avoid this error in existing code, use `complex` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.complex128` here. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
(In reply to Antonio T. sagitter from comment #15) > >> - Please, number he patched in the form PatchN > > Why to return to this old format? Patch is described in the comment and automatically applied in order by the %autosetup. Why to complicate it with maintenance of some sequential numbers which > > aren't used anywhere? > > It is not mandatory but advisable: > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_applying_patches > I guess the guide wasn't updated, because I don't see any technical reason why to enforce here the sequential numbers. If there are multiple patches that are updated/deleted/added during the package lifetime, the series can very quickly become a fragmented mess. So it is either fragmented or if manually defragmented it complicates backports. Explicit patch numbers can help if you e.g. need to conditionally apply patches, but it isn't this case. > Executable is not running on Fedora 43: > > $ /usr/bin/TinySASaver > Traceback (most recent call last): > File "/usr/bin/TinySASaver", line 5, in <module> > from TinySASaver.__main__ import main > File "/usr/lib/python3.14/site-packages/TinySASaver/__main__.py", line 22, > in <module> > from .TinySASaver import TinySASaver > File "/usr/lib/python3.14/site-packages/TinySASaver/TinySASaver.py", line > 36, in <module> > from .Calibration import CalibrationWindow, Calibration > File "/usr/lib/python3.14/site-packages/TinySASaver/Calibration.py", line > 815, in <module> > class Calibration: > ...<273 lines>... > logger.exception("Failed loading calibration data: %s", e) > File "/usr/lib/python3.14/site-packages/TinySASaver/Calibration.py", line > 834, in Calibration > shortIdeal = np.complex(-1, 0) > ^^^^^^^^^^ > File "/usr/lib64/python3.14/site-packages/numpy/__init__.py", line 778, in > __getattr__ > raise AttributeError(__former_attrs__[attr], name=None) > AttributeError: module 'numpy' has no attribute 'complex'. > `np.complex` was a deprecated alias for the builtin `complex`. To avoid this > error in existing code, use `complex` by itself. Doing this will not modify > any behavior and is safe. If you specifically wanted the numpy scalar type, > use `np.complex128` here. > The aliases was originally deprecated in NumPy 1.20; for more details and > guidance see the original release note at: > https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations I will check it, I will have access to the tinySA HW soon.
(In reply to Jaroslav Škarvada from comment #16) > I will check it, I will have access to the tinySA HW soon. > It's either possible this package is not needed any more. The nanovna-saver which this package was originally forked from now somehow supports tinySA HW. I will check how usable the current support is and I will decide accordingly.
Created attachment 2130236 [details] The .spec file difference from Copr build 9973491 to 10154247
Copr build: https://copr.fedorainfracloud.org/coprs/build/10154247 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2030050-tinysa-saver/fedora-rawhide-x86_64/10154247-tinysa-saver/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.
Please, point-out when your src-rpm is ready