2010年10月3日 星期日

BetaRadio v1.1 正式釋出

此版新增的功能是可以透過網路新增播放清單
簡單講就是 list.json 這個網路上的檔案裡面有多少清單就會看到多少清單
另外修正了播放時會斷斷續續的問題

Ubuntu 9.10/10.04/10.10 使用者可以直接使用命令列執行以下步驟
$ sudo add-apt-repository ppa:fourdollars/betaradio
$ sudo apt-get update
$ sudo apt-get install betaradio
來安裝

至於其它的 GNU/Linux 系統就要請諸位大大們幫忙產生安裝套件囉~ <(_ _)>

軟體原始碼下載 betaradio-1.1.tar.bz2 SHA1: 2768cfbb07dbc7d87b6f653645a00037629446ad
編譯時會需要 libgtk2.0-dev libgstreamer0.10-dev libjson-glib-dev libsoup2.4-dev 這些套件
執行時會需要 gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg 這些套件

祝大家玩得開心。:D

2010年9月27日 星期一

Debian Package (6) - 使用 pbuilder - personal package builder 個人 Debian Package 製作工具

目標是編譯在 Ubuntu 10.04 上面使用的 Debian Package

首先是安裝需要的軟體套件還有修正一些小問題
sudo apt-get install pbuilder cowdancer ccache
sudo mkdir -p /var/cache/ccache # To avoid error of "special device /var/cache/ccache does not exist"

然後編輯設定檔 ~/.pbuilderrc 加入
MIRRORSITE=http://tw.archive.ubuntu.com/ubuntu/
COMPONENTS="main restricted universe multiverse"
DISTRIBUTION=lucid
OTHERMIRROR="deb http://tw.archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse"
PDEBUILD_PBUILDER=cowbuilder
BUILDRESULT=~/deb/

接者開始產生一個編譯用的基本環境
sudo cowbuilder --create

然後就可以在原本使用 debuild 編譯 Debian Package 的目錄裡面
改用 pdebuild 來編譯 Debian Package
程式會自動透過網路下載相依的軟體套件然後將 Debian Package 編譯到 ~/deb/ 底下

或是像下面的使用方法
apt-get source --download-only hello
下載 hello_2.4-3.diff.gz hello_2.4-3.dsc hello_2.4.orig.tar.gz 後,再執行
sudo cowbuilder --build hello_2.4-3.dsc
來編譯 Debian Package

參考資料:

2010年9月23日 星期四

StarCraft2 on Ubuntu 10.04



不過目前在 Intel 顯示晶片上面似乎無法使用 Wine 來顯示 3D 圖形
所以遊戲中的 3D 模型的部份都無法顯示出來,也就是無法玩的意思。XD

參考資料:
http://www.thehelper.net/forums/showthread.php?t=147567
https://launchpad.net/~ubuntu-wine/+archive/ppa

2010年8月16日 星期一

COSCUP 2010 投影片

首先是第一天晚上的 Ubuntu BoF
第二天上午的 Introducing GStreamer
第二天下午的 Debian Policy 中的 5.6.12 小節的 Version

2010年6月26日 星期六

BetaRadio v1.0 網路廣播點播器 正式釋出

BetaRadio 因為 hichannel 網頁不斷地改版,最後碰到了 libmms 這個函式庫的一個 bug 所以專案就一直呈現死掉的狀態;不過最近終於有時間能夠找出 libmms 的 bug 並且修正,所以才能夠再次地讓這個純 C 語言寫出來的網路廣播點播器復活。

Source code tarball 可以在 http://code.google.com/p/betaradio/downloads/list 下載
相依一個特別的函式庫 json-cat 可以在 http://github.com/fourdollars/json-cat/downloads 下載 Source code tarball

另外就是特別為 Ubuntu 10.04 使用者準備好一個 PPA 可以馬上裝起來就可以使用了。

GUI 安裝方式 [系統]->[管理]->[軟體來源] 裡面的 [其它軟體] 點擊 [加入] 後輸入
ppa:fourdollars/lucid
然後關閉 [軟體來源] 選擇 [重新載入] 
再打開 [系統]->[管理]->[Synaptic套件管理程式] 搜尋 betaradio 就可以找到來安裝了

或是可以使用命令列輸入來安裝
$ sudo apt-add-repository ppa:fourdollars/lucid
$ sudo apt-get update
$ sudo apt-get install betaradio
安裝完就可以在 [應用程式]->[影音] 裡面看到 "BetaRadio 點播器" 點一下就可以使用了~ :)

2010年6月17日 星期四

Debian Package (5) - 版本號碼

關於 Debian Package 的版本號碼規則全都寫在 Debian Policy Manual 上面的 5.6.12 Version
基本格式就只有一段
[epoch:]upstream_version[-debian_revision]
其中的 epoch 就是紀元,epoch 為大於或等於零的整數,如果不特別指定 epoch 就是零,這讓我想到以前有學過:前寒武紀/寒武紀/奧陶紀/志留紀/泥盆紀/石碳紀/二疊紀/三疊紀/侏儸紀/白堊紀/第三紀/第四紀,前寒武紀一定是最古老的,所以無論後面的 upstream_version 跟 debian_version 寫的是什麼,侏儸紀的版號一定大於前寒武紀,例如:
0:9527 < 1:7
一看就知道 9527 一定比 7 還要大的啊!不過因為 9527 在比較舊的紀元,所以多大都沒有用的!


接著是 upstream_version 照字面上翻譯就是上游軟體的版本號碼,例如 PCManX GTK+ 目前最新的正式釋出版本號碼為 0.3.9,不過如果接下來的 PCManX GTK+ 0.3.10 有一些測試 alpha/beta/rc 的版號就可能會長得像是 0.3.10-alpha1 / 0.3.10-beta2 / 0.3.10-rc3 之類的。


最後就是 debian_version 例如 Ubuntu 10.04 所提供的 PCManX GTK+ 套件版號為 0.3.9-2ubuntu2
$ apt-cache policy pcmanx-gtk2
...
0.3.9-2ubuntu2 0
500 http://tw.archive.ubuntu.com/ubuntu/ lucid/universe Packages
這邊的 debian_version 就是 2ubuntu2


知道版本號碼的組成元素之後就是要開始比較大小,軟體套件能不能夠升級就是要靠版號比大小。


指令 dpkg 有提供一個參數可以用來比對版號的大小
dpkg --compare-versions
例如:
$ dpkg --compare-versions 0:9527-2ubuntu2 '<' 1:7-2ubuntu2; echo $?
0
$ dpkg --compare-versions 0:9527-2ubuntu2 '<' 0:9527-2ubuntu2~3small; echo $?
1
不知道看倌有沒有注意到 0:9527-2ubuntu2 '<' 0:9527-2ubuntu2~3small 比較的結果是失敗的
0:9527-2ubuntu2~3small
---------------^------
Debian Package Version 有一個特別的地方,就是 '~' 開頭的版號比空字串還要小,什麼!'~' 比什麼都沒寫的虛無還要小!
所以可以做個有趣的實驗
$ dpkg --compare-versions 1-1~ '<' 1-1; echo $?
0
$ dpkg --compare-versions 1-1~~ '<' 1-1~; echo $?
0
看到沒有~ 尾巴長的越長的版號反而是越小的~ >w<


最後再聊一些約定俗成的慣例。


慣例一:
debian_version 可以省略不寫,如果要寫的話,結尾一定要是數字,而且這個數字不可為零。


慣例二:
除了該 Debian Package 的 Maintainer 之外,其他人不可以使用 debian_version 全為數字的版號,例如:假設今天有 PCManX GTK+ 0.3.10 的正式釋出版本,我們自己私下在打包 Debian Package 時就不可以使用 0.3.10-1 這樣的版號,不過根據慣例一,我們可以使用 0.3.10-0ubuntu1 這樣的版號,不過 0ubuntu1 這樣的 debian_version 只有上傳 Package 到 Ubuntu 的 Maintainer 才可以這樣使用,如果把 Debian 跟 Ubuntu 都當上游的話,那麼就應該使用 0ubuntu0ppa1 這樣的版號,當然 ppa 也可以換成其它自己偏好的字串。


慣例三:
如果是使用 apt-get source pcmanx-gtk2 抓下來改的 Debian Package,在改完後要直接在原本的版號後面加上自己的版號,像是原本是 0.3.9-2ubuntu2 就會變成 0.3.9-2ubuntu2fourdollars1