check_ignored_packages
Lists packages ignored during system updates in Arch Linux and warns about critical packages that should not be ignored.
Instructions
[CONFIG] List packages ignored in updates from pacman.conf. Warns if critical system packages are ignored. Only works on Arch Linux.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/arch_ops_server/config.py:265-314 (handler)The main handler function that implements the tool logic: parses pacman.conf via analyze_pacman_conf, extracts ignored packages and groups, detects critical ignored packages, generates warnings, and returns a structured dictionary with results.async def check_ignored_packages() -> Dict[str, Any]: """ List packages ignored in updates. Returns: Dict with ignored packages and groups """ if not IS_ARCH: return create_error_response( "NotSupported", "This feature is only available on Arch Linux" ) logger.info("Checking ignored packages") try: result = await analyze_pacman_conf() if "error" in result: return result ignored_packages = result.get("ignored_packages", []) ignored_groups = result.get("ignored_groups", []) # Warnings for critical packages critical_packages = ["linux", "systemd", "pacman", "glibc"] critical_ignored = [pkg for pkg in ignored_packages if pkg in critical_packages] warnings = [] if critical_ignored: warnings.append(f"Critical system packages are ignored: {', '.join(critical_ignored)}") logger.info(f"Found {len(ignored_packages)} ignored packages, {len(ignored_groups)} ignored groups") return { "ignored_packages": ignored_packages, "ignored_packages_count": len(ignored_packages), "ignored_groups": ignored_groups, "ignored_groups_count": len(ignored_groups), "critical_ignored": critical_ignored, "warnings": warnings, "has_ignored": len(ignored_packages) > 0 or len(ignored_groups) > 0 } except Exception as e: logger.error(f"Failed to check ignored packages: {e}") return create_error_response( "ConfigCheckError", f"Failed to check ignored packages: {str(e)}" )
- ToolMetadata definition providing schema-like metadata for the tool, including category, platform requirements, permissions, workflow, and related tools."check_ignored_packages": ToolMetadata( name="check_ignored_packages", category="config", platform="arch", permission="read", workflow="verify", related_tools=["analyze_pacman_conf"], prerequisite_tools=[] ),
- src/arch_ops_server/__init__.py:63-68 (registration)Import statement registering/exposing the check_ignored_packages handler function from the config module for use in the MCP server.from .config import ( analyze_pacman_conf, analyze_makepkg_conf, check_ignored_packages, get_parallel_downloads_setting )