Ubuntu 12.04 の shotwell で flickr に公開できなくなった時の対処法

昨日久々に月を撮って shotwell からアップロードしようとしたら「http://api.flickr.com/services/rest が Forbidden」的なエラーが出てログインも何もできなくなってました。

もしやと思ってぐぐったら、FlickrAPI が 6/27 移行 HTTPS のみになってて、そのせいみたい。

Ubuntu の launchpad にも報告が上がってて、Ubuntu 14.04 用には修正版が昨日リリースされたのだけど 12.04 の方はまだ出てません。

というわけでとりあえず対処法。

  • 適当なワークディレクトリを作ってその下へ cd
  • apt-get source shotwell
  • cd shotwell-0.12.3
  • plugins/shotwell-publishing/FlickrPublishing.vala の "http:" ってなってるところを "https:" に書き換え。
    • https://api.flickr.com/services/rest
    • https://www.flickr.com/services/oauth/authorize?oauth_token=
    • https://www.flickr.com/services/oauth/request_token
    • https://www.flickr.com/services/oauth/access_token
    • https://api.flickr.com/services/upload
  • ./configure
  • make
    • No package 'gee-1.0' found とかいっぱい出てきてエラーになるのでがんばってそれっぽい dev パッケージを sudo apt-get install する。。。
    • がんばったらビルドできた。
  • /usr/lib/shotwell/plugins/builtin/shotwell-publishing.so をビルドしてできた plugins/shotwell-publishing/shotwell-publishing.so に差し替える。

これでアップロードできるようになりました。

ちなみにうちの環境では以下の dev パッケージをインストールしたらビルド通りました。

libgtk-3-dev
libexif-dev
libwebkitgtk-3-dev
libsqlite3-dev
libgee-dev
libgexiv2-dev
libgstreamer0.10-dev
libunique-3.0-dev
libgstreamer-plugins-base0.10-dev
libgudev-1.0-dev
libgphoto2-2-dev
liblaunchpad-integration-3.0-dev
libraw-dev
valac-0.16
librest-dev

エラーに出てくるパッケージの名前と Ubuntu のパッケージの名前が一致しないので、それっぽい名前のライブラリを試行錯誤して探してなんとかしたけど、こういうのってみんなどうしてるんでしょ?