diff --git a/mcp-servers-1.0.0.tar.gz b/mcp-servers-1.0.0.tar.gz index 81ce27a4be1480ec6687851eaed179bb67f16fa9..4896603ef0dd8840578cca07d114ade31560d8c6 100644 Binary files a/mcp-servers-1.0.0.tar.gz and b/mcp-servers-1.0.0.tar.gz differ diff --git a/mcp-servers.spec b/mcp-servers.spec index 64ebf512d4785ae6f6d832ebfb123c6dd987acc0..916daca7828c20c99e6ff64e91f681bb8e4d5022 100644 --- a/mcp-servers.spec +++ b/mcp-servers.spec @@ -1,6 +1,6 @@ Name: mcp-servers Version: 1.0.0 -Release: 1 +Release: 2 Summary: openEuler MCP Servers collection License: MIT URL: https://gitee.com/openeuler/mcp-servers @@ -15,30 +15,30 @@ Requires: uv Requires: python3-mcp Requires: jq -%package git-mcp -Summary: MCP server for Git repository operations +%package rpm-builder +Summary: MCP server for building rpm packages Requires: %{name} = %{version}-%{release} Requires: python3 Requires: uv Requires: python3-mcp Requires: jq -Requires: git -Requires: oegitext -%package oeDeploy -Summary: MCP server for oeDeploy +Requires: rpm-build +%package oeGitExt +Summary: MCP server for oeGitExt Requires: %{name} = %{version}-%{release} Requires: python3 Requires: uv Requires: python3-mcp -Requires: oedp -%package rpm-builder -Summary: MCP server for building rpm packages +Requires: oegitext +%package git-mcp +Summary: MCP server for Git repository operations Requires: %{name} = %{version}-%{release} Requires: python3 Requires: uv Requires: python3-mcp Requires: jq -Requires: rpm-build +Requires: git +Requires: oegitext %package ccb_mcp Summary: EulerMaker ccb MCP Server Requires: %{name} = %{version}-%{release} @@ -46,33 +46,33 @@ Requires: python3 Requires: uv Requires: python3-mcp Requires: ccb -%package oeGitExt -Summary: MCP server for oeGitExt +%package oeDeploy +Summary: MCP server for oeDeploy Requires: %{name} = %{version}-%{release} Requires: python3 Requires: uv Requires: python3-mcp -Requires: oegitext +Requires: oedp %description Collection of openEuler MCP Servers providing various capabilities. +%description rpm-builder +Provides MCP tools for building and packaging rpm packages. + +%description oeGitExt +Provides MCP tools for oeGitExt. + %description git-mcp Provides MCP tools for interacting with Git repositories, including clone, pull, push and branch management. -%description oeDeploy -Provides MCP tools for oeDeploy. - -%description rpm-builder -Provides MCP tools for building and packaging rpm packages. - %description ccb_mcp MCP Server for interacting with EulerMaker using ccb commands. Provides tools for project management, package building and deployment in EulerMaker. -%description oeGitExt -Provides MCP tools for oeGitExt. +%description oeDeploy +Provides MCP tools for oeDeploy. %prep @@ -82,10 +82,9 @@ Provides MCP tools for oeGitExt. # 不需要构建步骤 %install -# 主包只负责创建基础目录结构 mkdir -p %{buildroot}/opt/mcp-servers/servers -for server in git_mcp oeDeploy_mcp rpm-builder_mcp ccb_mcp oeGitExt_mcp; do +for server in rpm-builder_mcp oeGitExt_mcp git_mcp ccb_mcp oeDeploy_mcp; do mkdir -p %{buildroot}/opt/mcp-servers/servers/$server/src cp -r servers/$server/src/* %{buildroot}/opt/mcp-servers/servers/$server/src/ || : cp servers/$server/mcp_config.json %{buildroot}/opt/mcp-servers/servers/$server/ || : @@ -97,33 +96,33 @@ done find /opt/mcp-servers -type d -exec chmod 755 {} \; # 子包特定的%post脚本由各自子包处理 -%post git-mcp -# 为git-mcp创建虚拟环境 -uv venv /opt/mcp-servers/servers/git_mcp/.venv --python /bin/python3 --system-site-packages -chmod -R 755 /opt/mcp-servers/servers/git_mcp/.venv +%post rpm-builder +# 为rpm-builder创建虚拟环境 +uv venv /opt/mcp-servers/servers/rpm-builder_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/rpm-builder_mcp/.venv -if [ -f /opt/mcp-servers/servers/git_mcp/src/requirements.txt ]; then - /opt/mcp-servers/servers/git_mcp/.venv/bin/python -m pip install \ - -r /opt/mcp-servers/servers/git_mcp/src/requirements.txt \ +if [ -f /opt/mcp-servers/servers/rpm-builder_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/rpm-builder_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/rpm-builder_mcp/src/requirements.txt \ -i https://mirrors.huaweicloud.com/repository/pypi/simple - chmod -R 755 /opt/mcp-servers/servers/git_mcp/.venv - find /opt/mcp-servers/servers/git_mcp/.venv -type d -exec chmod 755 {} \; - find /opt/mcp-servers/servers/git_mcp/.venv -type f -exec chmod 644 {} \; + chmod -R 755 /opt/mcp-servers/servers/rpm-builder_mcp/.venv + find /opt/mcp-servers/servers/rpm-builder_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/rpm-builder_mcp/.venv -type f -exec chmod 644 {} \; fi # 合并MCP配置 -if [ -f /opt/mcp-servers/servers/git_mcp/mcp_config.json ]; then +if [ -f /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json ]; then MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" mkdir -p "/root$(dirname $MCP_CONFIG_PATH)" if [ -f "/root$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "/root$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/git_mcp/mcp_config.json \ + /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json \ > "/root$MCP_CONFIG_PATH.tmp" && \ mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/git_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" fi for user_home in /home/*; do @@ -132,45 +131,71 @@ if [ -f /opt/mcp-servers/servers/git_mcp/mcp_config.json ]; then mkdir -p "$user_home$(dirname $MCP_CONFIG_PATH)" if [ -f "$user_home$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "$user_home$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/git_mcp/mcp_config.json \ + /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json \ > "$user_home$MCP_CONFIG_PATH.tmp" && \ mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/git_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" fi - chown -R "$username:$username" "$user_home$(dirname $MCP_CONFIG_PATH)" + # 确保整个.config目录权限正确 + chown -R "$username:$username" "$user_home/.config" chmod 755 "$user_home$(dirname $MCP_CONFIG_PATH)" chmod 644 "$user_home$MCP_CONFIG_PATH" fi done fi -%post oeDeploy -# 为oeDeploy创建虚拟环境 -uv venv /opt/mcp-servers/servers/oeDeploy_mcp/.venv --python /bin/python3 --system-site-packages -chmod -R 755 /opt/mcp-servers/servers/oeDeploy_mcp/.venv -if [ -f /opt/mcp-servers/servers/oeDeploy_mcp/src/requirements.txt ]; then - /opt/mcp-servers/servers/oeDeploy_mcp/.venv/bin/python -m pip install \ - -r /opt/mcp-servers/servers/oeDeploy_mcp/src/requirements.txt \ +%postun rpm-builder +# 卸载时清理MCP配置和虚拟环境 +MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" + +rm -rf "/opt/mcp-servers/servers/rpm-builder_mcp/.venv" + +# 清理root用户的配置 +if [ -f "/root$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."rpm-builder_mcp")' "/root$MCP_CONFIG_PATH" \ + > "/root$MCP_CONFIG_PATH.tmp" && \ + mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" +fi + +# 清理普通用户的配置 +for user_home in /home/*; do + if [ -d "$user_home" ]; then + username=$(basename "$user_home") + if [ -f "$user_home$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."rpm-builder_mcp")' "$user_home$MCP_CONFIG_PATH" \ + > "$user_home$MCP_CONFIG_PATH.tmp" && \ + mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" + fi + fi +done +%post oeGitExt +# 为oeGitExt创建虚拟环境 +uv venv /opt/mcp-servers/servers/oeGitExt_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/oeGitExt_mcp/.venv + +if [ -f /opt/mcp-servers/servers/oeGitExt_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/oeGitExt_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/oeGitExt_mcp/src/requirements.txt \ -i https://mirrors.huaweicloud.com/repository/pypi/simple - chmod -R 755 /opt/mcp-servers/servers/oeDeploy_mcp/.venv - find /opt/mcp-servers/servers/oeDeploy_mcp/.venv -type d -exec chmod 755 {} \; - find /opt/mcp-servers/servers/oeDeploy_mcp/.venv -type f -exec chmod 644 {} \; + chmod -R 755 /opt/mcp-servers/servers/oeGitExt_mcp/.venv + find /opt/mcp-servers/servers/oeGitExt_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/oeGitExt_mcp/.venv -type f -exec chmod 644 {} \; fi # 合并MCP配置 -if [ -f /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json ]; then +if [ -f /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json ]; then MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" mkdir -p "/root$(dirname $MCP_CONFIG_PATH)" if [ -f "/root$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "/root$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json \ + /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json \ > "/root$MCP_CONFIG_PATH.tmp" && \ mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" fi for user_home in /home/*; do @@ -179,45 +204,71 @@ if [ -f /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json ]; then mkdir -p "$user_home$(dirname $MCP_CONFIG_PATH)" if [ -f "$user_home$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "$user_home$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json \ + /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json \ > "$user_home$MCP_CONFIG_PATH.tmp" && \ mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" fi - chown -R "$username:$username" "$user_home$(dirname $MCP_CONFIG_PATH)" + # 确保整个.config目录权限正确 + chown -R "$username:$username" "$user_home/.config" chmod 755 "$user_home$(dirname $MCP_CONFIG_PATH)" chmod 644 "$user_home$MCP_CONFIG_PATH" fi done fi -%post rpm-builder -# 为rpm-builder创建虚拟环境 -uv venv /opt/mcp-servers/servers/rpm-builder_mcp/.venv --python /bin/python3 --system-site-packages -chmod -R 755 /opt/mcp-servers/servers/rpm-builder_mcp/.venv -if [ -f /opt/mcp-servers/servers/rpm-builder_mcp/src/requirements.txt ]; then - /opt/mcp-servers/servers/rpm-builder_mcp/.venv/bin/python -m pip install \ - -r /opt/mcp-servers/servers/rpm-builder_mcp/src/requirements.txt \ +%postun oeGitExt +# 卸载时清理MCP配置和虚拟环境 +MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" + +rm -rf "/opt/mcp-servers/servers/oeGitExt_mcp/.venv" + +# 清理root用户的配置 +if [ -f "/root$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."oeGitExt_mcp")' "/root$MCP_CONFIG_PATH" \ + > "/root$MCP_CONFIG_PATH.tmp" && \ + mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" +fi + +# 清理普通用户的配置 +for user_home in /home/*; do + if [ -d "$user_home" ]; then + username=$(basename "$user_home") + if [ -f "$user_home$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."oeGitExt_mcp")' "$user_home$MCP_CONFIG_PATH" \ + > "$user_home$MCP_CONFIG_PATH.tmp" && \ + mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" + fi + fi +done +%post git-mcp +# 为git-mcp创建虚拟环境 +uv venv /opt/mcp-servers/servers/git_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/git_mcp/.venv + +if [ -f /opt/mcp-servers/servers/git_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/git_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/git_mcp/src/requirements.txt \ -i https://mirrors.huaweicloud.com/repository/pypi/simple - chmod -R 755 /opt/mcp-servers/servers/rpm-builder_mcp/.venv - find /opt/mcp-servers/servers/rpm-builder_mcp/.venv -type d -exec chmod 755 {} \; - find /opt/mcp-servers/servers/rpm-builder_mcp/.venv -type f -exec chmod 644 {} \; + chmod -R 755 /opt/mcp-servers/servers/git_mcp/.venv + find /opt/mcp-servers/servers/git_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/git_mcp/.venv -type f -exec chmod 644 {} \; fi # 合并MCP配置 -if [ -f /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json ]; then +if [ -f /opt/mcp-servers/servers/git_mcp/mcp_config.json ]; then MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" mkdir -p "/root$(dirname $MCP_CONFIG_PATH)" if [ -f "/root$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "/root$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json \ + /opt/mcp-servers/servers/git_mcp/mcp_config.json \ > "/root$MCP_CONFIG_PATH.tmp" && \ mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/git_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" fi for user_home in /home/*; do @@ -226,18 +277,44 @@ if [ -f /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json ]; then mkdir -p "$user_home$(dirname $MCP_CONFIG_PATH)" if [ -f "$user_home$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "$user_home$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json \ + /opt/mcp-servers/servers/git_mcp/mcp_config.json \ > "$user_home$MCP_CONFIG_PATH.tmp" && \ mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/rpm-builder_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/git_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" fi - chown -R "$username:$username" "$user_home$(dirname $MCP_CONFIG_PATH)" + # 确保整个.config目录权限正确 + chown -R "$username:$username" "$user_home/.config" chmod 755 "$user_home$(dirname $MCP_CONFIG_PATH)" chmod 644 "$user_home$MCP_CONFIG_PATH" fi done fi + +%postun git-mcp +# 卸载时清理MCP配置和虚拟环境 +MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" + +rm -rf "/opt/mcp-servers/servers/git_mcp/.venv" + +# 清理root用户的配置 +if [ -f "/root$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."git_mcp")' "/root$MCP_CONFIG_PATH" \ + > "/root$MCP_CONFIG_PATH.tmp" && \ + mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" +fi + +# 清理普通用户的配置 +for user_home in /home/*; do + if [ -d "$user_home" ]; then + username=$(basename "$user_home") + if [ -f "$user_home$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."git_mcp")' "$user_home$MCP_CONFIG_PATH" \ + > "$user_home$MCP_CONFIG_PATH.tmp" && \ + mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" + fi + fi +done %post ccb_mcp # 为ccb_mcp创建虚拟环境 uv venv /opt/mcp-servers/servers/ccb_mcp/.venv --python /bin/python3 --system-site-packages @@ -279,39 +356,65 @@ if [ -f /opt/mcp-servers/servers/ccb_mcp/mcp_config.json ]; then else cp /opt/mcp-servers/servers/ccb_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" fi - chown -R "$username:$username" "$user_home$(dirname $MCP_CONFIG_PATH)" + # 确保整个.config目录权限正确 + chown -R "$username:$username" "$user_home/.config" chmod 755 "$user_home$(dirname $MCP_CONFIG_PATH)" chmod 644 "$user_home$MCP_CONFIG_PATH" fi done fi -%post oeGitExt -# 为oeGitExt创建虚拟环境 -uv venv /opt/mcp-servers/servers/oeGitExt_mcp/.venv --python /bin/python3 --system-site-packages -chmod -R 755 /opt/mcp-servers/servers/oeGitExt_mcp/.venv -if [ -f /opt/mcp-servers/servers/oeGitExt_mcp/src/requirements.txt ]; then - /opt/mcp-servers/servers/oeGitExt_mcp/.venv/bin/python -m pip install \ - -r /opt/mcp-servers/servers/oeGitExt_mcp/src/requirements.txt \ +%postun ccb_mcp +# 卸载时清理MCP配置和虚拟环境 +MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" + +rm -rf "/opt/mcp-servers/servers/ccb_mcp/.venv" + +# 清理root用户的配置 +if [ -f "/root$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."ccb_mcp")' "/root$MCP_CONFIG_PATH" \ + > "/root$MCP_CONFIG_PATH.tmp" && \ + mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" +fi + +# 清理普通用户的配置 +for user_home in /home/*; do + if [ -d "$user_home" ]; then + username=$(basename "$user_home") + if [ -f "$user_home$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."ccb_mcp")' "$user_home$MCP_CONFIG_PATH" \ + > "$user_home$MCP_CONFIG_PATH.tmp" && \ + mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" + fi + fi +done +%post oeDeploy +# 为oeDeploy创建虚拟环境 +uv venv /opt/mcp-servers/servers/oeDeploy_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/oeDeploy_mcp/.venv + +if [ -f /opt/mcp-servers/servers/oeDeploy_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/oeDeploy_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/oeDeploy_mcp/src/requirements.txt \ -i https://mirrors.huaweicloud.com/repository/pypi/simple - chmod -R 755 /opt/mcp-servers/servers/oeGitExt_mcp/.venv - find /opt/mcp-servers/servers/oeGitExt_mcp/.venv -type d -exec chmod 755 {} \; - find /opt/mcp-servers/servers/oeGitExt_mcp/.venv -type f -exec chmod 644 {} \; + chmod -R 755 /opt/mcp-servers/servers/oeDeploy_mcp/.venv + find /opt/mcp-servers/servers/oeDeploy_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/oeDeploy_mcp/.venv -type f -exec chmod 644 {} \; fi # 合并MCP配置 -if [ -f /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json ]; then +if [ -f /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json ]; then MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" mkdir -p "/root$(dirname $MCP_CONFIG_PATH)" if [ -f "/root$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "/root$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json \ + /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json \ > "/root$MCP_CONFIG_PATH.tmp" && \ mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" fi for user_home in /home/*; do @@ -320,42 +423,71 @@ if [ -f /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json ]; then mkdir -p "$user_home$(dirname $MCP_CONFIG_PATH)" if [ -f "$user_home$MCP_CONFIG_PATH" ]; then jq -s '.[0] * .[1]' "$user_home$MCP_CONFIG_PATH" \ - /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json \ + /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json \ > "$user_home$MCP_CONFIG_PATH.tmp" && \ mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" else - cp /opt/mcp-servers/servers/oeGitExt_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" + cp /opt/mcp-servers/servers/oeDeploy_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" fi - chown -R "$username:$username" "$user_home$(dirname $MCP_CONFIG_PATH)" + # 确保整个.config目录权限正确 + chown -R "$username:$username" "$user_home/.config" chmod 755 "$user_home$(dirname $MCP_CONFIG_PATH)" chmod 644 "$user_home$MCP_CONFIG_PATH" fi done fi +%postun oeDeploy +# 卸载时清理MCP配置和虚拟环境 +MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" + +rm -rf "/opt/mcp-servers/servers/oeDeploy_mcp/.venv" + +# 清理root用户的配置 +if [ -f "/root$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."oeDeploy_mcp")' "/root$MCP_CONFIG_PATH" \ + > "/root$MCP_CONFIG_PATH.tmp" && \ + mv "/root$MCP_CONFIG_PATH.tmp" "/root$MCP_CONFIG_PATH" +fi + +# 清理普通用户的配置 +for user_home in /home/*; do + if [ -d "$user_home" ]; then + username=$(basename "$user_home") + if [ -f "$user_home$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."oeDeploy_mcp")' "$user_home$MCP_CONFIG_PATH" \ + > "$user_home$MCP_CONFIG_PATH.tmp" && \ + mv "$user_home$MCP_CONFIG_PATH.tmp" "$user_home$MCP_CONFIG_PATH" + fi + fi +done + %files # 主包不包含具体文件,只包含子包 -%files git-mcp -/opt/mcp-servers/servers/git_mcp/* +%files rpm-builder +/opt/mcp-servers/servers/rpm-builder_mcp/* %defattr(-,root,root,-) -%files oeDeploy -/opt/mcp-servers/servers/oeDeploy_mcp/* +%files oeGitExt +/opt/mcp-servers/servers/oeGitExt_mcp/* %defattr(-,root,root,-) -%files rpm-builder -/opt/mcp-servers/servers/rpm-builder_mcp/* +%files git-mcp +/opt/mcp-servers/servers/git_mcp/* %defattr(-,root,root,-) %files ccb_mcp /opt/mcp-servers/servers/ccb_mcp/* %defattr(-,root,root,-) -%files oeGitExt -/opt/mcp-servers/servers/oeGitExt_mcp/* +%files oeDeploy +/opt/mcp-servers/servers/oeDeploy_mcp/* %defattr(-,root,root,-) %changelog +* Mon May 26 2025 lizixin <2271170409@qq.com> - 1.0.0-2 +- update spec file + * Fri May 16 2025 openEuler MCP Team <2271170409@qq.com> - 1.0.0-1 - Initial package with all MCP servers