diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | README.rst | 18 | ||||
-rwxr-xr-x | scripts/switch-branch | 10 | ||||
-rwxr-xr-x | update | 61 | ||||
-rwxr-xr-x | use-ffmpeg-master | 4 | ||||
-rwxr-xr-x | use-ffmpeg-release | 4 | ||||
-rwxr-xr-x | use-mpv-master | 4 | ||||
-rwxr-xr-x | use-mpv-release | 4 |
8 files changed, 78 insertions, 28 deletions
@@ -11,3 +11,4 @@ debian/mpv.debhelper.log debian/mpv.postinst.debhelper debian/mpv.postrm.debhelper debian/mpv.substvars +/config/ @@ -150,18 +150,20 @@ In general, changes to the mpv-build repository itself are relatively safe, keeping branches in sub-repositories might be ok, and making local, uncommitted changes in sub-repositories will break. -Forcing master versions of all parts -==================================== +Forcing master versions for some parts +====================================== The following command can be used to delete all local changes, and to checkout -the current master versions for all parts (libass, ffmpeg, mpv, as well as -mpv-build itself): +the current master version for mpv: - ./update --master + ./use-mpv-master -All local modifications are overwritten (including changes to the scripts), -and git master versions are checked out. Breakages/bugs are to be expected, -because these are untested bleeding-edge development versions of the code. +And run ``./rebuild`` or similar. Use this to switch back to the latest release: + + ./use-mpv-release + +Likewise, you can use ``./use-ffmpeg-master`` and ``./use-ffmpeg-release`` to +switch between git master and the latest FFmpeg release. Use on your own risk. diff --git a/scripts/switch-branch b/scripts/switch-branch new file mode 100755 index 0000000..b2cd407 --- /dev/null +++ b/scripts/switch-branch @@ -0,0 +1,10 @@ +#!/bin/sh +set -e + +mkdir -p config + +FILENAME="branch-$1" +BRANCH="$2" +echo "$BRANCH" > config/"$FILENAME" + +echo "Run ./rebuild to update the source and to compile the selected branch." @@ -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 diff --git a/use-ffmpeg-master b/use-ffmpeg-master new file mode 100755 index 0000000..af87e19 --- /dev/null +++ b/use-ffmpeg-master @@ -0,0 +1,4 @@ +#!/bin/sh +set -e + +scripts/switch-branch ffmpeg master diff --git a/use-ffmpeg-release b/use-ffmpeg-release new file mode 100755 index 0000000..7c2cbb8 --- /dev/null +++ b/use-ffmpeg-release @@ -0,0 +1,4 @@ +#!/bin/sh +set -e + +scripts/switch-branch ffmpeg release diff --git a/use-mpv-master b/use-mpv-master new file mode 100755 index 0000000..bcb35be --- /dev/null +++ b/use-mpv-master @@ -0,0 +1,4 @@ +#!/bin/sh +set -e + +scripts/switch-branch mpv master diff --git a/use-mpv-release b/use-mpv-release new file mode 100755 index 0000000..21f48cd --- /dev/null +++ b/use-mpv-release @@ -0,0 +1,4 @@ +#!/bin/sh +set -e + +scripts/switch-branch mpv release |