Tag Archives: mock

为中标普华Linux或Fedora构建本地yum仓库

如何为中标普华LinuxFedora构建本地yum仓库:

1、首先安装创建仓库所用到的工具: createrepo

[Lee@leedd.com ~]$ sudo yum install createrepo

然后根据提示输入当前用户密码,或是直接用root帐号进行安装。

2、为本地仓库创建目录结构,如在当前用户的根目录(/home/Lee)下创建:

[Lee@leedd.com ~]$ pwd

/home/Lee

[Lee@leedd.com ~]$ mkdir -p /home/Lee/repos/yum/neoshine/base/5/i386

[Lee@leedd.com ~]$ mkdir -p /home/Lee/repos/yum/neoshine/updates/5/i386

3、把mock需要用到的文件复制到/home/Lee/repos/yum/neoshine/base/5/i386 目录下 Continue reading

使用Mock替代rpmbuild进行编包

使用Mock替代rpmbuild进行编包

在进行编包的时候大多数人会使用rpmbuild命令在本机进行编译,这样可以使一些依赖及本地相关包的修改可以生效,但在开发过程中必须模拟用户的环境或是构建一个“干净的”环境(既没有任何其他依赖的改动,直接从yum下载构建一个纯用户环境),这样我们就需要mock命令来构建这样一个编译的纯环境并用其来替代rpmbuild进行编译软件包。而构建mock环境的步骤如下:

1、通过yum安装mock

[Lee@leedd.com ~]$ sudo yum install -y mock

2、设置当前用户权限,把当前用户添加到mock用户组内,mock运行是用当前的用户,最好不要用root用户。

[Lee@leedd.com ~]$ sudo usermod -a -G mock Lee

Continue reading

Linux下C语言的本地化/国际化实现

在linux系统下,以c语言程序为例来实现程序的国际化,即让程序根据Linux系统不同的语言环境的不同来显示出对应该语言的文字,即先让c程序支持国际化然后再进行本地化翻译。

Linux上实现这个过程需要用到xgettext和msgfmt这两个工具。

Xgettext 是国际化的工具,用来提取程序中的字符串,生成*.po或是*.pot的文件,

msgfmt是本地化的工具,用来编译翻译后的.po文件为.mo文件,这样系统在启动时候会扫描系统环境提取对应名字的.mo文件中的字符串替代原来的英文,实现本地化。

如我们来做一个简单的rpm包,包文件的目录树如下:

hello.c /*我们用来测试的c语言程序*/

po /zh_CN.po /*放在该包根目录下的po目录。对应于该程序进行的中文翻译*/

Continue reading