X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=download-gamepacks.sh;h=75c1c3dcf6f92e661b204b1c55529adc4353ae2d;hp=6869ea2afd2e21b95e6f491a48649c72677573b4;hb=dcc68affa33fc45d4d49eb5bfaa92ef9f567a13c;hpb=b2358327550a2ea9138bd25a317ed87d9e2d4641 diff --git a/download-gamepacks.sh b/download-gamepacks.sh index 6869ea2a..75c1c3dc 100755 --- a/download-gamepacks.sh +++ b/download-gamepacks.sh @@ -2,7 +2,16 @@ # Usage: # sh download-gamepack.sh -# LICENSEFILTER=GPL BATCH=1 sh download-gamepack.sh +# LICENSEFILTER=GPL,BSD BATCH=1 sh download-gamepack.sh + +: ${GIT:=git} +: ${SVN:=svn} +: ${WGET:=wget} +: ${ECHO:=echo} +: ${MKDIR:=mkdir} +: ${RM_R:=rm -f -r} +: ${MV:=mv} +: ${UNZIPPER:=unzip} set -e @@ -10,7 +19,7 @@ extra_urls() { if [ -f "$1/extra-urls.txt" ]; then while IFS=" " read -r FILE URL; do - wget -O "$1/$FILE" "$URL" + $WGET -O "$1/$FILE" "$URL" done < "$1/extra-urls.txt" fi } @@ -23,32 +32,32 @@ pack() source=$1; shift if [ -d "games/$pack" ]; then - echo "Updating $pack..." + $ECHO "Updating $pack..." case "$sourcetype" in svn) - svn update "games/$pack" "$@" + $SVN update "games/$pack" "$@" || true ;; zip1) - rm -rf zipdownload - mkdir zipdownload + $RM_R zipdownload + $MKDIR zipdownload cd zipdownload - wget "$source" "$@" - unzip * + $WGET "$source" "$@" || true + $UNZIPPER *.zip || true cd .. - rm -rf "games/$pack" - mkdir "games/$pack" - mv zipdownload/*/* "games/$pack/" - rm -rf zipdownload + $RM_R "games/$pack" + $MKDIR "games/$pack" + $MV zipdownload/*/* "games/$pack/" || true + $RM_R zipdownload ;; gitdir) - rm -rf "games/$pack" + $RM_R "games/$pack" cd games - git archive --remote="$source" --prefix="$pack/" "$2":"$1" | tar xvf - + $GIT archive --remote="$source" --prefix="$pack/" "$2":"$1" | tar xvf - || true cd .. ;; git) cd "games/$pack" - git pull + $GIT pull || true cd ../.. ;; esac @@ -56,35 +65,36 @@ pack() return fi - echo - echo "Available pack: $pack" - echo " License: $license" - echo " Download via $sourcetype from $source" - echo + $ECHO + $ECHO "Available pack: $pack" + $ECHO " License: $license" + $ECHO " Download via $sourcetype from $source" + $ECHO case " $PACKFILTER " in " ") ;; *" $pack "*) ;; *) - echo "Pack $pack rejected because it is not in PACKFILTER." + $ECHO "Pack $pack rejected because it is not in PACKFILTER." return ;; esac case " $LICENSEFILTER " in " ") ;; - *" $license "*) - ;; *) - echo "Pack $pack rejected because its license is not in LICENSEFILTER." - return + if ! echo "$LICENSEFILTER" | tr ',' '\n' | grep -F -q -x "$license" + then + $ECHO "Pack $pack rejected because its license is not in LICENSEFILTER." + return + fi ;; esac case "$BATCH" in '') while :; do - echo "Download this pack? (y/n)" + $ECHO "Download this pack? (y/n)" read -r P case "$P" in y*) @@ -100,45 +110,70 @@ pack() ;; esac - echo "Downloading $pack..." + $ECHO "Downloading $pack..." case "$sourcetype" in svn) - svn checkout "$source" "games/$pack" "$@" + $SVN checkout "$source" "games/$pack" "$@" || true ;; zip1) - rm -rf zipdownload - mkdir zipdownload + $RM_R zipdownload + $MKDIR zipdownload cd zipdownload - wget "$source" "$@" - unzip * + $WGET "$source" "$@" || true + $UNZIPPER *.zip || true cd .. - mkdir "games/$pack" - mv zipdownload/*/* "games/$pack/" - rm -rf zipdownload + $MKDIR "games/$pack" + $MV zipdownload/*/* "games/$pack/" || true + $RM_R zipdownload ;; gitdir) cd games - git archive --remote="$source" --prefix="$pack/" "$2":"$1" | tar xvf - + $GIT archive --remote="$source" --prefix="$pack/" "$2":"$1" | tar xvf - || true cd .. ;; git) cd games - git clone "$source" "$pack" + $GIT clone "$source" "$pack" || true cd .. ;; esac extra_urls "games/$pack" + good=false + for D in "games/$pack"/*.game; do + if [ -d "$D" ]; then + good=true + fi + done + $good || rm -rf "$D" } mkdir -p games -pack DarkPlacesPack GPL svn https://zerowing.idsoftware.com/svn/radiant.gamepacks/DarkPlacesPack/branches/1.5/ -pack NexuizPack GPL gitdir git://git.icculus.org/divverent/nexuiz.git misc/netradiant-NexuizPack master -pack OpenArenaPack unknown zip1 http://ingar.satgnu.net/files/gtkradiant/gamepacks/OpenArenaPack.zip -pack Q3Pack proprietary svn https://zerowing.idsoftware.com/svn/radiant.gamepacks/Q3Pack/trunk/ -r29 -pack Quake2Pack proprietary zip1 http://ingar.satgnu.net/files/gtkradiant/gamepacks/Quake2Pack.zip -pack Quake2WorldPack GPL svn svn://jdolan.dyndns.org/quake2world/trunk/gtkradiant -pack QuakePack proprietary zip1 http://ingar.satgnu.net/files/gtkradiant/gamepacks/QuakePack.zip -pack TremulousPack proprietary zip1 http://ingar.satgnu.net/files/gtkradiant/gamepacks/TremulousPack.zip -pack UFOAIPack proprietary svn https://zerowing.idsoftware.com/svn/radiant.gamepacks/UFOAIPack/branches/1.5/ -pack WarsowPack GPL svn http://opensvn.csie.org/warsowgamepack/netradiant/games/WarsowPack/ -pack XonoticPack GPL git git://git.xonotic.org/xonotic/netradiant-xonoticpack.git +pack DarkPlacesPack GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/DarkPlacesPack/branches/1.5/ +pack Doom3Pack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Doom3Pack/branches/1.5/ +pack ETPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/ETPack/branches/1.5/ +pack Heretic2Pack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Her2Pack/branches/1.5/ +pack JediAcademyPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/JAPack/branches/1.5/ +pack NeverballPack proprietary zip1 http://ingar.intranifty.net/files/netradiant/gamepacks/NeverballPack.zip +pack NexuizPack GPL gitdir git://git.icculus.org/divverent/nexuiz.git misc/netradiant-NexuizPack master +#pack OpenArenaPack unknown zip1 http://ingar.satgnu.net/files/netradiant/gamepacks/OpenArenaPack.zip +pack OpenArenaPack GPL git https://github.com/NeonKnightOA/oagamepack.git +pack OsirionPack GPL zip1 http://ingar.intranifty.net/files/netradiant/gamepacks/OsirionPack.zip +pack PreyPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/PreyPack/trunk/ +pack Q3Pack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q3Pack/trunk/ -r29 +pack Quake2Pack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q2Pack/branches/1.5/ +pack Quake4Pack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q4Pack/branches/1.5/ +#pack QuakePack proprietary zip1 http://ingar.intranifty.net/files/netradiant/gamepacks/QuakePack.zip +pack QuakePack GPL zip1 http://ingar.intranifty.net/files/netradiant/gamepacks/Quake1Pack.zip +#pack Quake2WorldPack GPL svn svn://jdolan.dyndns.org/quake2world/trunk/gtkradiant +pack QuetooPack GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/QuetooPack/branches/1.5/ +#pack TremulousPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/TremulousPack/branches/1.5/ +pack TremulousPack proprietary zip1 http://ingar.intranifty.net/files/netradiant/gamepacks/TremulousPack.zip +pack TurtleArenaPack proprietary git https://github.com/Turtle-Arena/turtle-arena-radiant-pack.git +pack UFOAIPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/UFOAIPack/branches/1.5/ +#pack UnvanquishedPack unknown zip1 http://ingar.intranifty.net/gtkradiant/files/gamepacks/UnvanquishedPack.zip +pack UnvanquishedPack BSD svn https://github.com/Unvanquished/unvanquished-mapeditor-support.git/trunk/build/netradiant +#pack WarsowPack GPL svn https://svn.bountysource.com/wswpack/trunk/netradiant/games/WarsowPack/ +#pack WarsowPack GPL zip1 http://ingar.intranifty.net/files/netradiant/gamepacks/WarsowPack.zip +pack WarsowPack GPL git https://github.com/Warsow/NetRadiantPack.git +pack WolfPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/WolfPack/branches/1.5/ +pack XonoticPack GPL git https://gitlab.com/xonotic/netradiant-xonoticpack.git