Skip to content
此页的大纲

为deepin添加来自debian或者ubuntu的软件包

目前deepin v23需要自行维护软件源,如果你想要添加来自Debian或者ubuntu的软件包,可以参考下面的方法。

小心

不要从任何的混合源中安装软件包。它可能会打破软件包的一致性,这需要你要深厚的系统管理知识,例如 ABI 编译器、库版本和解释器特性等等。

从debian添加软件包

1. 寻找合适的软件包

这里以neofetch为例子,首先在debian的软件包列表中搜索neofetch,找到对应的软件包,这里是neofetch

  1. 在此网站中搜索软件包debian packages search

  2. 选择合适的软件包:deepin v23 是从debian11开始转向上游维护的,所以可以选择debian11以及以上的软件包,但是不建议选择unstable的软件包。同时需要注意,需要选择正确的架构,这里是amd64。

  3. 下载软件包对应的源码包:在web页面右侧下载源码包栏目内,选择对应的源码包,这里是neofetch_7.1.0-1.dsc,鼠标右键复制链接地址,打开终端,选择一个合适的目录,使用dget命令下载源码包

    image-20230217101546660

shell
dget 来自devscripts工具包可以同步下载orig等压缩包,终端进行安装 apt install devscripts
dget  https://deb.debian.org/debian/pool/main/n/neofetch/neofetch_7.1.0-1.dsc

同栏目的其他文件会被同步拉取,这里是neofetch_7.1.0.orig.tar.xzneofetch_7.1.0-1.debian.tar.xz

2. 解压源码包

shell
dpkg-source -x neofetch_7.1.0-1.dsc

你可以获得一个neofetch-7.1.0的目录,进入目录,可以看到debian目录,这个目录就是debian的源码包。

TIP

注意检查源码中是否包含发行版的判断,比如debian/rules、CMakeList 等构建时的判断检查等

3. 检查依赖

shell
进入源码目录执行,dpkg-checkbuilddeps

shell会提示你缺少哪些依赖,这里是dh-autoreconf,使用apt安装即可。

shell
sudo apt install dh-autoreconf

部分依赖源内有,但是需要检查一下版本是否满足要求。如果不满足,则需要对依赖包进行打包。(重复上述步骤)

4. 打包

建议使用pbuild/sbuild进行打包验证,详情参考sbuild pbuilder,这些打包工具可以更方便帮助打包且不污染宿主机环境,但是请注意这里我们默认您有一些基础的知识,如仓库的添加,编写基础的脚本。打包完成后您会得到对应的deb包,下面可以进行安装

5. 安装

shell
sudo dpkg -i neofetch_7.1.0-1_amd64.deb // [!code  error]

上述操作是错误的,还记得我们之前的提示吗,不要使用dpkg -i安装软件包,这里我们使用apt install安装。

shell
sudo apt install ./neofetch_7.1.0-1_amd64.deb

apt会自动解决依赖关系,安装完成后,可以使用neofetch命令查看效果。

从ubuntu添加软件包

和Debian类似,ubuntu也有一个软件包搜索网站: packages.ubuntu.com 在这里搜索软件包,剩下的步骤和Debian类似。

从其他源添加软件包

如果你想要添加来自其他源的软件包,可以参考上述步骤,但是需要注意的是,其他源的软件包可能会有一些不兼容的问题,需要自行解决。

为deepin 贡献来自其他发行版的软件包

如果你想要为deepin贡献来自其他发行版的软件包,可以参考上述步骤,进行打包安装验证,确定没有问题后,可以提交到deepin-community仓库,deepin社区会进行审核,审核通过后,会合并到deepin仓库中。

提示

建议软件包来源为Debian或者自己打包的软件包,这样可以保证软件包的一致性。

具体要求在deepin-wiki