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

Я пытаюсь создать файл 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, не сталкиваясь с этой подсказкой?

person nipunasudha    schedule 01.11.2017    source источник


Ответы (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
person Velkan    schedule 02.11.2017