什么是 debian?(但还是要基于的)
什么是 deb?
什么是 debmake?
什么是 dh?
什么是 dpkg-buildpackage?
通通不需要,直接构建 deb 就行了
什么是 debian?(但还是要基于的)
什么是 deb?
什么是 debmake?
什么是 dh?
什么是 dpkg-buildpackage?
通通不需要,直接构建 deb 就行了
高手
学习,我照猫画虎看有没有拦路虎。
正常生存deb文件,但是换一个源码,还是不会,那里去找相应的spark 为名扩展构建模块
正常生存deb文件,但是换一个源码,还是不会,那里去找相应的spark 为名扩展构建模块
这里最核心的就两个点:
拥有 install 逻辑的 CMake 项目,也就是它可以 make install,这样就可以扩展 CMake 项目能力,模块仅限 CMake 项目使用,
从 wget 命令开始,就是在引入模块,让你的 make install 进而变成 make package,可以生成 deb 软件包
你同样可以去尝试其它项目,使用以下两步
克隆项目代码(xcursor-viewer)
git clone https://github.com/drizt/xcursor-viewer
cd xcursor-viewer
使用以下命令(通用)
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/SparkDebPackageConfig.cmake
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/spark-deb-package.descript
cat >> CMakeLists.txt <
这样就在 build 目录中看到 deb 软件包了
drwxr-xr-x root/root 0 2024-06-19 10:06 ./usr/
drwxr-xr-x root/root 0 2024-06-19 10:06 ./usr/bin/
-rwxr-xr-x root/root 206816 2024-06-19 10:06 ./usr/bin/xcursor-viewer
-
例外:不想使用 ./*.deb
,那么使用强大的命令行吧
make package | while read line
do
if [[ "$line" == *"generated." ]]; then
dpkg-deb --contents \
$(echo $line | awk -F' ' '{print $4}');
fi
done
# CPack: - package: /tmp/tmp.xWgxco53hF/xcursor-viewer/build/xcursor-viewer_1.0-20240619_amd64.deb generated.
# ^1 2^ ^3 ^4 ^5
此种方式适用于“仅打包”,而某些项目可能不提供 desktop 文件,所以你打包之后,它是没有图标的。
参考 https://gitee.com/spark-store-project/xcursor-viewer 项目,这是一个在 CMakeLists.txt 中引入了自动创建 desktop 文件的模块,所以它会拥有应用图标(此内容已经超出本贴范围)
更快的操作让 cmake 项目变成 deb 包(termtunnel)
Cross-platform terminal tunnel tool 跨平台终端隧道工具,允许你简单 bypass 堡垒机。或是方便的越过多台主机进行通信:HTTP代理、Socks5代理、端口转发以及文件传输。
git clone https://gitee.com/beordle/termtunnel
cd termtunnel
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/SparkDebPackageConfig.cmake
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/spark-deb-package.descript
cat >> CMakeLists.txt <
更快的操作让 cmake 项目变成 deb 包(sqlitebrowser - 特例项目)
_DB Browser for SQLite_ (DB4S)是一个高质量的可视化开源工具,可以 创建、设计和编辑与SQLite兼容的数据库文件。 DB4S是为想要创建、搜索和编辑的用户和开发人员准备的 数据库。DB4S使用熟悉的类似电子表格的界面,因此复杂的SQL命令不必学习。
git clone https://gitee.com/kunkk1/sqlitebrowser
cd sqlitebrowser
# 扩展构建不适用于已拥有 CPack 的项目,所以可以直接构建
mkdir build && cd build && cmake .. && make package
dpkg-deb --contents ./*.deb
更快的操作让 cmake 项目变成 deb 包(OpenSceneGraph)
OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。
git clone https://gitee.com/mirrors/OpenSceneGraph
cd OpenSceneGraph
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/SparkDebPackageConfig.cmake
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/spark-deb-package.descript
cat >> CMakeLists.txt <
更快的操作让 cmake 项目变成 deb 包(CPU-X)
CPU-X是一个收集CPU、主板等信息的免费软件。 CPU-X是一个系统配置和监控应用程序(类似于Windows的CPU-Z),但CPU-X是一个为GNU/Linux和FreeBSD设计的免费开源软件。 这个软件是用C写的,用CMake工具构建的。 可以通过使用GTK在图形模式下使用它,也可以通过使用NCurses在基于文本的模式下使用它。命令行中存在转储模式。
git clone https://gitee.com/swlhmq/CPU-X
cd CPU-X
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/SparkDebPackageConfig.cmake
wget -P cmake https://gitee.com/zinface/spark.deb-package/raw/master/cmake/spark-deb-package.descript
cat >> CMakeLists.txt <
关于CMake要好好学习一下了,还有一堆的知识不懂。。。
教程引导 - 建议跳过 - 直达附录
直接克隆该项目,如果您的网络不是特别通畅请改用以下地址
基本复制粘贴说明(纯步骤而已可直接跳过)
进入终端准备引入 spark 为名的扩展构建模块
修改描述文件,补充软件包基本信息(暂补充了以下内容)
在 bfdev 项目的
CMakeLists.txt
文件尾部添加两行代码项目构建说明(纯步骤说明而已可直接跳过)
构建此项目的软件包
查看软件包内容(没什么用的内容而已可直接跳过)
查看软件包内容
附录(不需要思考,终端一开直接粘贴运行就行了)
更快的操作让 cmake 项目变成 deb 包(bfdev)
更快的操作让 cmake 项目变成 deb 包(xcursor-viewer)