如何修改dh_make默认目录结构以从packaging目录构建Debian包
调整Apache-age 1.1.1 Debian包构建目录结构并实现指定目录构建
需求背景
为PostgreSQL扩展Apache-age 1.1.1制作Debian包,原结构中debian目录位于项目根目录,在根目录执行dpkg-buildpackage -b即可完成构建。现需将debian目录迁移至packaging目录下,实现从packaging目录执行dpkg-buildpackage -b完成包构建。
原目录结构
age-1.1.1 (项目根目录) ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── docs │ ├── examples │ ├── links │ ├── manpages │ ├── menu │ ├── postinst │ ├── postrm │ ├── preinst │ ├── prerm │ ├── rules │ ├── source │ └── watch ├── src └── Makefile
期望目录结构
项目根目录 ├── packaging │ ├── debian │ │ ├── control │ │ ├── control.in │ │ ├── changelog │ │ ├── copyright │ │ ├── pgversions │ │ ├── rules │ │ └── ... │ └── ├── src ├── LICENSE ├── README.md ├── Makefile └── ...
实现步骤
迁移debian目录
在项目根目录执行命令,将原debian目录移至packaging目录下:mkdir -p packaging mv debian packaging/从packaging目录执行构建
进入packaging目录后,通过指定源码目录和debian目录路径,执行构建命令:cd packaging dpkg-buildpackage -b --debian-dir=./debian --source-dir=../或简化为:
dpkg-buildpackage -b -D./debian -S../若需更便捷,可在
packaging目录创建构建脚本build.sh:#!/bin/bash dpkg-buildpackage -b --debian-dir=$(pwd)/debian --source-dir=$(pwd)/../赋予执行权限后直接运行:
chmod +x build.sh ./build.sh验证构建结果
构建完成后,生成的Debian包默认输出在项目根目录下,可检查包文件是否正常生成。
内容的提问来源于stack exchange,提问作者Sarthak
相关产品推荐
相关产品推荐

