From: Petr Špaček Date: Mon, 17 Feb 2020 08:56:48 +0000 (+0100) Subject: autogenerate AUTHORS file to get rid of outdated data X-Git-Tag: v5.1.0~42^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73f3854c8d59b43c0044892db6d19c20568e1e17;p=thirdparty%2Fknot-resolver.git autogenerate AUTHORS file to get rid of outdated data 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. --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 801f094a0..288ae7115 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 index 000000000..10fe37119 --- /dev/null +++ b/.mailmap @@ -0,0 +1,48 @@ +AleÅ¡ Mrázek Ales Mrazek +Alex Forster +Ali Asad Lotia +Anbang Wen +Anbang Wen +Andreas Rammhold +Daniel Kahn Gillmor +Daniel Salzman +daurnimator +David Beitey +Grigorii Demidov +Hasnat +Jiří Helebrant +Ivana Krumlová +Jan HoluÅ¡a +Jan Pavlinec +Jan Včelák +Jan Včelák +Jayson Reis +Jonathan Coetzee +Karel Slaný +Libor Peltan +Lukáš Ježek +Manu Bretelle +Marek VavruÅ¡a +Marek VavruÅ¡a +Marek VavruÅ¡a +Michal Karm Babáček +Michal Lupečka +Ondřej Surý +Paul Hoffman +Paul Hoffman +Pavel Valach +Petr Å paček +rickhg12hs +Robert Å efr +SH +Å těpán Balážik +Å těpán Kotek +Å těpán Kotek +The Gitter Badger +Tomáš Hozza +Tomáš Křížek +Ulrich Wisser +Leo Vandewoestijne +Vicky Shrestha +Vítězslav Kříž +Vladimír Čunát diff --git a/AUTHORS b/AUTHORS index ce486c2ed..3bcd4a97b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,14 +1,71 @@ -Marek Vavrusa -Ondřej Surý -Jan Vcelak -Grigorii Demidov -Karel Slany +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 +Alex Forster +Ali Asad Lotia +Anbang Wen +Andreas Rammhold +Daniel Kahn Gillmor Daniel Salzman +daurnimator +David Beitey +Grigorii Demidov +Hasnat +Ivana Krumlová +Jan HoluÅ¡a +Jan Pavlinec +Jan Včelák +Jayson Reis +Jiří Helebrant +Jonathan Coetzee +Karel Slaný +Leo Vandewoestijne +Libor Peltan +Lukáš Ježek +Manu Bretelle +Marek VavruÅ¡a +Marek VavruÅ¡a +Michal Karm Babáček +Michal Lupečka +Ondřej Surý +Paul Hoffman Pavel Valach -Tomas Hozza -Daniel Kahn Gillmor -Vladimír Čunát -Å těpán Balážik Petr Å paček -Tomas Krizek -Daniel Kahn Gillmor +rickhg12hs +Robert Å efr +SH +Å těpán Balážik +Å těpán Kotek +The Gitter Badger +Tomáš Hozza +Tomáš Křížek +Ulrich Wisser +Vicky Shrestha +Vítězslav Kříž +Vladimír Čunát + +Knot Resolver source tree also bundles code and content published by: +Austin Appleby +Dan Vanderkam +Jonas Gehring +Jonathan Allard +Joseph A. Adams +Mark DiMarco +Michael Bostock +Rusty Russell +Thomas Park +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 index 000000000..fe1d85791 --- /dev/null +++ b/scripts/update-authors.sh @@ -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/(//' | 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