但是川顺页的文章中有一个问题,就是所有的额外库kirigami-addons、pulseaudio-qt、kpeoplevcard都是通过make && make install进行安装的,这种操作方式导致了没法进行很方便的二进制分发,也就是说,如果其他人要安装kdeconnect,就需要重新把上面的流程整个重新走一遍。那么我就想有没有一种方式能够直接解决上面的依赖问题呢?其他我们只需要参考debian中对应的库版本,提取出对应的debian目录,就可以自己编译出kdeconnect的deb包了。完整操作如下:
$ ls -al |grep kdeconnect
-rw-r--r-- 1 xml xml 21603 10月 8日 14:53 kdeconnect_22.12.3-1_amd64.buildinfo
-rw-r--r-- 1 xml xml 1898 10月 8日 14:53 kdeconnect_22.12.3-1_amd64.changes
-rw-r--r-- 1 xml xml 686380 10月 8日 14:53 kdeconnect_22.12.3-1_amd64.deb
-rw-r--r-- 1 xml xml 22626092 10月 8日 14:53 kdeconnect-dbgsym_22.12.3-1_amd64.deb
drwxr-xr-x 30 xml xml 4096 10月 8日 14:52 kdeconnect-kde
-rw-r--r-- 1 xml xml 9252 10月 8日 14:53 nautilus-kdeconnect_22.12.3-1_all.deb
本文参考了@川顺页 的 DeepinV23 beta2编译KDE connect 帖子,并且本篇文章的大部分操作也是基于该文章进行衍生的。
原帖地址
但是川顺页的文章中有一个问题,就是所有的额外库kirigami-addons、pulseaudio-qt、kpeoplevcard都是通过make && make install进行安装的,这种操作方式导致了没法进行很方便的二进制分发,也就是说,如果其他人要安装kdeconnect,就需要重新把上面的流程整个重新走一遍。那么我就想有没有一种方式能够直接解决上面的依赖问题呢?其他我们只需要参考debian中对应的库版本,提取出对应的debian目录,就可以自己编译出kdeconnect的deb包了。完整操作如下:
安装依赖
以上基本都是编译依赖,这一步参考了@川顺页的依赖列表,额外添加了qtbase5-dev。
下面的是安装依赖:
安装kpeoplevcard
直接使用debian仓库里面现成的,依赖关系都满足,直接安装就行
安装pulseaudio-qt和pulseaudio-qt-dev
同上,直接使用debian仓库里面的:
编译kdeconnect
源代码的版本依赖@川顺页的帖子中已经分析的很清楚了,此处不做过多介绍。
我们剩下的就是需要下载kdeconnect的debian目录。我们从debian上游找到了一个kdeconnect的debian目录工程,clone下来后,将debian目录移到kdeconnect工程中:
之后我们就可以在kdeconnect-kde目录下面编译deb包了。直接编译的话,会提示kf5的版本冲突,我们吧debian/control中的关于kf5的版本全都修改成
5.89.0
为了解决打包locale文件的时候出现失败,我们吧locale相关的安装目录注释掉