2024年5月14日发(作者:)

Ylmf OS 编译系统详解

时间:2011-06-09 17:23 来源:雨林木风交流论坛 收藏 复制分享 共有

评论(4)条

一、YBS 是什么?

YBS 指的是 Ylmf OS 的打包系统 (Ylmf OS Build System)。这是一种用于从源代码

编译软件的类 ports 系统。在 Ylmf OS 中,yget 专门管理二进制软件包,而 YBS 则专

门负责把源代码编译,并打包成可安装的 ypk 软件包。Ports 是 FreeBSD 使用的一种系

统,它对源码包进行下载、解压缩、打补丁、编译和安装等一系列操作。一个 port 包含一

些文件来指导源码的下载和编译安装,系统会自动完成操作。

YBS 由一个目录树构成,位于 /var/ybs/pbslib,它包含许多子目录,每个子目录都属

于某一类别,都以相应的可创建的软件包命名。此目录并不包含软件包或源代码,相对的它

包含一个 pbs 文件和 files 目录。Package Build Script (简称 pbs)是一个脚本——文

本文件(包含对编译和打包过程的指示、包含源码包的下载地址等),files 目录则存放额外

的一些文件,例如补丁文件等。YBS 最重要的部分就是 pbs 文件。

1、获得 YBS 树

以 root 身份运行

#ybs --sync

可以从服务器同步 YBS 树,git 管理。有了 YBS 树,用户可以自己定制,从源代码编

译打包软件。

YBS 包含以下结构和工具的完整工具箱:

YBS 目录树: /var/ybs/pbslib,包含所有软件的 pbs 文件和相关文件

ybs 命令: 读取 pbs 文件,编译源代码并创建 ypk 包。

pbs 文件: 记录有创建软件包的指示和源代码地址。

2、YBS是用来做这些的:

从源代码编译 Ylmf OS 官方源里没有的软件,当然首先要编写 pbs 文件。

定制现有的软件包以满足你的特定需求,修改已存在的 pbs 文件,通常是开启或禁用

相关配置选项

用其它编译器的 flags 重新构建整个系统 。

干净地编译安装你自己定制的内核,只需要修改内核的 pbs 文件。

当然,你也可以按照传统的方式 configure/make/make install 来安装软件,但是 ybs

可以使这个工作实现自动化。

3、全局编译环境 /etc/ 指明环境变量和编译器的 flags。

$ cat /etc/

CC=gcc

CXX=g++

#CFLAGS="-march=native -mtune=native -O2 -fomit-frame-pointer -pipe"

CFLAGS="-march=i686 -mtune=i686 -O2 -pipe" #

CXXFLAGS="$CFLAGS"

MAKEOPTS="-j6" # make 的进程数

#YPINST_PREFIX="--prefix=/usr"

YPINST_PREFIX=

ACCEPT_REPO="stable" # 分支