dpkg-buildpackage:安装到 /usr/games 而不是 /usr bin

dpkg-buildpackage:安装到 /usr/games 而不是 /usr bin

我正在为一个小型游戏项目构建我的第一个 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

相关内容