[分享] deb 檔自己動手做 - 以 GCIN 為例...

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

文章Tetralet » 週五 3月 25, 2005 11:09 am

caleb 寫:scim 用 GTK_IM_MODULE 要裝那麼多套件...gcin 只要一個...
(scim + scim-tables-zh + scim-gtk2-immodule + scim-server-socket + scim-frontend-socket + scim-config-socket)

Debian 官方的 SCIM 分成好多個小套件,
光看名稱還真猜不出這些小套件的功能是什麼,
在 /usr/share/doc/scim/README.Debian.gz 裡也沒有特別說明...
不知是否有人能夠說明一下?

我記得 scim 的 Debian 官方 Maintainer 是 高原之狼 兄,
不過好久沒有他的消息了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週五 3月 25, 2005 11:49 am

asho 寫:
Tetralet 寫:而老實說,
我是被您的 debian 目錄中的 patch 檔嚇到了,
因為我不清楚 GCIN 為何要如此大量的 patch,
因為個人在編譯 GCIN 的過程中沒遇到什麼問題呀...

many PATH and menus and modify-XIM should be fix to suite Debian

對不起,因為個人對於 debianization 非常好奇,所以可否請阿信兄對此詳加說明呢?

如果指定 GCIN 的 prefix 為 /usr,
那麼整個 GCIN 的目錄結構如下:
(除了 README 這個檔案的位置不太對,以下的 README 是我修改過的)
代碼: 選擇全部
`-- usr
    |-- bin
    |   |-- gcin
    |   |-- gcin-setup
    |   |-- gcin2tab
    |   |-- phoa2d
    |   |-- phod2a
    |   |-- tsa2d
    |   |-- tsd2a
    |   `-- tslearn
    |-- include
    |   `-- gcin-im-client.h
    |-- lib
    |   |-- gtk-2.0
    |   |   `-- immodules
    |   |       `-- im-gcin.so
    |   |-- libgcin-im-client.so
    |   `-- menu
    |       |-- gcin
    |       `-- gcin-setup
    `-- share
        |-- doc
        |   `-- gcin
        |       |-- README
        |       |-- README.Debian
        |       |-- changelog.Debian.gz
        |       |-- changelog.gz
        |       `-- copyright
        |-- gcin
        |   |-- script
        |   |   |-- gcin-user-setup
        |   |   |-- gcin-utf8-setup
        |   |   |-- modify-XIM
        |   |   `-- utf8-edit
        |   `-- table
        |       |-- ar30.gtab
        |       |-- cj.gtab
        |       |-- cj5.gtab
        |       |-- dayi3.gtab
        |       |-- et-asdf.kbm
        |       |-- et.kbm
        |       |-- et26-asdf.kbm
        |       |-- et26.kbm
        |       |-- gtab.list
        |       |-- hsu.kbm
        |       |-- ibm.kbm
        |       |-- jyutping.gtab
        |       |-- pho.tab
        |       |-- phrase.table
        |       |-- pinyin.gtab
        |       |-- symbol-table
        |       |-- tsin
        |       |-- tsin.idx
        |       |-- zo-asdf.kbm
        |       `-- zo.kbm
        `-- icons
            |-- gcin
            |   |-- pin-fixed24.png
            |   `-- pin-float16.png
            `-- gcin.png

可否請教阿信兄,還有什麼檔案的位置不符合 Debian 的規範呢?


而 GCIN 的 Menu 設定的確有些問題,
它自行新增了一個名為 Chinese 的目錄,
並且又是以中文來命名...
這的確有討論的空間。


而除此之外,還有什麼需要 debianization 的地方呢?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章asho » 週五 3月 25, 2005 12:35 pm

Please use lintian to check the deb and also read the debian-policy.

To Tetralet:
It's ok to build the deb your own, but it made me unhappy that just compliant without reviewing the patches. And I don't want to do the same job as maintaining the gcin like you do. I felt worthless in this.

I am happy to co-operate with others, but please send me an E-Mail first to mention you wanna help. I can demo all the modification to you. I think it's polite to msg maintainer before build the different version with the sam software and announce the original maintainer quit.

Please send me E-mail asho[at]debian.org.tw for furthor discussion. Thanks
asho
 

文章Tetralet » 週五 3月 25, 2005 1:02 pm

asho 寫:please send me a mail if you want to be the maintainer. If yes, I will stop maintainning the gcin and look for other interesting projects.

當初會興起自己包 GCIN 的 deb 的念頭,
一來是以為阿信兄從軍去,沒空維護了。
(那時,阿信兄包的 GCIN 的版次確實是落後很遠)
二來也只是因為覺得很有趣。

不過問題來了,
有兩個人來包 GCIN 的 deb 的確是一種沒意義的重覆作業,
再加上個人並沒有任何適用的空間來放這些 deb 檔案,
並且我相信阿信兄所包的 deb 檔案的品質一定在敝人之上,
所以我還是認為,阿信兄會是比較適合的 Maintainer 人選...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週五 3月 25, 2005 1:21 pm

Anonymous 寫:其實用全形輸入標點符號很不方便,因為第一次都要 shift space,
如果是中英夾雜,shift space 就要按來按去,因為用全形輸入英數字太大,看起來很奇怪,所以還是要切回半形。

我覺得,對於倉頡輸入標點符號的問題,可能要放棄死守 26 鍵,
改為 30 鍵,用來輸入全形標點符號,像嘸蝦米& 行列一樣。
因為在中文為主的文章中,用半形的( ,.; )看起來比較奇怪,還是用(,。;)全形的符號比較好。不過,這會引起一些衛道人士的反對。

如果要將倉頡改為 30 鍵,
我想,遭受反彈應該是可以預期的... (笑)

不過,多出來的四個鍵是哪四個呀?

如果,在切換至 [倉頡] 時,
就視同切換至 [倉][全],
(也就是此時所打出來的標點符號及用 <Shift> 打出來的英文字母一定是全形)
要打半形的標點符號,
請切換至 [英文輸入],
不知會不會好一點?

不過以上是我亂亂提議的,
好不好用真的要得實地去操作才能知道了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章訪客 » 週五 3月 25, 2005 1:35 pm

Tetralet 寫:如果要將倉頡改為 30 鍵,
我想,遭受反彈應該是可以預期的... (笑)
不過,多出來的四個鍵是哪四個呀?

如果,在切換至 [倉頡] 時,
就視同切換至 [倉][全],
(也就是此時所打出來的標點符號及用 <Shift> 打出來的英文字母一定是全形)
要打半形的標點符號,
請切換至 [英文輸入],
不知會不會好一點?

不過以上是我亂亂提議的,
好不好用真的要得實地去操作才能知道了...

你可以按 ctrl-alt-8 看看行列的排法
「,」是按 [,]
[.] 是按 [。]

[;/] 也是有 assign

不過 shift+ 還是用來按半形比較多,全形的機會比較少,全形主要是用在倚天中文的時代,現在由於 program 都可以直接控制 font 的大小,比較不需要全形。
訪客
 

文章Tetralet » 週五 3月 25, 2005 1:40 pm

Tetralet 寫:可否請教阿信兄,還有什麼檔案的位置不符合 Debian 的規範呢?

又找到了一個...

GCIN 是將 im-gcin.so 放在 /usr/lib/gtk-2.0/immodules/;
而 Debian 則是統一放在 /usr/lib/gtk-2.0/2.4.0/immodules/ 裡...

看來 debianization 可真不是件簡單的工作...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章rostin » 週五 3月 25, 2005 2:02 pm

感謝Tetralet的無私奉獻
只是我在使用上有一點問題
我下載了gcin_0.8.9-2.tar.gz.zip版
我安裝完後能夠在gnome-terminal、mozilla正常使用
但是在crxvt mlterm下都無法切換到gcin
還有openoffice也無法使用gcin

我的環境是utf8
我的.xsession如下
代碼: 選擇全部
export LC_ALL=zh_TW.UTF8
export LANG=zh_TW.UTF8

export XMODIFIERS="@im=xcin"
exec /usr/bin/gcin &

/usr/bin/xfce-mcs-manager
/usr/bin/xfwm4 --daemon
/usr/bin/xftaskbar4 &
#/usr/bin/xfdesktop &
/usr/bin/rox -p=default
exec /usr/bin/xfce4-panel


locale如下
代碼: 選擇全部
LANG=zh_TW.UTF8
LC_CTYPE="zh_TW.UTF8"
LC_NUMERIC="zh_TW.UTF8"
LC_TIME="zh_TW.UTF8"
LC_COLLATE="zh_TW.UTF8"
LC_MONETARY="zh_TW.UTF8"
LC_MESSAGES="zh_TW.UTF8"
LC_PAPER="zh_TW.UTF8"
LC_NAME="zh_TW.UTF8"
LC_ADDRESS="zh_TW.UTF8"
LC_TELEPHONE="zh_TW.UTF8"
LC_MEASUREMENT="zh_TW.UTF8"
LC_IDENTIFICATION="zh_TW.UTF8"
LC_ALL=zh_TW.UTF8


謝謝
歡迎大家來參觀我的Blog
http://www.rostin.idv.tw/blog/index.php?blogId=2
頭像
rostin
懵懂的國中生
懵懂的國中生
 
文章: 185
註冊時間: 週一 3月 08, 2004 10:31 pm

文章Tetralet » 週五 3月 25, 2005 2:10 pm

不清楚...

但 Locale 應該為 zh_TW.UTF-8;(您少了「 - 」)
而 crxvt-big5 應該在 zh_TW.Big5 的 locale 下執行,
請您修改後再試試看...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章訪客 » 週五 3月 25, 2005 2:34 pm

Tetralet 寫:
Tetralet 寫:可否請教阿信兄,還有什麼檔案的位置不符合 Debian 的規範呢?

又找到了一個...

GCIN 是將 im-gcin.so 放在 /usr/lib/gtk-2.0/immodules/;
而 Debian 則是統一放在 /usr/lib/gtk-2.0/2.4.0/immodules/ 裡...

看來 debianization 可真不是件簡單的工作...


其實放在 /usr/lib/gtk-2.0/immodules 就可以了, gtk-query-immodules-2.0 會自動看這個 path 的,

/usr/lib/gtk-2.0/2.4.0/immodules 就比較麻煩,因為會隨 gtk 的版本而變化,這個 directory 應該是用來放 gtk2 自己的 im .so,不需要自找麻煩。
訪客
 

文章Tetralet » 週五 3月 25, 2005 3:08 pm

Anonymous 寫:
Tetralet 寫:GCIN 是將 im-gcin.so 放在 /usr/lib/gtk-2.0/immodules/;
而 Debian 則是統一放在 /usr/lib/gtk-2.0/2.4.0/immodules/ 裡...

看來 debianization 可真不是件簡單的工作...


其實放在 /usr/lib/gtk-2.0/immodules 就可以了, gtk-query-immodules-2.0 會自動看這個 path 的,

/usr/lib/gtk-2.0/2.4.0/immodules 就比較麻煩,因為會隨 gtk 的版本而變化,這個 directory 應該是用來放 gtk2 自己的 im .so,不需要自找麻煩。

因為 Debian 官方的 libgtk2.0-bin 套件內附一個名為 update-gtk-immodules 的小小 Script,
它是用來更新 /etc/gtk-2.0/gtk.immodules 的,
但它只會尋找位於 /usr/lib/gtk-2.0/2.4.0/immodules/ 下的 *.so 檔案。

而某些套件,像 SCIM,
是呼叫 update-gtk-immodules(而不是 gtk-query-immodules-2.0)來更新 /etc/gtk-2.0/gtk.immodules 的,
所以如果是先安裝 GCIN,再來安裝 SCIM,
在 /etc/gtk-2.0/gtk.immodules 裡將找不到 GCIN 的任何資訊。

所以如果是 Debian 的 GCIN Package,還是將 im-gcin.so 放在 /usr/lib/gtk-2.0/2.4.0/immodules/ 裡,
以避免無謂的麻煩...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章rostin » 週五 3月 25, 2005 3:19 pm

果然是locale的問題
之前都是使用Big5
今天下載後順便更改到UTF-8
.xsession沒有修改好
現在一切都正常了
謝謝Tetralet
歡迎大家來參觀我的Blog
http://www.rostin.idv.tw/blog/index.php?blogId=2
頭像
rostin
懵懂的國中生
懵懂的國中生
 
文章: 185
註冊時間: 週一 3月 08, 2004 10:31 pm

文章訪客 » 週五 3月 25, 2005 4:18 pm

gcin 一個不算是 bug 的問題:

在 /etc/gtk-2.0/gtk.immodules 裡面,
代碼: 選擇全部
"gcin" "gcin Input Method" "gtk20" "/usr/share/locale" "zh:ko:ja"

這樣設定不需要 export GTK_IM_MODULE,
只要 locale 設定為 zh, ko, ja 三者之一,
gcin 就會自動成為 gtk2 預設的 Imput Method

雖然這不算 bug, 不過 scim 的做法是
代碼: 選擇全部
"scim" "SCIM Input Method" "scim" "/usr/share/locale" "*"

這樣 scim 只是選項之一, 而不會直接成為預設輸入法...

就系統預設值來說, 或許 gcin 應該把 "zh:ko:ja" 改為 "*" 或 "",
想用 gcin 的 user 自己再去 export GTK_IM_MODULE
訪客
 

文章caleb » 週五 3月 25, 2005 4:23 pm

啊啊啊~ 訪客當太久了忘記登入, 上一篇是我。
caleb
可愛的小學生
可愛的小學生
 
文章: 15
註冊時間: 週一 3月 21, 2005 4:46 pm

文章caleb » 週五 3月 25, 2005 7:51 pm

Asho 剛剛更新的 gcin 0.8.9-3 有個小問題:
im-gcin.so 放到 /usr/lib/gtk-2.0/2.4 底下去了

請安裝這版的人自行把 im-gcin.so link 到
/usr/lib/gtk-2.0/2.4.0/immodules/ 底下(是 2.4.0 不是 2.4)
然後執行
代碼: 選擇全部
dpkg-reconfigure gcin


如果安裝的是 0.8.9-2 就先不要更新
若有同時安裝 scim 和 gcin 卻發現 gcin 不能用 GTK_IM_MODULE,
也請再執行下列指令一次:
代碼: 選擇全部
dpkg-reconfigure gcin
caleb
可愛的小學生
可愛的小學生
 
文章: 15
註冊時間: 週一 3月 21, 2005 4:46 pm

上一頁下一頁

回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客