跳转到主要内容

SOW 博客

SOW 的发布说明、设计决策与项目动态。SOW 是 Pigsty 出品的 APT 与 YUM 软件仓库管理器。

SOW 博客
SOW v0.2.0 releasemanagedsigningpublishgeneration
为什么 SOW 每个仓库只保留一棵包体树 repositorypoolrpmaptcompatibilitydecision
SOW v0.1 到底证明了什么 historyv0.1evidencecompatibilityverification
v0.2 重置:用 Plain 与 Managed 取代万能控制面 historyv0.2plainmanagedarchitecturedecision
SOW v0.1 决策账本:哪些被保留,哪些已退役 historyv0.1adrdecisionmigration
SOW v0.1 原始计划:软件仓库的 Git historyv0.1gitcaspublicationmigration
  • SOW v0.2.0

    Vonng 发布于 发布注记 641 字 2 分钟

    VonngReleasereleasemanagedsigningpublishgeneration

    SOW v0.2.0

    v0.2.0 发布于 2026-08-08 查看发布 源码 · tar.gz 源码 · zip pgsty/sow SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 …

    v0.2.0 发布于 2026-08-08 查看发布 源码 · tar.gz 源码 · zip pgsty/sow SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 …

  • 为什么 SOW 每个仓库只保留一棵包体树

    Vonng 发布于 设计归档 1301 字 3 分钟

    VonngDesignrepositorypoolrpmaptcompatibilitydecision

    为什么 SOW 每个仓库只保留一棵包体树

    这项决策起草于 2026-08-05,随 2026-08-08 的 SOW v0.2.0 发布。SOW 0.7.0 仍使用这一布局: 每个仓库保存一棵包体树,各发行版视图引用同一棵树。 决策 每个 Repository 的公共目录如下: <repository>/ pool/ # 包体 dists/ <dist>/ <architecture>/ # RPM 元数据 上图展示 RPM 视图。APT 索引位于 dists/<dist>/main/binary-<architecture>/, …

    这项决策起草于 2026-08-05,随 2026-08-08 的 SOW v0.2.0 发布。SOW 0.7.0 仍使用这一布局: 每个仓库保存一棵包体树,各发行版视图引用同一棵树。 决策 每个 Repository 的公共目录如下: <repository>/ pool/ # 包体 dists/ <dist>/ <architecture>/ # RPM 元数据 上图展示 RPM 视图。APT 索引位于 dists/<dist>/main/binary-<architecture>/, …

  • SOW v0.1 到底证明了什么

    Vonng 发布于 设计归档 1478 字 3 分钟

    VonngDesignhistoryv0.1evidencecompatibilityverification

    SOW v0.1 到底证明了什么

    v0.1 归档包含 112 份报告,日期从 2026-07-11 到 7 月 31 日。 它们记录了客户端测试、规模测量、故障恢复、迁移和云存储实验。 本文汇总主要结果,并链接到代表性报告。 每项结果对应报告中记录的源码版本、测试数据、客户端与环境。 当前支持情况见兼容性参考。 证据时间线 时间 报告数 主要工作 2026-07-11 3 真实 APT/DNF 基线、72,310 个包的清单扫描、5 万个上游包的流式处理 2026-07-12 35 APT/YUM 协议、CAS/GC、发布顺序、 …

    v0.1 归档包含 112 份报告,日期从 2026-07-11 到 7 月 31 日。 它们记录了客户端测试、规模测量、故障恢复、迁移和云存储实验。 本文汇总主要结果,并链接到代表性报告。 每项结果对应报告中记录的源码版本、测试数据、客户端与环境。 当前支持情况见兼容性参考。 证据时间线 时间 报告数 主要工作 2026-07-11 3 真实 APT/DNF 基线、72,310 个包的清单扫描、5 万个上游包的流式处理 2026-07-12 35 APT/YUM 协议、CAS/GC、发布顺序、 …

  • v0.2 重置:用 Plain 与 Managed 取代万能控制面

    Vonng 发布于 设计归档 2563 字 6 分钟

    VonngDesignhistoryv0.2plainmanagedarchitecturedecision

    v0.2 重置:用 Plain 与 Managed 取代万能控制面

    2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …

    2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …

  • SOW v0.1 决策账本:哪些被保留,哪些已退役

    Vonng 发布于 设计归档 2828 字 6 分钟

    VonngDesignhistoryv0.1adrdecisionmigration

    SOW v0.1 决策账本:哪些被保留,哪些已退役

    v0.1.0 标签中有 44 份架构决策记录(ADR),编号为 0001 至 0045,缺少 0006。 每份 ADR 记录一个问题、当时的决策及实现必须满足的条件。 下表说明仓库模型变化后,各项决策的后续情况。 状态 含义 保留 原则以基本相同的范围继续用于当前 SOW。 演化 问题仍在,但所有权或实现已经改变。 迁移历史 决策用于 Pigsty/V1 切换。 退役 决策属于已移除的 Git/CAS/Route/Edge 模型。 决策日期从 2026-07-11 到 7 月 28 日 …

    v0.1.0 标签中有 44 份架构决策记录(ADR),编号为 0001 至 0045,缺少 0006。 每份 ADR 记录一个问题、当时的决策及实现必须满足的条件。 下表说明仓库模型变化后,各项决策的后续情况。 状态 含义 保留 原则以基本相同的范围继续用于当前 SOW。 演化 问题仍在,但所有权或实现已经改变。 迁移历史 决策用于 Pigsty/V1 切换。 退役 决策属于已移除的 Git/CAS/Route/Edge 模型。 决策日期从 2026-07-11 到 7 月 28 日 …

  • SOW v0.1 原始计划:软件仓库的 Git

    Vonng 发布于 设计归档 2588 字 6 分钟

    VonngDesignhistoryv0.1gitcaspublicationmigration

    SOW v0.1 原始计划:软件仓库的 Git

    v0.1 计划始于 2026-07-11,并于 7 月 31 日封存为 v0.1.0。 它计划用一个 Go 控制面替换 Pigsty 的 Makefile 与 rclone 工作流,统一管理 APT、YUM 和静态制品。 范围包括本地状态、包历史、上游同步、渠道、视图、快照、双云发布、CDN 行为、商业访问控制和迁移。 当时的核心说法是:“制品仓库的 Git”。 软件分发确实需要不可变内容、可变名称、历史、晋级、 发布与回滚。这个类比帮助描述了需求,也扩大了产品范围。 …

    v0.1 计划始于 2026-07-11,并于 7 月 31 日封存为 v0.1.0。 它计划用一个 Go 控制面替换 Pigsty 的 Makefile 与 rclone 工作流,统一管理 APT、YUM 和静态制品。 范围包括本地状态、包历史、上游同步、渠道、视图、快照、双云发布、CDN 行为、商业访问控制和迁移。 当时的核心说法是:“制品仓库的 Git”。 软件分发确实需要不可变内容、可变名称、历史、晋级、 发布与回滚。这个类比帮助描述了需求,也扩大了产品范围。 …