0%

搭建自己的Cydia源

对于自己开发的插件,也需要使用软件源来维护和备份,可以向其他源一样,直接安装插件,这个记录一下搭建的过程

准备

  1. 创建一个目录 cydia
  2. cydia里面再创建一个目录debs,把所有的插件都放到里面
  3. 新建一个文本文件Release,用于描述源信息
  4. cydia添加一个图标CydiaIcon.png,在软件源列表显示

目录如下

1
2
3
4
5
6
- cydia
|- CydiaIcon.png 源图标
|- Release 描述源信息
|- debs 插件
|- com.bomo.tweaksb_0.0.1-7_iphoneos-arm.deb
|- com.bomo.tweakjianshu_0.0.1-7_iphoneos-arm.deb

Release 文件如下

1
2
3
4
5
6
7
8
9
10
11
12
Origin: BigBoss
Label: BigBoss
Suite: stable
Version: 1.0
Codename: BigBoss
Support: http://cydia.saurik.com/support/*
Architectures: darwin-arm iphoneos-arm
Components: main
Description: apps & tweaks
MD5Sum:
be8806290d5904cdf45b542706f6a3ad 165020 main/binary-darwin-arm/Packages
03026ac993187b0eecae50466f64fb3c 35049 main/binary-darwin-arm/Packages.gz

Release相关说明

1
2
3
4
5
6
7
8
9
10
11
12
13
必须
Origin: 软件源名称,可以使用中文(Cydia的软件源列表中显示的标题)
Label: 同上,也可以使用中文
Suite: 软件源的类型,比如正式源,测试源等,可以分别用stable, beta, unstable等来表示,一般填stable就可以了
Version: 版本号,这个其实不重要,随便填,一般都是写1.0
Codename: 代码代号,比如BigBoss的就写BigBoss,威锋的就写WeiPhone,也没什么限制,只能用英文
Architectures: 结构。iPhone平台统一写iphoneos-arm
Components: main
Description: 软件介绍,可以使用中文和html代码,具体能使用哪些代码在下面会介绍。

可选
Support: 支持,没什么作用,除非特别需要,否则可以不要这个。
MD5Sum: 不是必须的,但如果Packages文件位置不与Release文件在同一目录下,则必须有此项。另外,如果需要签名Release文件,也必须有这个。关于MD5Sum的格式,在下文也会介绍。

打包插件

接下来我们需要 linux 环境,并且需要安装dpkg-dev,我这里使用 docker 创建的环境,其他 linux 环境也可以

1
2
3
4
5
# 更新系统源
apt-get update

# 安装dpkg-dev
apt-get install dpkg-dev

把我们准备好的文件拷贝到 linux 系统

1
docker cp ~/Desktop/cydia 75119aae5029:/var/cydia

生成Packages

1
2
3
4
5
6
7
8
# 进入我们的文件目录
cd /var/cydia

# 扫描插件到 Package
dpkg-scanpackages debs /dev/null > Packages

tar zcvf Packages.gz Packages
bzip2 -k Packages Packages.bz2

上面步骤生成三个文件

  • Package
  • Packages.bz2
  • Package.gz

接下来是先生成一个密钥

1
gpg --gen-key

提示输入EmailReal name,输入密码,生成过程可能需要等一会

签名 Package

1
gpg -abs -r "你刚才的输入的 Real name" -o Release.gpg Release

输入密码,生成Release.gpg,文件目录如下

1
2
3
4
5
6
7
8
9
10
11
- cydia
|- CydiaIcon.png 源图标
|- Release 描述源信息
|- debs 插件
|- com.bomo.tweaksb_0.0.1-7_iphoneos-arm.deb
|- com.bomo.tweakjianshu_0.0.1-7_iphoneos-arm.deb
|- Release.gpg
|- Packages
|- Packages.bz2
|- Packages.gz
|- Release.gpg

接下来把整个cydia文件夹放到可以被 web 访问到的地方,访问的路径就是源地址,如http://192.168.0.3:8080/cydia,然后可以添加到 Cydia 安装插件了

更新

如果有 deb 更新,重新执行一下上面命令重新导出即可

1
2
3
4
5
6
cd cydia;
# 删除原来的 package
rm Packages; rm Packages.gz; rm Packages.bz2;

# 生成新的package
dpkg-scanpackages debs /dev/null > Packages && tar zcvf Packages.gz Packages && bzip2 -k Packages Packages.bz2

然后替换原来的文件即可,在 Cydia 就会收到更新

引用

  1. http://www.saurik.com/id/7