9. Deb包介绍

官网:http://www.debian.org/doc/debian-policy/
deb包本质是一个压缩包文件。里面包含一些特定的目录和文件。安装过程就是dpkg程序按照指定的规则去拷贝文件和执行脚本。

dpkg -c  xxxx.deb //查看deb包的目录结构

DEBIAN目录

存放control文件、及安装和卸载时需要执行的脚本等

control文件导出
//deb包的名字,卸载和查询包信息都用这个名字
Package: com.iosre.myfirstreproject

//工程名字(产品名字)
Name: MyFirstReProject

//依赖包(可以指定多个,用','分割)
Depends: mobilesubstrate, firmware  (>=8.0)

//deb包版本号
Version: 1.0.1

//描述软件所支持的平台架构
Architecture: iphoneos-arm

//deb包简介
Description: My first reproject!

//deb包维护人和联系方式
Maintainer: luz<[email protected]>

//软件作者
Author: luz

//deb包归属类别
Section: Tweaks

//软件主页
Homepage: https://www.baidu.com
脚本文件
preinst
在Deb包文件解包之前,将会运行该脚本。许多“preinst”脚本的任务是停止作用于待升级软件包的服务,直到软件包安装或升级完成。

postinst
该脚本的主要任务是完成安装包时的配置工作。许多“postinst”脚本负责执行有关命令为新安装或升级的软件重启服务。

prerm
该脚本负责停止与软件包相关联的daemon服务。它在删除软件包关联文件之前执行。

postrm
该脚本负责修改软件包链接或文件关联,或删除由它创建的文件。

dpkg打包时会复制当前目录下layout目录下的所有文件和目录
这些文件和目录会镜像到目标设备上(layout相对于设备的根目录)

发布时的Makefile
DEBUG = 0
THEOS_DEVICE_IP = 10.171.4.22
ARCHS = armv7 arm64
TARGET = iphone:latest:8.0
include $(THEOS)/makefiles/common.mk

TWEAK_NAME = MyFirstReProject
MyFirstReProject_FILES = Tweak.xm
MyFirstReProject_FRAMEWORKS = UIKit
include $(THEOS_MAKE_PATH)/tweak.mk

clean::
rm -rf ./packages/*
                  before-package::
                  cp ./script/postinst ./.theos/_/DEBIAN/
                  cp ./script/postrm ./.theos/_/DEBIAN/

你可能感兴趣的:(9. Deb包介绍)