星期三, 9月 25, 2013

gedit-git-plugin 二三事

同事都用 gedit ,只有我是用 vim。vim 有個 vim-gitgutter 的 plugin,可以直接顯示你目前的 code 跟 git repository 裡的 code 之間的差異點,用 ]h 或 [h 就可以快速搜尋,我想 gedit 應該也有。找了一下,就找到這個 gedit-git-plugin
安 裝這個 plugin 相當簡單,依照說明去做,很快就可以裝好,但是安裝他背後所依賴的 library 就稍嫌麻煩了。他所需要的 library 有 libgit2, libgit2-glib。libgit2 有人已經包好在 ppa,只要 sudo add-apt-repository ppa:pressureman/ppa 再 sudo apt-get update && sudo apt-get install libgit2 即可。libgit2-glib 沒有人包,只能自己包,於是就又重練了一次打包 debian packages,真的太久沒包會忘記。大致列一下步驟,下次可以快速的回憶起來。
  1. 用 git 把 libgit2-glib clone 下來,輸入指令壓縮為 tarball:git archive --prefix=libgit2-glib-0.0.6/ --format=tar master | gzip > ../libgit2-glib-0.0.6.tar.gz
  2. 到上一層目錄之後,解壓縮,照理會解開到 libgit2-glib-0.0.6 ,接著切到該目錄下。
  3. 用 dh_make -f ../libgit2-glib-0.0.6.tar.gz 產生 debian 目錄。
  4. 修改 debian/control:這裡要修改的重點有 Depends、Homepage、Description、Package name
  5. 修改 debian/changelog:這邊就是加上變更的說明,調整名稱等等的,如果要上傳到 ppa,那個 unstable 要改為 ubuntu 欽定的名稱,像是 precise、raring 等等的。記得有 dch 指令可以做編修,用編輯器是比較快。
  6. 修改 debian/rules:內容出乎意料的簡單,在修改時,則是用 override_ prefix 去修你想調整的 target。例如:想改安裝地點,就用
    override_dh_install:
        $(MAKE) DESTDIR=$(PWD)/debian/tmp install
    想調整 configure,就用
    override_dh_auto_configure:
        dh_auto_configure -- --enable-python=yes
    想忽略自動測試,就用
    override_dh_auto_test-indep:
    這樣子,這也是手冊上建議的作法。
  7. 安裝相關的套件:python-gi-dev、python3.2-dev、libgirepository1.0-dev、libgio2.0-cil-dev、libgit2-dev、gobject-introspection。
  8. 好了就可以用 dpkg-buildpackages -b 來建立 debian package 了。
建立完之後,把該裝的都裝好,發現 gedit plugin 還是不能用,說找不到 python3。
結論是,這是一篇用來回憶打包 debian package 的文。

參考資料:

沒有留言: