diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/artwork/oe.svg | 80 | ||||
| -rwxr-xr-x | contrib/git-hooks/sendemail-validate.sample | 78 |
2 files changed, 0 insertions, 158 deletions
diff --git a/contrib/artwork/oe.svg b/contrib/artwork/oe.svg deleted file mode 100644 index a3545cb136..0000000000 --- a/contrib/artwork/oe.svg +++ /dev/null | |||
| @@ -1,80 +0,0 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) --> | ||
| 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||
| 4 | <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||
| 5 | width="209.104px" height="167.858px" viewBox="0 0 209.104 167.858" enable-background="new 0 0 209.104 167.858" | ||
| 6 | xml:space="preserve"> | ||
| 7 | <g> | ||
| 8 | <g> | ||
| 9 | <path fill="#00BCE4" d="M74.145,145.897c-0.568,0.568-0.841,1.228-0.841,2.03v0.339h5.744v-0.339c0-1.601-1.273-2.87-2.872-2.872 | ||
| 10 | C75.372,145.056,74.713,145.33,74.145,145.897z M73.304,154.262c0,0.876,0.729,1.605,1.605,1.605h6.334 | ||
| 11 | c1.357,0,2.195,0.838,2.195,2.194c0,1.357-0.838,2.195-2.195,2.195h-6.334c-1.657,0-3.101-0.58-4.265-1.73 | ||
| 12 | c-1.15-1.163-1.731-2.607-1.731-4.265v-6.334c0-4.041,3.221-7.261,7.262-7.263c2.019,0,3.752,0.705,5.148,2.115 | ||
| 13 | c1.41,1.396,2.114,3.13,2.114,5.147v4.729H73.304V154.262z"/> | ||
| 14 | <path fill="#00BCE4" d="M99.738,140.665c1.662,0,3.094,0.584,4.246,1.75c1.166,1.153,1.749,2.584,1.75,4.246v11.4 | ||
| 15 | c0,1.357-0.838,2.195-2.195,2.195s-2.195-0.838-2.195-2.195v-11.4c0-0.922-0.684-1.604-1.605-1.605h-1.604v13.006 | ||
| 16 | c0,1.357-0.838,2.195-2.195,2.195s-2.195-0.838-2.195-2.195v-13.006h-3.21v13.006c0,1.357-0.838,2.195-2.195,2.195 | ||
| 17 | s-2.195-0.838-2.195-2.195V142.86c0-1.357,0.838-2.195,2.195-2.195H99.738z"/> | ||
| 18 | <path fill="#00BCE4" d="M123.308,154.262c0,3.37-2.625,5.995-5.995,5.995h-6.334c-1.356,0-2.194-0.838-2.194-2.195V135.26 | ||
| 19 | c0-1.356,0.838-2.195,2.194-2.195c1.357,0,2.195,0.839,2.195,2.195v5.405h4.139c3.472,0,5.993,2.658,5.995,5.995V154.262z | ||
| 20 | M113.174,145.056v10.812h4.139c0.903,0,1.604-0.701,1.604-1.605v-7.601c0-0.927-0.678-1.604-1.605-1.605H113.174z"/> | ||
| 21 | <path fill="#00BCE4" d="M130.897,145.897c-0.568,0.568-0.842,1.228-0.842,2.03v0.339h5.744v-0.339c0-1.601-1.273-2.87-2.872-2.872 | ||
| 22 | C132.124,145.056,131.466,145.33,130.897,145.897z M130.056,154.262c0,0.876,0.729,1.605,1.605,1.605h6.334 | ||
| 23 | c1.357,0,2.195,0.838,2.195,2.194c0,1.357-0.838,2.195-2.195,2.195h-6.334c-1.657,0-3.102-0.58-4.266-1.73 | ||
| 24 | c-1.148-1.163-1.73-2.607-1.73-4.265v-6.334c0-4.041,3.221-7.261,7.263-7.263c2.019,0,3.752,0.705,5.147,2.115 | ||
| 25 | c1.41,1.396,2.115,3.13,2.115,5.147v4.729h-10.135V154.262z"/> | ||
| 26 | <path fill="#00BCE4" d="M143.688,143.646c1.129-1.972,2.906-2.98,5.201-2.981h4.139v-5.405c0-1.356,0.838-2.195,2.195-2.195 | ||
| 27 | s2.195,0.839,2.195,2.195v22.802c0,1.357-0.838,2.195-2.195,2.195h-6.334c-1.657,0-3.102-0.58-4.266-1.73 | ||
| 28 | c-1.149-1.163-1.73-2.607-1.73-4.265v-7.601C142.894,145.581,143.157,144.572,143.688,143.646z M147.741,145.532 | ||
| 29 | c-0.307,0.309-0.457,0.665-0.457,1.129v7.601c0,0.878,0.727,1.605,1.605,1.605h4.139v-10.812h-4.139 | ||
| 30 | C148.433,145.056,148.067,145.207,147.741,145.532z"/> | ||
| 31 | <path fill="#00BCE4" d="M160.917,143.646c1.129-1.972,2.905-2.98,5.201-2.981h4.139v-5.405c0-1.356,0.838-2.195,2.195-2.195 | ||
| 32 | c1.356,0,2.195,0.839,2.195,2.195v22.802c0,1.357-0.839,2.195-2.195,2.195h-6.334c-1.657,0-3.102-0.58-4.266-1.73 | ||
| 33 | c-1.149-1.163-1.73-2.607-1.73-4.265v-7.601C160.122,145.581,160.386,144.572,160.917,143.646z M164.97,145.532 | ||
| 34 | c-0.308,0.309-0.457,0.665-0.457,1.129v7.601c0,0.878,0.727,1.605,1.605,1.605h4.139v-10.812h-4.139 | ||
| 35 | C165.661,145.056,165.296,145.207,164.97,145.532z"/> | ||
| 36 | <path fill="#00BCE4" d="M182.583,145.897c-0.568,0.568-0.842,1.228-0.842,2.03v0.339h5.743l0.001-0.339 | ||
| 37 | c0-1.601-1.273-2.87-2.873-2.872C183.81,145.056,183.15,145.33,182.583,145.897z M181.741,154.262 | ||
| 38 | c0,0.876,0.729,1.605,1.605,1.605h6.333c1.357,0,2.195,0.838,2.195,2.194c0,1.357-0.838,2.195-2.195,2.195h-6.333 | ||
| 39 | c-1.658,0-3.102-0.58-4.266-1.73c-1.149-1.163-1.73-2.607-1.73-4.265v-6.334c0-4.041,3.221-7.261,7.262-7.263 | ||
| 40 | c2.019,0,3.752,0.705,5.148,2.115c1.41,1.396,2.114,3.13,2.114,5.147v4.729h-10.134V154.262z"/> | ||
| 41 | <path fill="#00BCE4" d="M195.374,143.646c1.129-1.972,2.905-2.98,5.2-2.981h4.139v-5.405c0-1.356,0.839-2.195,2.195-2.195 | ||
| 42 | c1.357,0,2.195,0.839,2.195,2.195v22.802c0,1.357-0.838,2.195-2.195,2.195h-6.333c-1.658,0-3.102-0.58-4.266-1.73 | ||
| 43 | c-1.149-1.163-1.73-2.607-1.73-4.265v-7.601C194.579,145.582,194.843,144.572,195.374,143.646z M199.427,145.532 | ||
| 44 | c-0.308,0.309-0.457,0.665-0.457,1.129v7.601c0,0.878,0.727,1.605,1.605,1.605h4.138v-10.812h-4.138 | ||
| 45 | C200.118,145.056,199.753,145.207,199.427,145.532z"/> | ||
| 46 | </g> | ||
| 47 | <g> | ||
| 48 | <path fill="#5C6F7B" d="M19.423,140.665h6.333c1.662,0,3.094,0.584,4.246,1.75c1.167,1.153,1.75,2.585,1.75,4.246v7.601 | ||
| 49 | c0,1.651-0.587,3.082-1.748,4.244c-1.152,1.167-2.586,1.751-4.248,1.751h-4.138v5.406c0,1.357-0.838,2.195-2.195,2.195 | ||
| 50 | s-2.195-0.839-2.195-2.195V142.86C17.228,141.503,18.066,140.665,19.423,140.665z M21.619,155.867h4.138 | ||
| 51 | c0.903,0,1.605-0.701,1.605-1.605v-7.601c0-0.928-0.679-1.604-1.605-1.605h-4.138V155.867z"/> | ||
| 52 | <path fill="#5C6F7B" d="M39.688,145.897c-0.569,0.568-0.841,1.228-0.841,2.03v0.339h5.743v-0.339c0-1.601-1.272-2.87-2.872-2.872 | ||
| 53 | C40.915,145.056,40.256,145.33,39.688,145.897z M38.847,154.262c0,0.876,0.729,1.605,1.605,1.605h6.333 | ||
| 54 | c1.357,0,2.195,0.838,2.195,2.194c0,1.357-0.838,2.195-2.195,2.195h-6.333c-1.657,0-3.101-0.58-4.265-1.73 | ||
| 55 | c-1.15-1.163-1.73-2.607-1.73-4.265v-6.334c0-4.041,3.22-7.261,7.262-7.263c2.018,0,3.752,0.705,5.147,2.115 | ||
| 56 | c1.411,1.396,2.115,3.13,2.115,5.147v4.729H38.847V154.262z"/> | ||
| 57 | <path fill="#5C6F7B" d="M51.685,142.86c0-1.357,0.838-2.195,2.195-2.195h6.334c1.662,0,3.094,0.584,4.246,1.75 | ||
| 58 | c1.167,1.153,1.749,2.584,1.75,4.246v11.4c0,1.357-0.838,2.195-2.195,2.195s-2.195-0.838-2.195-2.195v-11.4 | ||
| 59 | c0-0.922-0.684-1.604-1.605-1.605h-4.138v13.006c0,1.357-0.838,2.195-2.195,2.195c-1.357,0-2.195-0.838-2.195-2.195V142.86z"/> | ||
| 60 | <path fill-rule="evenodd" clip-rule="evenodd" fill="#5C6F7B" d="M10.134,147.928c0-1.601-1.273-2.87-2.872-2.872 | ||
| 61 | c-1.599,0-2.872,1.273-2.872,2.872v5.067c0,0.824,0.267,1.485,0.822,2.049c0.564,0.555,1.226,0.823,2.05,0.823 | ||
| 62 | c1.601,0,2.871-1.273,2.872-2.873V147.928z M0,147.928c0-4.041,3.22-7.261,7.262-7.263c2.019,0,3.752,0.705,5.148,2.115 | ||
| 63 | c1.411,1.396,2.114,3.13,2.114,5.147v5.067c0,4.041-3.222,7.262-7.262,7.262c-1.997,0-3.732-0.713-5.147-2.114 | ||
| 64 | C0.713,156.727,0,154.991,0,152.995V147.928z"/> | ||
| 65 | </g> | ||
| 66 | <g> | ||
| 67 | <path fill-rule="evenodd" clip-rule="evenodd" fill="#5C6F7B" d="M25.428,79.124C25.428,35.424,60.853,0,104.552,0 | ||
| 68 | s79.123,35.424,79.123,79.124c0,14.938-4.139,28.909-11.333,40.828h-26.366c10.352-10.5,16.738-24.918,16.738-40.828 | ||
| 69 | c0-32.123-26.039-58.163-58.162-58.163s-58.163,26.04-58.163,58.163c0,15.91,6.388,30.328,16.738,40.828H36.761 | ||
| 70 | C29.568,108.032,25.428,94.062,25.428,79.124z"/> | ||
| 71 | </g> | ||
| 72 | <g> | ||
| 73 | <path fill="#00BCE4" d="M94.122,79.124c0-2.882,1.168-5.491,3.059-7.379l17.436-17.494c-9.682-3.913-21.184-1.944-29.033,5.905 | ||
| 74 | c-10.476,10.476-10.476,27.461,0,37.937c10.476,10.477,27.461,10.477,37.938,0c4.547-4.547,7.12-10.321,7.721-16.256l18.46-18.461 | ||
| 75 | c5.838,16.774,2.056,36.151-11.345,49.553c-18.67,18.67-48.939,18.67-67.609,0c-18.67-18.67-18.67-48.938,0-67.608 | ||
| 76 | c18.669-18.67,48.939-18.67,67.609,0c2.535,2.536,4.728,5.287,6.574,8.193l-32.986,32.997c-1.888,1.89-4.511,3.045-7.393,3.045 | ||
| 77 | C98.791,89.554,94.122,84.884,94.122,79.124z"/> | ||
| 78 | </g> | ||
| 79 | </g> | ||
| 80 | </svg> | ||
diff --git a/contrib/git-hooks/sendemail-validate.sample b/contrib/git-hooks/sendemail-validate.sample deleted file mode 100755 index af5d55cb00..0000000000 --- a/contrib/git-hooks/sendemail-validate.sample +++ /dev/null | |||
| @@ -1,78 +0,0 @@ | |||
| 1 | #!/usr/bin/env python3 | ||
| 2 | |||
| 3 | # Copyright (C) 2020 Agilent Technologies, Inc. | ||
| 4 | # Author: Chris Laplante <chris.laplante@agilent.com> | ||
| 5 | |||
| 6 | # This sendemail-validate hook injects 'From: ' header lines into outgoing | ||
| 7 | # emails sent via 'git send-email', to ensure that accurate commit authorship | ||
| 8 | # information is present. It was created because some email servers | ||
| 9 | # (notably Microsoft Exchange / Office 360) seem to butcher outgoing patches, | ||
| 10 | # resulting in incorrect authorship. | ||
| 11 | |||
| 12 | # Current limitations: | ||
| 13 | # 1. Assumes one per patch per email | ||
| 14 | # 2. Minimal error checking | ||
| 15 | # | ||
| 16 | # Installation: | ||
| 17 | # 1. Copy to .git/hooks/sendemail-validate | ||
| 18 | # 2. chmod +x .git/hooks/sendemail-validate | ||
| 19 | |||
| 20 | |||
| 21 | import enum | ||
| 22 | import re | ||
| 23 | import subprocess | ||
| 24 | import sys | ||
| 25 | |||
| 26 | |||
| 27 | class Subject(enum.IntEnum): | ||
| 28 | NOT_SEEN = 0 | ||
| 29 | CONSUMING = 1 | ||
| 30 | SEEN = 2 | ||
| 31 | |||
| 32 | |||
| 33 | def make_from_line(): | ||
| 34 | cmd = ["git", "var", "GIT_COMMITTER_IDENT"] | ||
| 35 | proc = subprocess.run(cmd, check=True, stdout=subprocess.PIPE, universal_newlines=True) | ||
| 36 | regex = re.compile(r"^(.*>).*$") | ||
| 37 | match = regex.match(proc.stdout) | ||
| 38 | assert match is not None | ||
| 39 | return "From: {0}".format(match.group(1)) | ||
| 40 | |||
| 41 | |||
| 42 | def main(): | ||
| 43 | email = sys.argv[1] | ||
| 44 | |||
| 45 | with open(email, "r") as f: | ||
| 46 | email_lines = f.read().split("\n") | ||
| 47 | |||
| 48 | subject_seen = Subject.NOT_SEEN | ||
| 49 | first_body_line = None | ||
| 50 | for i, line in enumerate(email_lines): | ||
| 51 | if (subject_seen == Subject.NOT_SEEN) and line.startswith("Subject: "): | ||
| 52 | subject_seen = Subject.CONSUMING | ||
| 53 | continue | ||
| 54 | if subject_seen == Subject.CONSUMING: | ||
| 55 | if not line.strip(): | ||
| 56 | subject_seen = Subject.SEEN | ||
| 57 | continue | ||
| 58 | if subject_seen == Subject.SEEN: | ||
| 59 | first_body_line = i | ||
| 60 | break | ||
| 61 | |||
| 62 | assert subject_seen == Subject.SEEN | ||
| 63 | assert first_body_line is not None | ||
| 64 | |||
| 65 | from_line = make_from_line() | ||
| 66 | # Only add FROM line if it is not already there | ||
| 67 | if email_lines[first_body_line] != from_line: | ||
| 68 | email_lines.insert(first_body_line, from_line) | ||
| 69 | email_lines.insert(first_body_line + 1, "") | ||
| 70 | with open(email, "w") as f: | ||
| 71 | f.write("\n".join(email_lines)) | ||
| 72 | |||
| 73 | return 0 | ||
| 74 | |||
| 75 | |||
| 76 | if __name__ == "__main__": | ||
| 77 | sys.exit(main()) | ||
| 78 | |||
