Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scripts/kernel-doc.py: properly handle KBUILD_BUILD_TIMESTAMP

The logic that handles KBUILD_BUILD_TIMESTAMP is wrong, and adds
a dependency of a third party module (dateutil).

Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/ffc70a1b741b010365ed82f31611018f24f91ce7.1744106242.git.mchehab+huawei@kernel.org

authored by

Mauro Carvalho Chehab and committed by
Jonathan Corbet
91d00bd5 2ab867a4

+21 -16
-9
scripts/lib/kdoc/kdoc_files.py
··· 13 13 import os 14 14 import re 15 15 import sys 16 - from datetime import datetime 17 - 18 - from dateutil import tz 19 16 20 17 from kdoc_parser import KernelDoc 21 18 from kdoc_output import OutputFormat ··· 133 136 134 137 if out_style is None: 135 138 out_style = OutputFormat() 136 - 137 - dt = datetime.now() 138 - if os.environ.get("KBUILD_BUILD_TIMESTAMP", None): 139 - # use UTC TZ 140 - to_zone = tz.gettz('UTC') 141 - dt = dt.astimezone(to_zone) 142 139 143 140 if not werror: 144 141 kcflags = os.environ.get("KCFLAGS", None)
+21 -7
scripts/lib/kdoc/kdoc_output.py
··· 19 19 import re 20 20 from datetime import datetime 21 21 22 - from dateutil import tz 23 - 24 22 from kdoc_parser import KernelDoc, type_param 25 23 from kdoc_re import Re 26 24 ··· 584 586 ) 585 587 blankline = "" 586 588 589 + date_formats = [ 590 + "%a %b %d %H:%M:%S %Z %Y", 591 + "%a %b %d %H:%M:%S %Y", 592 + "%Y-%m-%d", 593 + "%b %d %Y", 594 + "%B %d %Y", 595 + "%m %d %Y", 596 + ] 597 + 587 598 def __init__(self, modulename): 588 599 """ 589 600 Creates class variables. ··· 604 597 super().__init__() 605 598 self.modulename = modulename 606 599 607 - dt = datetime.now() 608 - if os.environ.get("KBUILD_BUILD_TIMESTAMP", None): 609 - # use UTC TZ 610 - to_zone = tz.gettz('UTC') 611 - dt = dt.astimezone(to_zone) 600 + dt = None 601 + tstamp = os.environ.get("KBUILD_BUILD_TIMESTAMP") 602 + if tstamp: 603 + for fmt in self.date_formats: 604 + try: 605 + dt = datetime.strptime(tstamp, fmt) 606 + break 607 + except ValueError: 608 + pass 609 + 610 + if not dt: 611 + dt = datetime.now() 612 612 613 613 self.man_date = dt.strftime("%B %Y") 614 614