4

我正在尝试deb从我的 openCV(不相关)源代码创建一个文件。源的位置是~/software/opencv/

这是我成功执行的命令。

cd ~/software/opencv/
mkdir build
cd build
cmake ..
make

然后代替sudo make install, 我sudo checkinstall用来创建deb. 但是在这个过程的中间,出现了这个提示。

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
Do you want me to list them?  [n]:

当我列出文件时,它只是

/home
/home/user
/home/user/software
/home/user/software/opencv
/home/user/software/opencv/opencv-3.3.1
/home/user/software/opencv/opencv-3.3.1/build
/home/user/software/opencv/opencv-3.3.1/build/CMakeFiles
/home/user/software/opencv/opencv-3.3.1/build/install_manifest.txt

我需要知道的是这个。

  • 这个提示的原因是什么?
  • 使用时我应该包含和排除哪些目录checkinstall
  • 如何在checkinstall不遇到此提示的情况下运行?
4

1 回答 1

5

为什么

不同软件的构建脚本的质量可能会有所不同。OpenCV 碰巧有一些缺陷,比如包含install_manifest.txt在安装文件中。有些软件根本无法打包checkinstall

制作 deb 包的规范方法是使用用于打包 Debian 操作系统中所有包的“Debian 维护者指南”。但它太复杂了,所以它主要由真正有动力的人使用。

什么目录

取决于软件。bin里面的东西lib通常是需要的。

如何避免

使用checkinstall --default.

其他事情

sudo make install没有必要。

sudo可以通过使用来避免fakeroot(因此您不会触摸根帐户)。--install=no --fstrans=yes此外,在生成包时避免安装(通过使用)是一件好事。因此,如果可能,请使用它:

fakeroot checkinstall --install=no --fstrans=yes
于 2017-11-02T16:06:21.050 回答