У меня есть тривиально простая программа командной строки, которая буквально состоит из сценария python и нескольких сценариев вспомогательной оболочки. Я хотел бы узнать об упаковке этой программы, хотя это тривиально.
Из того, что я собрал, я пошел по маршруту configure / make / install. Поскольку мне не нужно было ничего настраивать или что-то делать, я просто создал Makefile, в котором ничего нет, кроме раздела установки:
install:
cp ./myProgram /usr/bin/my-program
chown root:root /usr/bin/my-program
chmod 777 /usr/bin/my-program
cp -r ./ProgramResources /usr/lib/my-program
chown -hR root:root /usr/lib/my-program
chmod -R 777 /usr/lib/my-program
На этом этапе, моя программа устанавливается и отлично работает с sudo make install.
Затем я пытаюсь создать файл deb с помощью checkinstall следующим образом:
sudo checkinstall sudo make install
Похоже, что часть установки прошла, поскольку она сообщает об этом успешно, но затем не удается:
======================== Installation successful ==========================
cp: cannot stat `//var/tmp/tmp.jKCmESc0v7/newfiles.tmp': No such file or directory
Copying files to the temporary directory...OK
Stripping ELF binaries and libraries...OK
Compressing man pages...OK
Building file list... FAILED!
Building Debian package...OK
Installing Debian package...OK
Erasing temporary files...OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been installed and saved to
...
Программа установлена, но, насколько я могу судить, этот недавно созданный файл .deb ничего не делает. dpkg -L my-program возвращает только
/.
, и удаление его вручную и установка из файла deb, похоже, ничего не дает - на самом деле он никуда не помещает никаких файлов.
Итак, (1) Есть ли что-нибудь не так с моим подходом? но насколько я могу судить, этот недавно созданный файл .deb ничего не делает. dpkg -L my-program дает только
/.
, и удаление его вручную и установка из файла deb, похоже, ничего не дает - на самом деле он никуда не помещает никаких файлов.
Итак, (1) Есть ли что-нибудь не так с моим подходом? но насколько я могу судить, этот недавно созданный файл .deb ничего не делает. dpkg -L my-program возвращает только
/.
, и удаление его вручную и установка из файла deb, похоже, ничего не дает - на самом деле он никуда не помещает никаких файлов.
Итак, (1) Есть ли что-нибудь не так с моим подходом? и (2) Как я могу исправить проблему checkinstall?
Большое спасибо за ответы, хотя я хорошо разбираюсь в коде, я никогда ничего не знал об упаковке / распространении.