编译打包
sudo apt install build-essential debhelper devscripts dpkg-dev
dget http://deb.debian.org/debian/pool/main/a/android-platform-system-core/android-platform-system-core_7.0.0+r3
cd android-platform-system-core-7.0.0+r33/
cd debian/
control 文件是为包管理工具准备的,比如 apt show 命令的输出就来自于这个文件。 control 文件是 dh_make 命令为我们创建的。相对难理解的是 Build-Depends 项, 列出了编译此软件包需要的软件包。 要找出编译你的软件所需的软件包可以使用这个命令:$ dpkg-depcheck -d ./configure 要手工地找到 /usr/bin/foo 的编译依赖,可以执行:$ objdump -p /usr/bin/foo | grep NEEDED, 然后用 dpkg -S 查找包名。
rules 文件,实际上是一个 Makefile 格式的脚本文件, 第一行就是:#!/usr/bin/make -f。默认的都有: %: dh $@ 其中的百分号意味着 “任何 targets”, 它会以 target 名称作参数调用单个程序 dh。 dh 命令是一个包装脚本,它会根据参数执行妥当的 dh_* 程序序列。
一般的 tar 包源码都有 configure, 这时可以执行 dh_auto_config 进行 config,它实际上就是直接调用./configure。 然后执行 dh_auto_build 编译。
rules 文件一般会包含很多 override_,这时对默认 target 的替换。
装依赖:
apt build-dep .
编译:
debuild -b
提取控制信息和存档的清单文件
dpkg-deb -R
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`
make install DESTDIR=/home/uos/Python-2.7.5/aaaa
指定安装目录
###################
SourceURL:file:///home/linuxws/Videos/新建Word文档.doc
CMakeLists.txt 说明编译方式是Cmake
.pro文件说明编译方式可能是qmake,
看一下README文件。
有makefile,可以直接执行make -j8
1. 打包前需要做的准备
sudo apt install build-essential debhelper devscripts dpkg-dev dh-make 用以安装打包环境需要的软件
打包qt应用还需要安装qt5-qmake 和qt5-default
2. 拉取源码:
git clone https://github.com/xxx.git, 如果拉取不下来可以替换镜像加速器为https://hub.fastgit.xyz/xxx.git
debian仓库里拉取源码,使用dget命令,比如dget http://deb.debian.org/xxx(速度不够快点话,把链接中的deb.debian.org替换成mirrors.163.com)
qmake
make -j4
3. 打包过程:
deb解包:dpkg-deb -R xxx.deb path
rpm解包:rpm2cpio xxx.rpm | cpio -div
deb打包:
创建源码包并且生成debian目录:dh_make --createorig -s
从源码构建deb包:debuild -b 或者 dpkg-buildpackage -us -uc -b
从二进制构建deb包:dpkg -b xxx .
4.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现