[game-data-packager] 03/09: Move all files derived from data/*.yaml into out/vfs/

Simon McVittie smcv at debian.org
Mon Jan 4 09:04:49 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 64c3b5405f06c3351aa30622ef792d8169a9f755
Author: Simon McVittie <smcv at debian.org>
Date:   Mon Jan 4 00:56:32 2016 +0000

    Move all files derived from data/*.yaml into out/vfs/
---
 Makefile                       | 32 ++++++++++++++------------------
 game_data_packager/__init__.py | 21 ++++++++++++++++-----
 2 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/Makefile b/Makefile
index f214eab..a7ab191 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,3 @@
-DIRS := ./out
 GDP_MIRROR ?= localhost
 bindir := /usr/games
 PYTHON := python3
@@ -24,26 +23,25 @@ png       += $(patsubst ./data/%.svg,./out/%.png,$(wildcard ./data/*.svg))
 png       += out/memento-mori.png
 svgz      := $(patsubst ./data/%.svg,./out/%.svgz,$(filter-out ./data/memento-mori-2.svg,$(wildcard ./data/*.svg)))
 in_yaml   := $(wildcard ./data/*.yaml)
-json      := $(patsubst ./data/%.yaml,./out/%.json,$(in_yaml))
+json      := $(patsubst ./data/%.yaml,./out/vfs/%.json,$(in_yaml))
 copyright := $(patsubst ./data/%,./out/%,$(wildcard ./data/*.copyright))
 dot_in    := $(patsubst ./data/%,./out/%,$(wildcard ./data/*.in))
 
-default: $(DIRS) $(png) $(svgz) $(json) $(copyright) $(dot_in) \
+default: $(png) $(svgz) $(json) $(copyright) $(dot_in) \
       out/bash_completion out/changelog.gz out/copyright \
       out/game-data-packager out/vfs.zip
 
 out/%: data/%
+	mkdir -p out
 	if [ -L $< ]; then cp -a $< $@ ; else install -m644 $< $@ ; fi
 
-out/%.json: data/%.yaml
+out/vfs/%.json: data/%.yaml
+	mkdir -p out/vfs
 	$(PYTHON) tools/yaml2json.py $< $@
 
 out/vfs.zip: $(json)
+	mkdir -p out
 	rm -f out/vfs.zip
-	rm -fr out/vfs
-	mkdir out/vfs
-	cp out/*.json out/*.files out/*.size_and_md5 out/vfs/
-	cp out/*.sha1sums out/*.sha256sums out/*.groups out/vfs/
 	if [ -n "$(BUILD_DATE)" ]; then \
 		touch --date='$(BUILD_DATE)' out/vfs/*; \
 	fi
@@ -51,37 +49,41 @@ out/vfs.zip: $(json)
 		env TZ=UTC zip ../vfs.zip -9 -X -q -@
 
 out/bash_completion: $(in_yaml)
+	mkdir -p out
 	$(PYTHON) tools/bash_completion.py > ./out/bash_completion
 	chmod 0644 ./out/bash_completion
 
 out/changelog.gz: debian/changelog
+	mkdir -p out
 	gzip -nc9 debian/changelog > ./out/changelog.gz
 	chmod 0644 ./out/changelog.gz
 
 out/game-data-packager: run
+	mkdir -p out
 	install run out/game-data-packager
 
 out/%.svg: data/%.svg
+	mkdir -p out
 	inkscape --export-plain-svg=$@ $<
 
 out/memento-mori.svg: data/memento-mori-2.svg
+	mkdir -p out
 	inkscape --export-plain-svg=$@ --export-id=layer1 --export-id-only $<
 
 out/memento-mori.png: out/memento-mori.svg
 	inkscape --export-png=$@ -w96 -h96 $<
 
 out/%.png: data/%.xpm
+	mkdir -p out
 	convert $< $@
 
 out/%.png: data/%.svg
+	mkdir -p out
 	inkscape --export-png=$@ -w96 -h96 $<
 
 out/%.svgz: out/%.svg
 	gzip -nc $< > $@
 
-$(DIRS):
-	mkdir -p $@
-
 clean:
 	rm -f ./out/bash_completion
 	rm -f ./out/changelog.gz
@@ -90,23 +92,17 @@ clean:
 	rm -f ./out/*.control.in
 	rm -f ./out/*.copyright
 	rm -f ./out/*.copyright.in
-	rm -f ./out/*.files
-	rm -f ./out/*.groups
 	rm -f ./out/*.preinst.in
 	rm -f ./out/*.png
-	rm -f ./out/*.sha1sums
-	rm -f ./out/*.sha256sums
-	rm -f ./out/*.size_and_md5
 	rm -f ./out/*.svgz
 	rm -f ./out/*.svg
-	rm -f ./out/*.json
 	rm -f ./out/vfs.zip
 	rm -f ./out/index.html
 	rm -fr out/vfs
 	rm -rf game_data_packager/__pycache__
 	rm -rf game_data_packager/games/__pycache__
 	rm -rf tools/__pycache__
-	for d in $(DIRS); do [ ! -d "$$d" ]  || rmdir "$$d"; done
+	test ! -d out || rmdir out
 
 check:
 	LC_ALL=C $(PYFLAKES3) game_data_packager/*.py game_data_packager/*/*.py runtime/*.py tools/*.py || :
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 618b475..82be35d 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -34,7 +34,7 @@ from .build import (HashedFile,
         PackagingTask)
 from .config import read_config
 from .gog import run_gog_meta_mode
-from .paths import (DATADIR,USE_VFS)
+from .paths import (DATADIR, USE_VFS)
 from .util import ascii_safe
 from .steam import run_steam_meta_mode
 from .version import (GAME_PACKAGE_VERSION, DISTRO, ASSETS)
@@ -1050,20 +1050,26 @@ class GameData(object):
                         for line in rawdata.splitlines():
                             self._add_hash(line.rstrip('\n'), alg)
         else:
-            filename = os.path.join(DATADIR, '%s.files' % self.shortname)
+            vfs = os.path.join(DATADIR, 'vfs')
+
+            if not os.path.isdir(vfs):
+                vfs = DATADIR
+
+
+            filename = os.path.join(vfs, '%s.files' % self.shortname)
             if os.path.isfile(filename):
                 logger.debug('... %s', filename)
                 data = json.load(open(filename, encoding='utf-8'))
                 self._populate_files(data)
 
-            filename = os.path.join(DATADIR, '%s.groups' % self.shortname)
+            filename = os.path.join(vfs, '%s.groups' % self.shortname)
             if os.path.isfile(filename):
                 logger.debug('... %s', filename)
                 stream = open(filename, encoding='utf-8')
                 self._populate_groups(stream)
 
             for alg in ('sha1', 'sha256', 'size_and_md5'):
-                filename = os.path.join(DATADIR, '%s.%s%s' %
+                filename = os.path.join(vfs, '%s.%s%s' %
                         (self.shortname, alg,
                             '' if alg == 'size_and_md5' else 'sums'))
                 if os.path.isfile(filename):
@@ -1280,7 +1286,12 @@ def load_games(game='*', use_vfs=USE_VFS, use_yaml=False):
             yamldata = open(yamlfile, encoding='utf-8').read()
             load_game(progress, games, yamlfile, yamldata)
     else:
-        for jsonfile in glob.glob(os.path.join(DATADIR, game + '.json')):
+        vfs = os.path.join(DATADIR, 'vfs')
+
+        if not os.path.isdir(vfs):
+            vfs = DATADIR
+
+        for jsonfile in glob.glob(os.path.join(vfs, game + '.json')):
             jsondata = open(jsonfile, encoding='utf-8').read()
             load_game(progress, games, jsonfile, jsondata)
 

-- 
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