diff --git a/mcp-servers-1.0.0.tar.gz b/mcp-servers-1.0.0.tar.gz index 4896603ef0dd8840578cca07d114ade31560d8c6..0a6cfd175f18f6245edf8cb52cfd66c9ad7fd78f 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 54bc03b3dee4f8c823ef04bd5e4e85b8bcf4fdce..c95c5b74024bac62c7656ac3103adc7ab0bbcb3e 100644 --- a/mcp-servers.spec +++ b/mcp-servers.spec @@ -1,6 +1,6 @@ Name: mcp-servers Version: 1.0.0 -Release: 3 +Release: 4 Summary: openEuler MCP Servers collection License: MIT URL: https://gitee.com/openeuler/mcp-servers @@ -10,6 +10,7 @@ BuildArch: noarch # 公共依赖 BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: python3-babel Requires: python3 Requires: uv Requires: python3-mcp @@ -53,6 +54,15 @@ Requires: python3 Requires: uv Requires: python3-mcp Requires: oedp +%package cvekit +Summary: MCP server for cvekit +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: git +Requires: patch +Requires: oegitext %description Collection of openEuler MCP Servers providing various capabilities. @@ -74,16 +84,22 @@ Provides tools for project management, package building and deployment in EulerM %description oeDeploy Provides MCP tools for oeDeploy. +%description cvekit +CVE remediation process automation tool, providing CVE analysis, patch adaptation, and other functions %prep -%autosetup -n %{name} +%autosetup -n %{name}-%{version} %build +python3 -c """ +from babel.messages.frontend import main +main() +""" compile -d servers/cvekit_mcp/src/cvekit/locales %install mkdir -p %{buildroot}/opt/mcp-servers/servers -for server in rpm-builder_mcp oeGitExt_mcp git_mcp ccb_mcp oeDeploy_mcp; do +for server in rpm-builder_mcp oeGitExt_mcp git_mcp ccb_mcp oeDeploy_mcp cvekit_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/ || : @@ -461,6 +477,87 @@ for user_home in /home/*; do fi done +%post cvekit +# 为cvekit创建虚拟环境 +uv venv /opt/mcp-servers/servers/cvekit_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/cvekit_mcp/.venv + +if [ -f /opt/mcp-servers/servers/cvekit_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/cvekit_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/cvekit_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/cvekit_mcp/.venv + find /opt/mcp-servers/servers/cvekit_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/cvekit_mcp/.venv -type f -exec chmod 644 {} \; +fi +pushd /opt/mcp-servers/servers/cvekit_mcp/src +source ../.venv/bin/activate +python setup.py install +popd + +# 合并MCP配置 +if [ -f /opt/mcp-servers/servers/cvekit_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/cvekit_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/cvekit_mcp/mcp_config.json "/root$MCP_CONFIG_PATH" + fi + + for user_home in /home/*; do + if [ -d "$user_home" ]; then + username=$(basename "$user_home") + 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/cvekit_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/cvekit_mcp/mcp_config.json "$user_home$MCP_CONFIG_PATH" + fi + # 确保整个.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 cvekit +# 卸载时清理MCP配置和虚拟环境 +MCP_CONFIG_PATH="/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json" + +rm -rf "/opt/mcp-servers/servers/cvekit_mcp/.venv" +if [ -e /opt/mcp-servers/servers/cvekit_mcp/src ]; then + rm -rf "/opt/mcp-servers/servers/cvekit_mcp/src/*" +fi + +# 清理root用户的配置 +if [ -f "/root$MCP_CONFIG_PATH" ]; then + jq 'del(.mcpServers."cvekit_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."cvekit_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 /opt/mcp-servers/servers/ %defattr(-,root,root,-) @@ -485,8 +582,15 @@ done /opt/mcp-servers/servers/oeDeploy_mcp/* %defattr(-,root,root,-) +%files cvekit +/opt/mcp-servers/servers/cvekit_mcp/* +%defattr(-,root,root,-) + %changelog +* Wed Aug 13 2025 Wang Kui - 1.0.0-4 +- add cvekit + * Fri Jun 6 2025 lizixin <2271170409@qq.com> - 1.0.0-3 - Fix installation failure when directory doesn't exist