2025年06月14日
XBPS 0.60 发布
变更内容 (What’s Changed)
-
libxbps: 修复了在未解压状态下更新包的问题。duncaen -
libxbps: 在解压所有包之前和之后运行所有脚本,以避免在半解压状态下运行任务。duncaen -
libxbps: 如果配置文件中也定义了架构,则修复 XBPS_ARCH 环境变量。duncaen -
libxbps: 修复内存泄漏问题。ArsenArsen -
libxbps: 修复文件描述符泄漏问题。gt7-void -
libxbps: 修复 libfetch 中的临时重定向问题。ericonr -
libxbps: 修复了使用replaces替换包时自动/手动模式的设置方式。这使得通过过渡包正确替换手动安装的包成为可能。duncaen -
libxbps: 修复了当依赖项处于锁定 (hold) 状态时不一致的依赖解析问题。如果被锁定的依赖破坏了包的安装或更新,xbps 现在将以ENODEV(19) 退出,而不是直接忽略它,从而避免导致不一致的 pkgdb。#393 duncaen -
libxbps: 修复了XBPS_FLAG_INSTALL_AUTO的问题,即在自动安装模式下安装新包时,正在更新的已安装包会被错误地标记为自动安装。#557 duncaen -
libxbps: 重新安装包时,不要移除仍属于新包的目录。这避免了因目录重建而导致 runsv 出错的问题(runsv 保持着服务目录的打开句柄,如果被删除并重建会受影响)。#561 duncaen -
xbps-install(1): 列出重新安装的包。chocimier -
xbps-install(1): 在干跑 (dry-run) 模式下,忽略空间不足错误。chocimier -
xbps-install(1): 修复了仓库锁定 (repo-locked) 的依赖可能会从非锁定仓库更新的漏洞。chocimier -
xbps-fetch(1): 确保在遇到故障时以失败状态退出。duncaen -
xbps-fetch(1): 修复在错误情况下打印未初始化内存的问题。duncaen -
xbps-pkgdb(1): 移除 mtime 检查,因为它们在 fat 文件系统上不可靠,且 xbps 不再依赖 mtime 匹配包。duncaen -
xbps-checkvers(1): 使用--installed参数时同时列出子包 (subpackages)。chocimier -
xbps-remove(1): 修复干跑模式下清理缓存的不一致性。duncaen -
xbps-remove(1): 允许通过指定两次-O/--clean-cache标志从包缓存中移除“已卸载”的包(缓存中仍然是最新的但不再安装的包)。#530 duncaen -
xbps-query(1):--cat现在可在仓库 (repo) 或 pkgdb 模式下工作。duncaen -
xbps-query(1):--list-repos/-L列出所有仓库,包括无法打开的仓库。chocimier -
xbps.d(5): 更精确地描述ignorepkg。chocimier -
libxbps,xbps-install(1),xbps-remove(1),xbps-reconfigure(1),xbps-alternatives(1): 添加XBPS_SYSLOG环境变量以覆盖 syslog 配置选项。duncaen -
libxbps: 将暂存数据合并到仓库索引 (repodata) 文件中。这允许从远程仓库下载暂存索引,而无需保持两个索引文件同步。#575 duncaen -
xbps-install(1),xbps-query(1),xbps-checkvers(1),xbps.d(5): 添加了--staging标志、XBPS_STAGING环境变量和staging=true|false配置选项。启用暂存允许 xbps 使用来自远程仓库的暂存包。duncaen -
xbps-install(1),xbps-remove(1): 在应用事务之前,在事务摘要下方打印一次软件包安装和删除消息。#572 chocimier -
xbps-query(1): 改进的参数解析允许在参数的任何位置输入软件包参数。#588 classabbyamp -
xbps-install(1): 使干跑 (dry-run) 输出保持一致并支持机器解析。#611 classabbyamp -
libxbps: 在路径中不进行波浪号 (~) 字符的 URL 转义,以获得与某些服务器更好的兼容性。#607 gmbeard -
libxbps: 对软件包使用正确的 ASN1 签名类型。签名现在具有.sig2扩展名。#565 classabbyamp -
xbps-uhelper(1): 如果指定了-v/--verbose标志,为pkgmatch和cmpver子命令添加详细输出。#549 classabbyamp -
xbps-uhelper(1): 支持许多子命令的多个参数,以提高流水线性能。#536 classabbyamp -
xbps-alternatives(1): 为-l/--list添加-R/--repository模式,以显示仓库中软件包的替代方案。#340 duncaen -
libxbps: 修复获取包和仓库时的永久 (308) 重定向问题。duncaen -
xbps-remove(1): 忽略其删除文件时出现的文件未找到错误。duncaen -
libxbps:preserve软件包元数据现在在删除软件包时也受到尊重。duncaen -
xbps-pkgdb(1): 新的--checks参数允许选择运行哪些检查。#352 ericonr, duncaen
完整变更日志 (Full Changelog): https://github.com/void-linux/xbps/compare/0.59.2...0.60