[game-data-packager] 07/10: unreal: Do lintian overrides from YAML, not from code
Simon McVittie
smcv at debian.org
Sun Apr 30 21:11:04 UTC 2017
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 9ec311e6b4e5539a2e528c16d2c3f5c9781549af
Author: Simon McVittie <smcv at debian.org>
Date: Sun Apr 30 19:00:35 2017 +0100
unreal: Do lintian overrides from YAML, not from code
---
data/unreal.yaml | 13 ++++++++++
game_data_packager/data.py | 12 ++++++++++
game_data_packager/games/unreal.py | 41 --------------------------------
game_data_packager/packaging/__init__.py | 2 +-
game_data_packager/packaging/deb.py | 10 ++++++--
5 files changed, 34 insertions(+), 44 deletions(-)
diff --git a/data/unreal.yaml b/data/unreal.yaml
index a207383..b5702a7 100644
--- a/data/unreal.yaml
+++ b/data/unreal.yaml
@@ -253,6 +253,13 @@ packages:
$assets/game-data-packager-runtime/gdp-launcher
$prefix/share/applications/unreal-gold.desktop:
$assets/game-data-packager-runtime/unreal-gold.desktop
+ lintian_overrides:
+ - "binary-has-unneeded-section usr/lib/unreal*/System/* *"
+ - "binary-or-shlib-defines-rpath usr/lib/unreal*/System/* ."
+ - "embedded-library usr/lib/unreal*/System/*.bin: zlib"
+ - "hardening-no-fortify-functions usr/lib/unreal*/System/*"
+ - "shlib-with-non-pic-code usr/lib/unreal*/System/*.so"
+ - "spelling-error-in-binary usr/lib/unreal*/System/* * *"
unreal-libfmod:
version: 3.75+227i
@@ -270,6 +277,10 @@ packages:
symlinks:
$install_to/System/libfmod.so: $install_to/libfmod-3.75.so
$install_to/System/libfmod-3.75.so: $install_to/libfmod-3.75.so
+ lintian_overrides:
+ - "binary-has-unneeded-section usr/lib/unreal/libfmod-3.75.so .comment"
+ - "hardening-no-fortify-functions usr/lib/unreal/libfmod-3.75.so"
+ - "hardening-no-relro usr/lib/unreal/libfmod-3.75.so"
unreal-libmikmod2:
# non-distributable because LGPL source code isn't included
@@ -290,6 +301,8 @@ packages:
$install_to/System/libmikmod.so: $install_to/libmikmod.so.2.0.4
$install_to/System/libmikmod.so.2: $install_to/libmikmod.so.2.0.4
$install_to/System/libmikmod.so.2.0.4: $install_to/libmikmod.so.2.0.4
+ lintian_overrides:
+ - "embedded-library usr/lib/unreal/libmikmod.so.2.0.4: libmikmod"
unreal-classic:
version: 227i
diff --git a/game_data_packager/data.py b/game_data_packager/data.py
index d706048..3a52b21 100644
--- a/game_data_packager/data.py
+++ b/game_data_packager/data.py
@@ -527,6 +527,9 @@ class Package(object):
# archives actually used to built a package
self.used_sources = set()
+ # Lintian overrides
+ self._lintian_overrides = set()
+
for k in (
'aliases',
'architecture',
@@ -544,6 +547,7 @@ class Package(object):
'install_to',
'lang',
'langs',
+ 'lintian_overrides',
'long_description',
'longname',
'mutually_exclusive',
@@ -679,6 +683,13 @@ class Package(object):
self._aliases = set(value)
@property
+ def lintian_overrides(self):
+ return self._lintian_overrides
+ @lintian_overrides.setter
+ def lintian_overrides(self, value):
+ self._lintian_overrides = set(value)
+
+ @property
def install(self):
return self._install
@install.setter
@@ -745,6 +756,7 @@ class Package(object):
'better_versions',
'demo_for',
'gog',
+ 'lintian_overrides',
'origin',
'rip_cd',
'specifics',
diff --git a/game_data_packager/games/unreal.py b/game_data_packager/games/unreal.py
index 1d30211..8472ad6 100644
--- a/game_data_packager/games/unreal.py
+++ b/game_data_packager/games/unreal.py
@@ -32,47 +32,6 @@ class UnrealTask(PackagingTask):
with TemporaryUmask(0o022):
self.__convert_logo(destdir, package, 'skaarj_logo.jpg')
- if package.name in ('unreal-gold', 'unreal-classic'):
- with TemporaryUmask(0o022):
- self.__add_manifest(package, destdir)
-
- self.packaging.override_lintian(destdir, package.name,
- 'binary-has-unneeded-section',
- 'usr/lib/unreal*/System/* *')
- self.packaging.override_lintian(destdir, package.name,
- 'binary-or-shlib-defines-rpath',
- 'usr/lib/unreal*/System/* .')
- self.packaging.override_lintian(destdir, package.name,
- 'embedded-library',
- 'usr/lib/unreal*/System/*.bin: zlib')
- self.packaging.override_lintian(destdir, package.name,
- 'hardening-no-fortify-functions',
- 'usr/lib/unreal*/System/*')
- self.packaging.override_lintian(destdir, package.name,
- 'spelling-error-in-binary',
- 'usr/lib/unreal*/System/* * *')
- self.packaging.override_lintian(destdir, package.name,
- 'shlib-with-non-pic-code',
- 'usr/lib/unreal*/System/*.so')
-
- if package.name == 'unreal-libmikmod2':
- with TemporaryUmask(0o022):
- self.packaging.override_lintian(destdir, package.name,
- 'embedded-library',
- 'usr/lib/unreal/libmikmod.so.2.0.4: libmikmod')
-
- if package.name == 'unreal-libfmod':
- with TemporaryUmask(0o022):
- self.packaging.override_lintian(destdir, package.name,
- 'hardening-no-relro',
- 'usr/lib/unreal/libfmod-3.75.so')
- self.packaging.override_lintian(destdir, package.name,
- 'binary-has-unneeded-section',
- 'usr/lib/unreal/libfmod-3.75.so .comment')
- self.packaging.override_lintian(destdir, package.name,
- 'hardening-no-fortify-functions',
- 'usr/lib/unreal/libfmod-3.75.so')
-
def __add_manifest(self, package, destdir):
# A real Manifest.ini is much larger than this, but this is
# enough to identify the version.
diff --git a/game_data_packager/packaging/__init__.py b/game_data_packager/packaging/__init__.py
index 242989f..f490968 100644
--- a/game_data_packager/packaging/__init__.py
+++ b/game_data_packager/packaging/__init__.py
@@ -168,7 +168,7 @@ class PackagingSystem(metaclass=ABCMeta):
def _get_pkglicensedir(self, package):
return '/'.join((self.LICENSEDIR, package))
- def override_lintian(self, destdir, package, tag, args):
+ def override_lintian(self, destdir, package, tag, args=None):
pass
def format_relations(self, relations):
diff --git a/game_data_packager/packaging/deb.py b/game_data_packager/packaging/deb.py
index daf3493..65b0282 100644
--- a/game_data_packager/packaging/deb.py
+++ b/game_data_packager/packaging/deb.py
@@ -196,12 +196,15 @@ class DebPackaging(PackagingSystem):
return p
- def override_lintian(self, destdir, package, tag, args):
+ def override_lintian(self, destdir, package, tag, args=None):
assert type(package) is str
lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
mkdir_p(lintiandir)
with open(os.path.join(lintiandir, package), 'a', encoding='utf-8') as l:
- l.write('%s: %s %s\n' % (package, tag, args))
+ rest = [tag]
+ if args is not None:
+ rest.append(args)
+ l.write('%s: %s\n' % (package, ' '.join(rest)))
def format_relation(self, pr):
assert not pr.contextual
@@ -348,6 +351,9 @@ class DebPackaging(PackagingSystem):
self.override_lintian(destdir, package.name,
'unknown-section', 'local/%s' % package.section)
+ for o in package.lintian_overrides:
+ self.override_lintian(destdir, package.name, o)
+
# same output as in dh_md5sums
if md5sums is None:
md5sums = {}
--
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