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 リポジトリ側に公開設定は存在しない。上記の整理はマニュアルの公開に影響しない。