summaryrefslogtreecommitdiffstats
path: root/update
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-10-27 18:23:59 +0100
committerwm4 <wm4@nowhere>2014-10-27 18:23:59 +0100
commita85d34bf9b0570b028533e3f96675fceec49ba86 (patch)
tree5cc32ff3fccd05c117a8e03edb81f0119fe99431 /update
parentb38387044631aa433ae1612efbe9b1ed1e264b51 (diff)
downloadmpv-build-a85d34bf9b0570b028533e3f96675fceec49ba86.tar.bz2
mpv-build-a85d34bf9b0570b028533e3f96675fceec49ba86.tar.xz
Add a simpler way to switch between release and master versions
This remembers the selection, and users are not tricked into accidentally switching back to the release all the time. Don't do this for libass, we always use master. (No reason to use a usually buggy and outdated release.) We don't do it for fribidi either, because fribidi is just in a permanent state of bitrotting and brokenness.
Diffstat (limited to 'update')
-rwxr-xr-xupdate61
1 files changed, 41 insertions, 20 deletions
diff --git a/update b/update
index 047a08e..d03d7f9 100755
--- a/update
+++ b/update
@@ -31,16 +31,6 @@ do_gitmaster()
)
}
-do_gitmaster_all()
-{
- set -ex
- do_clone_all
- do_gitmaster ffmpeg
- do_gitmaster fribidi
- do_gitmaster libass
- do_gitmaster mpv
-}
-
versort_with_prefix()
{
# Emulate sort -V using a known prefix. Filter out anything else.
@@ -68,16 +58,19 @@ do_fixedref()
)
}
-do_releasetag_all()
+checkout_ffmpeg=do_releasetag
+checkout_fribidi=do_releasetag
+checkout_libass=do_gitmaster
+checkout_mpv=do_releasetag
+
+checkout_all()
{
set -ex
do_clone_all
- do_releasetag ffmpeg 'n'
- do_releasetag fribidi ''
- #do_releasetag libass ''
- #do_fixedref libass refs/tags/0.10.2
- do_gitmaster libass
- do_releasetag mpv 'v'
+ $checkout_ffmpeg ffmpeg 'n'
+ $checkout_fribidi fribidi ''
+ $checkout_libass libass
+ $checkout_mpv mpv 'v'
}
do_bootstrap()
@@ -99,12 +92,38 @@ if [ x"$1" != x"--skip-selfupdate" ]; then
fi
shift
+select_branch()
+{
+ if [ -d config/ ] && [ -f config/"branch-$1" ]; then
+ case `cat config/"branch-$1"` in
+ master)
+ echo do_gitmaster
+ ;;
+ *)
+ # "release" is the defined value; but default anything else to it
+ echo do_releasetag
+ ;;
+ esac
+ else
+ echo "$2"
+ fi
+}
+
+checkout_ffmpeg=`select_branch ffmpeg $checkout_ffmpeg`
+checkout_mpv=`select_branch mpv $checkout_mpv`
+
case "$1" in
--master)
- do_gitmaster_all
+ checkout_ffmpeg=do_gitmaster
+ checkout_fribidi=do_gitmaster
+ checkout_libass=do_gitmaster
+ checkout_mpv=do_gitmaster
+ ;;
+ --release)
+ checkout_ffmpeg=do_releasetag
+ checkout_mpv=do_releasetag
;;
- --release|'')
- do_releasetag_all
+ '')
;;
*)
echo >&2 "$0 --master"
@@ -113,6 +132,8 @@ case "$1" in
;;
esac
+checkout_all
+
do_update_debian_versions $1
do_bootstrap