Bug#840425: mkosi: FTBFS when built with dpkg-buildpackage -A (debian/mkosi.1: No such file or directory)

Felipe Sateler fsateler at debian.org
Tue Oct 11 15:52:14 BST 2016


On 11 October 2016 at 11:41, Santiago Vila <sanvila at unex.es> wrote:
> On Tue, Oct 11, 2016 at 11:30:04AM -0300, Felipe Sateler wrote:
>
>> > If your intention is that "debian/rules build" builds everything from
>> > scratch again if you do it a second time, you can't even do that
>> > with dh because of dh's own stamping system.
>> >
>> > For example, try "debian/rules build" on the hello package, then try
>> > "debian/rules build" again, you will see that it does not do anything
>> > the second time.
>>
>> Debhelper compat level 10 introduced a new stamping system that is
>> reasonable now. Because mkosi uses level 10, all I need to do is `rm
>> debian/debhelper-build-stamp`. If I don't do the .PHONY thing, the
>> only thing that will work is deleting the build dir.
>
> Sorry, I still don't get it.
>
> "all you need to do" for what?

For dh to reexecute its sequence again.

>
> If you want the build to happen again, you should "debian/rules clean" first,
> with or without debhelper.
>
> Am I missing anything?

There are several disadvantages to having build target not be phony:

1. I have to clean and rebuild the world when testing patches.
2. I have to clean and rebuild the world when testing overriden
targets in d/rules.
3. Killing a build halfway and resuming becomes impossible, as the
build directory causes make to consider `build` as done.

Granted, in this particular case the discussion is a bit academic,
since this is a single python script. But in general having `build` be
phony is a great thing.


-- 

Saludos,
Felipe Sateler




More information about the Pkg-systemd-maintainers mailing list