I have a package I'm maintaining. When I issue "fakeroot debian/rules binary" I get this error:
dh_install --sourcedir=debian/tmp
cp: cannot stat `debian/tmp/usr/share/prg/1.svg': No such file or directory
dh_install: cp -a debian/tmp/usr/share/prg/1.svg debian/prg//usr/share/prg/ returned exit code 1
make: * [install-arch] Error 2I am unable to rectify this error. I can issue "cd debian/tmp/usr/share/prg" then "ls" and voila the 1.svg actually does exist.
In my makefile:
dist_pkgdata_DATA = 1.svgAnd in my prg.install file:
usr/share/prg/1.svg
etc/config.iniThe config.ini file has no issue installing.
Any suggestions would be greatly appreciated. Thank you
1 Answer
The error is being thrown by dh_install, as invoked by your debian/rules file. It's most likely the destination that is missing, not the source file. In this case, does debian/prg//usr/share/prg exist? I'd wager not. Conventionally, the files for a package are built up either in debian/tmp (typical for 1:1 source:binary packages) or debian/binary-package-name (better for 1:n source:binary packages), so trying to copy from one convention to another suggests an error.
Check your debian/*install file(s). see also the dh_install(1) manpage. In particular,
debian/package.install
List the files to install into each package and the directory they should be installed to. The format is a set of lines, where each line lists a file or files to install, and at the end of the line tells the directory it should be installed in. The name of the files (or directories) to install should be given relative to the current directory, while the installation directory is given relative to the package build directory. You may use wildcards in the names of the files to install (in v3 mode and above).
If you really want debian/prg/usr/share/prg to exist, you must instruct dh_installdirs to create the directories. Create debian/package.dirs for your package, listing the names of directories to create, relative to the build directory, e.g.
usr/share/man/man6
usr/lib
usr/share/prg 1