QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3467|回复: 28

EasyRPM Builder移植至MagicLinux

[复制链接]
发表于 2010-1-31 03:08:20 | 显示全部楼层 |阅读模式
从nihui那了解到一个rpmbuild辅助软件,于是尝试移植到magic下。
做了部分修改以符合MGC Group打包习惯,以符合magic发布包命名格式。

最新版0.6.0版本:
下载地址:
easyrpmbuilder-0.6.0-1mgc.src.rpm.gz
附件使用方法:

改名,去掉后面的.gz 就可以使用

mv easyrpmbuilder-0.5.6-1mgc25.src.rpm.gz easyrpmbuilder-0.5.6-1mgc25.src.rpm
rpm -ivh easyrpmbuilder-0.5.6-1mgc25.src.rpm
   1:easyrpmbuilder         ########################################### [100%]
cd ~/rpmbuild/SPECS
rpmbuild -ba easyrpmbuilder.spec
cd ~/rpmbuild/RPMS/i686
sudo rpm -ivh easyrpmbuilder-0.5.6-1mgc25.i686.rpm
Preparing...                ########################################### [100%]
   1:easyrpmbuilder         ########################################### [100%]

如果命令不能执行,请附加sudo权限,或者切换为root用户
su
sudo -s

附加rpm的解压方法: rpm2cpio xxx.rpm | cpio -div

修改
1、添加了三个summary/group/description字段的中文描述,group处只适用于给Magic打包,若是给其他发行版打包请留空。
2、修改了MagicLinux打包分类,汉英均以MagicLinux开发版块http://www.linuxfans.org/bbs/thread-182346-1-1.html这个帖子为标准。
3、修改了一个bug。在打开新spec文件的时候旧spec文件信息有可能保留在编辑框中。

已经测试了FC移植过来的包正常,其他的还没有测试,请大家积极测试,如果遇到bug请告知。

ps:有喜欢给magic打包的人士可以与我联系,我会尽量解答问题。

使用技巧:

主要是方便软件编写者打包,常常忘记各种格式的名称。这个软件可以自动生成模板。在option--->Open Template里面有三种打包模板(主要是%build %install不同),分别为AutoConf_Project_Muiltimedia.tpl, Document_Package_Project.tpl,QMake_Project_Development.tpl

如果是从别的发行版本移植rpm的话也很方便,打开spec文件填写一下,必要的信息选择一下就可以了。

注意:
%changlog的日期是从旧到新,一般不手动修改系统时间没问题。

bug:
1、修改Fedora spec文件时会把Requires: 字段全部删除,然后通过编译过程确定依赖关系。但是这样有可能在编译其间不依赖而在使用其间依赖。(已修复)
2、修改Fedora spec文件时会忽略
%prep
%setup -qn phpMyAdmin-%{version}-all-languages
中的%setup字段(如果不是 %setup -q 就认为没有此字段)而这个字段正好是进入BUILD目录中tar解压文件夹目录,造成编译时不能进入编译目录失败。(已修复)

3、多%file字段分包功能出错。(未修复)

以往版本修正log:
0.5.6版本修正
1、修改默认信息为MGC Group信息,包括Vendor, Packager(与Vendor同步) ,URL, Distribution, Release后面加上mgc字符(1mgc)
     Licence 还是采用原版的GPL v2 ,而不是大家习惯用的GPL+。
2、修改内部字符utf ---> GB18030
3、修改获取日期为英文日期,以符合%changelog 不能用中文的格式。
4、修改默认rpmbuild编译目录为~/rpmbuild(打开SPEC文件默认目录,与编译目录无紧密联系)。
5、修改添加GROUPS 系统分组标准,因为redhat fedora magiclinux 都差不多,故同一格式为Fedora格式。

0.5.7版修改:
1、将%defattr(-,root,root)暴露给Installation Files,便于检查和修改(省的有些高人,看不见这行就喜欢加上)
2、将内部的Buildroot全部变量改为%{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n),原来是%{_tmppath}/build-root-%{name}
3、在Source 和 Build Root Path(Buildroot变量)编辑框前面附加按钮,点击可以自动设置默认值。
4、修改内部模板信息为MagicLinux,将Spec文件中 用cat方法添加 .desktop文件去除,并在主界面的source下添加了source1编辑框,用于添加desktop文件,其后附带的Edit按钮可以编辑.desktop文件(第一次编辑时会询问并创建模板desktop文件),点击Edit按钮后将以UTF-8编码编辑desktop文件,编辑完desktop文件后不要忘了在Install File (%file字段)中加入此文件。
5、点击Vendor时,打包者栏不变。修改Name 和 Version时,Source0栏不变,防止更改时不小心更改其他信息。(软件还没有还原上一次操作功能,这个还不知道怎么实现)
6、重新处理了%{}字段的解析,将%setup字段暴露给%prep(原来是不暴露的,并且保存spec的时候自动添加 %setup -q ,我感觉这里不合理)
7、对Install Files栏目加亮,并增加了highlight模块中的加亮关键字,如果大家在使用过程中发现还有未加亮的关键字,请告知,我立即添加。

[ 本帖最后由 zy_sunshine 于 2010-3-19 11:17 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2010-1-31 03:13:46 | 显示全部楼层
大家有给magic打包的,试用一下看看好用不好用,再做修改。

如果平时 rpmbuild都附加sudo的话,这个程序启动也需要附加sudo。

BTW: magicLinux 发行的时候最好默认 sudo 用户是all 权限,不然sudo操作root 总是出错。
回复

使用道具 举报

发表于 2010-1-31 12:31:21 | 显示全部楼层
好耶
回复

使用道具 举报

 楼主| 发表于 2010-1-31 12:51:55 | 显示全部楼层
附加使用方法

mv easyrpmbuilder-0.5.6-1mgc25.src.rpm.gz easyrpmbuilder-0.5.6-1mgc25.src.rpm
rpm -ivh easyrpmbuilder-0.5.6-1mgc25.src.rpm
   1:easyrpmbuilder         ########################################### [100%]
cd ~/rpmbuild/SPECS
rpmbuild -ba easyrpmbuilder.spec
cd ~/rpmbuild/RPMS/i686
sudo rpm -ivh easyrpmbuilder-0.5.6-1mgc25.i686.rpm
Preparing...                ########################################### [100%]
   1:easyrpmbuilder         ########################################### [100%]

如果命令不能执行,请附加sudo权限,或者切换为root用户
su
sudo -s
回复

使用道具 举报

发表于 2010-2-1 12:46:25 | 显示全部楼层
不错,可以简化普通的打包操作。
回复

使用道具 举报

 楼主| 发表于 2010-2-1 13:46:04 | 显示全部楼层
其中的细节太多,现在正在看rpm的文档,看看能不能具体一些。估计要有很长一段时间才能完善。
回复

使用道具 举报

发表于 2010-2-1 16:13:32 | 显示全部楼层
敬请关注
http://projects.linuxfans.org
暂时使用邀请注册
回复

使用道具 举报

发表于 2010-2-1 16:59:12 | 显示全部楼层
原帖由 npcomet 于 2010-2-1 04:13 PM 发表
敬请关注
http://projects.linuxfans.org
暂时使用邀请注册

回复

使用道具 举报

发表于 2010-2-1 17:08:22 | 显示全部楼层

原帖由 npcomet 于 2010-2-1 16:13 发表
敬请关注
http://projects.linuxfans.org
暂时使用邀请注册

回复

使用道具 举报

发表于 2010-2-1 17:28:09 | 显示全部楼层
为了保证和论坛数据一致性
防止整合的时候出现数据重复和丢失问题
回复

使用道具 举报

 楼主| 发表于 2010-2-1 17:37:16 | 显示全部楼层

回复 10# npcomet 的帖子

等等等 等一下

要把project网站的数据和论坛的数据整合?

和论坛的什么数据要保持一致?
回复

使用道具 举报

发表于 2010-2-1 18:05:10 | 显示全部楼层
原帖由 npcomet 于 2010-2-1 16:13 发表
敬请关注
http://projects.linuxfans.org
暂时使用邀请注册

围观
回复

使用道具 举报

发表于 2010-2-1 19:51:42 | 显示全部楼层
用户数据同步
用户名
密码
邮箱
回复

使用道具 举报

 楼主| 发表于 2010-2-1 21:25:12 | 显示全部楼层
..真不错,网站很简洁,以后可以在那写文档吧?看到wiki了

http://svn.magiclinux.org/magiclinux
rpm打包需要的文件?好像不是最新的吧?

proj是其他项目文件夹吧? 看到前辈写的rpm-helper了。
回复

使用道具 举报

发表于 2010-2-1 22:47:28 | 显示全部楼层
恩 集成WIKI 简易CMS svn管理查看 当然最重要的是项目管理
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 16:38 , Processed in 0.048517 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表