Hello, Ian Jackson [16/Jan 12:43pm GMT] wrote: > I thought of a number of options for such an arrangement: > > 1. dgit-repos-server uses the self-pipe trick turning (a) into an > fd, so that it can be selected on. What a palaver, unless > there's a covnenient library we could use. > > 2. dgit rpush notifies dgit-repos-server by sending a signal to its > parent (!), and dgit-repos-server uses sigwait. Does perl > even have a convenient way to sigwait? > > 3. dgit-repos-server forks again, for littel child whose job it is to > proxy the commit-to-public-upload dance. That way if *that* child > doesn't crash, dgit-repos-server knows what the o2m protocol state > is. > > 4. dgit rpush writes the o2m protocol state to a file. > Before it starts the commit-to-public-upload dance it writes > UNKNOWN file. After dgit rpush exits, dgit-repos-server can read > this file to see if it can reuse the o2m connection. (dgit rpush > is very unlikely to crash during the commit-to-public-upload dance > unless it's because the o2m connection is in any case broken.) > > 5. Instead of modifying dgit rpush, provide a stunt wrapper for gpg. > This is *actually* the commitment point. But the last thing we > want to do is get more entangled with the gnupg CLI interface.
(3) seems preferable to me. > None of this seems entirely trivial. 4 is probably easiest but it's a > bit of a bdoge! We may want to downgrade this bug again, and postpone > this work. IMO this should definitely not block ending the beta. -- Sean Whitton
signature.asc
Description: PGP signature

