由deb包安装的脚本有错误的前缀(Scripts installed by the deb pack

2019-10-17 16:32发布

建立我们自己的deb包,我们遇到有让他们得到适当的前缀手动补丁一些脚本的问题。

尤其是,

  • 我们正在建设单
  • 我们使用官方的压缩包。
  • 这结束了错误的前缀的脚本是: MCS ,xbuild,NUnit的-console4等

一个错误的脚本示例:

#!/bin/sh
exec /root/7digital-mono/mono/bin/mono \
      --debug $MONO_OPTIONS \
      /root/7digital-mono/mono/lib/mono/2.0/nunit-console.exe "$@"

什么应该是正确的最终结果是:

#!/bin/sh
exec /usr/bin/mono \
      --debug $MONO_OPTIONS \
      /usr/lib/mono/2.0/nunit-console.exe "$@"

我们使用我们的解决方法buildpackage脚本中调用的dpkg-buildpackage之前:

sed -i s,`pwd`/mono,/usr,g $TARGET_DIR/bin/mcs
sed -i s,`pwd`/mono,/usr,g $TARGET_DIR/bin/xbuild
sed -i s,`pwd`/mono,/usr,g $TARGET_DIR/bin/nunit-console
sed -i s,`pwd`/mono,/usr,g $TARGET_DIR/bin/nunit-console2
sed -i s,`pwd`/mono,/usr,g $TARGET_DIR/bin/nunit-console4

现在,什么是解决这个问题的正确方法? 全Debian软件包创建脚本这里 。

免责声明:我知道有单3的预览包在这里 ! 但那些不为挤压工作。

Answer 1:

正确的方法是./configure --prefix=$TARGET_DIR

这告诉所有的二进制文件/脚本/ ......这个installated文件将在结束了${TARGET_DIR} ,而他们确实应该在endup /usr

您可以使用DESTDIR变量(如make install DESTDIR=${TARGET_DIR}改变(前缀)在安装时安装目标(文件将最终达到在${TARGET_DIR}/${prefix} ,但只会有${prefix} “内置”)



文章来源: Scripts installed by the deb package have wrong prefix