You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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
└── ...

实现步骤

  1. 迁移debian目录
    在项目根目录执行命令,将原debian目录移至packaging目录下:

    mkdir -p packaging
    mv debian packaging/
    
  2. 从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
    
  3. 验证构建结果
    构建完成后,生成的Debian包默认输出在项目根目录下,可检查包文件是否正常生成。

内容的提问来源于stack exchange,提问作者Sarthak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 06:25:32