mozbuild.repackaging 包

子模块

mozbuild.repackaging.application_ini 模块

mozbuild.repackaging.application_ini.get_application_ini_value(finder_or_application_directory, section, value, fallback=None)

在给定目录或查找器下的任何 application.ini 中查找具有给定 sectionvalue 的字符串。

如果字符串未找到且提供了 fallback,则改为查找具有给定 sectionfallback 的字符串。

如果未找到任何字符串,则引发 Exception

mozbuild.repackaging.application_ini.get_application_ini_values(finder_or_application_directory, *args)

查找给定 sectionvalue 对的多个字符串。其他 args 应为字典,其键为 sectionvalue 和可选的 fallback。返回一个字符串的可迭代对象,每个提供的字典一个。

fallback 的处理方式与 get_application_ini_value 相同。

如果任何字符串未找到,则引发 Exception

mozbuild.repackaging.deb 模块

exception mozbuild.repackaging.deb.HgServerError(msg)

基类:Exception

当 Hg 返回错误代码且该代码不是 404 时引发(即发生中断时)

exception mozbuild.repackaging.deb.NoDebPackageFound(deb_file_path)

基类:Exception

调用 dpkg-buildpackage 后未找到 .deb 时引发

mozbuild.repackaging.deb.repackage_deb(log, infile, output, template_dir, arch, version, build_number, release_product, release_type, fluent_localization, fluent_resource_loader)
mozbuild.repackaging.deb.repackage_deb_l10n(input_xpi_file, input_tar_file, output, template_dir, version, build_number, release_product)

mozbuild.repackaging.desktop_file 模块

exception mozbuild.repackaging.desktop_file.RemoteVCSError(msg)

基类:Exception

当 vcs 服务器(例如,hg 或 git)返回错误代码且该代码不是 404 时引发(即发生中断时)

mozbuild.repackaging.desktop_file.generate_browser_desktop_entry(log, build_variables, release_product, release_type, fluent_localization, fluent_resource_loader)
mozbuild.repackaging.desktop_file.generate_browser_desktop_entry_file_text(log, build_variables, release_product, release_type, fluent_localization, fluent_resource_loader)

mozbuild.repackaging.dmg 模块

mozbuild.repackaging.dmg.repackage_dmg(infile, output, attribution_sentinel=None)

mozbuild.repackaging.installer 模块

mozbuild.repackaging.installer.repackage_installer(topsrcdir, tag, setupexe, package, output, package_name, sfx_stub, use_upx)

mozbuild.repackaging.mar 模块

mozbuild.repackaging.mar.repackage_mar(topsrcdir, package, mar, output, arch=None, mar_channel_id=None)

mozbuild.repackaging.msi 模块

mozbuild.repackaging.msi.repackage_msi(topsrcdir, wsx, version, locale, arch, setupexe, candle, light, output)
mozbuild.repackaging.msi.update_wsx(wfile, pvalues)

mozbuild.repackaging.msix 模块

将 ZIP 归档文件(或目录)重新打包到 MSIX 应用包中。

已知问题

  • “开始”菜单中的图标后面有一个纯色磁贴。我认为这是镀层的问题。

mozbuild.repackaging.msix.find_sdk_tool(binary, log=None)
mozbuild.repackaging.msix.get_appconstants_sys_mjs_values(finder, *args)

从 omnijar 中提取值,例如显示版本,如 MOZ_APP_VERSION_DISPLAY: “…”;,这允许确定测试版编号,如 X.YbW,其中常规测试版版本仅为 X.Y。获取名称列表并返回为每个名称找到的唯一此类值的迭代器。如果未找到名称或找到多个值,则引发异常。

mozbuild.repackaging.msix.get_branding(use_official, topsrcdir, build_app, finder, log=None)

确定要使用哪个品牌目录。

mozbuild.repackaging.msix.get_embedded_version(version, buildid)

将显示版本转换为“点分四段式”表示法。

注意:MSIX 打包生态系统的一些部分要求点分四段式表示法的最后一部分必须完全为 0,因此我们在此处强制执行此规则。

mozbuild.repackaging.msix.log_copy_result(log, elapsed, destdir, result)
mozbuild.repackaging.msix.repackage_msix(dir_or_package, topsrcdir, channel=None, distribution_dirs=[], version=None, vendor=None, displayname=None, app_name=None, identity=None, publisher=None, publisher_display_name='Mozilla Corporation', arch=None, output=None, force=False, log=None, verbose=False, makeappx=None)
mozbuild.repackaging.msix.sdk_tool_search_path()
mozbuild.repackaging.msix.sign_msix(output, force=False, log=None, verbose=False)

使用本地生成的自签名证书为 MSIX 签名。

mozbuild.repackaging.msix.unpack_msix(input_msix, output, log=None, verbose=False)

将给定的 MSIX 解包到给定的输出目录。

MSIX 包是 ZIP 文件,但它们是 Zip64/4.5 版 ZIP 文件,因此 mozjar.py 尚未处理。为了简单起见,使用 unzip{.exe} 解包。

此外,MSIX 包中的文件名是 URL 编码的。在此处进行 URL 解码。

mozbuild.repackaging.pkg 模块

mozbuild.repackaging.pkg.repackage_pkg(infile, output)

mozbuild.repackaging.snap 模块

mozbuild.repackaging.snap.missing_connections(app_name)

解析 snap connections 的输出,例如:

$ snap connections firefox 接口 连接器 插座 备注 alsa firefox:alsa - - 音频播放 firefox:audio-playback :audio-playback - 音频录制 firefox:audio-record :audio-record - avahi-observe firefox:avahi-observe :avahi-observe -

mozbuild.repackaging.snap.repackage_snap(log, srcdir, objdir, snapdir, snapcraft, appname, reponame='canonical/firefox-snap', branchname='nightly', arch='amd64', dry_run=False)
mozbuild.repackaging.snap.unpack_tarball(package, destdir)

mozbuild.repackaging.snapcraft_transform 模块

class mozbuild.repackaging.snapcraft_transform.SnapDesktopFile(log, appname, branchname)

基类:object

repack()
class mozbuild.repackaging.snapcraft_transform.SnapcraftTransform(source_file, appname, version, buildno)

基类:object

EXPECTED_PARTS = ['rust', 'cbindgen', 'clang', 'dump-syms', 'hunspell', 'wasi-sdk', 'nodejs', 'mozconfig', 'firefox', 'firefox-langpacks', 'launcher', 'distribution', 'ffmpeg', 'apikeys', 'debug-symbols']
PARTS_TO_KEEP = ['hunspell', 'firefox-langpacks', 'launcher', 'distribution', 'ffmpeg']
add_firefox_repack(removed)
assert_parts(snap)

确保我们拥有预期的部分

change_name(name)
change_version(version, build)
keep_non_build_parts()
parse(inp)
repack()
mozbuild.repackaging.snapcraft_transform.repr_str(dumper, data)

模块内容