我正在尝试从openCV(不相关)源代码创建deb
文件。来源的位置是~/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
?答案 0 :(得分:2)
不同软件的构建脚本的质量可能会有所不同。 OpenCV碰巧有一些不完整之处,例如在安装文件中包含install_manifest.txt
。某些软件根本不能由checkinstall
打包。
制作deb软件包的规范方法是使用“Debian维护者指南”,用于打包Debian OS中的所有软件包。但它太复杂了,所以它主要是由真正有动力的人使用。
取决于软件。通常需要bin
和lib
中的内容。
使用checkinstall --default
。
sudo make install
不是必需的。
可以通过使用sudo
来避免fakeroot
(因此您不会触及根音)。此外,在生成包时避免安装(通过使用--install=no --fstrans=yes
)是一件好事。所以尽可能使用它:
fakeroot checkinstall --install=no --fstrans=yes