Bug(バグ) #2361
完了バージョンアップマニュアルのプラグインをコピーする手順に不備がある
100%
説明
Overview (現象)¶
OpenPNEに同梱されている バージョンアップドキュメント のplugins ディレクトリの中身をコピーする手順で、不要なオプションや間違ったワイルドカードが記述され想定通りコピーすることが出来ない。
再現バージョン¶
- OpenPNE3.0.x
- OpenPNE3.4.x
- OpenPNE3.6.x
再現手順¶
バージョンアップドキュメント の44〜45行目あたりを確認する
Way to fix (修正内容)¶
$ cp -aur /path/to/old/OpenPNE3/plugins/* /path/to/new/OpenPNE3/plugins $ cp -aur /path/to/old/OpenPNE3/plugins/.* /path/to/new/OpenPNE3/plugins
の部分を
$ cp -an /path/tp/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins
にする
-a(--archive)オプションは、コピー先で、できる限り元のファイルの構成と属性を保持する オプションである(ディレクトリ構造体は保存しない)。 -dpR と同じといえるため手順にある-rオプションは省略することができると考えられる。
コピー元の指定についても「.」のみを記述することでpluginsディレクトリ内の全てをコピー出来る。(Mac OS X 10.6.8ではそうなることを確認済み )
BSD系では-uのような「更新日付」を考慮したコマンドオプションが存在しないため、Linux系およびBSD系で共通で使用できる-nオプションを用いる手順に記述を変更する.-nは上書き保存を行わないというコマンドオプションになる.
報告元¶
http://sns.openpne.jp/communityTopic/7477 より転記
今回、3.4.14.1から3.4.15へバージョンアップを試みたところ、 次のような症状が発生しました。 プラグインのバージョン管理が理解できない上で大変申し訳ございませんが、 何か手がかりがあれば教えて頂ければと存じます。 ・症状 OpenPNE 3.4.14.1からOpenPNE3.4.15へバージョンアップした後で、 管理画面→「アプリケーションプラグイン設定」の「バージョン」が 表示されなくなった。 ※3.4.14.1の環境は、基本的にほぼデフォルト。 opCommunityTopicPlugin(1.0.1.1)、opPopMailPlugin,opPointPluginは手動でセット。 =3.4.14.1に戻したときの環境(使用しているもののみ)= (プラグイン名)(バージョン) opDiaryPlugin 1.2.0.1 opAshiatoPlugin 0.9.0.1 opCommunityTopicPlugin (表示されていません) opAlbumPlugin 0.9.3.1 opMessagePlugin 0.9.1.1 opPopMailPlugin 0.9.2 opBlogPlugin 0.9.0 opPointPlugin(表示されていません) ・運用環境 coreserver-mini ・使用ソフトのバージョン [PHP5.2.5 MySQL5.1.22] •バージョンアップ方法 基本的に、 https://raw.github.com/openpne/OpenPNE3/OpenPNE-3.4.15/do... の内容に準じて行っております。 なお、同じ方法で、3.4.13から3.4.14.1へのバージョンアップは行えました。 ただ、 「プラグインディレクトリのコピー」の項目で、 cp -aur /path/to/old/OpenPNE3/plugins/.* /path/to/new/OpenPNE3/plugins は次のようなエラーが発生しました。 $ cp -aur ./openpne/plugins/.* ./openpne3415/plugins cp: will not create hard link `./openpne3415/plugins/plugins' to directory `./openpne3415/plugins/.' cp: will not create hard link `./openpne3415/plugins/.channels' to directory `./openpne3415/plugins/./.channels' cp: will not create hard link `./openpne3415/plugins/.registry' to directory `./openpne3415/plugins/./.registry' 結局、無視して続けております。 (フルパスで挑戦してみましたが、同じエラーが出ています。 一つ上の階層の内容がpluginsフォルダに全て入っている感じで、気持ち悪いのです。。。)
pnetan さんが約13年前に更新
「バージョンアップで管理画面のプラグインバージョンが見えなくなる」問題についてコメントが付いていましたので、転記します。¶
>pnetan 様 ありがとうございます。 先ほど、自己解決してしまいましたので、ご報告いたします。 $ cp -aur ./openpne/plugins/.* ./openpne3415/plugins の所があやしいと考えられたので、 $ cp -aur ./openpne/plugins/.c* ./openpne3415/plugins $ cp -aur ./openpne/plugins/.d* ./openpne3415/plugins $ cp -aur ./openpne/plugins/.f* ./openpne3415/plugin $ cp -aur ./openpne/plugins/.l* ./openpne3415/plugin $ cp -aur ./openpne/plugins/.r* ./openpne3415/plugin のように変更して実行しました。 (うまく正規表現が使えないのでこうしたのですが、単純に、 .channels, .depdb, .depdblock, .filemap, .locl, .registry が欲しかっただけのように見受けられたので、そのように実行しました。) そのままインストールを続けた結果、正常に動作しました。 わざわざ、チケット化して頂いたのに、申し訳ありません。 ちなみに、 環境のせいかもしれませんが、私の環境では、.*でcpしようとすると、 ..も認識してしまい、一つ上のフォルダをcpしていました。 そのために、エラーが出ているように見受けられます。
Mutsumi Imamura さんが約13年前に更新
- 題名 を マニュアル通りにバージョンアップ後、プラグインのバージョンが表示できないので、ドキュメントの記述を修正する から バージョンアップマニュアルのプラグインをコピーする手順に不備がある に変更
- 説明 を更新 (差分)
- ステータス を New(新規) から Accepted(着手) に変更
Fumie Toyooka さんが約13年前に更新
OpenPNE3_Version_Up_Guide.txt の
プラグインディレクトリのコピー ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 古いバージョンの plugins ディレクトリの中身をコピーします。 :: $ cp -aur /path/to/old/OpenPNE3/plugins/* /path/to/new/OpenPNE3/plugins $ cp -aur /path/to/old/OpenPNE3/plugins/.* /path/to/new/OpenPNE3/plugins モデルの再構築 --------------
↓↓↓↓↓↓↓↓↓↓ 以下のように修正 ↓↓↓↓↓↓↓↓↓↓
プラグインディレクトリのコピー ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 古いバージョンの plugins ディレクトリの中身をコピーします。 :: $ cp -au /path/tp/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins モデルの再構築 --------------
以上でよろしいでしょうか?
ご確認よろしくお願いいたします。
Mutsumi Imamura さんが約13年前に更新
http://redmine.openpne.jp/issues/2361#note-11 の修正方針で問題ありません。
Yuya Watanabe さんが約13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Kousuke Ebihara さんが約13年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Yuya Watanabe さんが約13年前に更新
- ステータス を Pending Testing(テスト待ち) から Rejected(差し戻し) に変更
- 進捗率 を 70 から 50 に変更
note-15のコミットでは以下のようになっていますが,この/path/tp/oldという部分が英語であるとするならば/path/to/oldとするのが適切ではないかと思いましたので差し戻しします./path/tp/oldというのが意図通りの記述であるならば本コメントを無視してステータスをテスト待ちにしてください.
$ cp -au /path/tp/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins
Fumie Toyooka さんが約13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
(fixes #2361) fixed commands copying plugin directory in OpenPNE3_Version_Up_Guide.txt.
https://github.com/openpne/OpenPNE3/pull/17
修正いたしました.
Kousuke Ebihara さんが約13年前に更新
修正がおこなわれているコミットは https://github.com/fumicos/OpenPNE3/commit/86c92283f222b1968e8f8bb61d4227b6868eac3d です。
Yuya Watanabe さんが約13年前に更新
note-19の修正コミットはこちらのようです.
https://github.com/fumicos/OpenPNE3/commit/c32ff9a65912e2819e9af2d642b4c24a73ea6019
Kousuke Ebihara さんが約13年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Mutsumi Imamura さんが約13年前に更新
- ステータス を Pending Testing(テスト待ち) から Rejected(差し戻し) に変更
- 進捗率 を 70 から 50 に変更
Mac OSX では cpコマンドに -uオプションがないため、cp出来ません。
-u は同名ファイルは最終更新日付を比較して古いときのみ上書きするオプションのようです。
参考リンク → http://www.k-tanaka.net/unix/cp.html
Yuya Watanabe さんが約13年前に更新
BSD系では-uのような「更新日付」を考慮したコマンドオプションが存在しないため,Linux系およびBSD系で共通で使用できる-nオプションを用いる手順に記述を変更します.-nは上書き保存を行わないというコマンドオプションになります.
参考:
GNU https://www.gnu.org/s/coreutils/manual/html_node/cp-invocation.html
FreeBSD http://www.freebsd.org/cgi/man.cgi?query=cp&sektion=1&apropos=0&manpath=FreeBSD+8.2-RELEASE
MacOSX https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/cp.1.html
wa ta さんが約13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
更新履歴 d80f4388c39b9fc604ce956fbdd24c5c760df0e8 で適用されました。
Kousuke Ebihara さんが約13年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Fumie Toyooka さんが約13年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テスト無事完了しました。