Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 578340 - games-strategy/wargus-data-0 with game-strategy/wargus-2.3.0: file collisions and dependency problems
Summary: games-strategy/wargus-data-0 with game-strategy/wargus-2.3.0: file collisions...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords: PMASKED
Depends on:
Blocks:
 
Reported: 2016-03-27 02:55 UTC by Matthew Ogilvie
Modified: 2023-03-11 18:30 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge.info.txt,6.41 KB, text/plain)
2016-03-27 02:55 UTC, Matthew Ogilvie
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Ogilvie 2016-03-27 02:55:38 UTC
Created attachment 429088 [details]
emerge --info

I've encountered a number of problems with games-strategy/wargus-data, listed below.  Bullets 2 and 3 are trivial to fix in the ebuild, but the others are more involved.

  1. After wargus-2.3.0 was recently released, it would not install due to file collisions, relative to the old install of wargus-data.  So I uninstalled both wargus and wargus-data and tried again.

  2. When emerging wargus from scratch, it would try to install wargus-data first, even though wargus lists wargus-data as a PDEPEND.  That doesn't work because wargus-data uses "wartool", which is installed by wargus.  I was able to get past this problem by adding DEPEND="games-strategy/wargus" to the wargus-data ebuild; then portage would build them in the correct order.

  3. But then wargus-data failed with "Could not find Warcraft 2 Data", even though I had the DOS expansion set CD mounted.  I tracked this down to the no-longer-recognized "-m" option that wargus-data uses when invoking wartool.  (It is still listed in the "-h" usage summary, but the code doesn't handle it.)  So I tried taking out the "-m" option.

  4. This almost works, but now wargus-data complains about several file collisions with wargus (similar to the first bullet), and still fails to actually install.  There is a long version (most of which I guess are identical files), and a shorter list which I copied below.  I'm a little surprised that plain wargus installs many data files (see equery f wargus); did someone really re-generate cleanly copyrighted versions of all these data files?

  5. I also noticed that wartool has apparently been enhanced to also be able to get the data from the battle.net version of warcraft 2 now.  This would be more convenient because you can mount a CD image file instead of a real CD, and presumably still get the background music (which are CD audio tracks in the DOS version).  But the wargus-data ebuild has not been enhanced to take advantage of the battle.net capability; it would need to look for a different data file to recognize the battle.net CD.  ("inherit cdrom" does not seem to support the concept of alternative versions of a CD both working, using different filenames.  It would probably be necessary to add a USE flag, or some other solution.)  And also, wartool source code seems to expect all-caps filenames, but Linux iso9660 file system driver by default lower-cases non-rock-ridge CD filenames.

At this point I basically decided to write this bug report and give up.  Especially since in practice I usually just play the battle.net version of Warcraft II in wine instead.

------
Short portion of the file collision (excluding the much longer full list) from bullet 4 above:

[snip most of a really long list]
 *      /usr/share/games/stratagus/wargus/graphics/human/buildings/foundry_construction_site.png
 *
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * games-strategy/wargus-2.3.0:0::gentoo
 *      /usr/share/games/stratagus/wargus/scripts/wc2-config.lua
 *      /usr/share/games/stratagus/wargus/sounds/orc/capture.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/rescue.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/dragon/acknowledgement/1.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/dragon/acknowledgement/2.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/dragon/ready.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/dragon/selected/1.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/acknowledgement/1.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/acknowledgement/2.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/acknowledgement/3.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/annoyed/1.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/annoyed/3.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/annoyed/4.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/annoyed/5.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/ready.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/selected/1.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/selected/2.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/selected/3.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/orc/units/ogre/selected/4.wav.gz
 *      /usr/share/games/stratagus/wargus/sounds/units/catapult-ballista/acknowledgement/1.wav.gz
 * 
 * Package 'games-strategy/wargus-data-0' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.
Comment 1 Russell Knighton 2016-04-06 11:37:58 UTC
I just spent some time investigating practically all the same things as Matthew Ogilvie has identified. It also seems like we're not the only one experiencing a conflict: https://github.com/Wargus/wargus/issues/145

These files are apparently from "Aleona's Tales", and perhaps need to be separated upstream from the main install, though it's not clear to me what the solution will be for us.

Additionally, it looks like the removal of the "-m" option in wartool was to deprecate converting the sf2 files to midi in favour of just using the files directly with fluidsynth (see: https://github.com/Wargus/wargus/commit/ae131d5a9d2f601bc04868f110a69cda410561c2). This means fluidsynth should probably replace the timidity++ dependency on the wargus-data ebuild.

No promises, but if I get time, I'll look at these ebuilds and see if I can't come up with a solution.
Comment 2 Pavel Kozlov 2016-05-07 18:31:15 UTC
I have identical problems. It's easy to remove "-m" option, but what should we do with file collisions? Is there a way to resolve this?
Comment 3 Matthew Ogilvie 2016-05-07 20:54:04 UTC
Workaround?: I haven't tried them, but "man make.conf" mentions variously sized environment-variable hammers for temporarily disabling collision detection, depending on how unsafe you want to be.

FEATURES="-collision-protect -protect-owned"
COLLISION_PROTECT_MASK=...
COLLISION_IGNORE=...
etc.
Comment 4 Pacho Ramos gentoo-dev 2018-04-29 13:07:15 UTC
can you recheck with 2.4 and 0-r1 versions?
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-11-22 21:58:05 UTC
I'm going to attempt to fix file collisions right now.  I'm not sure if I'm doing this right — I'll be stripping the games files that are included in wargus now.  This might turn out to be broken with other game data versions and whatnot, so please report a bug if it won't work for you.

The dependencies (as of today) look correct.

BNE version support requires stormlib which we don't have packaged right now.  I may look into it at some point but it's not a high priority for me.

All that said, I'm not sure if we're going to keep wargus-data ebuild for much longer.  It's a huge hack and it's way simpler to let the game install the data into homedir.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-11-22 22:28:49 UTC
I'm afraid I was unsuccessful.  Unless I'm mistaken, it seems that new versions of Wargus don't look for game data in /usr/share at all.  Plus,

1) the ebuild got really big because of the huge list of collisions,

2) I'm not really convinced we should be installed these two sets of files in the same place, and

3) the complexity needed to support BNE would make the ebuild even worse,

I'm going to lastrite wargus-data and instead let wargus extract the files on the first run.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-11-22 22:29:43 UTC
Or rather, I'm going to lastrite it once the old versions of wargus are gone.
Comment 8 Larry the Git Cow gentoo-dev 2023-01-21 10:15:08 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4c80971ec3ac63b00179f71edcd4073a1a8c3fc

commit e4c80971ec3ac63b00179f71edcd4073a1a8c3fc
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2023-01-21 10:12:02 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2023-01-21 10:15:01 +0000

    package.mask: Last rite games-strategy/wargus-data
    
    Bug: https://bugs.gentoo.org/578340
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 profiles/package.mask | 6 ++++++
 1 file changed, 6 insertions(+)
Comment 9 Larry the Git Cow gentoo-dev 2023-03-11 18:30:42 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6889d03dfe8a1e86a93d5e041a19bd54c280a25

commit d6889d03dfe8a1e86a93d5e041a19bd54c280a25
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2023-03-11 18:30:31 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2023-03-11 18:30:31 +0000

    games-strategy/wargus-data: Remove last-rited pkg
    
    Closes: https://bugs.gentoo.org/578340
    Closes: https://bugs.gentoo.org/838298
    Signed-off-by: David Seifert <soap@gentoo.org>

 games-strategy/wargus-data/metadata.xml            | 11 ------
 games-strategy/wargus-data/wargus-data-0-r1.ebuild | 45 ----------------------
 profiles/package.mask                              |  6 ---
 3 files changed, 62 deletions(-)