我正在为一个小型游戏项目构建我的第一个 Debian 软件包,它从 C 源代码构建得很好,但编译后的可执行文件安装在 /usr/bin 中。我怎样才能将它安装在 /usr/games 中?
我尝试将它添加到 debian/install 中,如下所示:
obj-x86_64-linux-gnu/mygame usr/games
但这仅在为 x86_64 构建包时才有效,因为在其他架构上,构建目录显然会有不同的名称。
答案1
您可以尝试通过一些小例子来学习https://packages.ubuntu.com/source/hirsute/xball。
这个xball
包中有以下东西debian/rules
:
override_dh_auto_configure:
dh_auto_configure -- \
--prefix=/usr \
--bindir=/usr/games \
--datadir=/usr/share/games/xball
上面的操作--bindir=/usr/games
可以实现你想要的效果。
您可以对您的代码执行相同的操作。
根据 OP 的评论进行更新。对于cmake
基于的构建:
我最后看了
blockattack
,其作用如下:override_dh_auto_configure: dh_auto_configure -- \ -DCMAKE_BUILD_TYPE=Release \ -DINSTALL_BIN_DIR=/usr/games \ -DINSTALL_DATA_DIR=share/games/blockattack