[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] Fix build break during configuration on

From: Chad Joan
Subject: Re: [Qemu-trivial] [Qemu-devel] Fix build break during configuration on musl-libc based Linux systems.
Date: Sun, 19 Feb 2017 02:02:19 -0500

On Fri, Feb 17, 2017 at 12:17 PM, Eric Blake <address@hidden> wrote:
On 02/17/2017 10:54 AM, Chad Joan wrote:
> Wow, that is some quick turn-around.  Well done!
> My thoughts:
>    - I find this summary info very helpful!  On behalf of the N people
>    trying to heal paper cuts: thank you!
>    - I still recommend an example snippet for shell/bash interaction that
>    demonstrates the workflow you expect from a first-time contributor.  It
>    should be populated with commonly used values (ex: mailing list
>    addresses).  I don't expect this to happen fast like the summary info; I
>    suspect someone is going to have to pretend they are submitting a patch,
>    write down what they do, and then think about how to present this.

For a quickie patch, I make my edits, then 'git commit -a -s' and 'git
send-email -1' - but that works because I've already set up git hooks to
auto-cc the list, and I already debugged my 'get send-email' setup years
ago.  So yeah, doing it from a completely virgin environment could
benefit from a complete command line that reproduces what I take for
granted in my normal environment.  And some email setups are a lot
friendlier than others (I personally do not use gmail, but will readily
admit that it is probably a lot easier to set up my work emails to use
Red Hat's SMTP servers than it is for a gmail contributor to get their
email setup working in a way that does not mangle patches).

I appreciate this retrospective :)

In my case I am working on a machine that wasn't even supposed to see any development work.  There are no user accounts, just root.  I have tried to avoid putting any personal information on it.  If I am on it, then I'm editing files in /etc or installing system-wide software.  I'm realizing that I might have to change this a bit due to the WIP nature of the hardened-musl profile: ultimately I am doing development work on it, and that kind of snuck up on me.  If I give myself a user account, then authoring patches with git (and using send-email) becomes somewhat more practical (putting smtp login information onto the machine still bugs me).  Still, I can't imagine I'm the only person who runs into this kind of thing and wants to write quick patches on an impersonal machine.

But nothing requires you to set up a certificate to submit a patch.  I'm
not sure which piece of the documentation got you steered in that
direction, but gpg signing of patches is only required of maintainers,
not contributors (or maybe you're hinting at the extra effort required
to set up gmail as a valid 'git send-email' target, to which I have no
experience, but which starts to leave the realm of qemu-specific
instructions into something where it would be better to link to a good
git setup tutorial, if one exists).

I think this is just language ambiguity and confirmation bias doing their thing.  Usually when I read "you have to sign this" in an OSS context, I think of cryptographic signing.  I haven't encountered the requirement for non-cryptographic signing before.  Language is arbitrary and we all have different experiences and backgrounds.

This is one of the reasons why I suggest a simple example: it would be both very concise and unambiguous.  If there are no signing steps in the example then you don't even need to spend words telling the reader that cryptographic signing is unnecessary.  It'll be implied.

Thankfully, this is a separate concern from the 'git send-email' thing.

>  Having that example will go a long way to
>    help with this.

<snip lots of useful ideas for improvement>

>    - I should also mention that I found the rest of the document to be very
>    well-written.  It's comprehensiveness became its weakness, but that's still
>    important long-term, hence why I think an alternative path with a short
>    example for trivial patches is plenty sufficient: from my perspective,
>    there's no need to change the rest of the text; it is already good :).

Thanks for that feedback.  It's often hard for a core contributor to
remember what it was like to submit their first patch years ago, and
having a fresh take on the matter from a new contributor is well worth
the reminders.  It's also nice to hear this as a compliment, and not
just a complaint.

Thanks for listening :)

I know what you mean about the complaint thing.  It's unfortunate, but it can be very hard to know the significance of your words for others.  For many people (possibly myself included; hard to remember) it may take a long time to learn and internalize the implications of a truth such as "no one wants to be hurt".  I try to be the world that I want to live in.  I'm glad it's working out for everyone this time around.

FWIW, this thread has also left me impressed with the culture in the QEMU community, and it makes me feel good about choosing this software too.  Good job everyone!
> Note that I'm bothering to stick around and provide feedback, despite other
> pressing life obligations.  Providing advice on submit-a-patch usability
> for QEMU isn't on my schedule, but I don't have the heart to bail on this,
> especially when you all are kindly listening, having high quality
> discussion, and sincerely trying to improve things.  If you read between
> the lines, you see the truth: I am a yak shaver!

At the risk of pushing too hard, you could always turn your (good!)
suggestions into concrete wording, or even request a wiki account to
make the changes yourself. But even if that is beyond your planned level
of involvement, I do hope that various readers will be able to act on
the suggestions in this mail to improve things.

It's always worth asking!

I'm in deep enough now that I wouldn't cheap out on it ;)

I'm more worried that I'm completely unqualified to do this.  I could try to read the whole thing and make a small 2-4 liner that would do what QEMU devs want.  But I'm almost certain I'd botch it up somehow.  I've already misinterpreted the gpg signature thing; there's more where that came from!  I think a QEMU dev would get results that a QEMU dev would expect.

Well, let me know if you want me to try anyways.
> Oh man, when I hit a topic like "use git send-email", the hair started
> flying: learning new git commands, two-factor auth on gmail, U2F keys,
> governance for the no-mans-land of a server, and so on, a real yak-shaving
> party.  After an hour or two, my safety triggered, and I thought, "man, I
> am spending way too much time perfecting this workflow that I might never
> do again" and I spent a few minutes writing a message in gmail.  I
> certainly don't expect QEMU devs to fix garbled patches either: that also
> seems like a huge waste of valuable time (and for talented and passionate
> individuals, too).  There has to be a better way!  So I hope the whitelist
> idea helps, or maybe it's enough to just call awareness to this potential
> improvement.

Again, part of the problem may be that gmail is not really suited to the
ideal patch flow, and so that's going to be a pain point for any such
contributor.  Submitting patches as an attachment is harder than the
inline version you get with 'git send-email', but it is one of those
one-off manual fixups that a maintainer can overlook, as long as it
really is a one-off thing and not a repeated pattern.  And yes, we
should document that use of an attachment is the most likely to avoid
mangling the patch if you don't have 'git send-email' working, even if
it is harder for the maintainer to apply such a patch.

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Interesting.  I certainly think that would help.  If the QEMU maintainers could meet me (the hypothetical mass of first-timers) in the middle and handle 1-3 attachments or so, then that would make things very painless on my side.  And at the point where I am submitting more than a few patches, I know that there is a pattern developing and I wouldn't mind spending the effort to streamline it for everyone.  tl;dr: This idea makes sense on my side too.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]