本仓库包含构成 LibreWolf 的所有补丁和主题,以及构建 LibreWolf 的脚本和 Makefile。此外还有设置仓库,其中包含 LibreWolf 的首选项。
graph LR
FFSRC(Firefox 源码)
FFSRC--源代码压缩包--->Source
subgraph librewolf-community/
Settings(设置)--"librewolf.cfg<br>policies.json"-->Source
Website(网站<br><br>- 文档<br>- 常见问题)
subgraph browser/
Source(源码<br><br>- 补丁<br>- 主题<br>- 构建脚本)
bsys6(bsys6<br><br>新的 Docker 构建<br>仓库)
AppImage
Arch
end
end
Website-->librewolf.net
Source--"源码压缩包"-->bsys6
AppImage--".appimage"-->librewolf.net
bsys6--"Windows setup.exe"--->librewolf.net
bsys6--"Windows portable.zip"--->librewolf.net
bsys6--"Windows .msix"--->MS("Microsoft Store")
bsys6--"Windows .nupkg"--->Chocolatey
bsys6--"Linux binary tarball"--->Flathub
bsys6--"Linux binary tarball"--> AppImage
bsys6--"Linux .deb"--->repo.librewolf.net
bsys6--"Linux .rpm"--->repo.librewolf.net
bsys6--"Linux binary tarball for 'librewolf-bin'"--> Arch
Source--"用于 'librewolf' 的源码压缩包"-->Arch
Arch-->AUR浏览器构建子项目列表。以下是人们维护仓库和构建产物的位置。
当前活跃的构建仓库:
下游发行版软件包:
之前的 fork:
有两种方式构建 LibreWolf。你可以使用源码压缩包,也可以直接用本仓库进行编译。
tar xf <压缩包>
cd <文件夹>
然后,你需要初始化系统环境以便构建 LibreWolf。只需执行一次。运行以下命令即可:
./mach --no-interactive bootstrap --application-choice=browser
最后,你可以构建 LibreWolf,然后通过以下命令打包或运行:
./mach build
./mach package
# 或者
./mach run
首先,用 Git 克隆本仓库:
git clone --recursive https://codeberg.org/librewolf/source.git librewolf-source
cd librewolf-source
接着,用以下命令构建 LibreWolf 源码:
make dir
之后,你需要初始化系统环境以便构建 LibreWolf。只需执行一次。运行以下命令即可:
make bootstrap
最后,你可以构建 LibreWolf,然后通过以下命令打包或运行:
make build
make package
# 或者
make run
我们使用 Weblate 来本地化所有 LibreWolf 特有字符串。你可以通过以下地址帮助我们翻译 LibreWolf 至你的语言: https://translate.codeberg.org/engage/librewolf 。以下是当前的翻译状态:
制作补丁最简单的方法是进入 LibreWolf 源码文件夹:
cd librewolf-$(cat version)
git init
git add <你修改过的文件路径>
git commit -am initial-commit
git diff > ../mypatch.patch
我们有 Gitter / Matrix 聊天室,在网站上可以找到各种问题追踪器的链接。
处理现有补丁最简单的方法是进入 LibreWolf 源码文件夹:
make fetch # 获取 firefox 压缩包
./scripts/git-patchtree.sh patches/sed-patches/disable-pocket.patch
现在按你的需求修改源码树,记得用 git add 添加新文件。完成后,用以下命令创建新补丁:
cd firefox-<版本号>
git diff 4b825dc642cb6eb9a060e54bf8d69288fbee4904 HEAD > ../my-patch-name.patch
这个 ID 是第一个提交(称为 initial)的哈希值。在执行 diff 之前不要忘记提交更改,否则补丁将不完整。
嗯,首先:
现在你有了 LibreWolf 的补丁,但这还不足以提交给 Mozilla。要知道,Mozilla 只接受针对 Nightly 版本的补丁。以下是操作方法:
如果还没做过,先创建 mozilla-unified 文件夹并用它构建 Firefox:
hg clone https://hg.mozilla.org/mozilla-unified
cd mozilla-unified
hg update
MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser
./mach build
./mach run
如果跳过了上一步,可以通过以下命令确保代码最新:
cd mozilla-unified
hg pull
hg update
现在可以将你的补丁应用到 Nightly 版本:
patch -p1 -i ../mypatch.patch
然后用 Mercurial 创建补丁:
hg diff > ../my-nightly-patch.patch
之后就可以上传到 Bugzilla 了。
是时候开始捣鼓了!你可以加入我们的 Matrix,在介绍频道打个招呼,然后找个 Bug 开始工作。查阅 Firefox 贡献者快速参考 了解如何测试更改、向 Mozilla 提交补丁、本地更新源码等。
我们理解,生活并非总是公平的 😺。上述步骤同样适用,只需先阅读以下平台的指南前几部分:
欢迎帮助测试这些目标平台。