ExcludeArch: %{ix86} %bcond_without check %global url https://github.com/GyulyVCG %global crate sniffnet %global crateid %{crate} %global shortversion 1.4.2 %global commit 0a4b7dee432fe40b07fa84e7f1b82092ca85cf8a %global committag 1 %global commitversion %{?committag:%{commit}}%{?!committag:%{shortversion}} %global shortcommitversion %{?committag:%(c=%{commit}; echo ${c:0:7})}%{?!committag:%{shortversion}} %global commitdatestring 2026-02-13 22:15:00 +0100 %global commitdate 20260213 %global commitgit %{?committag:^git%{commitdate}.%(c=%{commit}; echo ${c:0:7})} Name: cosmic-ext-%{crate} Version: %{shortversion}%{commitgit} Release: 1%{?dist} Summary: Application to comfortably monitor your network traffic # Main sources are Apache-2.0 MIT, rest are rust licenses License: Apache-2.0 MIT AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR Apache-2.0) AND BSL-1.0 AND CC0-1.0 AND ISC AND MIT AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND ZLib URL: https://sniffnet.net Source0: %{url}/%{crate}/archive/refs/tags/%{commitversion}/%{crate}-%{shortcommitversion}.tar.gz # To create the below sources: # * git clone %%{url}/%%{crate}.git at the specified commit # * cargo vendor > %%{crate}-%%{shortcommitversion}-vendor-config.toml # * tar -pczf %%{crate}-%%{shortcommitversion}-vendor.tar.xz vendor Source1: %{crate}-%{shortcommitversion}-vendor.tar.xz # * mv %%{crate}-%%{shortcommitversion}-vendor-config.toml .. Source2: %{crate}-%{shortcommitversion}-vendor-config.toml BuildRequires: cargo-rpm-macros >= 26 BuildRequires: rustc BuildRequires: cargo BuildRequires: alsa-lib-devel BuildRequires: libpcap-devel BuildRequires: libxkbcommon-devel BuildRequires: desktop-file-utils Requires: alsa-lib Requires: fontconfig Requires: libpcap Obsoletes: %{crate} <= %{version} Provides: %{crate} = %{version}-%{release} %description %{summary}. %prep %autosetup -n %{crate}-%{commitversion} -p1 -a1 %cargo_prep -N # Check if .cargo/config.toml exists if [ -f .cargo/config.toml ]; then # If it exists, append the contents of %%{SOURCE2} to .cargo/config.toml cat %{SOURCE2} >> .cargo/config.toml echo "Appended %{SOURCE2} to .cargo/config.toml" else # If it does not exist, append the contents of %%{SOURCE2} to .cargo/config cat %{SOURCE2} >> .cargo/config echo "Appended %{SOURCE2} to .cargo/config" fi %build # Set vergen environment variables export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'" export VERGEN_GIT_SHA="%{commit}" %cargo_build %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies %{cargo_vendor_manifest} sed 's/\(.*\) (.*#\(.*\))/\1+git\2/' -i cargo-vendor.txt sed 's/^\([^+]*\)+.*+\([^+]*\)$/\1+\2/' -i cargo-vendor.txt %install mkdir -p %{buildroot}%{_bindir} install -Dpm 0755 target/release/%{crate} %{buildroot}%{_bindir}/ mkdir -p %{buildroot}%{_datadir}/applications install -Dpm 0644 resources/packaging/linux/%{crateid}.desktop \ %{buildroot}%{_datadir}/applications/ for size in `ls resources/packaging/linux/graphics | cut -d'_' -f2 | cut -d'.' -f1`; do \ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${size}/apps install -Dm0644 resources/packaging/linux/graphics/%{crateid}_${size}.png \ %{buildroot}%{_datadir}/icons/hicolor/${size}/apps/%{crateid}.png done %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{crateid}.desktop %if %{with check} # Set vergen environment variables export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'" export VERGEN_GIT_SHA="%{commit}" %cargo_test %endif %post setcap cap_net_raw,cap_net_admin=eip %{_bindir}/%{crate} %files %license LICENSE-APACHE %license LICENSE-MIT %license LICENSE.dependencies %license cargo-vendor.txt %doc README.md SECURITY.md %{_bindir}/%{crate} %{_datadir}/applications/%{crateid}.desktop %{_datadir}/icons/hicolor/*/apps/%{crateid}*.png %changelog * Sun Feb 15 2026 Jean-Marc Liger - 1.4.2^git20260213.0a4b7de-1 - Initial package