## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## 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 debug_package %{nil} %global __provides_exclude_from ^(%{nodejs_sitelib}/@jmfederico/pi-web/.*)$ %global __requires_exclude_from ^(%{nodejs_sitelib}/@jmfederico/pi-web/.*)$ Name: pi-web Version: 1.202608.2 Release: %autorelease Summary: Web UI for Pi Coding Agent that keeps sessions alive in real workspaces License: MIT URL: https://github.com/jmfederico/pi-web Source0: https://github.com/jmfederico/pi-web/archive/refs/tags/v%{version}.tar.gz Source1: pi-web.sysusers.conf Source2: pi-web-server.service Source3: pi-web-sessiond.service Source4: pi-web-server.sysconfig Source5: pi-web-sessiond.sysconfig Source6: config.json BuildRequires: npm BuildRequires: nodejs-devel BuildRequires: systemd-rpm-macros BuildRequires: gcc BuildRequires: g++ Requires: nodejs Recommends: pi-coding-agent >= 0.83.0 ExclusiveArch: x86_64 aarch64 %description PI WEB is a web UI for Pi Coding Agent that keeps agent sessions running in real workspaces on your machine or server. Run agents where your code, tools, credentials, and build caches live. Supervise them from any browser. %prep %setup -q %build npm install npm run build npm pack %install mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/ mkdir -p %{buildroot}%{_sysconfdir}/pi-web/ mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_sysusersdir} mkdir -p %{buildroot}%{_sharedstatedir}/pi-web/workspace mkdir -p %{buildroot}%{nodejs_sitelib} # Install server npm install --no-fund -g --cache npm-cache --prefix "%{buildroot}/usr" ./jmfederico-pi-web-%{version}.tgz sed -i "s|%{buildroot}||g" %{buildroot}/usr/lib/node_modules/@jmfederico/pi-web/node_modules/node-pty/build/config.gypi sed -i "s|%{buildroot}||g" %{buildroot}/usr/lib/node_modules/@jmfederico/pi-web/node_modules/node-pty/build/Makefile sed -i "s|%{buildroot}||g" %{buildroot}/usr/lib/node_modules/@jmfederico/pi-web/node_modules/node-pty/build/Release/pty.node # Service stuff install -m 644 %{S:1} %{buildroot}%{_sysusersdir}/pi-web.conf install -m 644 %{S:2} %{buildroot}%{_unitdir}/pi-web-server.service install -m 644 %{S:3} %{buildroot}%{_unitdir}/pi-web-sessiond.service install -m 644 %{S:4} -D %{buildroot}%{_sysconfdir}/sysconfig/pi-web-server install -m 644 %{S:5} -D %{buildroot}%{_sysconfdir}/sysconfig/pi-web-sessiond install -m 644 %{S:6} -D %{buildroot}%{_sysconfdir}/pi-web/config.json %pre %sysusers_create_compat %{S:1} %post %systemd_post pi-web-server.service %systemd_post pi-web-sessiond.service %preun %systemd_preun pi-web-server.service %systemd_preun pi-web-sessiond.service %postun %systemd_postun_with_restart pi-web-server.service %systemd_postun_with_restart pi-web-sessiond.service %files %license LICENSE %doc README.md %{_bindir}/pi-web %{_bindir}/pi-web-server %{_bindir}/pi-web-sessiond %attr(755, pi-web, pi-web) %{_sharedstatedir}/pi-web/ %attr(750, root, pi-web) %{_sysconfdir}/pi-web/ %config(noreplace,missingok) %attr(640, root, pi-web) %{_sysconfdir}/pi-web/config.json %config(noreplace,missingok) %{_sysconfdir}/sysconfig/pi-web-server %config(noreplace,missingok) %{_sysconfdir}/sysconfig/pi-web-sessiond %{_sysusersdir}/pi-web.conf %{_unitdir}/pi-web-server.service %{_unitdir}/pi-web-sessiond.service %{nodejs_sitelib}/@jmfederico/pi-web %changelog ## START: Generated by rpmautospec * Tue Aug 25 2026 grillo-delmal - 1.202608.2-1 - Update to 1.202608.2 * Wed Aug 12 2026 Grillo del Mal - 1.202608.1-1 - Update to 1.202608.1 * Sat Aug 08 2026 Grillo del Mal - 1.202608.0-1 - Update to 1.202608.0 * Thu Aug 06 2026 Grillo del Mal - 1.202607.3-3 - Add default config * Wed Aug 05 2026 Grillo del Mal - 1.202607.3-2 - Update requires and config path * Tue Aug 04 2026 Grillo del Mal - 1.202607.3-1 - Initial commit ## END: Generated by rpmautospec