SuSE yast2 Repository

8月 27th, 2006 Comments Off

要產生 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

8月 27th, 2006 Comments Off

零、前言
之前我介紹過 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/

FireStats icon Powered by FireStats