zy_sunshine 发表于 2010-1-31 03:08:20

EasyRPM Builder移植至MagicLinux

从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         ###########################################
cd ~/rpmbuild/SPECS
rpmbuild -ba easyrpmbuilder.spec
cd ~/rpmbuild/RPMS/i686
sudo rpm -ivh easyrpmbuilder-0.5.6-1mgc25.i686.rpm
Preparing...                ###########################################
   1:easyrpmbuilder         ###########################################

如果命令不能执行,请附加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 编辑 ]

zy_sunshine 发表于 2010-1-31 03:13:46

大家有给magic打包的,试用一下看看好用不好用,再做修改。

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

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

Jactry 发表于 2010-1-31 12:31:21

好耶:-D

zy_sunshine 发表于 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         ###########################################
cd ~/rpmbuild/SPECS
rpmbuild -ba easyrpmbuilder.spec
cd ~/rpmbuild/RPMS/i686
sudo rpm -ivh easyrpmbuilder-0.5.6-1mgc25.i686.rpm
Preparing...                ###########################################
   1:easyrpmbuilder         ###########################################

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

haulm 发表于 2010-2-1 12:46:25

不错,可以简化普通的打包操作。

zy_sunshine 发表于 2010-2-1 13:46:04

其中的细节太多,现在正在看rpm的文档,看看能不能具体一些。估计要有很长一段时间才能完善。

npcomet 发表于 2010-2-1 16:13:32

敬请关注
http://projects.linuxfans.org
暂时使用邀请注册

jiangtao9999 发表于 2010-2-1 16:59:12

:shock: 原帖由 npcomet 于 2010-2-1 04:13 PM 发表 http://www.linuxfans.org/bbs/images/common/back.gif
敬请关注
http://projects.linuxfans.org
暂时使用邀请注册
:shock:

nihui 发表于 2010-2-1 17:08:22

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

npcomet 发表于 2010-2-1 17:28:09

为了保证和论坛数据一致性
防止整合的时候出现数据重复和丢失问题

zy_sunshine 发表于 2010-2-1 17:37:16

回复 10# npcomet 的帖子

等等等 等一下

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

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

Jactry 发表于 2010-2-1 18:05:10

原帖由 npcomet 于 2010-2-1 16:13 发表 http://www.linuxfans.org/bbs/images/common/back.gif
敬请关注
http://projects.linuxfans.org
暂时使用邀请注册
8O 围观

npcomet 发表于 2010-2-1 19:51:42

用户数据同步
用户名
密码
邮箱

zy_sunshine 发表于 2010-2-1 21:25:12

..真不错,网站很简洁,以后可以在那写文档吧?看到wiki了

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

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

npcomet 发表于 2010-2-1 22:47:28

恩 集成WIKI 简易CMS svn管理查看 当然最重要的是项目管理
页: [1] 2
查看完整版本: EasyRPM Builder移植至MagicLinux