[game-data-packager] 32/51: Introduce the concept of ignorable files
Simon McVittie
smcv at debian.org
Fri Dec 29 01:23:36 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 111d7b3bc9123abe2f0e3335f7c3d85cb15f3551
Author: Simon McVittie <smcv at debian.org>
Date: Wed Dec 27 18:19:37 2017 +0000
Introduce the concept of ignorable files
These are discarded by compile_yaml, but can be used by make_template.
Signed-off-by: Simon McVittie <smcv at debian.org>
---
data/ut99.yaml | 240 ++++++++++++++++++------------------
game_data_packager/data.py | 31 +++--
game_data_packager/game.py | 51 ++++++--
game_data_packager/make_template.py | 11 +-
tools/check_equivalence.py | 3 +-
tools/compile_yaml.py | 21 +++-
6 files changed, 209 insertions(+), 148 deletions(-)
diff --git a/data/ut99.yaml b/data/ut99.yaml
index 78a87b8..1281304 100644
--- a/data/ut99.yaml
+++ b/data/ut99.yaml
@@ -1183,139 +1183,139 @@ groups:
files in both 436 Linux installers:
group_members: |
125160 dd5c28472ea74ee5a52673333ce97caf Credits.tar.gz?436Linux
- #4106 d92c0dc11fa537bcb32179a569e99751 Glide.ini.tar.gz?436Linux
+ .4106 d92c0dc11fa537bcb32179a569e99751 Glide.ini.tar.gz?436Linux
4103 62e055d90688ac23b257705cec4e1d2f OpenGL.ini.tar.gz?436Linux
1815 08c1e23a26a2b398c88262484ccf144c ucc?436Linux
3378 23cffee6c8d4ef48ac03e88e2e87a0aa icon.bmp?436Linux
8948 c68255408ebab50ef4d08a04bbc43ed5 icon.xpm?436Linux
- #246961 6ce66812f952574ed5ba7ce0bd56e83c setup.data/splash.xpm?436Linux
- #2290 96ec924389bdf38bd6b670a3be5a12b5 setup.sh?436Linux
+ .246961 6ce66812f952574ed5ba7ce0bd56e83c setup.data/splash.xpm
+ .2290 96ec924389bdf38bd6b670a3be5a12b5 setup.sh
files in 436 Linux non-GOTY installer:
group_members: |
2232989 245308fb9d88a1ad2312245a997ff5b5 data.tar.gz?436Linux
- #687336 af9ec9d59c276ed359aee3721fdcc182 NetGamesUSA.com.tar.gz?436Linux
+ .687336 af9ec9d59c276ed359aee3721fdcc182 NetGamesUSA.com.tar.gz?436Linux
6423 27493ae9f9a19ffa4382af85c8721dd2 README?436Linux
- #54 f310af1fbd172de2a8037f0fcf1622a2 autorun.inf
- #1647 7da15a149cd7a20523ffa07bda522960 setup.data/apply-patch.sh
- #446072 9052ba08c8c6088f670edbd93b648833 setup.data/bin/Linux/x86/glibc-2.1/setup.gtk
- #796968 78d465ebee2e0ec0815129b3d032a08c setup.data/bin/Linux/x86/loki_patch
- #731188 a2e4ecda6b9681bffab068d789210c14 setup.data/bin/Linux/x86/setup
- #672468 857e755dfd86febf20aa1935e9db506f setup.data/bin/Linux/x86/uninstall
+ .54 f310af1fbd172de2a8037f0fcf1622a2 autorun.inf
+ .1647 7da15a149cd7a20523ffa07bda522960 setup.data/apply-patch.sh
+ .446072 9052ba08c8c6088f670edbd93b648833 setup.data/bin/Linux/x86/glibc-2.1/setup.gtk
+ .796968 78d465ebee2e0ec0815129b3d032a08c setup.data/bin/Linux/x86/loki_patch
+ .731188 a2e4ecda6b9681bffab068d789210c14 setup.data/bin/Linux/x86/setup
+ .672468 857e755dfd86febf20aa1935e9db506f setup.data/bin/Linux/x86/uninstall
1558383 fd7640bdf977b48b6a027f0489d80e7e setup.data/data/System/BotPack.u.0?436Linux
- #8145 6bc32f5162eab13979cbc296240fde00 setup.data/data/System/Core.u.0?436Linux
+ .8145 6bc32f5162eab13979cbc296240fde00 setup.data/data/System/Core.u.0?436Linux
11855 5fef79ff336a169b87de4ab94c7499ae setup.data/data/System/Editor.u.0?436Linux
- #103106 c0a144cf7ba1cf831c9d9e0786ed2a03 setup.data/data/System/Engine.u.0?436Linux
+ .103106 c0a144cf7ba1cf831c9d9e0786ed2a03 setup.data/data/System/Engine.u.0?436Linux
1496 feec1764f763027c6b47922a8d89d10f setup.data/data/System/Fire.u.0?436Linux
- #2457 f9c800162824ec08d0119a015b6e51c6 setup.data/data/System/IpDrv.u.0?436Linux
- #5130 5b23cb9db168450e587acb066946a903 setup.data/data/System/IpServer.u.0?436Linux
- #38470 366a9f8167405134bc03210bb122d479 setup.data/data/System/UBrowser.u.0?436Linux
+ .2457 f9c800162824ec08d0119a015b6e51c6 setup.data/data/System/IpDrv.u.0?436Linux
+ .5130 5b23cb9db168450e587acb066946a903 setup.data/data/System/IpServer.u.0?436Linux
+ .38470 366a9f8167405134bc03210bb122d479 setup.data/data/System/UBrowser.u.0?436Linux
94960 1519684e8ee14b1aec374a930355f8d7 setup.data/data/System/UMenu.u.0?436Linux
3075 4da37ab6fe98361048608439d7f59c9e setup.data/data/System/UTBrowser.u.0?436Linux
88479 0b653808fa60e7bf544d1971baf9d091 setup.data/data/System/UTMenu.u.0?436Linux
- #4828 4160474191bd2befef22313463e4194f setup.data/data/System/UTServerAdmin.u.0?436Linux
- #2465 898e0a40d05a1b1367d7dbbf37812a97 setup.data/data/System/UWeb.u.0?436Linux
+ .4828 4160474191bd2befef22313463e4194f setup.data/data/System/UTServerAdmin.u.0?436Linux
+ .2465 898e0a40d05a1b1367d7dbbf37812a97 setup.data/data/System/UWeb.u.0?436Linux
45790 d473f88ff395aee238bc97aed945f70c setup.data/data/System/UWindow.u.0?436Linux
- #13586 8bce32585655f61fee0458cd5cb450be setup.data/locale/de/LC_MESSAGES/setup.mo
- #10963 0de7fd9b48565a4d57809874a31ba5c4 setup.data/locale/es/LC_MESSAGES/setup.mo
- #17345 6c9552e082a6e7fd974d7efac2b6ca03 setup.data/locale/fr/LC_MESSAGES/setup.mo
- #16758 a71c3e2153e88d6f32776ffa01fcc033 setup.data/locale/it/LC_MESSAGES/setup.mo
- #14154 16d15257543b9b2f279ef97181df5b66 setup.data/locale/nl/LC_MESSAGES/setup.mo
- #14076 ec98216a3cc0426b8875bd46a8c85e59 setup.data/locale/sv/LC_MESSAGES/setup.mo
- #2480 477da01ad1ea292037856b8be3b13ac6 setup.data/patch.dat
- #46281 e2abdcb6bdb53732a0c3134cb4a2c045 setup.data/setup.glade
- #1322 91c848ba41d70437668c3864cd24d5db setup.data/setup.xml
- #246961 6ce66812f952574ed5ba7ce0bd56e83c setup.data/splash.xpm
- #2290 96ec924389bdf38bd6b670a3be5a12b5 setup.sh
+ .13586 8bce32585655f61fee0458cd5cb450be setup.data/locale/de/LC_MESSAGES/setup.mo
+ .10963 0de7fd9b48565a4d57809874a31ba5c4 setup.data/locale/es/LC_MESSAGES/setup.mo
+ .17345 6c9552e082a6e7fd974d7efac2b6ca03 setup.data/locale/fr/LC_MESSAGES/setup.mo
+ .16758 a71c3e2153e88d6f32776ffa01fcc033 setup.data/locale/it/LC_MESSAGES/setup.mo
+ .14154 16d15257543b9b2f279ef97181df5b66 setup.data/locale/nl/LC_MESSAGES/setup.mo
+ .14076 ec98216a3cc0426b8875bd46a8c85e59 setup.data/locale/sv/LC_MESSAGES/setup.mo
+ .2480 477da01ad1ea292037856b8be3b13ac6 setup.data/patch.dat
+ .46281 e2abdcb6bdb53732a0c3134cb4a2c045 setup.data/setup.glade
+ .1322 91c848ba41d70437668c3864cd24d5db setup.data/setup.xml
+ .246961 6ce66812f952574ed5ba7ce0bd56e83c setup.data/splash.xpm
+ .2290 96ec924389bdf38bd6b670a3be5a12b5 setup.sh
1758 ed490362c20f6049ae7ee66283a925e4 ut?436Linux
- #900 cedf965ce5743e044d379a9a9304da07 win32/README.htm
- #3584 80246ccce0e2f0561a23e04bf607a78d win32/autorun.exe
+ .900 cedf965ce5743e044d379a9a9304da07 win32/README.htm
+ .3584 80246ccce0e2f0561a23e04bf607a78d win32/autorun.exe
files in 436 Linux GOTY installer:
group_members: |
2234199 f5e11d360c317fc05b4edadb80bc834e data.tar.gz?436Linux-goty
- #687340 3f30f27e770416e9e234ac214cced00e NetGamesUSA.com.tar.gz?436Linux-goty
+ .687340 3f30f27e770416e9e234ac214cced00e NetGamesUSA.com.tar.gz?436Linux-goty
6093 96b638f5074e39c12b70f5e3c87ef8f0 README?436Linux-goty
- #1647 42a702e7793e50456a5b7534e108382e setup.data/apply-patch.sh?436Linux-goty
- #1717280 420bb6adb95e094fb68a1f77ae9e94f2 setup.data/bin/Linux/x86/glibc-2.1/setup.gtk?436Linux-goty
- #800224 909ebd61345dca19d502e9f12c17c5ef setup.data/bin/Linux/x86/loki_patch?436Linux-goty
- #670644 fcba3bd0ec24b50e79e4d7119f213741 setup.data/bin/Linux/x86/register?436Linux-goty
- #737108 877b1c1ea7cc35ee29e5af4775f5ba9d setup.data/bin/Linux/x86/setup?436Linux-goty
- #675604 2d972e0e5ba9f607628562fbfaf069d2 setup.data/bin/Linux/x86/uninstall?436Linux-goty
+ .1647 42a702e7793e50456a5b7534e108382e setup.data/apply-patch.sh?436Linux-goty
+ .1717280 420bb6adb95e094fb68a1f77ae9e94f2 setup.data/bin/Linux/x86/glibc-2.1/setup.gtk?436Linux-goty
+ .800224 909ebd61345dca19d502e9f12c17c5ef setup.data/bin/Linux/x86/loki_patch?436Linux-goty
+ .670644 fcba3bd0ec24b50e79e4d7119f213741 setup.data/bin/Linux/x86/register?436Linux-goty
+ .737108 877b1c1ea7cc35ee29e5af4775f5ba9d setup.data/bin/Linux/x86/setup?436Linux-goty
+ .675604 2d972e0e5ba9f607628562fbfaf069d2 setup.data/bin/Linux/x86/uninstall?436Linux-goty
363823 798600117b69277d2a1e662e6db7e496 setup.data/data/System/BotPack.u.0?436Linux-goty
- #7444 f014c0a8506b013db5b77ce6591f689d setup.data/data/System/Core.u.0?436Linux-goty
+ .7444 f014c0a8506b013db5b77ce6591f689d setup.data/data/System/Core.u.0?436Linux-goty
4889 ec644dbb06eae02859151b5fa2fe0c5e setup.data/data/System/Editor.u.0?436Linux-goty
- #81478 a3d6a5e9e852b2c37f0dcacc5150e82d setup.data/data/System/Engine.u.0?436Linux-goty
+ .81478 a3d6a5e9e852b2c37f0dcacc5150e82d setup.data/data/System/Engine.u.0?436Linux-goty
1480 2e540d2a0e4e36f43851a12316290c32 setup.data/data/System/Fire.u.0?436Linux-goty
- #2284 8a6d60885fb7eb350de3ba31e05ec437 setup.data/data/System/IpDrv.u.0?436Linux-goty
- #2113 7f2ea8e86c6318130f9a4c03d61412d9 setup.data/data/System/IpServer.u.0?436Linux-goty
- #24918 3c5841acc4621523e7828d302314dd40 setup.data/data/System/UBrowser.u.0?436Linux-goty
+ .2284 8a6d60885fb7eb350de3ba31e05ec437 setup.data/data/System/IpDrv.u.0?436Linux-goty
+ .2113 7f2ea8e86c6318130f9a4c03d61412d9 setup.data/data/System/IpServer.u.0?436Linux-goty
+ .24918 3c5841acc4621523e7828d302314dd40 setup.data/data/System/UBrowser.u.0?436Linux-goty
676976 e5e397cca0fd09c9218a03fffcc65e00 setup.data/data/System/UMenu.u.0?436Linux-goty
1212 51e6d8dca8880936040f4bd1eec41d1b setup.data/data/System/UTBrowser.u.0?436Linux-goty
39490 7c9ba483389d35c6ea859a4410cc501f setup.data/data/System/UTMenu.u.0?436Linux-goty
- #4670 936067d4f92381e13f283f19bc3a95da setup.data/data/System/UTServerAdmin.u.0?436Linux-goty
- #2228 f80156ac4bc69a902b2423ebf2b7d5eb setup.data/data/System/UWeb.u.0?436Linux-goty
+ .4670 936067d4f92381e13f283f19bc3a95da setup.data/data/System/UTServerAdmin.u.0?436Linux-goty
+ .2228 f80156ac4bc69a902b2423ebf2b7d5eb setup.data/data/System/UWeb.u.0?436Linux-goty
43810 d05886c73cca88cfff3f7a18689e0fd5 setup.data/data/System/UWindow.u.0?436Linux-goty
- #336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/de/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
- #13857 bb2c10e95ad55a7c5d03240ab8f8b941 setup.data/locale/de/LC_MESSAGES/setup.mo?436Linux-goty
- #336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/es/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
- #17632 6c6da19ddc68683959bbcca73b0ae9b9 setup.data/locale/es/LC_MESSAGES/setup.mo?436Linux-goty
- #3328 4641713b2862b60ed129d1390d419422 setup.data/locale/fr/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
- #19506 f8a49325f5eb14083b7169f3ca6d26ae setup.data/locale/fr/LC_MESSAGES/setup.mo?436Linux-goty
- #336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/it/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
- #17420 afa923428981e3daedbdb5326cff1e58 setup.data/locale/it/LC_MESSAGES/setup.mo?436Linux-goty
- #336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/nl/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
- #14433 a0d894dd60add74d7fed9fa3cda3faf8 setup.data/locale/nl/LC_MESSAGES/setup.mo?436Linux-goty
- #336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/sv/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
- #14355 7aafdc0cac53897a32a9e550b5e04e83 setup.data/locale/sv/LC_MESSAGES/setup.mo?436Linux-goty
- #2546 3bb0568bf2c0db703fd60495ce98e99c setup.data/patch.dat?436Linux-goty
- #45962 49b733b9ad58509ead6491f88c2117be setup.data/setup.glade?436Linux-goty
- #1508 76dd6fe6736e5510110d85aa92eea623 setup.data/setup.xml?436Linux-goty
- #307 448bd1c3c018c6329c8bffb6b8dfb58d setup.data/uz-maps.sh?436Linux-goty
+ .336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/de/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
+ .13857 bb2c10e95ad55a7c5d03240ab8f8b941 setup.data/locale/de/LC_MESSAGES/setup.mo?436Linux-goty
+ .336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/es/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
+ .17632 6c6da19ddc68683959bbcca73b0ae9b9 setup.data/locale/es/LC_MESSAGES/setup.mo?436Linux-goty
+ .3328 4641713b2862b60ed129d1390d419422 setup.data/locale/fr/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
+ .19506 f8a49325f5eb14083b7169f3ca6d26ae setup.data/locale/fr/LC_MESSAGES/setup.mo?436Linux-goty
+ .336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/it/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
+ .17420 afa923428981e3daedbdb5326cff1e58 setup.data/locale/it/LC_MESSAGES/setup.mo?436Linux-goty
+ .336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/nl/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
+ .14433 a0d894dd60add74d7fed9fa3cda3faf8 setup.data/locale/nl/LC_MESSAGES/setup.mo?436Linux-goty
+ .336 1a8e5dede8ebc22262a490f9884f7124 setup.data/locale/sv/LC_MESSAGES/loki-uninstall.mo?436Linux-goty
+ .14355 7aafdc0cac53897a32a9e550b5e04e83 setup.data/locale/sv/LC_MESSAGES/setup.mo?436Linux-goty
+ .2546 3bb0568bf2c0db703fd60495ce98e99c setup.data/patch.dat?436Linux-goty
+ .45962 49b733b9ad58509ead6491f88c2117be setup.data/setup.glade?436Linux-goty
+ .1508 76dd6fe6736e5510110d85aa92eea623 setup.data/setup.xml?436Linux-goty
+ .307 448bd1c3c018c6329c8bffb6b8dfb58d setup.data/uz-maps.sh?436Linux-goty
1758 9eef92ea8ca2574565aaaf4a7bb5b3e8 ut?436Linux-goty
misc files in setup_ut_goty_2.0.0.5.exe:
group_members: |
- #96264 4d3ac88054df63fc810427bdaa96c458 GameuxInstallHelper.dll?gog
- #1105408 08a1b06fe2fee5a1e3b33f1d71b84705 System/3DfxSpl2.dll?gog
- #60928 175e5ad865ba3c7f5310beb4a676bb4d System/GotoHeat.exe?gog
- #277776 83170bd54c3867da178f9612c2746c6a System/MSVCRT.dll?gog
- #113 12b05d077e4cb8c633516409e6bc6ad9 System/RunServer.bat?gog
- #1310720 e4867e049c2ece234254c15f441ffc48 System/glide2x.dll?gog
- #290112 57878b3122168db83426904304973765 System/goggame.dll?gog
- #273408 87be14d2bee78cb50c65445207ef4663 System/mplaynow.exe?gog
- #331776 6ab5ef6635da1fd08be7914d9af473a2 System/nglide_config.exe?gog
- #131758 2ba68e1f6af1fa6b49e48aedaa0ec643 gfw_high.ico?gog
- #69248 88cbd6c016021b7b4a4b15879476ec6b gog.ico?gog
- #11544 e2ce3faad9adfca376694a86f729f218 System/Default.ini?gog
- #35393 2d59a4541c44f09f67655837f2315562 System/Manifest.ini?gog
- #11544 e4426332a021b5300c8f840b4c9d0d78 System/UnrealTournament.ini?gog
- #10053 c7ac58771ae51370f166c3d5700ea3a6 System/User.ini?gog
- #644 5c374117d2d92d822762c72ea9f2f725 gog_ut_goty.sdb
+ .96264 4d3ac88054df63fc810427bdaa96c458 GameuxInstallHelper.dll?gog
+ .1105408 08a1b06fe2fee5a1e3b33f1d71b84705 System/3DfxSpl2.dll?gog
+ .60928 175e5ad865ba3c7f5310beb4a676bb4d System/GotoHeat.exe?gog
+ .277776 83170bd54c3867da178f9612c2746c6a System/MSVCRT.dll?gog
+ .113 12b05d077e4cb8c633516409e6bc6ad9 System/RunServer.bat?gog
+ .1310720 e4867e049c2ece234254c15f441ffc48 System/glide2x.dll?gog
+ .290112 57878b3122168db83426904304973765 System/goggame.dll?gog
+ .273408 87be14d2bee78cb50c65445207ef4663 System/mplaynow.exe?gog
+ .331776 6ab5ef6635da1fd08be7914d9af473a2 System/nglide_config.exe?gog
+ .131758 2ba68e1f6af1fa6b49e48aedaa0ec643 gfw_high.ico?gog
+ .69248 88cbd6c016021b7b4a4b15879476ec6b gog.ico?gog
+ .11544 e2ce3faad9adfca376694a86f729f218 System/Default.ini?gog
+ .35393 2d59a4541c44f09f67655837f2315562 System/Manifest.ini?gog
+ .11544 e4426332a021b5300c8f840b4c9d0d78 System/UnrealTournament.ini?gog
+ .10053 c7ac58771ae51370f166c3d5700ea3a6 System/User.ini?gog
+ .644 5c374117d2d92d822762c72ea9f2f725 gog_ut_goty.sdb
_ _ System/mplaynow.ini
- #_ _ System/Core.dll?436
- #_ _ System/d3ddrv.dll?436
- #_ _ System/editor.dll?436
- #_ _ System/engine.dll?436
- #_ _ System/fire.dll?436
- #_ _ System/galaxy.dll?436
- #_ _ System/glideDrv.dll?436
- #_ _ System/ipdrv.dll?436
- #_ _ System/MeTaLDrv.dll?436
- #_ _ System/opengldrv.dll?436
- #_ _ System/render.dll?436
- #_ _ System/SGLDrv.dll?436
- #_ _ System/setup.exe?436
- #_ _ System/softdrv.dll?436
- #_ _ System/ucc.exe?436
- #_ _ System/uweb.dll?436
- #_ _ System/UnrealEd.exe?436
- #_ _ System/UnrealTournament.exe?436
- #_ _ System/windrv.dll?436
- #_ _ System/Window.dll?436
- #_ _ System/DefUser.ini?436Windows
+ ._ _ System/Core.dll?436
+ ._ _ System/d3ddrv.dll?436
+ ._ _ System/editor.dll?436
+ ._ _ System/engine.dll?436
+ ._ _ System/fire.dll?436
+ ._ _ System/galaxy.dll?436
+ ._ _ System/glideDrv.dll?436
+ ._ _ System/ipdrv.dll?436
+ ._ _ System/MeTaLDrv.dll?436
+ ._ _ System/opengldrv.dll?436
+ ._ _ System/render.dll?436
+ ._ _ System/SGLDrv.dll?436
+ ._ _ System/setup.exe?436
+ ._ _ System/softdrv.dll?436
+ ._ _ System/ucc.exe?436
+ ._ _ System/uweb.dll?436
+ ._ _ System/UnrealEd.exe?436
+ ._ _ System/UnrealTournament.exe?436
+ ._ _ System/windrv.dll?436
+ ._ _ System/Window.dll?436
+ ._ _ System/DefUser.ini?436Windows
3320729 7306be9538d1d877dd310a664edb7055 Maps/CTF-High.unr?goty
2429905 78dd26a9764ac5246461a20138145461 Maps/CityIntro.unr?goty
@@ -1399,36 +1399,36 @@ groups:
5455 751bf6fc5ddef383eaba74973dfc34b4 System/Engine.int?436Windows
105371 d267a7624bad310543f7d601e3146c25 System/UTServerAdmin.u?436
28410 f9fc6ee646f644523d367343022d0633 System/UWeb.u?436
- #57344 b1876f7ad9f6b4603b3871789898e0d5 System/MeTaLDrv.dll?436
+ .57344 b1876f7ad9f6b4603b3871789898e0d5 System/MeTaLDrv.dll?436
454 bc0dac15cecaf34352af6e593a92820b System/MeTaLDrv.int?ut99
- #94208 337976d2cf76d9da589a57267aef6683 System/SGLDrv.dll?436
- #1380352 57177a47e0135af6beb6419558f4121a System/UnrealEd.exe?436
- #241664 7dadcc7e3a9a3d66001e3b37cf636f0e System/UnrealTournament.exe?436
- #483328 532bee3d7d03a9af85b00e56c22bed0b System/Window.dll?436
- #640 d31aec7a9de94a4611bbf6d8886df8b4 System/editorres/vssver.scc?436
- #786432 ccf104341c7452b06295d421167dba95 System/Core.dll?436
+ .94208 337976d2cf76d9da589a57267aef6683 System/SGLDrv.dll?436
+ .1380352 57177a47e0135af6beb6419558f4121a System/UnrealEd.exe?436
+ .241664 7dadcc7e3a9a3d66001e3b37cf636f0e System/UnrealTournament.exe?436
+ .483328 532bee3d7d03a9af85b00e56c22bed0b System/Window.dll?436
+ .640 d31aec7a9de94a4611bbf6d8886df8b4 System/editorres/vssver.scc?436
+ .786432 ccf104341c7452b06295d421167dba95 System/Core.dll?436
59233 d2b07e7c9425c14644fd79e75fb0df29 System/Core.u?436
- #217088 dd6e3692f8ead5e1df88716024bc25d1 System/d3ddrv.dll?436
- #11316 d988b22626fdfb227e02a57406b1a0fd System/Default.ini?436nodelta
- #10092 8d8007b9686955d84c43eacf0a5b0de1 System/DefUser.ini?436nodelta
- #1257472 e089b6a395b26c7fe44551bb027d8d7c System/editor.dll?436
- #1789952 30e34c2a9e0eab908c5da6f322f4e2d7 System/engine.dll?436
+ .217088 dd6e3692f8ead5e1df88716024bc25d1 System/d3ddrv.dll?436
+ .11316 d988b22626fdfb227e02a57406b1a0fd System/Default.ini?436nodelta
+ .10092 8d8007b9686955d84c43eacf0a5b0de1 System/DefUser.ini?436nodelta
+ .1257472 e089b6a395b26c7fe44551bb027d8d7c System/editor.dll?436
+ .1789952 30e34c2a9e0eab908c5da6f322f4e2d7 System/engine.dll?436
1149858 e6fbb28182bc82a9414cc96a744eda1b System/Engine.u?436
- #106496 5fc2add20d2afc1bdf068d8c2611d312 System/fire.dll?436
- #339968 cb246e9a387cc002e6ea13264ac0dc08 System/galaxy.dll?436
- #81920 9261d20e08276dd3a3cb1fccee709ae4 System/glidedrv.dll?436
- #233472 ff5ddc3652a71526fe6ee67842e8451c System/ipdrv.dll?436
+ .106496 5fc2add20d2afc1bdf068d8c2611d312 System/fire.dll?436
+ .339968 cb246e9a387cc002e6ea13264ac0dc08 System/galaxy.dll?436
+ .81920 9261d20e08276dd3a3cb1fccee709ae4 System/glidedrv.dll?436
+ .233472 ff5ddc3652a71526fe6ee67842e8451c System/ipdrv.dll?436
32162 7cae231b737bb22bdcf0403ffbb19cca System/IpServer.u?436
- #102400 12031672ff432601cf638efe2e26acd6 System/opengldrv.dll?436
- #237568 6f18d6bb2b3dc12d0d2e5ad5cc66586b System/render.dll?436
- #311296 ca649ea591c8767e0f9ee197af3f44e8 System/setup.exe?436
- #389120 da8d1c3fcd740e85185f11321ab5d3ff System/softdrv.dll?436
+ .102400 12031672ff432601cf638efe2e26acd6 System/opengldrv.dll?436
+ .237568 6f18d6bb2b3dc12d0d2e5ad5cc66586b System/render.dll?436
+ .311296 ca649ea591c8767e0f9ee197af3f44e8 System/setup.exe?436
+ .389120 da8d1c3fcd740e85185f11321ab5d3ff System/softdrv.dll?436
329791 7409bc1b0e08329f4f86fc3c9ce0d969 System/UBrowser.u?436
- #110592 1b2ba310e4b96bd0b435f30224614bf4 System/ucc.exe?436
+ .110592 1b2ba310e4b96bd0b435f30224614bf4 System/ucc.exe?436
1904411 bbec875a92f258bf01f07638fe29baff System/UMenu.u?436Windows
- #45056 59ce64cc09e8f412635b3cf2cd5c61dc System/uweb.dll?436
- #122880 25242ac38ff1f40826fab099d3314555 System/windrv.dll?436
+ .45056 59ce64cc09e8f412635b3cf2cd5c61dc System/uweb.dll?436
+ .122880 25242ac38ff1f40826fab099d3314555 System/windrv.dll?436
archives:
group_members: |
diff --git a/game_data_packager/data.py b/game_data_packager/data.py
index 4b04cda..9f689e9 100644
--- a/game_data_packager/data.py
+++ b/game_data_packager/data.py
@@ -192,6 +192,7 @@ class WantedFile(HashedFile):
self.download = None
self.executable = False
self.filename = name.split('?')[0]
+ self.ignorable = False
self.install_as = self.filename
self._install_to = None
self.license = False
@@ -276,12 +277,18 @@ class WantedFile(HashedFile):
else:
ret[k] = v
+ provides = set()
+
if expand:
- if self.provides_files:
- ret['provides'] = sorted(f.name for f in self.provides_files)
+ for f in self.provides_files:
+ if not f.ignorable:
+ provides.add(f.name)
else:
- if self.provides:
- ret['provides'] = sorted(self.provides)
+ for filename in self.provides:
+ provides.add(filename)
+
+ if provides:
+ ret['provides'] = sorted(provides)
for k in (
'download',
@@ -415,7 +422,8 @@ yaml.add_representer(YamlLiteral, YamlLiteral.to_yaml)
class FileGroup:
__APPLY_TO_ALL = (
- 'doc', 'executable', 'install_to', 'license', 'unsuitable',
+ 'doc', 'executable', 'ignorable', 'install_to', 'license',
+ 'unsuitable',
)
def __init__(self, name):
@@ -436,7 +444,7 @@ class FileGroup:
if value is not None:
setattr(other, attr, value)
- def to_data(self, expand=True, files=None):
+ def to_data(self, expand=True, files=None, include_ignorable=False):
ret = {}
for attr in self.__APPLY_TO_ALL:
@@ -452,10 +460,18 @@ class FileGroup:
group_members = []
for name in sorted(self.group_members):
+ prefix = ''
+
if name in files:
f = files[name]
size = f.size
md5 = f.md5
+
+ if f.ignorable:
+ if not include_ignorable:
+ continue
+
+ prefix = '.'
else:
size = '_'
md5 = '_'
@@ -466,7 +482,8 @@ class FileGroup:
if md5 is None:
md5 = '_'
- group_members.append('%-9s %s %s\n' % (size, md5, name))
+ group_members.append(
+ '%s%-9s %s %s\n' % (prefix, size, md5, name))
ret['group_members'] = YamlLiteral(''.join(group_members))
diff --git a/game_data_packager/game.py b/game_data_packager/game.py
index 2e82e94..e5216c2 100644
--- a/game_data_packager/game.py
+++ b/game_data_packager/game.py
@@ -346,7 +346,7 @@ class GameData(object):
return help_text
- def to_data(self, expand=True):
+ def to_data(self, expand=True, include_ignorable=False):
files = {}
groups = {}
packages = {}
@@ -360,13 +360,21 @@ class GameData(object):
return ret
for filename, f in self.files.items():
+ if f.ignorable and not include_ignorable:
+ continue
+
data = f.to_data(expand=expand)
if data or expand:
files[filename] = data
for name, g in self.groups.items():
- groups[name] = g.to_data(expand=expand, files=self.files)
+ if g.ignorable and not include_ignorable:
+ continue
+
+ groups[name] = g.to_data(
+ expand=expand, files=self.files,
+ include_ignorable=include_ignorable)
for name, package in self.packages.items():
packages[name] = package.to_data(
@@ -402,6 +410,9 @@ class GameData(object):
if f.alternatives:
continue
+ if f.ignorable and not include_ignorable:
+ continue
+
if f.md5 is None:
unknown_md5s.add(filename)
@@ -452,14 +463,21 @@ class GameData(object):
for filename in sorted(self.files.keys()):
f = self.files[filename]
+ prefix = ''
+
+ if f.ignorable:
+ if not include_ignorable:
+ continue
+
+ prefix = '.'
if f.sha1 is not None:
- sha1s.append('%-40s %s\n' % (f.sha1, f.name))
+ sha1s.append('%s%-40s %s\n' % (prefix, f.sha1, f.name))
if f.sha256 is not None:
- sha256s.append('%-64s %s\n' % (f.sha256, f.name))
+ sha256s.append('%s%-64s %s\n' % (prefix, f.sha256, f.name))
- if f.size is None:
+ if f.size is None and not f.ignorable:
unknown_sizes.append(filename)
for g in self.groups.values():
@@ -475,7 +493,8 @@ class GameData(object):
if md5 is None:
md5 = '_'
- ungrouped.append('%-9s %32s %s\n' % (size, md5, filename))
+ ungrouped.append(
+ '%s%-9s %32s %s\n' % (prefix, size, md5, filename))
if unknown_sizes:
ret['unknown_sizes'] = unknown_sizes
@@ -619,15 +638,21 @@ class GameData(object):
"""Parse one line from md5sums-style data."""
stripped = line.strip()
+ ignorable = False
+
if stripped == '' or stripped.startswith('#'):
return
+ if stripped[0] == '.':
+ ignorable = True
+ stripped = stripped[1:]
+
if alg == 'size_and_md5':
- size, hexdigest, filename = line.split(None, 2)
+ size, hexdigest, filename = stripped.split(None, 2)
alg = 'md5'
else:
size = None
- hexdigest, filename = MD5SUM_DIVIDER.split(line, 1)
+ hexdigest, filename = MD5SUM_DIVIDER.split(stripped, 1)
if filename in self.groups:
assert size in (None, '_'), \
@@ -646,6 +671,9 @@ class GameData(object):
if hexdigest is not None and hexdigest != '_':
setattr(f, alg, hexdigest)
+ if ignorable:
+ f.ignorable = True
+
return f
def _populate_groups(self, stream):
@@ -840,9 +868,10 @@ class GameData(object):
for filename, f in self.files.items():
for provided in f.provides_files:
- self.providers.setdefault(provided.name, set()).add(filename)
+ if not provided.ignorable:
+ self.providers.setdefault(provided.name, set()).add(filename)
- if f.alternatives:
+ if f.alternatives or f.ignorable:
continue
if f.distinctive_size and f.size is not None:
@@ -1009,7 +1038,7 @@ class GameData(object):
assert wanted.sha1 is None, wanted.name
assert wanted.sha256 is None, wanted.name
assert wanted.size is None, wanted.name
- else:
+ elif not wanted.ignorable:
assert (wanted.size is not None or filename in
self.data.get('unknown_sizes', ())
), (self.shortname, wanted.name)
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index 3051522..fcfc3dc 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -571,7 +571,7 @@ class Template:
def print_yaml(self):
print('---')
- data = self.game.to_data(expand=False)
+ data = self.game.to_data(expand=False, include_ignorable=True)
if data:
yaml.dump(data, default_flow_style=False, stream=sys.stdout)
@@ -610,13 +610,16 @@ class Template:
print(' group_members: |')
for f in sorted(group.group_members):
- print(' %-9s %s %s' % (self.size[f], self.md5[f], f))
+ if f in self.unwanted.group_members:
+ print(' .%-9s %s %s' % (self.size[f], self.md5[f], f))
+ else:
+ print(' %-9s %s %s' % (self.size[f], self.md5[f], f))
print('\nsha1sums: |')
for f in sorted(self.sha1.keys()):
if f in self.unwanted.group_members:
- print(' #%s %s' % (self.sha1[f], f))
+ print(' .%s %s' % (self.sha1[f], f))
else:
print(' %s %s' % (self.sha1[f], f))
@@ -624,7 +627,7 @@ class Template:
for f in sorted(self.sha256.keys()):
if f in self.unwanted.group_members:
- print(' #%s %s' % (self.sha256[f], f))
+ print(' .%s %s' % (self.sha256[f], f))
else:
print(' %s %s' % (self.sha256[f], f))
diff --git a/tools/check_equivalence.py b/tools/check_equivalence.py
index 7e047e7..85c128b 100755
--- a/tools/check_equivalence.py
+++ b/tools/check_equivalence.py
@@ -116,7 +116,8 @@ if __name__ == '__main__':
json_game.load_file_data(check=True, use_vfs=False)
json_to_data = json_game.to_data()
json_to_json = dump(json_to_data)
- json_to_data_unexpanded = json_game.to_data(expand=False)
+ json_to_data_unexpanded = json_game.to_data(
+ expand=False, include_ignorable=True)
json_to_json_unexpanded = dump(json_to_data_unexpanded)
yaml_game = from_yaml[name]
diff --git a/tools/compile_yaml.py b/tools/compile_yaml.py
index ce1676c..9b1eb55 100755
--- a/tools/compile_yaml.py
+++ b/tools/compile_yaml.py
@@ -53,13 +53,19 @@ def main(f, out):
# The group data starts with a list of groups. This is necessary
# so we can know whether a group member, encountered later on in
# the data, is a group or a file.
- for group_name in sorted(groups.keys()):
+ for group_name, group_data in sorted(groups.items()):
+ if isinstance(group_data, dict):
+ if group_data.get('ignorable'):
+ continue
+
writer.write('*%s\n' % group_name)
for group_name, group_data in sorted(groups.items()):
- writer.write('[%s]\n' % group_name)
-
if isinstance(group_data, dict):
+ if group_data.get('ignorable'):
+ continue
+
+ writer.write('[%s]\n' % group_name)
attrs = {}
members = group_data['group_members']
for k, v in group_data.items():
@@ -69,6 +75,7 @@ def main(f, out):
json.dump(attrs, writer, sort_keys=True)
writer.write('\n')
elif isinstance(group_data, (str, list)):
+ writer.write('[%s]\n' % group_name)
members = group_data
else:
raise AssertionError('group %r should be dict, str or list' % group_name)
@@ -80,7 +87,9 @@ def main(f, out):
assert not line.startswith('[')
assert not line.startswith('{')
line = line.strip()
- if line and not line.startswith('#'):
+ if (line and
+ not line.startswith('#') and
+ not line.startswith('.')):
has_members = True
writer.write(' '.join(line.split()))
writer.write('\n')
@@ -112,7 +121,9 @@ def main(f, out):
for line in v.splitlines():
stripped = line.strip()
- if stripped == '' or stripped.startswith('#'):
+ if (stripped == '' or
+ stripped.startswith('#') or
+ stripped.startswith('.')):
continue
writer.write(line)
writer.write('\n')
--
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