On Tue, Jun 14, 2022 at 6:59 AM IIJIMA Hiromitsu <delmo****@denno*****> wrote: > > いいじまです。 > > > 白方です。取り急ぎ。 > > > > > | ===== git pull ===== > > > | error: insufficient permission for adding an object to repository database .git/objects > > > | fatal: failed to write object > > > | fatal: unpack-objects failed > > > > > > matsuandさん名義の一部フォルダが原因のようです。 > > > > これについては .jm.git ディレクトリを全部作り直す方が > > 確実だと思うので一旦そのように対処しました。 > > そうですね。ただ今後のこともあるので、どこかのタイミングで手作業で > 1) matsuandさんのアカウントで jm.git.old/.git/objects フォルダに入り、chmod g+w * > 2) 誰か別の人のアカウントで ( umask 002 ; git pull ) > 3) しばらく置いてリポジトリの更新を待ってから、2) とは別の人のアカウントで再度 ( umask 002 ; git pull ) > という確認をしておきたいところです。 > > ☆ ☆ ☆ > > > # python 関係のエラーも出ているので後で確認します。 > > ざっと見た限りでは、jm.git/guide/build-jm-guide.sh の中で次のような処理が行われているようです。 > > 1) GitHubから get-pip.py というファイルをダウンロードする。 > 2) その get-pip.py を使って、pip(Pythonのパッケージインストーラー)をインストールする。 > 3) 仮想環境を作って、その内側で sphinx をインストールする > 4) その sphinx を使い、Makefile に従ってドキュメントをビルドする Sphinx ベースのドキュメントを導入したのは私です。 shell.osdn.net に virtualenv さえも入っていなかったので苦肉の策で行った感じです。 実装したのは 2016年。python2 がまだ一般的に使われていた頃だった、 shell.osdn.net の python3 は python3.4 が最後でまともに使えるものがない、 という点を踏まえて見る必要があります。 > > ☆ ☆ ☆ > > ところが実際には、次のような状況になっています。 > > 1) ここに書かれている get-pip.py の URL はリンク切れ。 > それにそもそも、今の Pythpn には pip が標準でついてくるので、わざわざインストールし直す必要はない。 python2 前提の話なので、python3 を使うなら不要ですね。 なお、python2.7 用の get-pip.py は以下の URL に移動して残されています。 https://bootstrap.pypa.io/pip/2.7/get-pip.py > 2) pip のインストール先として $HOME/.local、つまり cron 実行者の個人領域が指定されている。 これは shell.osdn.net で --user オプション付きで pip をインストール しようとしたときに、$HOME/.local を使うことになっていたので、 変更できなかっただけです。 python2.7 で virtualenv を使いたかっただけなので、仕方なくこうなりました。 良い方法があれば置き換えるのがいいと思います。 > 3) Sphinx の最新版には Python 3.6 以上が必要。 > https://www.sphinx-doc.org/ja/master/usage/installation.html > ところが、OSDN のシェルサーバに入っている Python3 の最新版は 3.4。 python 2.7 環境であれば、 pip install sphinx では Sphinx 1.8.6 がインストールされて動作します。 なので、 shell.osdn.net でも環境を再構築するのは簡単です。 > 4) ドキュメントのビルド自体は正しく行われている。 > > ex) ローカルに持っている pip は Python 2.6 用のパッケージを操作する設定になっているが、既に Python 2.6 のサポートは打ち切られている。pip による sphinx の更新も成功していない。 $JMHOME/venv の python 2.6 になっている理由は思い出せません。 > > ☆ ☆ ☆ > > というわけで当座、「手持ちの sphinx は更新せず、今あるバージョンで凍結する」という対応をしておいたほうがよさそうです。 そのままにしておくのでよいと思います。 python2.7 ベースで Sphinx を使えるのは確認済みなので、 必要なら python2.7 ベースでもよければ環境の作り直しもすぐできます。 > おいおい、仮想環境($jmhome/venv/)の中身についても調べてみます。 ここに調べるような中身は入っていないです。 $JMHOME/venv/bin/pip freeze したら何が入っているかを確認できるくらいです。 あとは $JMHOME/venv/bin/python --version するくらいですかね。