%global debug_package %{nil} %global libsdir %{_localstatedir}/lib/%{name}-libs Name: byparr Version: 2.1.0 Release: %autorelease Summary: API for getting cookies for Cloudflare challenges License: MIT URL: https://github.com/ThePhaseless/Byparr Source0: %{url}/archive/refs/tags/v%{version}.tar.gz Source1: %{name}.sysusers Source2: %{name}.service Source3: %{name}-service.preset Source4: %{name}-tmpfiles.conf Source5: %{name}-sysconfig.conf Patch0: %{name}-python-compat.patch ExclusiveArch: x86_64 aarch64 BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-setuptools BuildRequires: python3-wheel BuildRequires: patch BuildRequires: sed BuildRequires: systemd-rpm-macros %{?systemd_requires} %{?sysusers_requires_compat} Requires: nodejs Requires: python3 Requires: python3dist(fastapi) Requires: python3dist(numpy) Requires: python3dist(pydantic) Requires: python3dist(uvicorn) %description %{summary}. %prep %autosetup -n Byparr-%{version} %build %install install --directory "%{buildroot}%{_libexecdir}/%{name}" cp -a main.py src "%{buildroot}%{_libexecdir}/%{name}/" python3 -m pip install --no-cache-dir \ --target "%{buildroot}%{libsdir}" \ "camoufox[geoip]==0.4.11" \ "playwright-captcha==0.1.1" rm -rf "%{buildroot}%{libsdir}/numpy"* \ "%{buildroot}%{libsdir}/numpy."* # Allow the service user to write to the specific runtime paths it needs. install -d "%{buildroot}%{libsdir}/camoufox" install -d "%{buildroot}%{libsdir}/playwright_captcha/utils/camoufox_add_init_script/addon/scripts" cat > "%{_builddir}/%{name}-libs.files" <<'EOF' %dir %attr(0770,byparr,byparr) %{libsdir}/camoufox %dir %attr(0770,byparr,byparr) %{libsdir}/playwright_captcha/utils/camoufox_add_init_script/addon/scripts EOF find "%{buildroot}%{libsdir}" -type d \ ! -path "%{buildroot}%{libsdir}/camoufox" \ ! -path "%{buildroot}%{libsdir}/playwright_captcha/utils/camoufox_add_init_script/addon/scripts" \ -print | sed "s|%{buildroot}||" >> "%{_builddir}/%{name}-libs.files" find "%{buildroot}%{libsdir}" -type f -print \ | sed "s|%{buildroot}||" >> "%{_builddir}/%{name}-libs.files" sort -u -o "%{_builddir}/%{name}-libs.files" "%{_builddir}/%{name}-libs.files" install -D --mode=0644 "%{SOURCE2}" %{buildroot}%{_unitdir}/%{name}.service install -D --mode=0644 "%{SOURCE3}" %{buildroot}%{_prefix}/lib/systemd/system-preset/90-%{name}.preset install -D --mode=0644 "%{SOURCE4}" %{buildroot}%{_tmpfilesdir}/%{name}.conf install -D --mode=0644 "%{SOURCE5}" %{buildroot}%{_sysconfdir}/sysconfig/%{name} install -D --mode=0644 "%{SOURCE1}" %{buildroot}%{_sysusersdir}/%{name}.conf %files -f %{_builddir}/%{name}-libs.files %doc README.md %license LICENSE %{_libexecdir}/%{name}/ %{_unitdir}/%{name}.service %{_prefix}/lib/systemd/system-preset/90-%{name}.preset %{_tmpfilesdir}/%{name}.conf %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %{_sysusersdir}/%{name}.conf %pre %sysusers_create_compat %{_sysusersdir}/%{name}.conf %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %changelog %autochangelog