Johannes Schauer writes ("Re: Bug#800054: dgit: using dpkg-buildpackage to build source package requires build dependencies to be installed"): > maybe I don't understand yet what it means for my git tree to be clean but I > would've thought that if it is clean (no extra files, no uncommitted changes, > no deleted files) then there is no need to run "debian/rules clean". Is that > correct?
In theory. The problem is that there are some packages whose clean targets edit files in the tree (!) and do other strange things. I want dgit to work with those too. So I don't think dgit can be sure that just because the tree is clean in the git sense, that the debian/rules idea of clean agrees. > > Depending on your --clean mode, dgit sbuild might itself use > dpkg-source -b. > > According to the man page, it seems that --clean=git also uses > dpkg-buildpackage. Why? Once `git clean -xdf` is run, there should be no need > to call dpkg-buildpackage but "dpkg-source -b" should suffice, no? That would > also then not require any special casing of passing -nc to dpkg-buildpackage. You mean this sentence ? | Also, -wg causes dgit to pass -nc to dpkg-buildpackage, which | prevents the package's own clean target from being run. That is indeed slightly misleading, because it only passes -nc to dpkg-buildpackage _if dpkg-buildpackage is being run_. This might the case even with dgit -wgf, for example, if you do `dgit build' rather than `dgit sbuild'. I think you will find that dgit -wgf or -wc deal with the build-dep problem you are. (BTW, when we are done discussing this I will garden this bug report into whatever changes to the docs and/or behaviour seem right.) Thanks, Ian.