I have a trivially simple command-line program that literally consists of a python script and some helper shell scripts. I'd like to learn about packaging this program, though it is trivial.
From what I gathered, I went the configure/make/install route. Since I didn't have anything to configure, or anything to make, I simple created a Makefile with nothing but an install section:
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
At this point, my program installs and runs fine with sudo make install.
Then, I attempt to make a deb file using checkinstall as follows:
sudo checkinstall sudo make install
It appears to get past the install part, as it reports it successful, but then fails:
======================== 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
...
The program is installed, but as far as I can tell, this newly made .deb file does nothing. dpkg -L my-program yields only
/.
and manually removing it and installing from the deb file doesn't appear to do anything - it doesn't actually put any files anywhere.
So, (1) Is there anything wrong with my approach? and (2) How can I fix the checkinstall problem?
Thank you very much for answers, even though I'm good with code, I've never known anything about packaging/distribution.