我正在尝试为PostgreSQL扩展Apache-age发行版1.1.1创建一个debian软件包,并使用dh_make
命令创建了目录结构。目录结构如下所示:
age-1.1.1 (project root)
├── debian
│ ├── changelog
│ ├── compat
│ ├── control
│ ├── docs
│ ├── examples
│ ├── links
│ ├── manpages
│ ├── menu
│ ├── postinst
│ ├── postrm
│ ├── preinst
│ ├── prerm
│ ├── rules
│ ├── source
│ └── watch
├── src
└── Makefile
当dpkg-buildpackage -b
从项目根文件夹运行时,它会查找debian文件夹,然后读取规则文件,然后读取位于项目根目录下的Makefile来构建包。
我想将目录结构更改为以下内容:
.project root
├── packaging
│ ├── debian
│ │ ├── control
│ │ ├── control.in
│ │ ├── changelog
│ │ ├── copyright
│ │ ├── pgversions
│ │ ├── rules
│ │ └── ...
│ └──
├── src
├── LICENSE
├── README.md
├── Makefile
└── ...
我想更改目录结构,以便可以从打包文件夹运行dpkg-buildpackage -b
命令,并且它应该构建包。
2条答案
按热度按时间doinxwow1#
我不确定这是否是最好的方法,但它对我很有效:
步骤如下:
dh_make_pgxs
命令。您的文件结构应如下所示:
src/backend/age.o
应该是../src/backend/age.o
./tools/
应该是./../tools/
。dpkg-buildpackage -b
命令来构建debian软件包。注:在步骤1中,我们首先在项目根目录中运行
dh_make_pgxs
,这是为了确保控制文件中的项目名称和变更日志文件中的版本正确。在这种情况下,控制、www.example.com和变更日志文件中的 * name/source * 应为apache-age
,变更日志文件中的版本号应为1.1.1-1
。control.in & changelog files should beapache-age
and the version number in changelog file should be1.1.1-1
.或者,您可以从packaging目录运行该命令,然后手动更改控制文件和changelog文件中的名称和版本。
bf1o4zei2#
在您的
Makefile
中相应地修改
install
路径。它应该指向您的packaging/debian/*
,其中*
是文件名。这样,
Makefile
可以指向新文件夹结构中的正确文件路径目标。