mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-25 06:50:46 +00:00
65 lines
1.4 KiB
Bash
Executable File
65 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
[ $# = 2 ] || { echo >&2 "$0: wrong number of arguments"; exit 1; }
|
|
|
|
src=$1
|
|
dst=$2
|
|
|
|
dirs_=
|
|
dirs_music=music
|
|
dirs_sound=sounds
|
|
dirs_httt='Heir_To_The_Throne*'
|
|
dirs_ei='Eastern_Invasion*'
|
|
dirs_sotbe='Son_Of_The_Black_Eye*'
|
|
dirs_tdh='The_Dark_Hordes*'
|
|
dirs_trow='The_Rise_of_Wesnoth*'
|
|
dirs_devel='tools wmlxgettext'
|
|
dirs_editor='editor*'
|
|
dirs_tutorial='tutorial Tutorial'
|
|
dirs_mp=multiplayer
|
|
dirs_locales=translations
|
|
dirs_junk='scenario-test.cfg convert.pl README man'
|
|
|
|
# must be last in $parts !
|
|
dirs_coredata='data images'
|
|
|
|
parts="sound httt ei sotbe tdh trow devel editor tutorial mp junk coredata"
|
|
if [ "x$dst" != "x--zip" ]
|
|
then
|
|
parts="music locales $parts"
|
|
fi
|
|
|
|
for p in $parts
|
|
do
|
|
[ "x$dst" = "x--zip" ] || rm -rf $dst/wesnoth-$p
|
|
eval dirs=\${dirs_$p}
|
|
findexpr=-false
|
|
for d in $dirs
|
|
do
|
|
findexpr="$findexpr -o -name $d"
|
|
done
|
|
|
|
# locate files and dirs to move
|
|
things=$(cd $src && find $findexpr)
|
|
|
|
if [ "x$dst" = "x--zip" ]
|
|
then
|
|
rm -f $src/wesnoth-$p.zip
|
|
(cd $src && zip -Drm wesnoth-$p.zip $things)
|
|
else
|
|
for d in $(cd $src && find $findexpr)
|
|
do
|
|
mkdir -p $dst/wesnoth-$p/$(dirname $d)
|
|
mv $src/$d $dst/wesnoth-$p/$(dirname $d)
|
|
done
|
|
fi
|
|
|
|
# be sure there are only dirs left now
|
|
test -z "$(cd $src && find \( $findexpr \) -not -type d | tee /dev/stderr)"
|
|
|
|
# remove now-empty dirs
|
|
(cd $src && rm -rf $things)
|
|
|
|
done
|