Deepin RISCV 修包流程问题总结

该文写于 PLCT deepin 小队实习期间,总结修包过程中遇到的一些小问题和解决方案。方便之后修包过程中快速解决同样的问题,也希望能帮助到和笔者一样的小白。

参考教程:

  • https://www.cnblogs.com/Gui-Yue/articles/16907245.html
  • https://www.cnblogs.com/Gui-Yue/articles/16913125.html

首先一定要配置好dquilt[ref:Debian 新维护者手册]

quilt 程序是 Debian 打包过程中采用的补丁管理工具。我们只需要在默认配置的基础上,加以少许修改即可。首先我们来创建一个别名 dquilt,以方便打包之需: 添加以下几行内容到 ~/.bashrc 文件中。

alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"
. /usr/share/bash-completion/completions/quilt
complete -F _quilt_completion -o filenames dquilt

接着创建并编辑 ~/.quiltrc-dpkg 文件:

d=. ; while [ ! -d $d/debian -a $(readlink -e $d) != / ]; do d=$d/..; done
if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then# if in Debian packaging tree with unset $QUILT_PATCHESQUILT_PATCHES="debian/patches"QUILT_PATCH_OPTS="--reject-format=unified"QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto"QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi
fi

配置以后要重启一下,修改才会生效。

配置好了 dquilt 以后我们就可以用 dquilt 替代 quilt 命令,并且 dquilt 命令更加强大和便捷。

编写补丁描述:

dquilt header -e#进入编辑器后,填写以下内容即可
Description: XXXXXXXX
Author: Authorname <username@email.com>

修包完成后,使用dch -i来编辑 changelog 文件。

#会自动生成以下内容clucene-core (2.3.3.4+dfsg-1.1) UNRELEASED; urgency=medium* Non-maintainer upload.* -- root <root@67b282566c50>  Tue, 29 Nov 2022 06:08:45 +0000#修改版本号,UNRELEASED;填写修改内容描述;将 root 部分改为自己的信息即可

在 github 上提交 changelog+patch+series 的 pr 即可。

提交PR,如有多次 commit ,需要通过 rebase 合并为一个 commit ,便于管理。

rebase 合并 commit 流程:

  • 首先查看提交历史:git log

  • 然后执行 git rebase -i <版本号> ,即合并这个 commit 之后的所有 commit (不包括这个)

  • 进入编辑器做如下修改

    pick <需合并的版本号>   '注释**********'
    s  <需合并的版本号>  '注释*********'
    s  <需合并的版本号>  '注释**********'
    
  • git log 看到 commit 已经合并

  • 最后通过 git push -f 强制 push 到远端

pr重开是不合适的行为 有问题可以考虑rebase+push force

Deepin RISCV 修包流程问题总结相关推荐

  1. 基于易灵思开发板RiscV的调试流程

    基于易灵思开发板RiscV的调试流程 一.相关环境准备 1.软件Install 2.硬件Device 二.硬件环境搭建 1.开发板连接 2.下载代码到开发板 三.软件环境搭建 1.启动Eclipse软 ...

  2. Linux系统捕获数据包流程

    Linux系统捕获数据包流程 为了提高数据包的捕获效率,瓶颈问题是一个需要非常关注的焦点.减少在捕获数据包过程中的瓶颈,就能够提高数据包捕获的整体性能.下面本文将以Linux操作系统为平台,分析捕获数 ...

  3. DPDK 网卡收包流程

    Table of Contents 1.Linux网络收发包流程 1.1 网卡与liuux驱动交互 1.2  linux驱动与内核协议栈交互 题外1: 中断处理逻辑 题外2:中断的弊端 2.linux ...

  4. 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解

    负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负载均衡的基 ...

  5. 【无线】【流程】QCA无线驱动收包流程分析

    概述: 无线驱动的收包过程是基于中断的处理方式.在准备接收数据之前,驱动需要先进行初始化接收数据使用到的相关结构( sc_rxbuf和rxfifo ).当数据包到达时,硬件会首先进行 DMA,完成以后 ...

  6. RISC-V Linux 启动流程分析

    " Author:  通天塔 985400330@qq.com Date:    2022/05/15 Revisor: lzufalcon falcon@tinylab.org Proje ...

  7. TextMeshPro 制作表情包流程

    TextMeshPro 制作表情包流程 1.用TexturePacker 制作图集 2.点击 Publish导出文件 3.将文件导入Unity 4.在Unity导入TexturePacker工具 5. ...

  8. Idea 打War包流程

    Idea 打War包流程 使用java为小程序提供接口,完成本地开发后,需要打war包上传到服务器.将流程记录下. 1.Idea 中选择Project Structure 2.选择Artifaces ...

  9. 网卡收包流程分析(一)

    由于本人工作内容主要集中于kernel的网络子系统,刚接触这个模块,于是想梳理一下网卡驱动的收包过程,以下内容为个人理解,如有不对,希望大家能够多多指正,相互成长~ 后续会持续更新有关kernel网络 ...

最新文章

  1. 分布式训练使用手册-paddle 数据并行
  2. 基于VTK的Delaunay的三角剖分算法
  3. Spring JDBC详解
  4. 基于 linux 平台的 libpcap 源代码分析
  5. Spring学习总结(2)——Spring的常用注解
  6. Arcgis Server初学笔记(一)
  7. 小记css的margin collapsing
  8. 聚划算的夜场新生意 “三叉戟”打通夜间消费命脉
  9. pbr发光 unity_PBR的基础理论
  10. SpringBoot创建第一个Web项目——Hello SpringBoot
  11. Hadoop的调度器总结(转)
  12. Altera PLL失锁的原因
  13. 基于Java的仓库管理系统
  14. Excel内容自动翻译
  15. 微服务入门到入土(08)-消息队列RabbitMQ
  16. C#编译报错:名称必须是命名空间名
  17. arduino 土壤温湿度传感器_Arduino上使用土壤湿度传感器
  18. 大漠找图算法_GitHub - jozhn/op: op插件(类似大漠插件),Windows消息模拟,gdi,dx,opengl截图,找图,找字(OCR),其他实用算法...
  19. 使用mybatis注解实现模糊查询
  20. [思步网微讲坛] 高效研发团队的打造 总结

热门文章

  1. Java笔记-SM2(国密2)的调用及SM2、SM3、SM4使用场景
  2. Java中数字的进制转换
  3. 【干货】减少外贸邮件进垃圾箱,找EmailCamel解决!
  4. python waitkey_python—OpenCV2中 cv2.VideoCapture(),read(),waitKey()的使用
  5. Texlive2021+VSCode+Latex win10配置文本编辑器
  6. Python爬虫数据保存到MongoDB中
  7. 刘知远:大模型值得探索的十个研究方向
  8. 你的计算机 dota2服务器,(仅负责处理)盲目追求高性能计算机配置的朋友,您确实使用... [dota2 bar]...
  9. torch.unsqueeze和 torch.squeeze() 详解
  10. 华为手机语音转文字怎么设置,如何完成音频在线转换