momo 发表于 2017-10-18 14:08:01

群晖套件简易开发指南之二


上周写了第一篇,可能操作上还有些复杂,今天我来推荐一个群晖套件编译、打包神器spksrc,著名的synocommunity就是用它开发群晖套件的。官方主页:https://github.com/SynoCommunity/spksrc
但介于现在DSM已经更新到5.2了,官方版本还未进行更新,我只好自己花点时间自己强化一下它的功能。具体改进如下:
1、新增DSM5.2套件编译打包支持
2、修改transmission打包方法,使之包含transmission web control(谁都不喜欢默认的web ui)
3、更新Debian-chroot至8.0版本


地址:http://pan.baidu.com/s/1i3f9JSx


使用也非常简单,在安装完必要的支持库后解压,进入spksrc-master目录,输入make setup命令,得到local.mk文件,编辑它修改这一行DEFAULT_TC=5.1,后面的5.1即DSM版本,把它修改成你需要的版本。所有可用的版本可使用ls toolchains命令查询到。
要编译打包套件只需进入到spksrc-master/spk/套件名称 目录,比如spksrc-master/spk/transmission,输入make arch-cpu名称,如make arch-armada370,接下来的工作就让脚本替你完成。所有可用的cpu型号可在spksrc-master/toolchains中找到,在主目录使用ls toolchains也能查询到。在所有工作结束后你可以在spksrc-master/packages找到刚才编译打包的套件。


想编译打包自己的套件也没那么复杂,在spksrc-master/spk/下新建个文件夹,随便找个套件,把里面的makefile PLIST src复制过去,按照示例修改成自己的。做完这一步,接下来还得去spksrc-master/cross里做相同的工作,只不过需要复制的文件变成了digests Makefile patches PLIST,稍微解释一下每个文件/文件夹的作用。digests主要是记录源码包的校验信息,md5 sha1 sha256,Makefile记录编译方法,具体每个参数、变量含义自己去领会了,这个不难。patchs顾名思义,补充,修复存在的问题,PLIST记录需要打包的文件。


先这样了,我自认为自己表述能力有限,无法描述每个细节,有问题可以留言。
分享来自:https://tieba.baidu.com/p/3793483427?red_tag=0440949740
页: [1]
查看完整版本: 群晖套件简易开发指南之二