summaryrefslogtreecommitdiff
path: root/scripts/bpf_doc.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bpf_doc.py')
-rwxr-xr-xscripts/bpf_doc.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/scripts/bpf_doc.py b/scripts/bpf_doc.py
index 061ad1dc3212..f4f3e7ec6d44 100755
--- a/scripts/bpf_doc.py
+++ b/scripts/bpf_doc.py
@@ -12,6 +12,7 @@ import re
import sys, os
import subprocess
+helpersDocStart = 'Start of BPF helper function descriptions:'
class NoHelperFound(BaseException):
pass
@@ -235,7 +236,7 @@ class HeaderParser(object):
self.enum_syscalls = re.findall('(BPF\w+)+', bpf_cmd_str)
def parse_desc_helpers(self):
- self.seek_to('* Start of BPF helper function descriptions:',
+ self.seek_to(helpersDocStart,
'Could not find start of eBPF helper descriptions list')
while True:
try:
@@ -373,6 +374,17 @@ class PrinterRST(Printer):
return 'Linux'
return 'Linux {version}'.format(version=version)
+ def get_last_doc_update(self, delimiter):
+ try:
+ cmd = ['git', 'log', '-1', '--pretty=format:%cs', '--no-patch',
+ '-L',
+ '/{}/,/\*\//:include/uapi/linux/bpf.h'.format(delimiter)]
+ date = subprocess.run(cmd, cwd=linuxRoot,
+ capture_output=True, check=True)
+ return date.stdout.decode().rstrip()
+ except:
+ return ''
+
class PrinterHelpersRST(PrinterRST):
"""
A printer for dumping collected information about helpers as a ReStructured
@@ -395,6 +407,7 @@ list of eBPF helper functions
:Manual section: 7
:Version: {version}
+{date_field}{date}
DESCRIPTION
===========
@@ -428,9 +441,12 @@ HELPERS
=======
'''
kernelVersion = self.get_kernel_version()
+ lastUpdate = self.get_last_doc_update(helpersDocStart)
PrinterRST.print_license(self)
- print(header.format(version=kernelVersion))
+ print(header.format(version=kernelVersion,
+ date_field = ':Date: ' if lastUpdate else '',
+ date=lastUpdate))
def print_footer(self):
footer = '''