Проверьте исходный код внутри домашнего каталога
Я пытаюсь создать 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
не сталкиваясь с этой подсказкой?
1 ответ
Зачем
Качество сценариев сборки различного программного обеспечения может отличаться. 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