Проверьте исходный код внутри домашнего каталога

Я пытаюсь создать 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
Другие вопросы по тегам