概要
- 最終目標:「日本語環境セットアップヘルパ」を「ソフトウェアセンターの一要素」に統合する。
- マイルストーン
- 今のところ以下の「その1」レベル
- その1:ソフトウェアセンターに「日本語環境」というカテゴリ(カタログ)を追加する。
- その2:ソフトウェアセンター(+ラッパ等)にセットアップヘルパの全機能を移植する。
- その3:セットアップヘルパを撤廃する。
Go/NoGo Checklist
マイルストーンその1:ソフトウェアセンターへのセットアップヘルパ相当機能の追加
- [Go] ソフトウェアセンターへのカタログ追加(セットアップヘルパと同じsuggestionを提供)
- 前提:特になし
マイルストーンその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を(オリジナルのファイルと重複しないように)与える必要がある?
- 以下は、bzr先端の新デザインに、「日本語環境」用のファイルを追加したスクリーンショット。
- メニューをクリックすると、直接日本語環境カテゴリが表示される
実装案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/以下にもコピーされる。
- apt-lineが書かれた.listファイルを配置することで、ソフトウェアセンター左側ペインにソースとして表示することができる。
- /usr/share/app-install/icons/
- アイコンを置くことで、画面表示用のアイコンを追加できる。
- /usr/share/app-install/menus.d/以下にXMLファイルを配置することで、起動時に表示されるカテゴリ一覧に項目を追加できる。
実装案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(ないしその相当品)をラッパ経由で起動し、ラッパで処理させれば移行処理は実装可能。
- ただし、apt-lineのディストリビューション名(例:karmic)の項目は書き換えた上で無効化
- ユーザの操作を待つことなく確実に更新させるためには、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ソフトウェアセンター」
- セットアップヘルパは「システム→システム管理→日本語環境セットアップヘルパ」
セットアップヘルパ比で操作がわかりにくい
- セットアップヘルパは起動するだけ。
- ソフトウェアセンターを起動し、トップページのカテゴリメニューの中から「日本語環境」を選ばないとカタログにたどり着けない。