概要

  • 最終目標:「日本語環境セットアップヘルパ」を「ソフトウェアセンターの一要素」に統合する。
  • マイルストーン
    • 今のところ以下の「その1」レベル
    • その1:ソフトウェアセンターに「日本語環境」というカテゴリ(カタログ)を追加する。
    • その2:ソフトウェアセンター(+ラッパ等)にセットアップヘルパの全機能を移植する。
    • その3:セットアップヘルパを撤廃する。

Go/NoGo Checklist

マイルストーンその1:ソフトウェアセンターへのセットアップヘルパ相当機能の追加

マイルストーンその2:セットアップヘルパの全機能の移植

  • [ ] ソフトウェアセンターが提供していたAPTソースファイルのアップデート機能を提供
  • [ ] システム→システム管理→日本語環境セットアップヘルパからの起動
  • [ ] universe・multiverseリポジトリの有効化を提案するダイアログ

マイルストーンその3:セットアップヘルパの撤廃(ソフトウェアセンターへの完全移行)

  • [ ] 前提:セットアップヘルパの全機能を何らかの方法で代替
    • -> 現状ではソフトウェアセンターの機能不足により、妥当なUIが提供できない恐れがある

    • すでにUI Freezeされているので、Lでは厳しそう?(L+1かL+2?)
  • [ ] 前提:移行に伴うドキュメント
  • [ ] 前提:メニュー項目の違いを埋める何かを準備する

現状

Ubuntu 9.10(Karmic)時点での日本語環境セットアップヘルパの機能

セットアップヘルパは以下の2つの機能を持つ。

「おすすめパッケージの表示」

  • 日本/日本語環境でUbuntuを使用する上で必要/役に立つパッケージを表示し、(Synapticより)簡単にインストールできる

「Japanese Teamリポジトリのapt-lineの更新」

  • Ubuntuのアップグレード後にJapanese Teamのリポジトリのapt-lineを更新した上で、sudo apt-get update相当の動作を自動実行する。

参考:セットアップヘルパの現状の制約

  • 「おすすめパッケージの表示」の制約
    • 特になし?
  • 「Japanese Teamリポジトリのapt-lineの更新」の制約
    • 複数バージョンを「またぐ」更新はできない。
      • Ubuntuのアップグレードの間にはセットアップヘルパを一度起動しなければならないため、8.10 - 9.04 - 9.10 と続けてアップグレードする場合、9.04の時点でセットアップヘルパを一度起動してセットアップヘルパ自体を更新しておかないと、9.10に対応できない。
    • LTS Upgradeに対応しているが、8.04から10.04へのアップグレードには修正が必要。
  • 全体
    • Zenityベースなのでメンテナンスが非効率的。
    • 基本的にそろそろ捨てたい。

ソフトウェアセンターへのカタログ追加

デザインイメージ

  • カテゴリの追加
    • 以下は、bzr先端の新デザインに、「日本語環境」用のファイルを追加したスクリーンショット。
      • ソフトウェアセンター起動時

      • カテゴリの1つとして「日本語環境」を追加する
      • 「Featured」と同じ表示にしたいが、現状では困難。
        • 「日本語環境」は「Featured」(/usr/share/app-install/menu.d/featured.menu)と同じ追加メニューだが、Featuredだけは特別な扱いになっていて(data/templates/CategoriesView.html)、同じように処理させるにはパッケージに含まれるこのファイルを修正する必要がある。
        • 要調査:この項目名は日本語を食わないので、外部からpotを(オリジナルのファイルと重複しないように)与える必要がある?
      • 日本語環境カテゴリ表示時

  • メニューの追加

実装案1

ソフトウェアセンターの追加カタログとして導入する。

  • app-install-data-partnerなどと同様の形が妥当(パッケージ名の候補: app-install-data-ubuntujp)

$ dpkg -L app-install-data-partner
/.
/usr
/usr/share
/usr/share/app-install
/usr/share/app-install/desktop
/usr/share/app-install/desktop/acroread.desktop
/usr/share/app-install/desktop/flash10.desktop
/usr/share/app-install/channels
/usr/share/app-install/channels/lucid-partner.list
/usr/share/app-install/channels/lucid-partner.eula
/usr/share/app-install/icons
/usr/share/app-install/icons/acroread.png
/usr/share/app-install/icons/flash.png
/usr/share/doc
/usr/share/doc/app-install-data-partner
/usr/share/doc/app-install-data-partner/copyright
/usr/share/doc/app-install-data-partner/changelog.gz

各ディレクトリ以下のファイルの意味:

  • see ソースのsoftware-center-<version>/README

    • /usr/share/app-install/menus.d/以下にXMLファイルを配置することで、起動時に表示されるカテゴリ一覧に項目を追加できる。
      • セットアップヘルパの代わりにするためには役に立たない情報:以下の区別でフィルタも書ける
        • SCType - e.g. "Applicatin"
          SCChannel - e.g. "lucid-partner"
          SCSection - e.g. "net"
          SCPkgname - e.g. "gimp"
    • /usr/share/app-install/desktop/
      • .desktopを配置することでアプリケーションの詳細データを追加できる。Ubuntu純正のソフトウェアは暗黙でパースされるので不要。
    • /usr/share/app-install/channels/
      • apt-lineが書かれた.listファイルを配置することで、ソフトウェアセンター左側ペインにソースとして表示することができる。
        • ただし、このソース表示はユーザーがツリー表示の + をクリックして、手動で展開した場合に限る。
        • ユーザがチャンネルを有効にした場合、この.listファイルは/etc/apt/souces.list.d/以下にもコピーされる。
    • /usr/share/app-install/icons/
      • アイコンを置くことで、画面表示用のアイコンを追加できる。

実装案2

software-centerの起動ファイルをブランチして、セットアップヘルパ用動作モードとdata/ディレクトリを作る。 その上でdata/templates/CategoriesView.htmlを修正する。

--- software-center     2010-03-09 23:54:18.223206000 +0900
+++ setup-helper-ja     2010-03-10 00:54:41.669657290 +0900
@@ -67,12 +67,12 @@
     #logging.basicConfig(level=logging.DEBUG)
     logging.basicConfig(level=logging.INFO)
 
-    if os.path.exists("./data/ui/SoftwareCenter.ui"):
+    if os.path.exists("./data-jp/ui/SoftwareCenter.ui"):
         logging.info("Using data (UI, xapian) from current dir")
         datadir = "./data"
         xapian_base_path = datadir
     else:
-        datadir = "/usr/share/software-center/"
+        datadir = "/usr/share/setup-helper-ja/"
         xapian_base_path = XAPIAN_BASE_PATH
     
     from softwarecenter.app import SoftwareCenterApp

--- data/templates/CategoriesView.html  2010-03-10 01:28:34.380129000 +0900
+++ data-jp/templates/CategoriesView.html       2010-03-10 00:50:02.890032132 +0900
@@ -16,7 +16,7 @@
   }
   function addCategory(name, untranslated_name, img) {
     // handled featured apps special
-    if (untranslated_name == "Featured Applications") {
+    if (untranslated_name == "Japanese") {
       addFeaturedCategory(name);
       return;
     }

セットアップヘルパの全機能の移植

現状の問題点

「Japanese Teamリポジトリのapt-lineの更新」機能が提供できない

  • update-managerはアップグレード時にサードパーティのリポジトリを無効化する
    • ただし、apt-lineのディストリビューション名(例:karmic)の項目は書き換えた上で無効化
      • ユーザはsoftware-properties-gtkを開いて、チェックを入れるだけ
      • ただし、Japanese Teamのnon-freeリポジトリは、"karmic-non-free"となっているので、書き換えてくれない
    • リポジトリが登録されていなくても、/usr/share/app-install/channels/にchannelとしてapt-lineを登録しておけば、ソフトウェアセンター内から有効にできる
      • そのためには、アップグレード後のソフトウェアセンターでもapp-install-data-ubuntujpが機能しなくてはいけない(ソフトウェアセンターの仕様変更に対応できない)
      • app-install-data-ubuntu-jpをサードパーティのリポジトリではなく、Ubuntuのリポジトリ(universe)から提供すれば、仕様変更にも対応可能
    • software-center(ないしその相当品)をラッパ経由で起動し、ラッパで処理させれば移行処理は実装可能。
  • ユーザの操作を待つことなく確実に更新させるためには、Google Chromeパッケージが採用しているようなcronによる処理が必要

パッケージ名、パッケージの説明が英語のままになる

  • ddtp-ubuntuに各パッケージの翻訳を反映させる、もしくは新規翻訳
  • free, non-freeの区別がついていない
    • 左ペインの「ソフトウェアの取得」を詳細表示させた状態の、リポジトリ毎の名称で区別をつけられる
      • 現状では、「PPA for Ubuntu Japanese Team」、「Ubuntu-ja」という名称なので、「Ubuntu Japanese Team main」、「Ubuntu Japanese Team non-free」などと統一性を持たせた名前にするのはどうか
    • ソフトウェアセンターでは「Canonicalがメンテナンスしているかどうか」の区別はつくが、free,non-freeの区別はつかない
      • app-install-dataにはセクションの項目があるので、将来的には対応?

起動のための操作が異なる

  • ソフトウェアセンターは「アプリケーション→Ubuntuソフトウェアセンター」
  • セットアップヘルパは「システム→システム管理→日本語環境セットアップヘルパ」

セットアップヘルパ比で操作がわかりにくい

  • セットアップヘルパは起動するだけ。
  • ソフトウェアセンターを起動し、トップページのカテゴリメニューの中から「日本語環境」を選ばないとカタログにたどり着けない。

UbuntuJapaneseWiki: Develop/Lucid/IntegrateSetupHelperIntoSoftwareCenter (最終更新日時 2012-01-10 11:49:11 更新者 匿名)