%global commit 6e17f4e2f19ff2474b455ffec98a58465c85130d %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rfcat Version: 2.0.1 Release: 1%{?dist} Summary: The swiss army knife of subGHz Group: Development/Libraries License: BSD-2-Clause URL: https://github.com/atlas0fd00m/%{name}/wiki Source0: https://github.com/atlas0fd00m/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz BuildRequires: git-core BuildRequires: python3-pkgconfig BuildRequires: python3 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pyudev BuildRequires: libusbx-devel BuildRequires: python3-pyusb BuildRequires: systemd #BuildRequires: /usr/bin/pathfix.py Requires: python3-ipython Requires: python3-numpy Requires: python3-pyserial Requires: python3-future Requires: python3-pyusb BuildArch: noarch %description RfCat allows you to control the wireless transceiver from an interactive Python shell or your own program running on your computer. %package udev Summary: Udev rules for rfcat Group: Hardware/Other Requires(pre): shadow-utils %description udev Udev rules for rfcat %prep %setup -qn %{name}-%{commit} # Remove files that may be problematic from a license point of view rm -f firmware/cc1111_vcom.c rm -f firmware/cc1111_vcomdesc.c rm -f firmware/include/cc1111_vcom.h # HACK: set udev group to rfcat sed -i 's|GROUP="dialout"|GROUP="rfcat"|g' etc/udev/rules.d/20-rfcat.rules %build %py3_build %install %py3_install -- --prefix=%{_prefix} --root=%{buildroot} install -Dpm0644 etc/udev/rules.d/20-rfcat.rules %{buildroot}%{_udevrulesdir}/20-rfcat.rules # Fix all Python shebangs recursively in . # -p preserves timestamps # -n prevents creating ~backup files # -i specifies the interpreter for the shebang # Need to list files that do not match ^[a-zA-Z0-9_]+\.py$ explicitly! #pathfix.py -pni "%{__python2} %{py2_shbang_opts}" %{buildroot}%{python2_sitearch} #pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* %pre udev getent group rfcat >/dev/null || groupadd -r rfcat echo "### Dont forget to add your username to rfcat group : sudo usermod -a -G rfcat YOURUSERNAME ###" %post udev %udev_rules_update %postun udev %udev_rules_update %files %doc LICENSE README.md README.immesniff %{_bindir}/rfcat %{_bindir}/rfcat_bootloader %{_bindir}/rfcat_msfrelay %{_bindir}/rfcat_server %{python3_sitelib}/rflib %{python3_sitelib}/tests %{python3_sitelib}/rfcat-2.0.1-py3.12.egg-info %files udev %{_udevrulesdir}/20-rfcat.rules %changelog * Thu Jan 25 2024 Indra Kurniawan - v2.0.1 heatwave - Rebuilt to rfcat v2.0.1 heatwave for Fedora 39 * Tue May 2 2023 Indra Kurniawan - v1.9.7 boringbungalow - Rebuilt to rfcat v1.9.7 boringbungalow for Fedora 37 * Thu Apr 13 2023 Indra Kurniawan - v1.9.7 boringbungalow - Rebuilt to rfcat v1.9.7 boringbungalow for Fedora 36 * Thu Aug 4 2022 Indra Kurniawan - v1.9.5 pre-release - Rebuilt to rfcat v1.9.5 pre-release for Fedora 36 * Thu Dec 17 2020 Indra Kurniawan - v1.9.3 pre-release - Rebuilt to rfcat v1.9.3 pre-release for Fedora 33 * Thu Nov 23 2017 Indra Kurniawan - 2017.08.2 - Rebuilt to rfcat 2017.08.2 for Fedora * Mon Oct 30 2017 mardnh@gmx.de - Install udev-rules * Tue Aug 8 2017 mardnh@gmx.de - Upstream moved from bitbucket to github - Update to version 0.0.0.git1502127218.53b26b4: * USB: fix error when EP0 packet size is multiple of EP0_MAX_PACKET_SIZE * Add Microsoft WCID descriptor * USB: EP5 inbound transactions are slow when len(data) + 5 is equal to EP5_MAX_PACKET_SIZE. The additional 5 bytes are an app tag, a cmd code, and a length field. * Correct typo self.send(self.set_channel_bandhwidth(args)) to self.send(self.set_channel_bandwidth(args)) * rfcat_msfrelay edited online with Bitbucket * README edited online with Bitbucket * fixing README * Rename readme and convert front page to markdown * Sat Jan 23 2016 mardnh@gmx.de - initial package