Well, let's assume the program installs into /usr/local by default (or you set it to install there). This works for any prefix (even /tmp/foo) just change the parts where I specify /usr/local
Code:
# before installation
find /usr/local -print > /tmp/before
./gmake install
find /usr/local -print > /tmp/after
cat /tmp/before /tmp/after | sort | uniq -u | sed 's/\/usr\/local\///' > /tmp/files
I know it looks like a lot (but it's actually not bad) and it lets you install the program right into the place on the system you want without specifying an empty prefix (like /tmp/foo). I actually use this to generate the list of files for programs I maintain just to ensure I don't miss anything.
If you want to use an empty prefix... you can just do:
Code:
./gmake install
find /tmp/foo -print | sed 's/\/tmp\/foo\///' > /tmp/files
But I am not sure this won't complicate things as you will need a different prefix for the package process than you wish to use for the installation on a system. But you should never have to type all those filenames into a file... there are tools to help you generate all that (which is why the command line is so vital to unix-like systems).
Note: in the sed command you need to escape .'s and /'s... if they appear in the path you are trying to remove. Which is why I have "\/usr\/local\/" and not "/usr/local/" in the above. Also, if the system is multi-user and you're not the only person doing things on it... you should visually check the generated file to ensure that all the files listed make sense. That way if someone else created a file under /usr/local after your first find but before the second, you're not going to include it as part of the package.
The description information can be anything you want. Anything at all... but it is needed for pkg_info to properly report the package when it's installed on your system. You can have:
Short:
Code:
Don't touch this package!
Long:
It doesn't really matter what they say, since they're for your system... but you should have something there.