id = "pear" name = "PEAR" homepage = "https://pear.php.net" description = "PEAR is a framework and distribution system for reusable PHP components." # PEAR's own sentence, from the front page of pear.php.net. # PEAR's own pear mark, from pear.php.net. icon = "https://pear.php.net/gifs/pear-icon.png" executables = ["pear"] platforms = ["macos", "linux"] [dotfiles] # PEAR/Config.php builds the per-user configuration file path in its # constructor: on Unix it is # $user_file = getenv('HOME') . $sl . '.pearrc'; # ($sl is DIRECTORY_SEPARATOR), while the Windows branch uses # $user_file = PEAR_CONFIG_SYSCONFDIR . $sl . 'pear.ini'; # which is a system location rather than one under the user's profile — hence # the two platforms here and the single path below. # # The file holds the settings `pear config-show` lists and `pear config-set` # writes (pear.php.net, "Configuring your PEAR setup") — the install layout, # the preferred release state, the registered channels and the proxy. paths = ["~/.pearrc"] exclude = [] # Not a whole-file secret. The proxy setting in a .pearrc can embed a # password in its URL, but the file is dominated by install paths and channel # settings, and marking the whole of it as a credential would keep those from # ever syncing. secret = [] # No machine_lines, and none can be written here: PEAR writes .pearrc as a # serialized configuration blob behind a `#PEAR_Config` header rather than as # lines of key and value, and it is neither TOML, YAML nor JSON — so neither # `prefix` nor `key_path` reaches inside it. The install roots it holds are # absolute paths into one machine's PHP installation, and a consumer should # treat them accordingly even though this catalog cannot name them. [commands] format = 1 label = "Manage PEAR packages" description = "Run a package command (install, upgrade, uninstall, list) with the global verbosity options. Per-command flags and configuration overrides are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "manpage" kind = "manual" url = "https://manpages.debian.org/unstable/php-pear/pear.1.en.html" revision = "debian unstable" evidence = """-v increase verbosity level (default 1) -q be quiet, decrease verbosity level install Install Package list List Installed Packages In The Default Channel uninstall Un-install Package upgrade Upgrade Package""" [[commands.field]] id = "verbose" label = "Verbosity" type = "count" option = ["-v"] sources = ["manpage"] [[commands.field]] id = "quiet" label = "Quiet" type = "boolean" option = ["-q"] sources = ["manpage"] [[commands.field]] id = "action" label = "Command" type = "enum" position = 0 choices = [{ value = "install", label = "Install" }, { value = "upgrade", label = "Upgrade" }, { value = "uninstall", label = "Uninstall" }, { value = "list", label = "List installed" }] sources = ["manpage"] [[commands.field]] id = "packages" label = "Packages" description = "Package names; not used by list." type = "string" position = 1 multiple = true sources = ["manpage"] [[commands.task]] id = "install" label = "Install packages" set = { action = ["install"] } lock = ["action"] fields = ["action", "packages", "verbose"] required = ["packages"] [[commands.task]] id = "list" label = "List installed" set = { action = ["list"] } lock = ["action"] fields = ["action"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["action", "packages"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["verbose", "quiet"]