From 0fcba4c5926393ec83c3c5dcfef2c6dfccc02cb3 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Mon, 8 Feb 2021 19:04:23 +0100
Subject: [PATCH] [headers] proper header handling for Python scripts

---
 headers/headache_config.txt                  |  7 +++++++
 headers/header_spec.txt                      | 22 ++++++++++----------
 share/analysis-scripts/benchmark_database.py |  2 +-
 share/analysis-scripts/find_fun.py           |  2 +-
 share/analysis-scripts/frama_c_results.py    |  2 +-
 share/analysis-scripts/git_utils.py          |  2 +-
 share/analysis-scripts/list_files.py         |  2 +-
 share/analysis-scripts/make_template.py      |  2 +-
 share/analysis-scripts/make_wrapper.py       |  2 +-
 share/analysis-scripts/normalize_jcdb.py     |  2 +-
 share/analysis-scripts/results_display.py    |  2 +-
 share/analysis-scripts/summary.py            |  2 +-
 12 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/headers/headache_config.txt b/headers/headache_config.txt
index 969d2cf1381..f27199a3b4e 100644
--- a/headers/headache_config.txt
+++ b/headers/headache_config.txt
@@ -136,6 +136,13 @@
 ##############
 | ".*\.el" -> frame open: ";" line: ";" close:";"
 
+##########
+# Python #
+##########
+
+| ".*\.py" -> frame open: "#" line: "#" close:"#"
+| ".*\.py" -> skip multiline_match: "#!.*" multiline_match: "#-\*-.*"
+
 ##############
 # Misc files #
 ##############
diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index 35a58061a50..44f5948ae50 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -113,28 +113,28 @@ ptests/.merlin: .ignore
 ptests/ptests.ml: CEA_LGPL
 share/_frama-c: CEA_LGPL
 share/analysis-scripts/analysis.mk: CEA_LGPL
-share/analysis-scripts/benchmark_database.py: .ignore
+share/analysis-scripts/benchmark_database.py: CEA_LGPL
 share/analysis-scripts/clone.sh: .ignore
 share/analysis-scripts/creduce.sh: CEA_LGPL
 share/analysis-scripts/epilogue.mk: CEA_LGPL
 share/analysis-scripts/fc_stubs.c: .ignore
-share/analysis-scripts/frama_c_results.py: .ignore
+share/analysis-scripts/frama_c_results.py: CEA_LGPL
 share/analysis-scripts/cmd-dep.sh: .ignore
 share/analysis-scripts/concat-csv.sh: .ignore
-share/analysis-scripts/find_fun.py: .ignore
+share/analysis-scripts/find_fun.py: CEA_LGPL
 share/analysis-scripts/flamegraph.pl: CDDL
 share/analysis-scripts/function_finder.py: .ignore
-share/analysis-scripts/git_utils.py: .ignore
-share/analysis-scripts/list_files.py: .ignore
-share/analysis-scripts/list_functions.ml: .ignore
-share/analysis-scripts/make_template.py: .ignore
-share/analysis-scripts/make_wrapper.py: .ignore
-share/analysis-scripts/normalize_jcdb.py: .ignore
+share/analysis-scripts/git_utils.py: CEA_LGPL
+share/analysis-scripts/list_files.py: CEA_LGPL
+share/analysis-scripts/list_functions.ml: CEA_LGPL
+share/analysis-scripts/make_template.py: CEA_LGPL
+share/analysis-scripts/make_wrapper.py: CEA_LGPL
+share/analysis-scripts/normalize_jcdb.py: CEA_LGPL
 share/analysis-scripts/parse-coverage.sh: .ignore
 share/analysis-scripts/prologue.mk: CEA_LGPL
 share/analysis-scripts/README.md: .ignore
-share/analysis-scripts/results_display.py: .ignore
-share/analysis-scripts/summary.py: .ignore
+share/analysis-scripts/results_display.py: CEA_LGPL
+share/analysis-scripts/summary.py: CEA_LGPL
 share/analysis-scripts/template.mk: .ignore
 share/compliance/c11_functions.json: .ignore
 share/compliance/c11_headers.json: .ignore
diff --git a/share/analysis-scripts/benchmark_database.py b/share/analysis-scripts/benchmark_database.py
index 53ee4452c23..fa577c5de75 100644
--- a/share/analysis-scripts/benchmark_database.py
+++ b/share/analysis-scripts/benchmark_database.py
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/find_fun.py b/share/analysis-scripts/find_fun.py
index 7324da49ef2..18588b293bd 100755
--- a/share/analysis-scripts/find_fun.py
+++ b/share/analysis-scripts/find_fun.py
@@ -4,7 +4,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/frama_c_results.py b/share/analysis-scripts/frama_c_results.py
index 0519eda8ecc..9f2847b63f9 100644
--- a/share/analysis-scripts/frama_c_results.py
+++ b/share/analysis-scripts/frama_c_results.py
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/git_utils.py b/share/analysis-scripts/git_utils.py
index 38e8ac9cd25..9714a3b1e3a 100644
--- a/share/analysis-scripts/git_utils.py
+++ b/share/analysis-scripts/git_utils.py
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/list_files.py b/share/analysis-scripts/list_files.py
index 68457003603..ac822030be8 100755
--- a/share/analysis-scripts/list_files.py
+++ b/share/analysis-scripts/list_files.py
@@ -4,7 +4,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/make_template.py b/share/analysis-scripts/make_template.py
index c39b82bd4f4..c986e4551c4 100755
--- a/share/analysis-scripts/make_template.py
+++ b/share/analysis-scripts/make_template.py
@@ -4,7 +4,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/make_wrapper.py b/share/analysis-scripts/make_wrapper.py
index 07c314b9d8a..ac42c8d36bf 100755
--- a/share/analysis-scripts/make_wrapper.py
+++ b/share/analysis-scripts/make_wrapper.py
@@ -4,7 +4,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/normalize_jcdb.py b/share/analysis-scripts/normalize_jcdb.py
index c578730c143..319a52d252a 100755
--- a/share/analysis-scripts/normalize_jcdb.py
+++ b/share/analysis-scripts/normalize_jcdb.py
@@ -4,7 +4,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/results_display.py b/share/analysis-scripts/results_display.py
index 61339bfc021..62ba7aa7976 100644
--- a/share/analysis-scripts/results_display.py
+++ b/share/analysis-scripts/results_display.py
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/summary.py b/share/analysis-scripts/summary.py
index c3b309e80e0..9718a7ddbe4 100755
--- a/share/analysis-scripts/summary.py
+++ b/share/analysis-scripts/summary.py
@@ -4,7 +4,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2020                                               #
+#  Copyright (C) 2007-2021                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
-- 
GitLab