On 2022-05-26 16:03:04, Christian Kastner wrote:
> Hi Antoine,
>
> On 2022-05-25 17:40, Antoine Beaupre wrote:
>> Setting up dose-distcheck (7.0.0-1+b1) ...
>> Setting up sbuild-build-depends-dose3-dummy (0.invalid.0) ...
>> (I)Doseparse: Parsing and normalizing...
>> (I)Dose_deb: Parsing Packages file -...
>> 
>> ... and then it's just *stuck* there forever. In fact, even getting
>> rid of that thing is hard: just one good old control-c doesn't cut
>> it. You need to ^C the *heck* out of it and it eventually succeeds.
>> 
>> I would expect this to fail early. In fact, there *is* an error in apt
>> earlier, but it seems the error is ignored as it just carries on from
>> there:
>> 
>> The following packages have unmet dependencies:
>>  sbuild-build-depends-main-dummy : Depends: python (>= 2.7) but it is not 
>> installable
>> E: Unable to correct problems, you have held broken packages.
>> apt-get failed.
>> E: Package installation failed
>
> I've seen this super-hard-to-kill hang with dose encountering
> uninstallable packages before (although it seems that I didn't file a
> bug about this).
>
> The simple solution that I found was to use apt as the build dependency
> resolver. To this end, sbuild-qemu passes
>
>     --bd-uninstallable-explainer apt
>
> to sbuild. And on my host, gbp cloning userdir-ldap and running
>
>   $ sbuild-qemu *.dsc
>
> terminates just fine with an error message.
>
> What's odd is that this sbuild option seems to get lost on your end. Are
> you perhaps overriding this option somehow?
>
> Otherwise, I would suspect an option parsing issue similar to the
> --overlay-dir issue that we have been discussing privately.
>
> Will look into this, but if you have any info on a possible override of
> --bd-uninstallable-explainer to share, please do.

I don't believe I do have an override like this. Attached is my (messy)
.sbuildrc.

-- 
Being cynical is the only way to deal with modern civilization — you
can't just swallow it whole.
                        - Frank Zappa
# taken from the Debian wiki:
# https://wiki.debian.org/sbuild

# build Arch: All by default (same as -A)
$build_arch_all = 1;
# build source package as well (same as -s)
# this is necessary, otherwise the _amd64.changes file doesn't include the .dsc
$build_source = 1;
# also produce a ..._source.changes file for source-only uploads, same
# as --source-only-changes
# fails in jessie chroots
$source_only_changes = 1;
#$purge_session = 'successful';
#$purge_build_directory = 'successful';
my $_notify_cmd = '/usr/bin/notify-send "Build completed" "Build of %SBUILD_DSC 
on %SBUILD_DISTRIBUTION-%SBUILD_HOST_ARCH completed."';
$external_commands = {
   #"chroot-update-failed-commands" => [ [ $_notify_cmd ] ],
   #"build-deps-failed-commands" => [ [ $_notify_cmd ] ],
   #"build-failed-commands" => [ [ $_notify_cmd ] ],
   "post-build-commands" => [ [ $_notify_cmd ] ], 
   "post-build-failed-commands" => [ [ $_notify_cmd ] ], 
};

# do not build as the calling user
# fails, see https://bugs.debian.org/920386
#$build_user = "sbuild";

# do not clean session on failure
$purge_build_directory = 'successful';

# disabled this after sbuild spent a full hour preparing the
# libreoffice build, only to fail with:
#
# df: Warning: cannot read table of mounted file systems: No such file or 
directory
#
# seriously. wtf.
$check_space = 1;

# we run in sbuild. we don't need to clean. this would normally be
# harmless but there's just too many packages that have extra
# build-deps that make clean fail.
$clean_source = 0;

# run autopkgtest inside the schroot
$run_autopkgtest = 1;
# tell sbuild to use autopkgtest as a chroot
$chroot_mode = 'autopkgtest';
# tell autopkgtest to use qemu
$autopkgtest_virt_server = 'qemu';
# extra parameters to pass to qemu
# --enable-kvm is not necessary, detected on the fly by autopkgtest
my @_qemu_options = ('--ram-size=4096', '--cpus=2');
# tell autopkgtest-virt-qemu the path to the image
# use --debug there to show what autopkgtest is doing
$autopkgtest_virt_server_options = [ @_qemu_options, '--', 
'/srv/sbuild/qemu/%r-autopkgtest-%a.img' ];
$autopkgtest_opts = [ '--', 'qemu', @_qemu_options, 
'/srv/sbuild/qemu/%r-autopkgtest-%a.img'];
# no need to cleanup the chroot after build, we run in a completely clean VM
$purge_build_deps = 'never';
# no need for sudo
$autopkgtest_root_args = '';

Reply via email to