fakeroot debian/rules binary error

9,020

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
Share:
9,020
ldg
Author by

ldg

Updated on September 18, 2022

Comments

  • ldg
    ldg over 1 year

    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 2
    

    I 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.svg
    

    And in my prg.install file:

    usr/share/prg/1.svg
    etc/config.ini
    

    The config.ini file has no issue installing.

    Any suggestions would be greatly appreciated. Thank you