#2728·Floorp

[Runtime CI] macOS DMG に名前が空白の "/Applications" ショートカット symlink が同梱され、下流ツールの展開検証が失敗する

Author: Walkmana-25Created Sep 6, 2026Updated Sep 12, 2026

概要

mac-universal-artifacts.zip(内部の floorp-macOS-universal-moz-artifact.dmg)に、名前が半角空白1文字のシンボリックリンクが DMG ルート直下に同梱されています。リンク先は /Applications で、macOS インストーラ DMG で定番の「アプリを Applications にドラッグ」用ショートカットと思われますが、リンク名が正しく付与されず " "(空白)になっています。

このため、DMG を cp -a などで展開してそのまま利用する下流のツール(feles-build の dev 環境構築)が、展開ツリー内の symlink を検出する安全監査で失敗し、開発環境のセットアップが完了しなくなっています。

証拠

DMG をマウントして確認した実際の状態:

$ ls -la <マウントポイント>
lrwxr-xr-x  1 user  staff  13  9月 x日  「 」 -> /Applications     ← 名前が空白1個の symlink
drwxr-xr-x  0 user  staff   4  9月 x日  Floorp DaylightDebug.app
  • リンク名: " "(半角スペース1文字)
  • リンク先: /Applications
  • Floorp DaylightDebug.app 本体の内部はクリーン(symlink は本件1件のみ)

推定される原因

DMG 作成処理(CI のパッケージングスクリプト)で Applications ショートカットを作る際、リンク名を指定する変数またはクォートが崩れ、ln -s /Applications " " のように空の名前(または空白1個の名前)でリンクが作成されていると推定されます。本来は以下のようになるはずです:

bash
ln -s /Applications "<マウントポイント>/Applications"

影響

  1. feles-build dev が初回セットアップで失敗する: 展開後の staging ツリーに対する安全監査(assertSafeFilesystemTree、symlink / ハードリンク / 特殊ファイルを検出した時点で昇格を拒否する仕様)が本 symlink を検出し、Runtime staging tree contains a symlink: floorp/ . というエラーで中断する
  2. エラーメッセージ中の floorp/ . は行の折り返しではなく、relative = "floorp/ "(空白のエントリ名)+ 末尾のピリオド。一見意味不明なメッセージになり、原因特定を難しくしている
  3. この DMG を直接配布してインストールに使う場合も、余計な symlink がユーザーの /Applications を(ランタイム実行には無害とはいえ)指し続けることになる

再現手順

  1. https://dev-assets.floorp.app/floorp-runtime-builds/mac-universal-artifacts.zip を取得(2026-09-05 時点、SHA-256: 49ad110436ecc23c7fc09a1de7a79ca40ffaf0522bc09628312a5d6137d0f048
  2. 内部の floorp-macOS-universal-moz-artifact.dmg を展開
  3. hdiutil attach でマウントし、ルート直下を ls -la で確認 → 空白名 symlink -> /Applications が存在する

(旧来の単体配信されていた floorp-macOS-universal-moz-artifact.dmg にも同梱を確認済み。少なくとも 2026-09-05 / 09-06 の両ビルドで再現。)

期待される動作

  • DMG ルートのショートカット symlink は正しい名前(Applications)で作成される
  • または、CI アーティファクト(ランタイム配布用 DMG)にはドラッグ用ショートカットを含めない

環境

  • アーティファクト: mac-universal-artifacts.zip / floorp-macOS-universal-moz-artifact.dmg(macOS universal、Floorp DaylightDebug 155.0 / build 20260905195011)
  • 発見日: 2026-09-06