mirror of
https://github.com/ceph/ceph
synced 2024-12-22 03:22:00 +00:00
e294dd5910
The license applicable to the files under doc/ was originally declared (in the top-level file COPYING) to be "Creative Commons Attribution-ShareAlike (CC BY-SA)" by ed0653b493a3f919a3abc37a0aa9b5aa29ae0b0e This license declaration omitted a version number. Some time later ef7418421b3748c712019c8aedd02b8005c1e1ea was merged, mentioning CC-BY-SA-1.0 as one of the Ceph source code licenses. Although the purpose of that commit was only to summarize the canonical license information from COPYING, it unintentionally became the only place in the source code where the doc license version was specified. In March 2018, the Debian project warned that CC-BY-SA-1.0 does not meet its criteria for inclusion in the "free" section of the Debian distribution. (For that, at least version 3.0 must be used.) This new commit removes the doc license ambiguity by setting it to CC-BY-SA-3.0 in all places where the license is mentioned. The exact spelling of the license name is taken from https://spdx.org/licenses/ Fixes: http://tracker.ceph.com/issues/23336 Signed-off-by: Nathan Cutler <ncutler@suse.com>
60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
import os
|
|
|
|
project = u'Ceph'
|
|
copyright = u'2010-2014, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)'
|
|
version = 'dev'
|
|
release = 'dev'
|
|
|
|
exclude_patterns = ['**/.#*', '**/*~']
|
|
|
|
|
|
def _get_description(fname, base):
|
|
with open(fname) as f:
|
|
one = None
|
|
while True:
|
|
line = f.readline().rstrip('\n')
|
|
if not line:
|
|
continue
|
|
if line.startswith(':') and line.endswith(':'):
|
|
continue
|
|
one = line
|
|
break
|
|
two = f.readline().rstrip('\n')
|
|
three = f.readline().rstrip('\n')
|
|
assert one == three
|
|
assert all(c=='=' for c in one)
|
|
name, description = two.split('--', 1)
|
|
assert name.strip() == base
|
|
return description.strip()
|
|
|
|
|
|
def _get_manpages():
|
|
src_dir = os.path.dirname(__file__)
|
|
top_srcdir = os.path.dirname(src_dir)
|
|
man_dir = os.path.join(top_srcdir, 'doc', 'man')
|
|
sections = os.listdir(man_dir)
|
|
for section in sections:
|
|
section_dir = os.path.join(man_dir, section)
|
|
if not os.path.isdir(section_dir):
|
|
continue
|
|
for filename in os.listdir(section_dir):
|
|
base, ext = os.path.splitext(filename)
|
|
if ext != '.rst':
|
|
continue
|
|
if base == 'index':
|
|
continue
|
|
path = os.path.join(section_dir, filename)
|
|
description = _get_description(path, base)
|
|
yield (
|
|
os.path.join(section, base),
|
|
base,
|
|
description,
|
|
'',
|
|
section,
|
|
)
|
|
|
|
man_pages = list(_get_manpages())
|
|
# sphinx warns if no toc is found, so feed it with a random file
|
|
# which is also rendered in this run.
|
|
master_doc = '8/ceph'
|