Advertisement

记录一次获取apt源码进行修改并再次打包的过程

阅读量:

背景

获取apt源中的blueman代码并进行一些修改以满足特殊的需求

步骤
  1. 通过执行apt-get source blueman命令获取源码
  2. 在源码中进行所需的自定义修改。
  3. 在changelog中添加修改内容,并根据需要在control文件中添加相应的依赖项(如果有)。
  4. 将命令dpkg-buildpackage -rfakeroot -b执行于blueman目录下。
  5. 执行上述操作后,在parent目录下将生成相应的deb包及相关文件。

Note: 如果您需要将项目部署至launchpad平台进行编译,请使用debuild -sa -S命令来生成相应的change文件。

说明

这种修改方式并非仅通过补丁来完成代码层面的调整。原因在于这种调整仅关注功能模块的具体优化而非修复已知的问题。

新增了需求后,在安装包时需要将两个脚本传递给系统。其中一个为Python脚本,请确保将其放置在指定目录下;另一个为Shell脚本,请将其配置到相应的执行路径上。具体步骤如下:

位于debian目录中创建一个以安装文件为后缀的文档,并说明该文档中要指定要被系统额外添加的所有文件及其路径信息。

复制代码
    get_mode.sh /usr/bin/
    gsetting.py /usr/bin/
  1. 将需要执行的任务脚本配置为定时任务。
    在debian目录下的postinst文件中加入相应的shell指令。

关于debain目录下的四个相关文件的介绍:

preinst

在Debian软件包(".deb")解压前运行的脚本旨在为正在被升级的软件包终止相关服务,直至升级过程完成或安装完成;当该操作成功完成后则会触发执行‘postinst’脚本。

postinst

主要完成对.deb格式软件包安装完成后必要的配置设置。通常情况下, postinst脚本会要求用户提供输入项,并在接受默认值时发出警告信息;此时应按照提示重新配置相关参数以避免潜在问题。当一个软件包被安装或升级完成时, postinst脚本将启动相应的服务以维持正常运行状态

prerm

停止一个软件包的相关进程, 要卸载软件包的相关文件前执行。

postrm

更新涉及相关操作文档及/或其他软件更新操作.
在 /var/lib/dpkg/info 目录中存放着大量设置项信息,并遵循foo命名规则.
该目录下的foo.list记录了所有安装过的软件.
在Debian系统中使用 apt-get命令进行软件安装及移除时经常会遇到前置步骤和后置步骤的问题.

全部评论 (0)

还没有任何评论哟~