mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 17:38:10 +00:00
- go.mod: SDK pseudo-version -> v0.7.1 (remote tag), go.sum updated - cmd/waiter/rawmode_linux.go: remove (conflicts with raw_unix.go) - cmd/gui/package.json: add rpm/AppImage Linux targets - package/package-linux.sh: cross-distro packaging script (deb/tar.gz/rpm) - package/linux/: DEBIAN control files, postinst/prerm, RPM spec
112 lines
3.0 KiB
RPMSpec
112 lines
3.0 KiB
RPMSpec
# HomeAgent RPM Spec
|
|
# Build: rpmbuild -ba homeagent.spec
|
|
#
|
|
# Define variant at build time:
|
|
# rpmbuild -ba --define "variant full" homeagent.spec
|
|
# rpmbuild -ba --define "variant server" homeagent.spec
|
|
# rpmbuild -ba --define "variant client" homeagent.spec
|
|
|
|
%define _prefix /usr
|
|
%define _bindir %{_prefix}/bin
|
|
%define _unitdir %{_prefix}/lib/systemd/system
|
|
%define _datadir %{_prefix}/share/homeagent
|
|
%define _varlibdir /var/lib/homeagent
|
|
|
|
%if %{undefined variant}
|
|
%define variant full
|
|
%endif
|
|
|
|
Name: homeagent-%{variant}
|
|
Version: %{_version}
|
|
Release: 1%{?dist}
|
|
Summary: HomeAgent - Personal AI Home Assistant
|
|
License: Proprietary
|
|
URL: https://github.com/trueagent/HomeAgent
|
|
Group: System Environment/Daemons
|
|
BuildArch: %{_arch}
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "server"
|
|
Requires: systemd
|
|
%endif
|
|
%if "%{variant}" == "full"
|
|
Requires: libX11, libxcb, libdrm, mesa-libGL, nss, nspr, atk, at-spi2-atk, cairo, cups-libs, pango, gtk3
|
|
%endif
|
|
%if "%{variant}" == "client"
|
|
Requires: libX11, libxcb, libdrm, mesa-libGL, nss, nspr, atk, at-spi2-atk, cairo, cups-libs, pango, gtk3
|
|
%endif
|
|
|
|
%description
|
|
HomeAgent is a personal AI home assistant that integrates large language
|
|
models with system automation.
|
|
|
|
%if "%{variant}" == "full"
|
|
This package includes the full suite: homed (daemon), waiter (CLI),
|
|
and homeagent-gui (desktop GUI).
|
|
%else
|
|
%if "%{variant}" == "server"
|
|
This package includes the server components: homed (daemon) and waiter (CLI).
|
|
%else
|
|
%if "%{variant}" == "client"
|
|
This package includes the client components: waiter (CLI) and
|
|
homeagent-gui (desktop GUI). Connects to a remote HomeAgent server.
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%install
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
mkdir -p %{buildroot}%{_unitdir}
|
|
mkdir -p %{buildroot}%{_varlibdir}
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "server"
|
|
install -m 755 %{_sourcedir}/homed %{buildroot}%{_bindir}/homed
|
|
install -m 644 %{_sourcedir}/homeagent.service %{buildroot}%{_unitdir}/homeagent.service
|
|
%endif
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "client"
|
|
install -m 755 %{_sourcedir}/waiter %{buildroot}%{_bindir}/waiter
|
|
%endif
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "client"
|
|
mkdir -p %{buildroot}%{_datadir}/homeagent-gui
|
|
cp -r %{_sourcedir}/homeagent-gui-linux-*/* %{buildroot}%{_datadir}/homeagent-gui/
|
|
%endif
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "server"
|
|
%{_bindir}/homed
|
|
%{_unitdir}/homeagent.service
|
|
%dir %{_varlibdir}
|
|
%endif
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "client"
|
|
%{_bindir}/waiter
|
|
%endif
|
|
|
|
%if "%{variant}" == "full" || "%{variant}" == "client"
|
|
%dir %{_datadir}/homeagent-gui
|
|
%{_datadir}/homeagent-gui/*
|
|
%endif
|
|
|
|
%post
|
|
%if "%{variant}" == "full" || "%{variant}" == "server"
|
|
mkdir -p %{_varlibdir}
|
|
%systemd_post homeagent.service
|
|
%endif
|
|
|
|
%preun
|
|
%if "%{variant}" == "full" || "%{variant}" == "server"
|
|
%systemd_preun homeagent.service
|
|
%endif
|
|
|
|
%postun
|
|
%if "%{variant}" == "full" || "%{variant}" == "server"
|
|
%systemd_postun_with_restart homeagent.service
|
|
%endif
|
|
|
|
%changelog
|
|
* Mon Jul 20 2026 HomeAgent Team <team@homeagent.ai> - %{version}-1
|
|
- Initial Linux packaging
|