mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 18:32:12 +02:00
podfix: class to remove Pod::Man versions from manpages
Manpages generated by Pod::Man contain the version number, which isn't reproducible if we're using the host Perl to generate manpage. One option is to always depend on perl-native when generating manpages but this is a heavy dependency, so instead strip out the versions in do_install(). (From OE-Core rev: 18d8e5ac689d6eb6098f68ac785f43e9d5f5938a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c64c5e0eda
commit
6576c85e43
32
meta/classes/podfix.bbclass
Normal file
32
meta/classes/podfix.bbclass
Normal file
@@ -0,0 +1,32 @@
|
||||
python pod_strip_version() {
|
||||
import re
|
||||
|
||||
def opener(filename, mode):
|
||||
if filename.endswith(".gz"):
|
||||
import gzip
|
||||
return gzip.open(filename, mode)
|
||||
elif filename.endswith(".bz2"):
|
||||
import bz2
|
||||
return bz2.open(filename, mode)
|
||||
else:
|
||||
return open(filename, mode)
|
||||
|
||||
bad_re = re.compile(rb"Automatically generated by Pod::Man( [0-9]+.+)")
|
||||
|
||||
for root, dirs, files in os.walk(d.expand("${D}${mandir}")):
|
||||
for filename in files:
|
||||
filename = os.path.join(root, filename)
|
||||
with opener(filename, "rb") as manfile:
|
||||
manpage = manfile.read()
|
||||
m = bad_re.search(manpage)
|
||||
if not m:
|
||||
continue
|
||||
|
||||
bb.note("podfix: stripping version from %s" % filename)
|
||||
os.unlink(filename)
|
||||
with opener(filename, "wb") as manfile:
|
||||
manfile.write(manpage[:m.start(1)])
|
||||
manfile.write(manpage[m.end(1):])
|
||||
}
|
||||
|
||||
do_install[postfuncs] += "pod_strip_version"
|
||||
Reference in New Issue
Block a user