}
repos_urls="
-. | | master |
-data/xonotic-data.pk3dir | | master |
-data/xonotic-music.pk3dir | | master |
-data/xonotic-nexcompat.pk3dir | | master | no
-darkplaces | | div0-stable | svn
-netradiant | | master |
-div0-gittools | | master | no
-d0_blind_id | git://github.com/divVerent/d0_blind_id.git | master |
-data/xonotic-maps.pk3dir | | master |
-mediasource | | master | no
-fteqcc | git://github.com/Blub/qclib.git | master |
+. | | master |
+data/xonotic-data.pk3dir | | master |
+data/xonotic-music.pk3dir | | master |
+data/xonotic-nexcompat.pk3dir | | master | no
+darkplaces | | div0-stable | svn
+netradiant | | master |
+div0-gittools | | master | no
+d0_blind_id | | master |
+data/xonotic-maps.pk3dir | | master |
+mediasource | | master | no
+fteqcc | | xonotic-stable | noautocrlf
"
# todo: in darkplaces, change repobranch to div0-stable
verbose git config --unset remote.origin.pushurl || true
fi
verbose git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
- verbose git config core.autocrlf input
- if [ -z "`git config push.default`" ]; then
+ case ",`repoflags "$d"`," in
+ *,noautocrlf,*)
+ verbose git config --unset core.autocrlf
+ ;;
+ *)
+ verbose git config core.autocrlf input
+ ;;
+ esac
+ if [ -z "`git config push.default || true`" ]; then
verbose git config push.default current # or is tracking better?
fi
+ verbose git config filter.mapclean.clean "tr -d '\r' | grep '^[^/]'"
+ verbose git config filter.mapclean.smudge "cat"
}
mkzip()
msg "To get access, your key has to be approved first. For that, visit"
msg "http://dev.xonotic.org/, then log in, create a \"New Issue\" on"
msg "the \"Support\" tracker in the \"Repository\" category where you"
- msg "apply for access and paste the following output into the ticket:"
+ msg "apply for access and paste the following output into the issue:"
msg ""
msg "`cat ~/.ssh/id_rsa.pub`"
+ msg ""
+ msg "Note that you will only have write access to branches that start"
+ msg "with your user name."
elif [ -f ~/.ssh/id_dsa.pub ]; then
msg ""
msg "A key already exists and no new one will be generated. If you"
msg "To get access, your key has to be approved first. For that, visit"
msg "http://dev.xonotic.org/, then log in, create a \"New Issue\" on"
msg "the \"Support\" tracker in the \"Repository\" category where you"
- msg "apply for access and paste the following output into the ticket:"
+ msg "apply for access and paste the following output into the issue:"
msg ""
msg "`cat ~/.ssh/id_dsa.pub`"
+ msg ""
+ msg "Note that you will only have write access to branches that start"
+ msg "with your user name."
else
msg ""
msg "No key has been generated yet. One will be generated now."
msg "If other people are using your computer, it is recommended"
- msg "to specify a passphrase."
+ msg "to specify a passphrase. Otherwise you can simply hit ENTER"
+ msg "when asked for a passphrase."
msg ""
- ssh-keygen -t rsa -b 4096
+ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
msg ""
msg "To get access, your key has to be approved first. For that, visit"
msg "http://dev.xonotic.org/, then log in, create a \"New Issue\" on"
msg "the \"Support\" tracker in the \"Repository\" category where you"
- msg "apply for access and paste the following output into the ticket:"
+ msg "apply for access and paste the following output into the issue:"
msg ""
msg "`cat ~/.ssh/id_rsa.pub`"
+ msg ""
+ msg "Note that you will only have write access to branches that start"
+ msg "with your user name."
fi
;;
update|pull)
allow_pull=true
fix_config=false
+ location=current
while :; do
if [ x"$1" = x"-N" ]; then
allow_pull=false
elif [ x"$1" = x"-h" ]; then
fix_config=true
base=http://git.xonotic.org/xonotic/
+ elif [ x"$1" = x"-l" ]; then
+ case "$2" in
+ nl) ;;
+ de) ;;
+ default) ;;
+ *)
+ msg "Invalid location!"
+ msg "Possible locations for the -l option:"
+ msg " nl (Netherlands, run by merlijn)"
+ msg " de (Germany, run by divVerent)"
+ msg " default (currently nl)"
+ exit 1
+ ;;
+ esac
+ fix_config=true
+ location=$2
+ shift
else
break
fi
shift
done
+ case "$location" in
+ default)
+ location=
+ ;;
+ current)
+ case "$base" in
+ *://*.git.xonotic.org/*)
+ location=${base%%.git.xonotic.org/*}
+ location=${location##*://}
+ ;;
+ *)
+ location=
+ ;;
+ esac
+ ;;
+ esac
+ if [ -n "$location" ]; then
+ base=`echo "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,://$location.git.xonotic.org/,"`
+ pushbase=`echo "$pushbase" | sed "s,://\(.*\.\)\?git.xonotic.org/,://$location.git.xonotic.org/,"`
+ else
+ base=`echo "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,://git.xonotic.org/,"`
+ pushbase=`echo "$pushbase" | sed "s,://\(.*\.\)\?git.xonotic.org/,://git.xonotic.org/,"`
+ fi
if $fix_config; then
url=`repourl .`
pushurl=`repopushurl .`
cleanqc=false
compiled0=false
debug=debug
+ snowleopardhack=false
if [ -z "$CC" ]; then
export CC="gcc -DSUPPORTIPV6"
fi
case "$1" in
-0)
compiled0=true
+ shift
;;
-c)
cleand0=true
;;
*)
# AGL cannot be compiled on systems with a kernel > 10.x (Snow Leopard)
+ snowleopardhack=true
TARGETS="sv-$debug sdl-$debug"
;;
esac
sdl)
TARGETS="$TARGETS sdl-debug"
;;
- glx|agl|wgl)
+ agl)
+ TARGETS="$TARGETS cl-debug"
+ if $snowleopardhack; then
+ export CC="$CC -arch i386"
+ fi
+ ;;
+ glx|wgl)
TARGETS="$TARGETS cl-debug"
;;
dedicated)
enter "$d0/data/xonotic-data.pk3dir" verbose
if $cleanqc; then
- verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
+ verbose make FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
fi
- verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
+ verbose make FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
+ # 4 levels up: data, xonotic-data, qcsrc, server
enter "$d0/darkplaces" verbose
if [ x"$BAD_TARGETS" = x" " ]; then
# ./all clean [-m] [-f | -fu | -fU] [-r] [-D]
# ./all clean --reclone
found=false
- while :; do
- if [ x"$1" = x"--reclone" ]; then
+ for X in "$@"; do
+ if [ x"$X" = x"--reclone" ]; then
force=true
fetchupstream=true
gotoupstream=true
gotomaster=true
rmuntracked=true
killbranches=true
- elif [ x"$1" = x"-f" ]; then
+ elif [ x"$X" = x"-f" ]; then
force=true
- elif [ x"$1" = x"-u" ]; then
+ elif [ x"$X" = x"-u" ]; then
gotoupstream=true
- elif [ x"$1" = x"-U" ]; then
+ elif [ x"$X" = x"-U" ]; then
gotoupstream=true
fetchupstream=true
- elif [ x"$1" = x"-fu" ]; then
+ elif [ x"$X" = x"-fu" ]; then
force=true
gotoupstream=true
- elif [ x"$1" = x"-fU" ]; then
+ elif [ x"$X" = x"-fU" ]; then
force=true
gotoupstream=true
fetchupstream=true
- elif [ x"$1" = x"-m" ]; then
+ elif [ x"$X" = x"-m" ]; then
gotomaster=true
- elif [ x"$1" = x"-r" ]; then
+ elif [ x"$X" = x"-r" ]; then
rmuntracked=true
- elif [ x"$1" = x"-D" ]; then
+ elif [ x"$X" = x"-D" ]; then
killbranches=true
else
break
git rev-parse refs/heads/master >/dev/null 2>&1 || verbose git branch -t master origin/master || true
git rev-parse "refs/heads/`repobranch "$d"`" >/dev/null 2>&1 || verbose git branch -t "`repobranch "$d"`" origin/"`repobranch "$d"`" || true
fi
+ checkself "$cmd" "$@"
done
;;
# now rebrand the binaries...
for f in $targetfiles; do
#verbose "$d0/misc/tools/rebrand-darkplaces-engine.sh" "${XONOTIC_BRAND:-$d0/misc/tools/xonotic.brand}" "${f##*:}" || true
- case "$f" in
+ case "${f##*:}" in
xonotic*.exe)
- verbose "$d0/misc/tools/change-icon-of-exe.sh" "$d0/misc/logos/icons_ico/xonotic.ico" "$f"
+ verbose "$d0/misc/tools/change-icon-of-exe.sh" "$d0/misc/logos/icons_ico/xonotic.ico" "${f##*:}"
(
d=`mktemp -d -t rebrand.XXXXXX`
cd "$d"
cat darkplaces.zip
cd "$d0"
rm -rf "$d"
- ) >> "$f"
+ ) >> "${f##*:}"
;;
esac
done
release-qc)
case "$RELEASETYPE" in
beta)
- verbose make -C Xonotic/source FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
+ verbose make -C Xonotic/source FTEQCC="../../../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
+ # back out of: source/qcsrc/server
;;
release)
- verbose make -C Xonotic/source FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 FTEQCCFLAGS_WATERMARK= clean all
+ verbose make -C Xonotic/source FTEQCC="../../../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 FTEQCCFLAGS_WATERMARK= clean all
;;
esac
verbose rm -f Xonotic/source/*/fteqcc.log
# music: reduce bitrate
verbose export do_jpeg=true
verbose export jpeg_qual_rgb=80
- verbose export jpeg_qual_a=95
+ verbose export jpeg_qual_a=99
verbose export do_dds=false
verbose export do_ogg=true
verbose export ogg_qual=1
verbose export do_jpeg=false
verbose export do_jpeg_if_not_dds=true
verbose export jpeg_qual_rgb=80
- verbose export jpeg_qual_a=95
+ verbose export jpeg_qual_a=99
verbose export do_dds=true
verbose export dds_flags=
verbose export do_ogg=true
;;
release-pack)
verbose "$SELF" release-buildpk3s data/font-nimbussansl.pk3dir raw ''
- verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir normal '' raw '-raw' low '-low' lowdds '-lowdds'
- verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir normal '' raw '-raw' low '-low' lowdds '-lowdds'
+ verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir normal '' low '-low' lowdds '-lowdds'
+ verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir normal '' low '-low' lowdds '-lowdds'
verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir raw '' low '-low'
verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir low ''
;;
Xonotic/data/xonotic-$stamp-data-low.pk3 \
Xonotic/data/xonotic-$stamp-maps-low.pk3 \
Xonotic/data/xonotic-$stamp-music-low.pk3
- verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp-lowdds.zip
+# verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp-high.zip
+# verbose mkzip0 Xonotic-$stamp-high.zip \
+# Xonotic/data/xonotic-$stamp-data-raw.pk3 \
+# Xonotic/data/xonotic-$stamp-maps-raw.pk3 \
+# Xonotic/data/xonotic-$stamp-music.pk3 \
+# Xonotic/data/xonotic-$stamp-nexcompat.pk3
+ verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-lowdds.zip
verbose mkzip0 Xonotic-$stamp-lowdds.zip \
Xonotic/data/xonotic-$stamp-data-lowdds.pk3 \
Xonotic/data/xonotic-$stamp-maps-lowdds.pk3 \
Xonotic/data/xonotic-$stamp-music-low.pk3
- verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-high.zip
- verbose mkzip0 Xonotic-$stamp-high.zip \
- Xonotic/data/xonotic-$stamp-data-raw.pk3 \
- Xonotic/data/xonotic-$stamp-maps-raw.pk3 \
- Xonotic/data/xonotic-$stamp-music.pk3 \
- Xonotic/data/xonotic-$stamp-nexcompat.pk3
;;
release)
verbose "$SELF" release-prepare
echo " $SELF checkout|switch <remote>/<branch>"
echo " $SELF clean [-m] [-f | -fu | -fU] [-r] [-D]"
echo " $SELF clean --reclone"
- echo " $SELF compile [-c]"
+ echo " $SELF compile [-c] [-r] [-0]"
echo " $SELF each|foreach [-k] command..."
echo " $SELF fix_upstream_rebase"
+ echo " $SELF keygen"
echo " $SELF merge"
echo " $SELF push|commit [-s]"
echo " $SELF release"
echo " $SELF run [sdl|glx|wgl|agl|dedicated] options..."
echo " $SELF save-patches"
echo " $SELF update-maps"
- echo " $SELF update|pull [-N]"
+ echo " $SELF update|pull [-N] [-s | -h [-p] | -g [-p]] [-l de|nl|default]"
;;
esac