[game-data-packager] 02/05: Add support for the equivalent of dh_installdocs --link-doc
Simon McVittie
smcv at debian.org
Sun Jan 3 23:54:12 UTC 2016
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch master
in repository game-data-packager.
commit d4bd87ef501056424300dcddf3d19a1167898a6c
Author: Simon McVittie <smcv at debian.org>
Date: Sun Jan 3 17:27:24 2016 +0000
Add support for the equivalent of dh_installdocs --link-doc
---
game_data_packager/__init__.py | 10 +++++++++-
game_data_packager/build.py | 26 +++++++++++++++++---------
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index da6248b..36eb574 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -238,6 +238,9 @@ class GameDataPackage(object):
else:
self.install_to = ASSETS + '/' + name
+ # link documentation to this package, like dh_installdocs --link-doc
+ self.link_doc = None
+
# Prefixes of files that get installed to /usr/share/doc/PACKAGE
# instead
self.install_to_docdir = []
@@ -790,7 +793,7 @@ class GameData(object):
'rip_cd', 'architecture', 'aliases', 'better_version', 'langs', 'mutually_exclusive',
'copyright', 'engine', 'lang', 'component', 'section', 'disks', 'provides',
'steam', 'gog', 'dotemu', 'origin', 'url_misc', 'wiki', 'copyright_notice',
- 'short_description'):
+ 'short_description', 'link_doc'):
if k in d:
setattr(package, k, d[k])
@@ -1163,6 +1166,11 @@ class GameData(object):
assert (not package.better_version or
package.better_version in self.packages), package.better_version
+ if package.link_doc is not None:
+ assert package.link_doc in self.packages, package.name
+ assert self.packages[package.link_doc].version == \
+ package.version, package.name
+
# check for stale missing_langs
if not package.demo_for:
assert not set(package.langs).intersection(self.missing_langs)
diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index eaf6e8b..4296d15 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -57,7 +57,7 @@ from .util import (AGENT,
rm_rf,
recursive_utime,
which)
-from .version import (FORMAT, DISTRO)
+from .version import (ASSETS, BINDIR, FORMAT, DISTRO)
if FORMAT == 'deb':
from debian.deb822 import Deb822
@@ -1508,12 +1508,21 @@ class PackagingTask(object):
if not self.check_complete(package, log=True):
return False
- docdir = os.path.join(destdir, 'usr/share/doc', package.name)
- mkdir_p(docdir)
- shutil.copyfile(os.path.join(DATADIR, 'changelog.gz'),
- os.path.join(docdir, 'changelog.gz'))
+ docdir = os.path.join('usr/share/doc', package.name)
+ dest_docdir = os.path.join(destdir, docdir)
- self.fill_docs(package, destdir, docdir)
+ if package.link_doc is None:
+ mkdir_p(dest_docdir)
+ shutil.copyfile(os.path.join(DATADIR, 'changelog.gz'),
+ os.path.join(dest_docdir, 'changelog.gz'))
+
+ self.fill_docs(package, destdir, dest_docdir)
+ else:
+ orig_dest_docdir = dest_docdir
+ docdir = os.path.join('usr/share/doc', package.link_doc)
+ dest_docdir = os.path.join(destdir, docdir)
+ mkdir_p(dest_docdir)
+ os.symlink('../' + package.link_doc, orig_dest_docdir)
for wanted in (package.install_files | package.optional_files):
install_as = wanted.install_as
@@ -1546,12 +1555,11 @@ class PackagingTask(object):
install_to = package.install_to
if install_to.startswith('$docdir'):
- install_to = 'usr/share/doc/%s%s' % (package.name,
- install_to[7:])
+ install_to = docdir + install_to[7:]
for prefix in package.install_to_docdir:
if wanted.name.startswith(prefix + '/'):
- install_to = 'usr/share/doc/%s' % package.name
+ install_to = docdir
copy_to = os.path.join(destdir, install_to, install_as)
copy_to_dir = os.path.dirname(copy_to)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list