X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=download-gamepacks.sh;h=32586dad924292186e54c428726ec790e86d879b;hp=1450ca688df86b456a8f048c85007ad8f440adde;hb=507fcc3376935f096b311ae30eaacfd975a80447;hpb=5e9d69cd536783dfdb8227eaf3ba4d7ec0c0d6c9 diff --git a/download-gamepacks.sh b/download-gamepacks.sh old mode 100644 new mode 100755 index 1450ca68..32586dad --- a/download-gamepacks.sh +++ b/download-gamepacks.sh @@ -2,10 +2,28 @@ # 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 +extra_urls() +{ + if [ -f "$1/extra-urls.txt" ]; then + while IFS=" " read -r FILE URL; do + $WGET -O "$1/$FILE" "$URL" + done < "$1/extra-urls.txt" + fi +} + pack() { pack=$1; shift @@ -14,62 +32,69 @@ 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 || true + cd ../.. + ;; esac + extra_urls "games/$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*) @@ -85,37 +110,56 @@ 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) - rm -rf "games/$pack" - git archive --remote="$source" --prefix="$pack/" "$2":"$1" | tar xvf - + cd games + $GIT archive --remote="$source" --prefix="$pack/" "$2":"$1" | tar xvf - || true + cd .. + ;; + git) + cd games + $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 DarkPlacesPack GPL svn svn://svn.icculus.org/gtkradiant-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/netradiant/gamepacks/OpenArenaPack.zip +pack OsirionPack GPL zip1 http://ingar.satgnu.net/files/netradiant/gamepacks/OsirionPack.zip +pack Q3Pack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/Q3Pack/trunk/ -r29 +pack Quake2Pack proprietary zip1 http://ingar.satgnu.net/files/netradiant/gamepacks/Quake2Pack.zip +pack QuakePack GPL zip1 http://ingar.satgnu.net/files/netradiant/gamepacks/Quake1Pack.zip +pack QuetooPack GPL svn svn://svn.icculus.org/gtkradiant-gamepacks/QuetooPack/branches/1.5/ +pack TremulousPack proprietary zip1 http://ingar.satgnu.net/files/netradiant/gamepacks/TremulousPack.zip +pack UFOAIPack proprietary svn svn://svn.icculus.org/gtkradiant-gamepacks/UFOAIPack/branches/1.5/ +#pack WarsowPack GPL svn https://svn.bountysource.com/wswpack/trunk/netradiant/games/WarsowPack/ +#pack WarsowPack GPL zip1 http://ingar.satgnu.net/files/netradiant/gamepacks/WarsowPack.zip +pack WarsowPack GPL git https://github.com/Warsow/NetRadiantPack.git +pack XonoticPack GPL git https://gitlab.com/xonotic/netradiant-xonoticpack.git +pack UnvanquishedPack BSD svn https://github.com/Unvanquished/unvanquished-mapeditor-support.git/trunk/build/netradiant