3

Running debuild -us -uc to build a package I'm working on, dh_install complains about missing files. Running it on it's own, it prints the same error messages:

$ dh_install
/home/felix/work/my_app/debian/install: 1: /home/felix/work/my_app/debian/install: execute.py: not found
/home/felix/work/my_app/debian/install: 2: /home/felix/work/my_app/debian/install: module1: not found

Though I'm in the correct directory, and the files are clearly there:

$ pwd
/home/felix/work/my_app
$ ll
total 56K
[...]
-rwxrwxr-x 1 felix felix  20K Dez  6 10:35 execute.py
[...]
drwxrwxr-x 4 felix felix 4,0K Dez  1 19:10 module1
[...]

And here's my debian/install:

execute.py usr/lib/my-cool-app
module1 usr/lib/my-cool-app

What am I doing wrong? This worked a day ago, and I changed nothing in this directory since then:

$ git status
On branch debian_package
nothing to commit, working directory clean

Additional info:

$ dpkg -s debhelper | grep Version
Version: 9.20131227ubuntu1
$ cat debian/compat
9
3
  • What version of debhelper do you have? Did it get upgraded overnight by any chance? What’s your package’s compatibility level (debian/compat)? Dec 6, 2017 at 10:08
  • @StephenKitt What is compatibility level? Dec 6, 2017 at 10:14
  • @StephenKitt Added it to the question. Looks reasonable to me.
    – iFreilicht
    Dec 6, 2017 at 10:15

3 Answers 3

4

Possibly you are encountering this bug in dh-install, as I mentioned here Remove the executable bit in your .install file:

chmod -x debian/*.install

0
1

Your debian/install file is wrong. You should use:

execute.py usr/lib/my-cool-app
module1 usr/lib/my-cool-app

Note: usr/lib without a initial slash.

Such files should be put into the package "root" (AKA DESTDIR), to be ready to be packed, so you should use relative paths (relative to "DESTDIR"). Your file causes the build system to move the files into your system /usr, so such files are not found into the temporary location.

3
  • That is very true, but it didn't help. I re-ran debuild and still get the exact same error, even after running debuild clean before.
    – iFreilicht
    Dec 6, 2017 at 13:21
  • How many packages should be created by your source? Try to use debian/<package>.install . You should list your files (and not just the directory) for the module1 (not sure it is a requirements, but it is a lot safer). And you should use python helper to install python modules (or such modules will not "compiled" Dec 6, 2017 at 13:40
  • Just one. I'm also looking into setuptools right now and going from there.
    – iFreilicht
    Dec 6, 2017 at 13:45
0

I struggled with the same issue in WSL. The real reason is that the dh_install is too smart for me ))

But I've found a workaround solution which mentioned in debian mail archive So the result could be:

debian/install

#!/bin/bash
echo execute.py usr/lib/my-cool-app
echo module1 usr/lib/my-cool-app

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .