Control: tag -1 + wontfix

Quoting Dima Kogan (2023-03-28 23:13:16)
> Hi. This just happened:
> 
>   dima@shorty:/tmp/opencv-4.6.0+dfsg$ sbuild -c sid-amd64 -d unstable -s -A 
> --anything-failed-commands '%s'      
> 
>   dh clean
>   dh: error: unable to load addon maven-repo-helper: Can't locate 
> Debian/Debhelper/Sequence/maven_repo_helper.pm in @INC (you may need to 
> install the Debian::Debhelper::Sequence::maven_repo_helper module) (@INC 
> contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.36.0 
> /usr/local/share/perl/5.36.0 /usr/lib/x86_64-linux-gnu/perl5/5.36 
> /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base 
> /usr/lib/x86_64-linux-gnu/perl/5.36 /usr/share/perl/5.36 
> /usr/local/lib/site_perl) at (eval 14) line 1.
>   BEGIN failed--compilation aborted at (eval 14) line 1.
> 
>   make: *** [debian/rules:126: clean] Error 255
>   E: Failed to clean source directory /tmp/opencv-4.6.0+dfsg 
> (/tmp/opencv_4.6.0+dfsg-11.dsc)
> 
> The user expectation is that sbuild takes care of all the Build-Depends
> (by installing them in the chroot), but this apparently isn't 100% true:
> it runs "dh clean" outside the chroot, so any extra debhelper bits must
> be installed outside.
> 
> Can we fix this by not doing anything outside the chroot that sbuild
> itself doesn't Depend on? The simplest way to do that is to make
> --no-clean the default. Of we can run "dh clean" inside the chroot. Can we do
> something like that?

no. This is a feature not a bug. From your invocation I assume that you ran
sbuild inside and unpacked source directory? The input for sbuild is a .dsc. To
make it easier for the user, sbuild contains some code that automatically
builds the .dsc for you if you run sbuild inside an unpacked source directory.
To build the .dsc you need a clean source directory. Since sbuild cannot know
whether or not your source directory is clean, it runs the clean target by
default. If you know it's clean, then you can force sbuild to not do that by
passing --no-clean. If you do not want to pass --no-clean, then you can instead
create the .dsc in any other way you like and then pass the .dsc to sbuild. If
you pass a .dsc to sbuild, then sbuild will not attempt to run the lean target.

Does that make sense?

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature

Reply via email to