]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
autogenerate AUTHORS file to get rid of outdated data
authorPetr Špaček <petr.spacek@nic.cz>
Mon, 17 Feb 2020 08:56:48 +0000 (09:56 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 25 Feb 2020 08:26:38 +0000 (09:26 +0100)
The file can be re-generated using scripts/update-authors.sh.
File .mailmap is used for name canonicalization and fresh list of
authors replaces the old one in AUTHORS file automatically.
Gitlab CI checks its content before release (on branches named release-*).

Marek Vavruša is listed in .mailmap file twice intentionally,
once as CZ.NIC employee and second time as external contributor.

.gitlab-ci.yml
.mailmap [new file with mode: 0644]
AUTHORS
scripts/update-authors.sh [new file with mode: 0755]

index 801f094a099d1b0195b36848552f6a7e793528f3..288ae71154d33e97a58cbd2db79a7abacc6d24c2 100644 (file)
@@ -283,6 +283,14 @@ root.hints:
   script:
     - scripts/update-root-hints.sh
 
+authors:
+  <<: *test_nodep
+  only:
+    refs:
+      - /^release.*$/
+  script:
+    - scripts/update-authors.sh
+
 test:valgrind:
   <<: *test_flaky
   when: delayed
diff --git a/.mailmap b/.mailmap
new file mode 100644 (file)
index 0000000..10fe371
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,48 @@
+Aleš Mrázek <ales.mrazek@nic.cz> Ales Mrazek <ales.mrazek@nic.cz>
+Alex Forster <aforster@cloudflare.com>
+Ali Asad Lotia <ali.asad.lotia@gmail.com>
+Anbang Wen <anbang@cloudflare.com> <xofyarg@gmail.com>
+Anbang Wen <anbang@cloudflare.com> <anb@dev.null>
+Andreas Rammhold <andreas@rammhold.de>
+Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Daniel Salzman <daniel.salzman@nic.cz>
+daurnimator <quae@daurnimator.com>
+David Beitey <david@davidjb.com>
+Grigorii Demidov <grigorii.demidov@nic.cz>
+Hasnat <hasnat.ullah@gmail.com>
+Jiří Helebrant <jiri.helebrant@nic.cz> <helb@helb.cz>
+Ivana Krumlová <ivana.krumlova@nic.cz>
+Jan Holuša <jan.holusa@nic.cz>
+Jan Pavlinec <jan.pavlinec@nic.cz>
+Jan Včelák <jan.vcelak@nic.cz> <jv@fcelda.cz>
+Jan Včelák <jan.vcelak@nic.cz>
+Jayson Reis <santosdosreis@gmail.com>
+Jonathan Coetzee <jon@thancoetzee.com>
+Karel Slaný <karel.slany@nic.cz>
+Libor Peltan <libor.peltan@nic.cz>
+Lukáš Ježek <lukas.jezek@nic.cz>
+Manu Bretelle <chantr4@gmail.com>
+Marek Vavruša <marek.vavrusa@nic.cz>
+Marek Vavruša <mvavrusa@cloudflare.com> <marek@vavrusa.com>
+Marek Vavruša <mvavrusa@cloudflare.com>
+Michal Karm Babáček <karm@email.cz>
+Michal Lupečka <mlupecka@nic.cz>
+Ondřej Surý <ondrej.sury@nic.cz> <ondrej@sury.org>
+Paul Hoffman <paul.hoffman@icann.org> <phoffman@proper.com>
+Paul Hoffman <paul.hoffman@icann.org>
+Pavel Valach <valach.pavel@gmail.com>
+Petr Špaček <petr.spacek@nic.cz>
+rickhg12hs <rickhg12hs@users.noreply.github.com>
+Robert Šefr <robert.sefr@outlook.com>
+SH <sh@analogic.cz>
+Štěpán Balážik <stepan.balazik@nic.cz>
+Štěpán Kotek <stepan.kotek@nic.cz> <stepan.kotek@gmail.com>
+Štěpán Kotek <stepan.kotek@nic.cz>
+The Gitter Badger <badger@gitter.im>
+Tomáš Hozza <thozza@redhat.com>
+Tomáš Křížek <tomas.krizek@nic.cz>
+Ulrich Wisser <ulrich.wisser@iis.se>
+Leo Vandewoestijne <github@unicycle.net>
+Vicky Shrestha <vicky@cloudflare.com> <vicky@geeks.net.np>
+Vítězslav Kříž <vitezslav.kriz@nic.cz>
+Vladimír Čunát <vladimir.cunat@nic.cz> <vcunat@gmail.com>
diff --git a/AUTHORS b/AUTHORS
index ce486c2ede341ed9222c9cf34ce3451a5137aeca..3bcd4a97bf5f1ee6d78cb6dd1bf2e964accffb94 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,14 +1,71 @@
-Marek Vavrusa <marek@vavrusa.com>
-Ondřej Surý <ondrej.sury@nic.cz>
-Jan Vcelak <jan.vcelak@nic.cz>
-Grigorii Demidov <grigorii.demidov@nic.cz>
-Karel Slany <karel.slany@nic.cz>
+Knot Resolver was conceived and is being developed
+by research department of CZ.NIC, the CZ TLD operator.
+
+Over the years many organizations and individuals contributed to the project.
+Special thanks belongs to following organizations:
+- Comcast
+- Cloudflare
+- ICANN
+
+People who contributed commits to our Git repo are:
+Aleš Mrázek <ales.mrazek@nic.cz>
+Alex Forster <aforster@cloudflare.com>
+Ali Asad Lotia <ali.asad.lotia@gmail.com>
+Anbang Wen <anbang@cloudflare.com>
+Andreas Rammhold <andreas@rammhold.de>
+Daniel Kahn Gillmor <dkg@fifthhorseman.net>
 Daniel Salzman <daniel.salzman@nic.cz>
+daurnimator <quae@daurnimator.com>
+David Beitey <david@davidjb.com>
+Grigorii Demidov <grigorii.demidov@nic.cz>
+Hasnat <hasnat.ullah@gmail.com>
+Ivana Krumlová <ivana.krumlova@nic.cz>
+Jan Holuša <jan.holusa@nic.cz>
+Jan Pavlinec <jan.pavlinec@nic.cz>
+Jan Včelák <jan.vcelak@nic.cz>
+Jayson Reis <santosdosreis@gmail.com>
+Jiří Helebrant <jiri.helebrant@nic.cz>
+Jonathan Coetzee <jon@thancoetzee.com>
+Karel Slaný <karel.slany@nic.cz>
+Leo Vandewoestijne <github@unicycle.net>
+Libor Peltan <libor.peltan@nic.cz>
+Lukáš Ježek <lukas.jezek@nic.cz>
+Manu Bretelle <chantr4@gmail.com>
+Marek Vavruša <marek.vavrusa@nic.cz>
+Marek Vavruša <mvavrusa@cloudflare.com>
+Michal Karm Babáček <karm@email.cz>
+Michal Lupečka <mlupecka@nic.cz>
+Ondřej Surý <ondrej.sury@nic.cz>
+Paul Hoffman <paul.hoffman@icann.org>
 Pavel Valach <valach.pavel@gmail.com>
-Tomas Hozza <thozza@redhat.com>
-Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Vladimír Čunát <vladimir.cunat@nic.cz>
-Štěpán Balážik <stepan.balazik@nic.cz>
 Petr Špaček <petr.spacek@nic.cz>
-Tomas Krizek <tomas.krizek@nic.cz>
-Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+rickhg12hs <rickhg12hs@users.noreply.github.com>
+Robert Šefr <robert.sefr@outlook.com>
+SH <sh@analogic.cz>
+Štěpán Balážik <stepan.balazik@nic.cz>
+Štěpán Kotek <stepan.kotek@nic.cz>
+The Gitter Badger <badger@gitter.im>
+Tomáš Hozza <thozza@redhat.com>
+Tomáš Křížek <tomas.krizek@nic.cz>
+Ulrich Wisser <ulrich.wisser@iis.se>
+Vicky Shrestha <vicky@cloudflare.com>
+Vítězslav Kříž <vitezslav.kriz@nic.cz>
+Vladimír Čunát <vladimir.cunat@nic.cz>
+
+Knot Resolver source tree also bundles code and content published by:
+Austin Appleby <aappleby@gmail.com>
+Dan Vanderkam <danvdk@gmail.com>
+Jonas Gehring <jonas@jgehring.net>
+Jonathan Allard <jonathan@allard.io>
+Joseph A. Adams <joeyadams3.14159@gmail.com>
+Mark DiMarco <mark.dimarco@gmail.com>
+Michael Bostock <mike@ocks.org>
+Rusty Russell <rusty@rustcorp.com.au>
+Thomas Park <thomas@thomaspark.co>
+Fastly
+jQuery Foundation
+Knot DNS contributors
+Twitter
+United Computer Wizards
+
+Thanks to everyone who knowingly or unknowingly contributed!
diff --git a/scripts/update-authors.sh b/scripts/update-authors.sh
new file mode 100755 (executable)
index 0000000..fe1d857
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0-or-later
+set -o nounset -o xtrace
+
+function spdx_originator_to_authors {
+       # $1 = Person/Organization
+       find -name '*.spdx' | xargs grep --no-filename "^PackageOriginator: $1: " \
+               | cut -d : -f 3 | sed -e 's/^ *//' -e 's/(/</' -e 's/)/>/' | sort -u
+}
+
+cd "$(git rev-parse --show-toplevel)"
+AUTHORS_FILE=AUTHORS
+TEMP_FILE="$(mktemp AUTHORS.XXXXXXXXXX)"
+
+# drop all names from the current file
+sed '/^People who contributed commits to our Git repo are/q' "${AUTHORS_FILE}" > "${TEMP_FILE}"
+# append to the new file
+git log --format="%aN <%aE>" | sort -u | git check-mailmap --stdin | sort -u >> "${TEMP_FILE}"
+
+echo '' >> "${TEMP_FILE}"
+echo 'Knot Resolver source tree also bundles code and content published by:' >> "${TEMP_FILE}"
+spdx_originator_to_authors "Person" >> "${TEMP_FILE}"
+spdx_originator_to_authors "Organization" >> "${TEMP_FILE}"
+
+echo '' >> "${TEMP_FILE}"
+echo 'Thanks to everyone who knowingly or unknowingly contributed!' >> "${TEMP_FILE}"
+
+# check for changes
+diff "${AUTHORS_FILE}" "${TEMP_FILE}"
+CHANGED=$?
+
+if [ $CHANGED -ne 0 ]; then
+    # update
+    mv "${TEMP_FILE}" "${AUTHORS_FILE}"
+fi
+
+# cleanup
+rm -f "${TEMP_FILE}"
+
+# signal change with exit code
+exit $CHANGED