【问题标题】:Cpack create a ld.so.confcpack 创建一个 ld.so.conf
【发布时间】:2021-12-27 15:22:24
【问题描述】:

我正在使用 cpack 创建一个 Debian 软件包。并在/opt/interfaces/lib 安装包,由于标准位置不存在库,我想添加/etc/ld.so.conf.d/interfaceslibs.conf 文件并具有/opt/interfaces/lib

我不太确定如何使用 CMake 的 cpack 来实现。我还听说,不要将此文件制作/创建为安装后脚本,因为apt remove package 无法删除它们。不幸的是,我错过了一些关键词/例子来完成这项任务。能否指出一些简单的例子或一些在线参考资料?

谢谢

【问题讨论】:

  • 使用CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA 变量,您可以添加到包附加脚本postrm 以在卸载包后运行。据我了解,此脚本可用于删除/etc/ld.so.conf.d/ 下的系统文件。

标签: cmake debian cpack


【解决方案1】:
  1. 您很可能应该使用configure_file() 生成此文件,因为它的内容取决于${CMAKE_INSTALL_FULL_LIBDIR}

  2. 您的CMakeLists.txt 只需将生成的文件安装到/etc/ld.so.conf.d/ 目录下install(FILES...)

  3. CPack 会将其包含在 *.deb 包中。

  4. 如果您的包提供任何动态库,CPack 会生成一个简单的 post(inst|rm) 脚​​本(运行 ldconfig),或者您可以通过相应的 CPackDeb 变量提供您自己的脚本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多