
Разработка перенесена на https://codeberg.org/librewolf/source
Этот репозиторий содержит все патчи и оформление, из которых состоит LibreWolf, а также скрипты и Makefile для сборки LibreWolf. Также существует репозиторий настроек, в котором находятся настройки LibreWolf.
graph LR
FFSRC(Firefox Source)
FFSRC--Tarball--->Source
subgraph librewolf-community/
Settings(Settings)--"librewolf.cfg<br>policies.json"-->Source
Website(Website<br><br>- Documentation<br>- FAQ)
subgraph browser/
Source(Source<br><br>- Patches<br>- Theming<br>- Build scripts)
bsys6(bsys6<br><br>New Docker building<br>repository)
AppImage
Arch
end
end
Website-->librewolf.net
Source--"Source tarball"-->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--"Source tarball for 'librewolf'"-->Arch
Arch-->AUR
Список подпроектов сборки браузера. Это места, где люди размещают свои репозитории и артефакты сборки.
Текущие активные репозитории сборки:
Пакеты от дистрибутивов:
Предыдущие форки:
Есть два способа собрать LibreWolf. Вы можете использовать tar-архив с исходным кодом или скомпилировать напрямую с помощью этого репозитория.
Сначала загрузите последний tar-архив. Этот архив создаётся CI. Также там можно проверить sha256sum архива.
tar xf <tarball>
cd <folder>
Затем нужно подготовить систему для сборки 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 # получить tar-архив firefox
./scripts/git-patchtree.sh patches/sed-patches/disable-pocket.patch
Теперь измените дерево исходников по своему усмотрению, не забывая git add для новых файлов. Когда закончите, создайте новый патч с помощью:
cd firefox-<version>
git diff 4b825dc642cb6eb9a060e54bf8d69288fbee4904 HEAD > ../my-patch-name.patch
Этот идентификатор — хеш первого коммита с именем 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, поздоровайтесь в канале знакомств и найдите баг для работы. Смотрите Краткий справочник для участников Firefox, чтобы узнать, как тестировать изменения, отправлять патчи в Mozilla, обновлять исходный код локально и многое другое.
Мы понимаем, жизнь не всегда справедлива 😺. Те же шаги, что и выше, применимы, просто вам нужно будет пройти начальную часть руководств для:
make setup-wasi.Помощь в тестировании этих платформ всегда приветствуется.