爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9111|回复: 2

[科技数码] 雨林木风的软件包--ypk软件包格式说明和打包方法

[复制链接]
发表于 2011-5-11 12:04 | 显示全部楼层 |阅读模式

立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!

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

x
ypk软件包格式说明和打包方法


ypk 是 Ylmf OS  Package 的缩写,就是 Ylmf OS 4 采用的软件包。
一、 以  leafpad_0.8.18.1.ypk  为例,说明手动解压的过程。

1、建立一个工作目录,复制  leafpad_0.8.18.1.ypk  到该目录下。
  1. #mkdir work-dir
  2. #ls
  3. leafpad_0.8.18.1.ypk

复制代码
2、解压得到2个文件pkgdata 和pkginfo
  1. # tar xvf leafpad_0.8.18.1.ypk
  2. pkgdata                        
  3. pkginfo
  4. # ls
  5. leafpad_0.8.18.1.ypk  pkgdata  pkginfo

复制代码
3、pkgdata 是数据包,xz格式。解压:
  1. # xz -d -c pkgdata |cpio -idu
  2. 268 块
  3. # ls
  4. leafpad_0.8.18.1.ypk  pkgdata  pkginfo  usr  var

复制代码
4、pkginfo 是信息包,tar.bz2格式,解压:


上述过程可以用以下命令一次性完成:
  1. # tar xvf pkginfo

  2. control.xml                      包信息

  3. leafpad.desktop             桌面配置文件

  4. leafpad.png                     软件图标
复制代码
上述过程可以用以下命令一次性完成:
  1. # ypkg -x leafpad_0.8.18.1.ypk
  2. * Extracting: /root/leafpad_0.8.18.1.ypk leafpad_0.8.18.1

  3. >> decompress: /root/leafpad_0.8.18.1.ypk

  4. >> pkginfo

  5. >> pkgdata
复制代码
在 leafpad_0.8.18.1 目录中可以找到所有文件。

二、自动手动打包 ypk 包

注意: 这里的打包是指 dir2ypk 方式,即打包目录方式,目录下至少要包含软件的程序,例如从 deb 包获得。更高级的打包请参考后续的 "Ylmf OS 编译系统" 。

1、建立一个目录。
目录必须是 "软件名_版本号"  格式,例如  test_123
  1. # mkdir    test_123

复制代码
2、进入  test_123 目录
  1. #  cd test_123

复制代码
3、复制需要的程序文件,例如运行程序,desktop 文件,icon程序图标程序。以下是例子:
  1. # find

  2. ./usr

  3. ./usr/share

  4. ./usr/share/pixmaps

  5. ./usr/share/pixmaps/test.png

  6. ./usr/share/applications

  7. ./usr/share/applications/test.desktop

  8. ./usr/bin

  9. ./usr/bin/test

复制代码
4、之后创建一个配置文件,test_123.pbs,内容如下:
  1. # cat test_123.pbs

  2. #

  3. # YLmf_OS package build script

  4. #
复制代码
DESCRIPTION="this is a test"                                                              #简单描述该软件
HOMEPAGE=""                                                                                  #软件的主页
LICENSE="GPL-2"                                                                              #软件的授权协议
PACKAGER="ylmfos4-user@115.com"                                                    #打包者,可以写上自己的邮箱,便于联系        

RDEPEND="atk cairo gtk+"                                                                  #程序运行时依赖
BDEPEND="atk-dev cairo-dev gtk+-dev"                                               #程序编译时依赖

NOTES=""                                                                                       #这里可以写一些注意事项等

pbs_postinst() {                                                                              #安装之后运行的命令
        gnome2_desktop_database_update
        gnome2_icon_cache_update
}



pbs_prerm() {                                                                                #删除该软件之前运行的命令
        :
}

pbs_postrm() {                                                                               #删除该软件之后运行的命令
        :
}


5、检查一下所有文件
  1. # find

  2. .

  3. ./test_123.pbs

  4. ./usr

  5. ./usr/share

  6. ./usr/share/pixmaps

  7. ./usr/share/pixmaps/test.png

  8. ./usr/share/applications

  9. ./usr/share/applications/test.desktop

  10. ./usr/bin

  11. ./usr/bin/test
复制代码
6、回到  test_123 上一级目录
  1. # cd  ../

复制代码
7、开始打包
  1. # # ypkg -b test_123

  2. * Packing: /root/test_123 /root/test_123.ypk

  3. test_123.ypk
复制代码
8、  打包成功,安装到系统
  1. #sudo ypkg -i  test_123.ypk
复制代码
9、检查程序是否正常运行。
检查文件列表
  1. # ypkg  -l  test  或者  ypkg  -l test_123



  2. # ypkg -l  test   

  3. * Contents of test_123:

  4. |        0| /usr/share/pixmaps/test.png

  5. d|     4096| /usr/share/pixmaps

  6. |        0| /usr/share/applications/test.desktop

  7. d|     4096| /usr/share/applications

  8. d|     4096| /usr/share

  9. |        0| /usr/bin/test

  10. d|     4096| /usr/bin

  11. d|     4096| /usr

  12. |      930| /test_123.pbs





  13. File: 4, Dir: 5, Link 0, Size: 1K

复制代码
注意,安装之后:
(1)   在 /var/ypkg/db/test 目录下会保存一些信息
(2)   /var/ypkg/db/world 文件上也会记录包的信息,xml格式,软件中心读取。
(3)  安装之后,可以在软件中心的 "已安装软件"中搜索到  


10、删除 软件
(1)  在软件中心里删除
(2) 使用yget命令
  1. # sudo  yget remove test



  2. * Preparing ...

  3. Remove: test

  4. Auto-remove:

  5. After this operation, 24.90K disk space will be freed.

  6. Do you want to continue [y/N]?



  7. y

  8. >> 1/01     removing:                  test_123
复制代码
注意: ypkg  -C 也可以删除软件,但是这个命令非常危险。它会直接删除,如果误删系统文件,系统会崩溃。



三、注意!   
不要安装非官方的 ypk 包,安装时获得 root 权限,安装恶意的 ypk 包会破坏系统.
 楼主| 发表于 2011-5-11 12:05 | 显示全部楼层
看着 比较  复杂啊  ,,,,,,,,,

(额 貌似发错区 了  蓝星 移动 下)
发表于 2011-5-18 15:51 | 显示全部楼层
楼主最近研究linux了?
 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-11-16 17:40 , Processed in 0.044834 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

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