4 from helpers
import run_command
5 from optparse
import OptionParser
7 def write(path
, revision
, outdir
):
8 if os
.system("(cd %s && git archive --format=tar --prefix=%s/ %s | (cd %s && tar xf -))" % (path
, path
, revision
, outdir
)) != 0:
11 def subrev(revision
, name
):
12 return run_command(("git", "ls-tree", revision
, name
)).split()[2]
14 def export(revision
, outdir
):
16 mplayer_rev
= subrev(revision
, "mplayer")
17 libass_rev
= subrev(revision
, "libass")
18 libav_rev
= subrev(revision
, "libav")
20 version
= run_command('git describe --match v[0-9]* --always ' +
23 write('.', revision
, outdir
)
24 os
.putenv('PYTHONDONTWRITEBYTECODE', '1')
25 os
.system("cd %s && ./init --init-optionfiles-only" % outdir
)
26 for name
in 'clean init update'.split():
27 os
.remove(outdir
+ '/' + name
)
28 numeric_rev
= run_command('git rev-parse ' + revision
)
29 f
= open(outdir
+ '/wrapper_export_version', 'w')
32 write('mplayer', mplayer_rev
, outdir
)
33 f
= open(outdir
+ '/mplayer/snapshot_version', 'w')
36 write('libass', libass_rev
, outdir
)
37 os
.system("cd %s/libass && autoreconf -ivf" % outdir
)
38 write('libav', libav_rev
, outdir
)
42 usage
= "usage: [options] revision outdir"
43 parser
= OptionParser(usage
=usage
)
44 options
, args
= parser
.parse_args()
46 parser
.error("incorrect number of arguments")
47 export(args
[0], args
[1])