I'm pretty sure you have something funky in your shell, I've been able to reproduce this finally.
$ trap "" PIPE $ $ pkg_add -nuix screen-- quirks-2.270 signed on 2016-11-21T13:44:48Z Error from http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/screen-4.0.3p6.tgz signify: write to stdout: Broken pipe Error from http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/screen-4.0.3p6-shm.tgz signify: write to stdout: Broken pipe which is more or less what you see... somehow you've got a shell with PIPE deleted, and perl inherits it... Obviously python suffers from the same issue in a systematic way, as found it by Patrick Lundin. So, let's make sure the signal is set correctly where it matters... Martin, tell me whether this fixes your issue. Index: OpenBSD/PackageRepository.pm =================================================================== RCS file: /build/data/openbsd/cvs/src/usr.sbin/pkg_add/OpenBSD/PackageRepository.pm,v retrieving revision 1.138 diff -u -p -r1.138 PackageRepository.pm --- OpenBSD/PackageRepository.pm 5 Oct 2016 13:50:20 -0000 1.138 +++ OpenBSD/PackageRepository.pm 22 Nov 2016 15:15:29 -0000 @@ -239,6 +239,7 @@ sub open # kill old files if too many my $already = $self->make_room; + local $SIG{'PIPE'} = 'DEFAULT'; my $fh = $self->open_pipe($object); if (!defined $fh) { return;
