MacBlog2

Candyz’s Mac, Linux and Free/Open Source Software Blog

Archive for 八月, 2006

Candyz@CLE

發文者為 candyz 於 八月 30, 2006

花了點時間把 Candyz@CLE 重新整理過

跟 Mac 相關的文章及程式,都放在 Mac Staff
我所打包的 Ubuntu 套件 (both i386 and ppc) 請參考 Ubuntu Packages
我所打包的 SuSE 套件 (both i386 and ppc) 請參考 SuSE Packages
我所打包的 Fedora 套件 (both i386 and ppc) 請參考 Fedora Packages

PS.我沒有 x86_64 的機器,所以無法打包 x86_64 相關的套件 (看有沒有人願意捐獻台 x86_64 的機器給我 @@)

發表於 軟體 | 張貼留言 »

Google CEO Joins Apple’s Board

發文者為 candyz 於 八月 30, 2006

在 Slashdot 上看到的 Google CEO Joins Apple’s Board
不知道會有什麼影響?
另外,在 ijliao 的 Blog 上又看到 Google 的內部人行為
是真是假雖然不清楚,不過,還是繼續觀望下去吧

發表於 情報 | 張貼留言 »

DIY 自動貓咪餵食器

發文者為 candyz 於 八月 29, 2006

在 Engadget Chinese 上看到 DIY 自動貓咪餵食器
原來很多人都跟我有一樣的困擾啊 @@
一直在想著,要是哪天要外出個幾天,那兩隻貓該怎麼處理咧
這個方法我也可以做到
不過,可能對我家的貓無效,一定會被拆了的啦…XD

發表於 其他 | 張貼留言 »

GTalk + Skype?

發文者為 candyz 於 八月 29, 2006

在 Google Talk Blog 上看到的 Talking with Skype

Google 跟 eBay 簽了協定,讓 Google Talk 跟 Skype 可以互通
這是個好消息
不知道何時可以正式完成互通…

發表於 軟體 | 張貼留言 »

gcin 已經正式進入 Fedora Extras

發文者為 candyz 於 八月 29, 2006

經過這將近一個月的奔波
現在,gcin 算是已經正式進入 Fedora Extras 了

Fedora Development (FC6) 官方網站中已經可以找到了,支援 i386 x86_64 ppc 等平台

而 FC5 部份,目前狀態為: needsign,正在等待套件被 gpg sign 過就會出現 Fedora Extras 5 官方網站中了
一樣 i386 x86_64 ppc 各種平台都有

註:
FC5 因為之前我也一併 Request FC4 FC3 branch,結果因為一些因素而 delay 到
而 FC4 FC3 因為 Fedora 官方已經停止支援了 (進到 Fedora Legacy)
因此,當時我提出 Request 時被 Reject 掉了
不過,FC4 FC3 RHEL4/SL4/CentOS4 的版本我還是會繼續打包,會放在 CLE 網站上供需要的人下載使用

發表於 軟體 | 關閉留言

Ubuntu upgrade ugliness

發文者為 candyz 於 八月 29, 2006

在 Linux-Watch 上看到的 Ubuntu upgrade ugliness

最近 Ubuntu xserver-xorg 出的問題,把使用者給搞慘了
(我則是都用 Xgl + Compiz 所以完全沒被影響到)

Ubuntu 迅速走紅後,伴隨而來的一堆問題,也將浮現
Ubuntu 的一些機制不夠嚴謹 (跟 Debian 比起來差更遠)
Ubuntu 的 mirror 機制也常出問題,常常 “404 not found”
因此,Ubuntu 官方可能得好好想一想未來該如何解決這些問題才是
否則,一旦名聲打壞了,要再重建使用者的信心可得花更大的力氣才行的

發表於 軟體 | 關閉留言

gcin 已經正式進入 Fedora Extras

發文者為 candyz 於 八月 28, 2006

經過這將近一個月的奔波
現在,gcin 算是已經正式進入 Fedora Extras 了

Fedora Development (FC6) 官方網站中已經可以找到了,支援 i386 x86_64 ppc 等平台

而 FC5 部份,目前狀態為: needsign,正在等待套件被 gpg sign 過就會出現 Fedora Extras 5 官方網站中了
一樣 i386 x86_64 ppc 各種平台都有

註:
FC5 因為之前我也一併 Request FC4 FC3 branch,結果因為一些因素而 delay 到
而 FC4 FC3 因為 Fedora 官方已經停止支援了 (進到 Fedora Legacy)
因此,當時我提出 Request 時被 Reject 掉了
不過,FC4 FC3 RHEL4/SL4/CentOS4 的版本我還是會繼續打包,會放在 CLE 網站上供需要的人下載使用

發表於 軟體 | 張貼留言 »

SuSE yast2 Repository

發文者為 candyz 於 八月 27, 2006

要產生 SuSE yast2 的 Repository 有兩種方式:
1.genIS_PLAINcache
優點:
容易產生

缺點:
不支援 Source RPMS (src.rpm)
不支援多平台 (i586, i686, noarch, ppc, etc.)
沒有安裝來源的描述
genIS_PLAINcache 是個執行檔,無法在其他系統上執行

範例:
cd /path_to/RPMS/
genIS_PLAINcache -f -r .
gzip genIS_PLAINcache

2.YaST Sources
要安裝 autoyast2-utils 套件

優點:
支援 Source RPMS
支援多平台
有安裝來源的描述

缺點:
不容易產生

範例:
cd /path_to/SuSE/10.1/

1.產生 media.1/media
mkdir media.1
echo Candyz > media.1/media
date +%Y%m%d%H%M%S >> media.1/media
echo 1 >> media.1/media

2.產生 content
echo PRODUCT Candyz > content
echo VERSION 10.1-0 >> content
echo VENDOR Chinese Linux Extensions >> content
echo LABEL Candyz (OpenSUSE 10.1) >> content
echo ARCH.i686 i686 i586 i486 i386 noarch >> content
echo ARCH.i586 i586 i486 i386 noarch >> content
echo DEFAULTBASE i586 >> content
echo DESCRDIR setup/descr >> content
echo DATADIR RPMS >> content

3.產生 directory.yast
ls -A1 > directory.yast

4.產生 setup/descr/*
mkdir -p setup/descr
create_package_descr -d RPMS/

** Candyz’s SuSE Yast2 Repository
baseurl=http://cle.linux.org.tw/candyz/SuSE/10.1

由於 swyear 的網站目前暫時收起來了 (實在很可惜,國內 SuSE 相關的資源已經夠少了)
因此,pcmanfm gcin 等套件,暫時我會幫忙繼續打包下去,檔案就放在上述的 Yast2 Repository 中

使用 Smart 的使用者,請執行底下指令來新增 channel:
smart channel –add candyz type=yast2 name=”Candyz’s SuSE Repository” baseurl=http://cle.linux.org.tw/candyz/SuSE/10.1

參考:
http://en.opensuse.org/SDB%3AGenerating_YaST_Installation_Sources

發表於 軟體 | 張貼留言 »

SuSE 上的 y2pmbuild

發文者為 candyz 於 八月 27, 2006

零、前言
之前我介紹過 Fedora 下的 mock build system
也介紹過 Ubuntu 下的 pbuilder + cowdancer build system
而這次要介紹的,就是 SuSE 底下的 build system — y2pmbuild

一、簡介
要使用 y2pmbuild 需要有 3G 的暫存空間
整個運作流程如下:
Step One – Install requirements
Step Two – Configure y2pmsh
Step Three – Create source directory
Step Four – Get project source files
Step Five – Create the spec file
Step Six – Build the package
Step Seven – Test the package

二、安裝
需要安裝的套件為: y2pmsh bzip2 gpg

yast -i y2pmsh bzip2 gpg

三、設定
所有的設定檔都在 /etc/y2pmbuild/ 底下
1./etc/y2pmbuild/dists_common
我有修改的部份如下:

repository="/var/spool/y2pmbuild/$BUILD_DIST"
regen_repository="plain yum"
add_sources="opensuse"
buildrootbase="/var/tmp/build-root"
rpm_sign_name="Chung-Yen Chang "
rpm_sign_key=/etc/y2pmbuild/signkey.asc

signkey.asc 的產生方式如下:

$ gpg -a --export candyz0416@gmail.com > /etc/y2pmbuild/signkey.asc
$ gpg -a --export-secret-key candyz0416@gmail.com >> /etc/y2pmbuild/signkey.asc

2./etc/y2pmbuild/dists/10.1-i386
以 SuSE 10.1 i386 為例,我有修改的部份如下:

url_opensuse="ftp://ftp.cs.pu.edu.tw/Linux/OpenSuse/distribution/SL-10.1/inst-source"

若要打包 10.0 i386 的套件,就請修改 /etc/y2pmbuild/dists/10.0-i386

四、執行
以打包 SuSE 10.1 i386 的套件為例:

 y2pmbuild-10.1 pcmanfm.spec

如下打包 SuSE 10.0 i386 的套件:

 y2pmbuild-10.0 pcmanfm.spec

五、參考文件
http://en.opensuse.org/SUSE_Build_Tutorial
http://developer.novell.com/wiki/index.php/SUSE_Package_Conventions
http://www.rpm.org/max-rpm/
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/RPM-HOWTO.html
http://fedora.redhat.com/docs/drafts/rpm-guide-en/

發表於 軟體 | 張貼留言 »

寶貝日記 – 瑜珈特技

發文者為 candyz 於 八月 26, 2006

Jiji 在表演瑜珈特技?
瑜珈特技

瑜珈特技

Lio and Jiji

Lio and Jiji

發表於 寵物 | 張貼留言 »

Apple 電池回收

發文者為 candyz 於 八月 25, 2006

iBook G4 和 PowerBook G4 筆記型電腦電池交換計劃
上次我的小白電池已經換了一次了
這次我的 Powerbook 又中獎 (真是 ooxx)
看來,又可以換新電池了

對於電池不斷出狀況,筆電的幾個龍頭決定要坐下來談一談電池的標準化等問題: 筆電電池標準化,大家坐下來談吧!

發表於 硬體 | 張貼留言 »

Apple 付 $100m 給 Creative 達成和解

發文者為 candyz 於 八月 24, 2006

From tuaw.com: Apple pays $100m to Creative in patent lawsuit settlement

之前 Apple 跟 Creative 互相告來告去的,現在兩家達成和解
Apple 付百萬美金給 Creative

發表於 情報 | 張貼留言 »

Yam + Webs-TV

發文者為 candyz 於 八月 23, 2006

個人還有在用 Yam 的服務部份,主要是 “樂多日誌” 的部份
現在 Yam 跟 Webs-TV 要合併了…
只希望這些服務在未來不要受到影響

蕃薯藤、網絡數碼 九一結親
蕃薯藤與Webs-tv達成對等合併!雙方品牌仍在 不會裁員

發表於 情報 | 張貼留言 »

PBuilder and Cowdancer

發文者為 candyz 於 八月 22, 2006

零、前言
之前我介紹過在 Fedora 底下使用 mock 來 Chroot Build 套件
那麼,在 Ubuntu 底下有什麼好用的工具呢?
我找到了 PBuilder and Cowdancer
底下是我最近在使用 Pbuilder and Cowdancer 的一些心得

一、簡介
1.pbuilder 即 Personal Builder,是一個在私人環境下自動化打包套件的系統,會建立一
個 Chroot System,然後在 Chroot 環境裡 Build Package

2.pdebuild is a wrapper for Debian Developers, to allow running pbuilder just like “debuild”, as a normal user.

3.cowdancer is a Copy-on-write directory tree utility.

4.cow-shell command invokes a shell session. Within that session, under the directory cow-shell was invoke, cowdancer will create a new file when existing i-nodes are opened for
write.

5.cowbuilder command is a wrapper for pbuilder which allows using pbuilder-like interface over cowdancer environment.

二、安裝

sudo apt-get install pbuilder cowdancer

不過 Ubuntu Dapper 裡的 pbuilder 及 cowdancer 都太舊了,很多新的功能都不能用
所以我只好去 Edgy 裡 ‘借’ 比較新版的 pbuilder cowdancer debootstrap 來用
在我的 APT Repository 裡有放我包好給 dapper 用的新版本

三、設定
編輯設定檔 /etc/pbuilderrc 或 ~/.pbuilderrc
我有修改的部份如下:

MIRRORSITE=http://tw.archive.ubuntu.com/ubuntu
OTHERMIRROR="deb http://cle.linux.org.tw/candyz/Ubuntu i386/|deb http://tw.archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse"
BUILDRESULT=~/TMP/
COMPONENTS="main restricted universe multiverse"
DISTRIBUTION=dapper
DEBEMAIL="Chung-Yen Chang "
DEBBUILDOPTS="-k0x476A8659"
BUILDUSERID=1000
BUILDUSERNAME=candyz
PDEBUILD_PBUILDER=cowbuilder

四、使用
在使用之前,請先編輯好設定檔,看是要哪一個版本,相關路徑指定好

1.建立 Chroot 的環境

pbuilder create

或是

cowbuilder --create

建議使用 “cowbuilder –create” 來取代 “pbuilder create”,速度比較快一點

2.更新 Chroot 環境

pbuilder update

或是

cowbuilder --update

3.進入 Chroot 的環境

pbuilder login

或是

cowbuilder --login

4.進入 Chroot 的環境並執行指令

pbuilder execute

或是

cowbuilder --execute

5.開始打包套件

pbuilder --build pcmanfm_0.3.0.2-0candyz1.dsc
 or
cd pcmanfm-0.3.0.2
pdebuild --auto-debsign --debsign-k 0x476A8659

或是

cowbuilder --build pcmanfm_0.3.0-0candyz1.dsc
 or
cd pcmanfm-0.3.0.2
pdebuild --auto-debsign --debsign-k 0x476A8659

大致上就是這樣

五、結語
pbuilder 使用起來,沒有 Fedora 上的 mock 方便,我想同時打包 dapper and edgy 的套件時,也有點麻煩
為了方便在 dapper 及 edgy 的 Chroot 環境下切換,於是我寫了一支小小的 shell script 來用:

$ cat mock

#!/bin/bash
clear
if [ $# -lt 1 ]; then
  echo
  echo "Usage: $0 [Distribution] [Operation] [Options]"
  echo
  ls -1d /var/cache/pbuilder/base.cow*
  echo
  exit 0
fi

DIST="$1"
OPER="$2"
shift
shift
OPTS="$@"

cd && ln -sf .pbuilderrc-$DIST .pbuilderrc

if [ "$DIST" = "dapper" ]; then
  echo
  echo "Checking dapper..."
  if [ -d /var/cache/pbuilder/base.cow-dapper ]; then
    mv /var/cache/pbuilder/base.cow /var/cache/pbuilder/base.cow-edgy
    mv /var/cache/pbuilder/base.cow-dapper /var/cache/pbuilder/base.cow
  fi
fi

if [ "$DIST" = "edgy" ]; then
  echo
  echo "Checking edgy..."
  if [ -d /var/cache/pbuilder/base.cow-edgy ]; then
    mv /var/cache/pbuilder/base.cow /var/cache/pbuilder/base.cow-dapper
    mv /var/cache/pbuilder/base.cow-edgy /var/cache/pbuilder/base.cow
  fi
fi

if [ "$OPER" = "" ]; then
   echo
   echo "Switch to $DIST OK."
   echo "Now you can type 'pdebuild' to build."
   echo
else
  /usr/sbin/cowbuilder $OPER $OPTS
fi

我的設定檔分別是 ~/.pbuilderrc-dapper (for Dapper) 及 ~/.pbuilderrc-edgy (for Edgy)
然後用 link 的方式來決定要用哪一個

而 Chroot 的環境分別是 /var/cache/pbuilder/ 下的 base.cow-dapper (for Dapper) 及 base.cow-edgy (for Edgy)

mock 的用法:
$ mock

Usage: /root/bin/mock [Distribution] [Operation] [Options]

/var/cache/pbuilder/base.cow
/var/cache/pbuilder/base.cow-edgy

切換到 dapper or edgy 的環境
$ mock dapper

Checking dapper...

Switch to dapper OK.
Now you can type 'pdebuild' to build.

或是
$ mock edgy

Checking edgy...

Switch to edgy OK.
Now you can type 'pdebuild' to build.

然後再直接下 ‘pdebuild’ 指令來打包即可

mock 預設是呼叫 cowbuilder 指令
所以,也可以直接使用:
$ mock dapper –create
$ mock dapper –update
$ mock edgy –login
等指令

附錄、pbuilder and cowdancer 的指令語法
1.pbuilder

pbuilder - a personal builder
Copyright 2001-2006 Junichi Uekawa
Distributed under GNU Public License version 2 or later

pbuilder [operation] [pbuilder-options]
pdebuild [pdebuild-options] -- [pbuilder-options]

command lines:
pbuilder create [--basetgz base.tgz-path] [--distribution sarge|etch|sid|experimental]
  Creates a base.tgz

pbuilder update [--basetgz base.tgz-path] [--distribution sarge|etch|sid|experimental]
  Updates a base.tgz

pbuilder build [--basetgz base.tgz-path] pbuilder_2.2.0-1.dsc
  Builds using the base.tgz. Requires a .dsc filename

pbuilder clean
  Cleans the temporal build directory.

pbuilder login
pbuilder execute -- [command] [command-options]
  Logs in to the build environment and execute command.

pbuilder dumpconfig
  Dumps configuration information to stdout for debugging.

pbuilder-options:
 --basetgz [base.tgz location]
 --buildplace [location of build]
 --mirror [mirror location]
 --othermirror [other mirror location in apt deb-line format, delimited with | signs]
 --http-proxy [proxy]
 --distribution [distribution(sarge|sid|etch|experimental)]
 --buildresult [location-to-copy-build-result]
 --aptcache [location of retrieved package files]
 --removepackages [packages-to-remove on pbuilder create]
 --extrapackages [packages-to-add on pbuilder create]
 --configfile [configuration file to load]
 --hookdir [hook directory]
 --debemail [mail address]
 --debbuildopts [dpkg-buildpackage options]
 --logfile [filename to output log]
 --pkgname-logfile
 --aptconfdir [overriding apt config dir]
 --timeout [timeout time]
 --override-config
 --binary-arch
 --preserve-buildplace
 --bindmounts [bind-mount-point]
 --debug
 --autocleanaptcache
 --debootstrapopts [debootstrap options]
 --save-after-login/--save-after-exec
 --debootstrap [debootstrap|cdebootstrap]

pdebuild-specific pbuilder-options:
 --pbuilderroot [command to obtain root privilege for pbuilder]
 --buildsourceroot [command to obtain root privilege for dpkg-buildpackage]
 --use-pdebuild-internal
 --auto-debsign
 --debsign-k [keyid]

2.cowbuilder

cowbuilder [operation] [options]
operation:
 --build
 --create
 --update
 --login
 --execute
 --help
options:
 --basepath:
 --buildplace:
 --distribution:

發表於 軟體 | 張貼留言 »

Google Notifier for Mac

發文者為 candyz 於 八月 21, 2006

Gmail Notifier for Mac 不見了,取而代之的是 Google Notifier for Mac

Easy access + Timely reminder = Google Notifier for Mac

同時可以 Notifier Gmail and Google Calendar

不過,在我的 Powerbook 上,使用起來卻有問題
會一直問我登入 Google 的帳號密碼,但我已經輸入正確,也有儲存了
就是會一直重覆跳出詢問的視窗,看了有點 ooxx (不知道其他人是否跟我有一樣的問題?)

發表於 軟體 | 張貼留言 »