Skip to content

Commit 91d00bd

Browse files
mchehabJonathan Corbet
authored andcommitted
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
1 parent 2ab867a commit 91d00bd

2 files changed

Lines changed: 21 additions & 16 deletions

File tree

scripts/lib/kdoc/kdoc_files.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
import os
1414
import re
1515
import sys
16-
from datetime import datetime
17-
18-
from dateutil import tz
1916

2017
from kdoc_parser import KernelDoc
2118
from kdoc_output import OutputFormat
@@ -137,12 +134,6 @@ def __init__(self, verbose=False, out_style=None,
137134
if out_style is None:
138135
out_style = OutputFormat()
139136

140-
dt = datetime.now()
141-
if os.environ.get("KBUILD_BUILD_TIMESTAMP", None):
142-
# use UTC TZ
143-
to_zone = tz.gettz('UTC')
144-
dt = dt.astimezone(to_zone)
145-
146137
if not werror:
147138
kcflags = os.environ.get("KCFLAGS", None)
148139
if kcflags:

scripts/lib/kdoc/kdoc_output.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
import re
2020
from datetime import datetime
2121

22-
from dateutil import tz
23-
2422
from kdoc_parser import KernelDoc, type_param
2523
from kdoc_re import Re
2624

@@ -586,6 +584,15 @@ class ManFormat(OutputFormat):
586584
)
587585
blankline = ""
588586

587+
date_formats = [
588+
"%a %b %d %H:%M:%S %Z %Y",
589+
"%a %b %d %H:%M:%S %Y",
590+
"%Y-%m-%d",
591+
"%b %d %Y",
592+
"%B %d %Y",
593+
"%m %d %Y",
594+
]
595+
589596
def __init__(self, modulename):
590597
"""
591598
Creates class variables.
@@ -597,11 +604,18 @@ def __init__(self, modulename):
597604
super().__init__()
598605
self.modulename = modulename
599606

600-
dt = datetime.now()
601-
if os.environ.get("KBUILD_BUILD_TIMESTAMP", None):
602-
# use UTC TZ
603-
to_zone = tz.gettz('UTC')
604-
dt = dt.astimezone(to_zone)
607+
dt = None
608+
tstamp = os.environ.get("KBUILD_BUILD_TIMESTAMP")
609+
if tstamp:
610+
for fmt in self.date_formats:
611+
try:
612+
dt = datetime.strptime(tstamp, fmt)
613+
break
614+
except ValueError:
615+
pass
616+
617+
if not dt:
618+
dt = datetime.now()
605619

606620
self.man_date = dt.strftime("%B %Y")
607621

0 commit comments

Comments
 (0)