Enhancement(機能追加・改善) #3887
未完了OpenPNE3に同梱されているsymfonyを1.4.20に更新する
50%
説明
Overview (概要)¶
現在 OpenPNE3 には symfony 1.4.13 (2011/08/05) が同梱されているが、symfony 1.x の最新版は 1.4.20 (2012/11/25) がリリースされているためこのバージョンに更新する。
なお、symfony 1.4.20 には security fix も含まれていたがこれは既に #3265 にて先行して該当する箇所のみ取り込まれている。
symfony 1.x の変更履歴は下記の URL に記載されている。
https://github.com/symfony/symfony1/blob/v1.4.20/CHANGELOG
目立った変化としては ./symfony openpne:version
などの実行時や pc_frontend_dev.php で表示されていた ob_start 関連の警告が修正されている。
$ ./symfony openpne:version PHP Warning: ob_start(): function '' not found or invalid function name in /home/upsilon/git/openpne3/pnejp/lib/vendor/symfony/lib/config/sfApplicationConfiguration.class.php on line 155 Warning: ob_start(): function '' not found or invalid function name in /home/upsilon/git/openpne3/pnejp/lib/vendor/symfony/lib/config/sfApplicationConfiguration.class.php on line 155 PHP Notice: ob_start(): failed to create buffer in /home/upsilon/git/openpne3/pnejp/lib/vendor/symfony/lib/config/sfApplicationConfiguration.class.php on line 155 Notice: ob_start(): failed to create buffer in /home/upsilon/git/openpne3/pnejp/lib/vendor/symfony/lib/config/sfApplicationConfiguration.class.php on line 155 Core versions: OpenPNE 3.8.17 symfony 1.4.13 OpenPNE plugin versions: opAuthMailAddressPlugin 1.3.5 opSkinThemePlugin 1.0.11 opTimelinePlugin 1.2.6 opCommunityTopicPlugin 1.1.2 opDiaryPlugin 1.5.1 opMessagePlugin 2.0.0
Spec (仕様)¶
symfony 1.4.20 は http://symfony.com/legacy からダウンロードできる。
また、過去に symfony のバージョンを更新した時には、symfony に独自に適用していたパッチが巻き戻ってしまう問題 (#2780) が起きている。
更新時に再度適用する必要のあるパッチは ./data/patches
以下に置かれているため、これらを適用し #2408 のバグが再び発生していないことを確認する必要がある。
さらに #2822 で ./lib/vendor/symfony/plugins/sfPropelPlugin
を削除しているため、更新時に sfPropelPlugin が追加された場合には削除する必要がある。
kaoru n さんがほぼ8年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 担当者 を kaoru n にセット
- 進捗率 を 0 から 50 に変更
https://github.com/openpne/OpenPNE3/pull/435
にてプルリクエストを行いました。
レビューをお願いします。
下記手順で更新しました。
1. symfony 1.4.20 に置き換え
$ cd lib/vendor/ $ rm -rf symfony $ cp ~/Downloads/symfony-1.4.20.tgz ./ $ tar zxvf symfony-1.4.20.tgz $ mv symfony-1.4.20 symfony $ rm symfony-1.4.20.tgz $ rm package.xml
2. sfPropelPlugin 削除 ( #2822 )
$ rm -rf lib/vendor/symfony/lib/plugins/sfPropelPlugin
3. ./data/patches 以下のパッチ適用
$ patch -p1 --dry-run < data/patches/t1565.patch patching file lib/vendor/symfony/lib/request/sfWebRequest.class.php Hunk #1 succeeded at 256 (offset 17 lines). Hunk #2 succeeded at 278 (offset 17 lines). $ patch -p1 < data/patches/t1565.patch patching file lib/vendor/symfony/lib/request/sfWebRequest.class.php Hunk #1 succeeded at 256 (offset 17 lines). Hunk #2 succeeded at 278 (offset 17 lines). $ patch -p1 --dry-run < data/patches/t2408.patch patching file lib/vendor/symfony/lib/helper/PartialHelper.php Hunk #1 succeeded at 215 (offset 2 lines). $ patch -p1 < data/patches/t2408.patch patching file lib/vendor/symfony/lib/helper/PartialHelper.php Hunk #1 succeeded at 215 (offset 2 lines). $ patch -p1 --dry-run < data/patches/t3956.patch patching file lib/vendor/symfony/lib/config/sfFactoryConfigHandler.class.php patching file lib/vendor/symfony/lib/response/sfWebResponse.class.php $ patch -p1 < data/patches/t3956.patch patching file lib/vendor/symfony/lib/config/sfFactoryConfigHandler.class.php patching file lib/vendor/symfony/lib/response/sfWebResponse.class.php $ rm lib/vendor/symfony/lib/request/sfWebRequest.class.php.orig
kaoru n さんがほぼ8年前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
symfony 1.4.20 は http://symfony.com/legacy からダウンロードできる。
上記のリンクからアーカイブをダウンロードした場合、lib/vendor/symfony/test が含まれていない。
svn から取得した場合は含まれるので、いったん差し戻してsvnから取得します。
kaoru n さんがほぼ8年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
https://github.com/openpne/OpenPNE3/pull/435
更新しました。
レビューをお願いします。
下記手順で更新しました。
1. symfony 1.4.20 に置き換え
$ cd lib/vendor/ $ rm -rf symfony $ svn checkout http://svn.symfony-project.com/tags/RELEASE_1_4_20/ symfony $ cd ../../ $ cp /var/www/work/jobeet/symfony ./ $ rm -rf lib/vendor/symfony/.svn/ lib/vendor/symfony/lib/event_dispatcher/.svn/ lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/i18n/.svn/ lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/.svn/ lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/web/.svn/ lib/vendor/symfony/lib/vendor/lime/.svn/ lib/vendor/symfony/lib/yaml/.svn/
2. sfPropelPlugin 削除 ( #2822 )
$ rm -rf lib/vendor/symfony/lib/plugins/sfPropelPlugin
3. ./data/patches 以下のパッチ適用
$ patch -p1 --dry-run < data/patches/t1565.patch patching file lib/vendor/symfony/lib/request/sfWebRequest.class.php Hunk #1 succeeded at 256 (offset 17 lines). Hunk #2 succeeded at 278 (offset 17 lines). $ patch -p1 < data/patches/t1565.patch patching file lib/vendor/symfony/lib/request/sfWebRequest.class.php Hunk #1 succeeded at 256 (offset 17 lines). Hunk #2 succeeded at 278 (offset 17 lines). $ patch -p1 --dry-run < data/patches/t2408.patch patching file lib/vendor/symfony/lib/helper/PartialHelper.php Hunk #1 succeeded at 215 (offset 2 lines). $ patch -p1 < data/patches/t2408.patch patching file lib/vendor/symfony/lib/helper/PartialHelper.php Hunk #1 succeeded at 215 (offset 2 lines). $ patch -p1 --dry-run < data/patches/t3956.patch patching file lib/vendor/symfony/lib/config/sfFactoryConfigHandler.class.php patching file lib/vendor/symfony/lib/response/sfWebResponse.class.php $ patch -p1 < data/patches/t3956.patch patching file lib/vendor/symfony/lib/config/sfFactoryConfigHandler.class.php patching file lib/vendor/symfony/lib/response/sfWebResponse.class.php $ rm lib/vendor/symfony/lib/helper/PartialHelper.php.orig lib/vendor/symfony/lib/request/sfWebRequest.class.php.orig