FrontISTR_manual submodule と、機能していないマニュアル向けファイルの整理
概要
doc/FrontISTR_manual submodule と、マニュアル向けに用意されたまま機能していないファイル・CI定義が残っている。あわせて、GitLab Pages のリダイレクト定義が全体としてパース不能になっており、定義済みリダイレクトが1件も機能していない。
1. 使われない submodule の残存
FrontISTR は 2019年まで、submodule doc/FrontISTR_manual の Markdown ソースを CI 内で mkdocs ビルドし、public/manual_ja / public/manual_en として自身の GitLab Pages に載せていた。
しかしマニュアルの管理は FrontISTR_manual リポジトリへ移行し、コミット 9ee22e4e "Add manual redirect."(2020-11-13)で CI からマニュアルビルドが削除された。以降、submodule を参照する経路は存在しない。
doc/CICD/manual.md にも「ドキュメント管理について FrontISTR_manual リポジトリへ移行し FrontISTR リポジトリでは何も行わないようになったため、形骸化している」と記載されている。
現在は以下の負担のみが残っている。
git clone --recursiveで不要なリポジトリを取得する- マニュアルと無関係な作業で submodule ポインタが意図せず更新される(例: cdee2793 "Extract subroutine fstr_Newton_dynamic_contactSLag")
- マニュアルビルド用の
doc/create_docs.shとdoc/requirements.txtが、呼び出し元を失ったまま残存している
2. 到達不能なマニュアルリンク
GitLab Pages のトップページ public/index.html は User Manual (English) / User Manual (Japanese) へのリンクを掲げているが、実体は存在せず 404 を返す。
https://pages.frontistr.com/doxygen/index.html 200
https://pages.frontistr.com/manual_ja/index.html 404
https://frontistr-commons.gitlab.io/FrontISTR/manual_ja/index.html 404これらは doc/_redirects の 301 ルール(145件)で FrontISTR_manual 側へ転送する設計だったが、機能していない。
3. _redirects 全体がパース不能
GitLab Pages の診断エンドポイントは次を返す。
$ curl https://pages.frontistr.com/_redirects
parse error: failed to parse _redirects file原因は pages ジョブが追記する次の行にある。
- echo /FrontISTR/release/ubuntu/hybrid/FrontISTR-5.4.0-Linux.deb /FrontISTR/$(find . -name "FrontISTR_*.deb") 301 >> _redirects.deb ジョブはパッケージ名を FrontISTR$([ $TYPE != "hybrid" ] && echo "-$TYPE") と決めるため、FrontISTR_*.deb に一致するのは hybrid 構成のみで、ubuntu2204 と ubuntu2404 の 2 ファイルが存在する。
https://pages.frontistr.com/release/deb/FrontISTR_master-0+ubuntu2204_amd64.deb 200
https://pages.frontistr.com/release/deb/FrontISTR_master-0+ubuntu2404_amd64.deb 200したがって $(find ...) が 2 パスに展開され、1 行が 4 フィールドとなってファイル全体がパース不能になる。この 1 行の不備により、無関係な 145 件のマニュアルリダイレクトと Windows 向け zip リダイレクト 2 件までが道連れで無効化されている。
期待する状態
- submodule と、参照元を失ったマニュアルビルド用ファイルが削除されている
- 404 を返すリンクとリダイレクト定義が整理されている
_redirectsがパース可能になり、Windows 向け zip のリダイレクトが本来の意図どおり機能する
なお、ユーザーマニュアルは FrontISTR_manual プロジェクト自身の GitLab Pages(カスタムドメイン https://manual.frontistr.com/ )で公開されており、FrontISTR リポジトリ側に公開設定は存在しない。上記の整理はマニュアルの公開に影響しない。