用通俗到业余水平的语言教你编译和打包

编译打包和其他
头像
GstarA1
帖子: 30
注册时间: 2008-11-06 18:51
来自: 湖南大学

Re: 用通俗到业余水平的语言教你编译和打包

#31

帖子 GstarA1 » 2009-05-20 18:16

刚编译又失败了
二十岁是我人生最暗淡的时光,要什么没什么!

我一定会珍惜在这个时候爱上我的女孩!

因为她是用一生中最美好的时光来陪你度过最暗淡的时光!
头像
hcym
帖子: 15634
注册时间: 2007-05-06 2:46

Re: 用通俗到业余水平的语言教你编译和打包

#32

帖子 hcym » 2009-05-20 18:20

最恶心编译

:em04
头像
playeryang
帖子: 249
注册时间: 2009-04-04 12:55
来自: 四川...泸州||江苏...镇江

Re: 用通俗到业余水平的语言教你编译和打包

#33

帖子 playeryang » 2009-05-23 17:39

viewtopic.php?f=56&t=201592
这个链接里问了一个相关问题一直没有人回答,很是郁闷
头像
xsoul
帖子: 441
注册时间: 2007-06-05 18:27

Re: 用通俗到业余水平的语言教你编译和打包

#34

帖子 xsoul » 2009-05-23 23:55

呵呵,好适合我,收藏先~~
头像
shanliang8008
帖子: 1362
注册时间: 2007-07-16 19:43
来自: tangshan

Re: 用通俗到业余水平的语言教你编译和打包

#35

帖子 shanliang8008 » 2009-05-24 0:11

收藏了
头像
fejich
帖子: 706
注册时间: 2009-04-24 4:07
系统: win8
来自: 广东肇庆

Re: 用通俗到业余水平的语言教你编译和打包

#36

帖子 fejich » 2009-06-03 9:52

这个我觉得编译真的很麻烦~~

让我这个新手感到很讨厌…… :em06
头像
zhoucga
帖子: 246
注册时间: 2009-06-12 8:55

Re: 用通俗到业余水平的语言教你编译和打包

#37

帖子 zhoucga » 2009-08-04 21:47

谢谢LZ阿
青春不是人生的一段时期,而是心灵的一种状况...
头像
jqx1990
帖子: 181
注册时间: 2007-02-22 17:07
联系:

Re: 用通俗到业余水平的语言教你编译和打包

#38

帖子 jqx1990 » 2009-08-07 14:39

好感动哦 :em05 ,最近就像熟悉一下打包和编译,正好看到了楼主的文章! 认真学习了!
hynzxy
帖子: 52
注册时间: 2009-08-01 0:38
来自: 广西

Re: 用通俗到业余水平的语言教你编译和打包

#39

帖子 hynzxy » 2009-08-12 21:11

:em11
学习了

:em11
Sysytem:windows xp+ubuntu10.04+win7
CPU:AMD7750
HD:WD(sata)320G
Menory:2G
主板:磐正超磐手 AK790GS
LCD:LG W2043S
头像
carlos444_444
帖子: 448
注册时间: 2005-06-06 21:35
系统: Debian
来自: 四海为家
联系:

Re: 用通俗到业余水平的语言教你编译和打包

#40

帖子 carlos444_444 » 2009-10-08 20:08

居然被顶了38个帖子,好有成就感。
继续:

将二进制文件打成deb包。
大家也下载过类似于instantbird或者prism这样的Mozilla程序吧,Mozilla程序的特点就是,编译好了,直接tar压缩,而不打包。好处就是任何发行版都可以使用,不好的地方就是需要解压缩到某个地方,然后还要自己建立菜单中的快捷方式,比较麻烦。

那我们就以Mozilla instantbird为例子,将它打成deb包,全自动安装到/opt/instantbird目录,并且在菜单建立一个快捷方式。
1,建立一个打包用的总目录,并进入
mkdir ~/build
cd build
2,建立软件包文件的各结构目录
mkdir -r usr/share/applications opt DEBIAN
#~/build/usr/share/applications是我们放快捷方式的地方
#~/build/opt是我们要放程序的地方
#~/build/DEBIAN是我们打包用的文件的地方,这里只需要用到一个文件,就是control。

3,将下载下来的instantbird-0.2a1.en-US.linux-i686.tar.bz2复制到我们需要的地方:
cp instantbird-0.2a1.en-US.linux-i686.tar.bz2 ~/build/opt/
cd ~/build/opt
tar jxvf instantbird-0.2a1.en-US.linux-i686.tar.bz2
rm instantbird-0.2a1.en-US.linux-i686.tar.bz2
留下 ~/build/opt/instantbird/目录

4,进入目录进行一下小修改,instantbird的执行文件必须要求执行此文件的时候,在当前目录进行操作,所以要写一个简单的bash脚本,批处理
cd instantbird
nano instantbird.sh
#!/bin/sh
cd /opt/instantbird
./instantbird
保存退出。

5,好。编辑下instantbird.desktop
cd ~/build/usr/share/applications/
nano instantbird.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Mozilla Instantbird
Exec=/opt/instantbird/instantbird.sh
Icon=/opt/instantbird/chrome/icon/instantbird.xpm
Comment=This is a mozilla IM tool
Terminal=false
Type=Application
Categories=Application;Network;InstantMessaging;
保存,退出。

6,到~/build目录输入下du,看看占了多少字节,下面有用。
cd ~/build/DEBIAN
nano control
Package: mozilla-instantbird //此行不允许用大写字母和一些特殊符号,否则打包会出错。
Version: 0.2a-b          //软件版本
Section: net //debian有专门的section约定,请大家查下相关文档,给了固定的一些分组名称。
Priority: optional          //优先级,默认即可
Architecture: all          //不太清楚,不妄言
Depends:             //依赖关系,安装此包的时候,必须安装什么包才能使其正常运行呢?把名字和版本号写在这里:{gtklib>=2.0},多个貌似用逗号隔开,记不得了,哈哈。
Recommends:           //建议的依赖关系
Installed-Size: 15108       //这里就写那个du所产生的数字,不过写错了好像也没什么,尽量写对吧
Maintainer: Carlos Love Leo <carlosloveleo@gmail.com> //维护者,你的大名,和电子邮件。
Description: Mozilla Instantbird       //软件包名称,可以大小写,空格
Mozilla Instantbird is a very cool im //写注释的时候,开头空一个空格
                       //结尾留一空行

7,开始打包。
cd ~
dpkg -b build/ mozilla-instantbird-0.2a1-i686.deb
一定要回到build目录上一层,才开始打包,否则无法读取DEBIAN目录的信息。

8,其实,大家看明白否,你需要亲自指定安装的每一个文件的具体位置。只是我们这次比较懒,绝大部分文件都放到/opt/instantbird下了,呵呵。
上次由 carlos444_444 在 2009-10-09 14:04,总共编辑 1 次。
头像
carlos444_444
帖子: 448
注册时间: 2005-06-06 21:35
系统: Debian
来自: 四海为家
联系:

Re: 用通俗到业余水平的语言教你编译和打包

#41

帖子 carlos444_444 » 2009-10-08 20:14

eshifeng 写了:不对呀……一般的情况下。在编译的时候,还有好多选项的的啊!怎么省略了?
是这样,尤其是configure --prefix=/usr....
太复杂了,不在本文讨论之列,我还没有找到相关的资料,找到资料自己看懂了,慢慢给大家发。
最近有点懒,N长时间没用Linux了。
头像
drvicar
帖子: 1285
注册时间: 2007-12-17 18:07
来自: 西安

Re: 用通俗到业余水平的语言教你编译和打包

#42

帖子 drvicar » 2009-10-16 10:00

:em06哦,这个呢
头像
mm740
帖子: 300
注册时间: 2009-08-09 17:34

Re: 用通俗到业余水平的语言教你编译和打包

#43

帖子 mm740 » 2009-10-20 2:18

多核心高频率CPU终于派上用场了 :em04
淡定,不要听风就是雨。淡定是一种境界,是一种超然世外的意识。只有修养达到一定阶段,才能产生并拥有。拥有了淡定,就拥有了风度。于是淡定便成了一种气质,让我辈无论如何努力和奋斗,始终难望其项背。淡定需要时间和实践的积淀和净化,是一种拨云见日,是一种豁然开朗!君子坦荡荡,小人长戚戚。愿我们除了自卑多了自由,少了忙乱多了从容,去了怨恨多了温煦,戒了偏激多了沉着。一切在淡定中发展,在淡定中凯旋。
头像
charleskao
帖子: 206
注册时间: 2008-03-27 17:21

Re: 用通俗到业余水平的语言教你编译和打包

#44

帖子 charleskao » 2009-10-28 9:57

好,改天试试。哦,checkinstall! :em05
头像
szyzln
帖子: 910
注册时间: 2008-10-31 15:28
来自: 中国上海
联系:

Re: 用通俗到业余水平的语言教你编译和打包

#45

帖子 szyzln » 2009-10-30 16:24

顶楼主!!已经够通俗了。只是.....感觉离我想象中的通俗还有差距呀。 :em01
家乡:湖南张家界
回复