-
Notifications
You must be signed in to change notification settings - Fork 1
/
40-debian-dev.tex
59 lines (46 loc) · 3.36 KB
/
40-debian-dev.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
% 40-debian-dev.tex
\begin{frame}{Debian是如何开发的?}
作为一款完整功能的Linux操作系统,Debian和衍生发行版不同,并没有所谓“上游发行版”。了解Debian的开发工作流有益于了解一个操作系统应当如何独立存在并维持。
\vfill
最最核心的内容无非如下三点:
\begin{itemize}
\item 以软件包(deb包)为核心:从系统内核到软件库再到各种软件,所有系统文件均由\texttt{.deb}软件包提供;
\item Debian开发者和软件包维护者(即打包人员)从软件原作者处获取源代码,结合自己编写的打包指令便可使用打包工具链生成新的\texttt{.deb}包;
\item 打包人员在本地测试通过后将软件源代码和打包指令数字签名,以\textbf{源码包}的形式上传\footnote{请注意,默认情况下是不会上传\texttt{.deb}包的。}至\texttt{Debian FTP Master}\footnote{请将其理解为“文件服务器”,FTP的名字是历史遗留下来的。}服务器,服务器端会自动验证数字签名、权限并为不同硬件架构构建\texttt{.deb}包、将构建成果放入软件源并随镜像网络分发至全球各地。
\end{itemize}
\end{frame}
\begin{frame}{Debian是如何开发的?(二)}{初次引入软件包,以及后续维护}
初次引入新软件包需要由\texttt{Debian FTP Masters}团队进行审查,确保软件许可证符合要求(是自由的)且软件质量达标;初次审查通过后,后续更新软件包不再需要\texttt{FTP Masters}审查,可以由DD自行上传更新。
\vfill
日常工作:监视上游新版本并进行打包,修复软件包存在的Bug。
\begin{description}
\item[监视上游新版本] 只要在打包时正确编写了\texttt{debian/watch}文件,稍后在Debian DDPO和Debian Maintainer Dashboard站点上会自动提示新版本需要打包;
\item[修复Bug] 软件包列明的维护者会以电子邮件形式收到用户提交的Bug报告,维护者需要相应进行处理。所有Bug报告也可在\url{tracker.debian.org}或\url{bugs.debian.org}网页上查询到。Bug提交者、软件包维护者和所有其他人士均可以回复电子邮件的形式在Bug报告下留言。
\end{description}
\end{frame}
\begin{frame}{Debian是如何开发的?(三)}{软件包的团队维护}
某一类软件包可能有相似的特性,它们通常由一个专门存在的团队进行维护。这里稍举几例:
\vfill
\begin{multicols}{2}
\begin{itemize}
\item Debian GCC Maintainers
\item Debian Multimedia Maintainers
\item Debian X Strike Force
\item Debian Wine Party
\item Debian Fonts Task Force
\item Debian Python Modules Team
\item Debian Rust Maintainers
\end{itemize}
\columnbreak
\begin{itemize}
\item Debian Java Maintainers
\item Debian Deepin Packaging Team
\item Debian Desktop Themes Team
\item Debian Chinese Team
\item Debian Cloud Team
\item Debian Qt and KDE Team
\item Debian+Ubuntu MATE Packaging Team
\end{itemize}
\end{multicols}
如需修改团队旗下的软件包,与团队取得联系是很重要的;一般这些团队都有属于自己的邮件列表和GitLab团队,可以通过查看邮件列表存档的活跃人员或者GitLab团队成员名单了解应当与谁联系。
\end{frame}