mirror of
https://github.com/ceph/ceph
synced 2024-12-28 22:43:29 +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)" byed0653b493
This license declaration omitted a version number. Some time lateref7418421b
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'
|