summaryrefslogtreecommitdiff
path: root/kafka-mcp-server.spec
diff options
context:
space:
mode:
Diffstat (limited to 'kafka-mcp-server.spec')
-rw-r--r--kafka-mcp-server.spec90
1 files changed, 90 insertions, 0 deletions
diff --git a/kafka-mcp-server.spec b/kafka-mcp-server.spec
new file mode 100644
index 0000000..6b412ec
--- /dev/null
+++ b/kafka-mcp-server.spec
@@ -0,0 +1,90 @@
+%define _unitdir /usr/lib/systemd/system
+
+Name: kafka-mcp-server
+Version: 1.0.0
+Release: 1%{?dist}
+Summary: Kafka MCP Service
+
+License: MulanPSL-2.0
+URL: https://gitee.com/yanzhicong/kafka-mcp-server
+Source0: %{name}-%{version}.tar.gz
+
+%global debug_package %{nil}
+%global _enable_debug_package 0
+
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+
+Requires: python3
+
+%description
+Kafka MCP Service packaged as RPM.
+
+%prep
+%setup -q
+
+%build
+# 创建虚拟环境
+%{__python3} -m venv %{_builddir}/%{name}-%{version}/venv
+
+# 激活虚拟环境并安装依赖
+source %{_builddir}/%{name}-%{version}/venv/bin/activate
+pip install . -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
+deactivate
+rm -rf %{_builddir}/%{name}-%{version}/build
+
+%install
+rm -rf %{buildroot}
+
+# 创建应用目录
+mkdir -p %{buildroot}/opt/%{name}
+
+# 复制整个项目(包括虚拟环境)
+cp -r %{_builddir}/%{name}-%{version}/venv %{buildroot}/opt/%{name}/
+
+find %{buildroot}/opt/%{name}/venv/bin -type f -exec \
+ sed -i "1s|^#!.*|#!/opt/%{name}/venv/bin/python|" {} \;
+
+# 复制 systemd 服务文件
+mkdir -p %{buildroot}%{_unitdir}
+install -m 644 kafka-mcp-server.service %{buildroot}%{_unitdir}/
+
+# 创建可执行文件符号链接
+mkdir -p %{buildroot}%{_bindir}
+ln -s /opt/%{name}/venv/bin/kafka-mcp-server %{buildroot}%{_bindir}/kafka-mcp-server
+
+# 复制 env 配置文件
+mkdir -p %{buildroot}/etc/kafka-mcp-server
+install -m 644 env.example %{buildroot}/etc/kafka-mcp-server/env
+
+%post
+# systemd 配置
+if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
+ # Initial installation
+ /usr/lib/systemd/systemd-update-helper install-system-units kafka-mcp-server.service || :
+fi
+
+%preun
+# 卸载前停止服务
+if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
+ # Package removal, not upgrade
+ /usr/lib/systemd/systemd-update-helper remove-system-units kafka-mcp-server.service || :
+fi
+
+%postun
+# 清理配置
+if [ $1 -ge 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
+ # Package upgrade, not uninstall
+ /usr/bin/systemctl try-restart kafka-mcp-server.service || :
+fi
+
+%files
+%dir /opt/%{name}
+/opt/%{name}/*
+%{_bindir}/kafka-mcp-server
+%{_unitdir}/kafka-mcp-server.service
+%config(noreplace) /etc/kafka-mcp-server/env
+
+%changelog
+* Tue Sep 16 2025 Yanzhicong <mryanzhicong@163.com> - 1.0.0-1
+- Initial package