1、安装fedora-cn FC-6 源,装以下软件:
ybuild
ybuild-developer
ftpsync
2、ybuild*安装后会增加一个用户组ybuilder,把需要运行ybuild工具的用户加到
ybuilder组中(组更新需要重新登录shell/X才能对子shell生效)。
3、解压附件,进入fedora-cn-fc6-york/ybuild/目录,执行
./bootstrap
该步骤同步ftp://ftp.fedora.cn/pub/fedora-cn/yrepos/FC-6的git
repository,然后git clone该repo——这个有点绕了,如果有http服务器则直接可
以clone http服务器上的git repository。
原git repo : fedora-cn-fc6-york/ybuild/yrepos.orig
cloned repo : fedora-cn-fc6-york/ybuild/yrepos
4、(可选)修改其中的ybuildsys-yum.conf,如果你需要做一些适当修改的话。
(可选)修改ybuild.conf
5、运行
york --yorkdir="/path/to/fedora-cn-fc6-york" shell
就可进入chroot shell
默认不会打印日志,日志在/path/to/fedora-cn-fc6-york/result/*中
如果需要直接看日志而不保存为文件,执行:
york --nolog --yorkdir="/path/to/fedora-cn-fc6-york" shell
出了shell命令还有就是build命令了
另外如果你不想每次都指定yorkdir则可以export环境变量:YORKDIR
export YORKDIR=/data/share/softwares/fedora-cn/york/fedora-cn-FC6-uni/
york build fedora-cn-release
6、其他
如果你还需要mount特定的目录到chroot环境,则用
$YORKDIR/ybuild/mount.lst文件,用于在chroot前执行mount,并在chroot结束后
umount,例如:
(
[undef,['bind'],'/data/share/softwares/fedora-cn/distfiles','ybuild/distfiles'],
)
就用于bind distfiles目录。
另外joyfun说要为我们编译x86_64的包,再次特别感谢以下,建立x86_64的应该也
这么弄,在这之前需要重新编译这些包:
perl-RPM2,这个是arch depend的,希望不会有问题
perl-Ybuild, 除了/usr/sbin/ybuild-helper,其他都是noarch的,应该不会有问
题
ybuild ybuild-developer是noarch的
ybuildsys-build ybuildsys-macros也是noarch的
ftpsync : noarch
这样x86_64的编译环境就可以bootstrap起来了。
--
http://hellwolf.cublog.cn
gpg --keyserver pgp.mit.edu --recv-key 0x6B174C6F
Words are the voice of the heart.
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
reposdir=''
[ybuildsys]
name=ybuildsys rpms
#baseurl=ftp://ftp.fedora.cn/pub/fedora-cn/linux/6/i386/
baseurl=ftp://ftp.fedora.cn/pub/fedora-cn/linux/6/$basearch/
[core]
name=core
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/$basearch/os/
[updates]
name=updates
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$basearch/
[extras]
name=extras
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/
──────────────────────────────────────
顺便说一下 由于 ftp.fedora.cn 没有x86这个文件夹
更新会出错
ftp://ftp.fedora.cn/pub/fedora-cn/linux/6/x86_64/repodata/repomd.xml:
[Errno 4] IOError: [Errno ftp error] 550 Failed to change directory.
Trying other mirror.
等所有编译好后就可以上传到服务器,然后就可以改回去了.先有鸡还是蛋的问题啊.
On 12月4日, 下午3时31分, "cnjoy...@gmail.com"
> baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$ba...
>
> [extras]
> name=extras
> baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/
>
> ──────────────────────────────────────
> 顺便说一下 由于 ftp.fedora.cn 没有x86这个文件夹
> 更新会出错ftp://ftp.fedora.cn/pub/fedora-cn/linux/6/x86_64/repodata/repomd.xml:
这是一个bootstrap过程阿,你不是编译了那些SRPM的么,用createrepo作一下,然后ybuildsys的repo设置为:
baseurl=file://file/to/your/repo
等所有编译好后就可以上传到服务器,然后就可以改回去了.先有鸡还是蛋的问题啊.
On 12月4日, 下午3时31分, " cnjoy...@gmail.com"
<cnjoy...@gmail.com> wrote:
> 尝试了一下 发现 ybuildsys-yum.conf 文件应该修改一下
> 以适应各个平台 修改后的 文件应该为
> ──────────────────────────────────────────
> [main]
> cachedir=/var/cache/yum
> keepcache=1
> debuglevel=2
> logfile=/var/log/yum.log
> pkgpolicy=newest
> tolerant=0
> exactarch=1
> metadata_expire=0
> obsoletes=1
> gpgcheck=0
>
> # PUT YOUR REPOS HERE OR IN separate files named file.repo
> # in /etc/yum.repos.d
> reposdir=''
>
> [ybuildsys]
> name=ybuildsys rpms
> #baseurl= ftp://ftp.fedora.cn/pub/fedora-cn/linux/6/i386/
> baseurl=ftp://ftp.fedora.cn/pub/fedora-cn/linux/6/$basearch/
> [core]
> name=core
> baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/$basearch/os/
>
> [updates]
> name=updates
> baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$ba...
>
> [extras]
> name=extras