Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100755 70 lines (59 sloc) 3.007 kB
32afada @danielrobbins cleaning up old and duplicate gecko-mediaplayer
danielrobbins authored
1 #!/usr/bin/python2
2
1b958f1 @danielrobbins work on support for limited portage tree
danielrobbins authored
3 from merge_utils import *
c56570e @danielrobbins vzctl-3.0.25-r1 for testing, with a fix for vznet.conf
danielrobbins authored
4
5e5fd91 @danielrobbins use new git repo URLs for initial clones
danielrobbins authored
5 gentoo_src = Tree("gentoo","gentoo.org", "repos@git.funtoo.org:portage.git", pull=True, trylocal="/var/git/portage-gentoo")
6 funtoo_overlay = Tree("funtoo-overlay", branch, "repos@git.funtoo.org:funtoo-overlay.git", pull=True)
ec2e871 @danielrobbins merge.py updates
danielrobbins authored
7 foo_overlay = Tree("foo-overlay", "master", "https://github.com/slashbeast/foo-overlay.git", pull=True)
8 bar_overlay = Tree("bar-overlay", "master", "git://github.com/adessemond/bar-overlay.git", pull=True)
5e5fd91 @danielrobbins use new git repo URLs for initial clones
danielrobbins authored
9 flora_overlay = Tree("flora", "master", "repos@git.funtoo.org:flora.git", pull=True)
475a0cc @danielrobbins updated/improved merge.py that completed successfully - results need …
danielrobbins authored
10
32afada @danielrobbins cleaning up old and duplicate gecko-mediaplayer
danielrobbins authored
11 steps = [
a6b6766 @danielrobbins exclude gentoo's metro ebuild from our tree. Git is preferred.
danielrobbins authored
12 SyncTree(gentoo_src,exclude=["/metadata/cache/**","ChangeLog", "dev-util/metro"]),
91c25da @danielrobbins latest work on merge.py script
danielrobbins authored
13 ApplyPatchSeries("%s/funtoo/patches" % funtoo_overlay.root ),
9c8b2ec @danielrobbins some new merge.py code to deal with thirdpartymirrors modification - …
danielrobbins authored
14 ThirdPartyMirrors(),
c56570e @danielrobbins vzctl-3.0.25-r1 for testing, with a fix for vznet.conf
danielrobbins authored
15 SyncDir(funtoo_overlay.root,"profiles","profiles", exclude=["repo_name","categories"]),
475a0cc @danielrobbins updated/improved merge.py that completed successfully - results need …
danielrobbins authored
16 ProfileDepFix(),
91c25da @danielrobbins latest work on merge.py script
danielrobbins authored
17 SyncDir(funtoo_overlay.root,"licenses"),
18 SyncDir(funtoo_overlay.root,"eclass"),
0a5ef95 @danielrobbins change to merge.py - sync metadata dir to grab layout.conf
danielrobbins authored
19 SyncDir(funtoo_overlay.root,"metadata"),
e3d1717 @danielrobbins adding select and skip functionality to merge.py
danielrobbins authored
20 InsertEbuilds(funtoo_overlay, select="all", skip=None, replace=True),
7b4f089 @danielrobbins use slashbeast's unison ebuild
danielrobbins authored
21 InsertEbuilds(foo_overlay, select="all", skip=None, replace=["app-shells/rssh","net-misc/unison"]),
bbc7e2f @adessemond Replace on for bar
adessemond authored
22 InsertEbuilds(bar_overlay, select="all", skip=None, replace=True),
3539fa6 @danielrobbins experimental progress merge patch from Arfrever
danielrobbins authored
23 InsertEbuilds(flora_overlay, select="all", skip=None, replace=False)
24 ]
556a660 @jeanfrancisroy Progress overlay inclusion in merge.py
jeanfrancisroy authored
25
26 # Progress overlay merge
27 if not os.path.exists("/usr/bin/svn"):
28 print("svn binary not found at /usr/bin/svn. Exiting.")
29 sys.exit(1)
30 progress_overlay = SvnTree("progress", "https://gentoo-progress.googlecode.com/svn/overlays/progress")
31 steps.extend((
32 SyncDir(progress_overlay.root, "eclass"),
33 SyncFiles(progress_overlay.root, {
34 "profiles/package.mask":"profiles/package.mask/progress",
35 "profiles/use.mask":"profiles/use.mask/progress"
36 }),
37 InsertEbuilds(progress_overlay, select="all", skip=None, replace=True, merge=["dev-lang/python", "dev-libs/boost", "dev-python/psycopg", "dev-python/pysqlite", "dev-python/python-docs", "dev-python/simpletal", "dev-python/wxpython", "x11-libs/vte"])
38 ))
39
3539fa6 @danielrobbins experimental progress merge patch from Arfrever
danielrobbins authored
40 steps.extend((
939793f @danielrobbins only update mini-2011 tree....
danielrobbins authored
41 Minify(),
475a0cc @danielrobbins updated/improved merge.py that completed successfully - results need …
danielrobbins authored
42 GenCache()
3539fa6 @danielrobbins experimental progress merge patch from Arfrever
danielrobbins authored
43 ))
32afada @danielrobbins cleaning up old and duplicate gecko-mediaplayer
danielrobbins authored
44
91c25da @danielrobbins latest work on merge.py script
danielrobbins authored
45 # work tree is a non-git tree in tmpfs for enhanced performance - we do all the heavy lifting there:
32afada @danielrobbins cleaning up old and duplicate gecko-mediaplayer
danielrobbins authored
46
87ed25c @danielrobbins merge.py: support multiple dest trees specified on command-line -- fo…
danielrobbins authored
47 work = UnifiedTree("/var/src/merge-%s" % os.path.basename(dest[0]),steps)
91c25da @danielrobbins latest work on merge.py script
danielrobbins authored
48 work.run()
49
50 steps = [
e97df9f @jeanfrancisroy Adding branch selection support to merge.py
jeanfrancisroy authored
51 GitPrep("funtoo.org"),
91c25da @danielrobbins latest work on merge.py script
danielrobbins authored
52 SyncTree(work)
53 ]
273fe48 @danielrobbins merge updates - multi-line commit message support
danielrobbins authored
54
91c25da @danielrobbins latest work on merge.py script
danielrobbins authored
55 # then for the production tree, we rsync all changes on top of our prod git tree and commit:
273fe48 @danielrobbins merge updates - multi-line commit message support
danielrobbins authored
56
87ed25c @danielrobbins merge.py: support multiple dest trees specified on command-line -- fo…
danielrobbins authored
57 for d in dest:
58 if not os.path.isdir(d):
59 os.makedirs(d)
60 if not os.path.isdir("%s/.git" % d):
61 runShell("( cd %s; git init )" % d )
62 runShell("echo 'created by merge.py' > %s/README" % d )
63 runShell("( cd %s; git add README; git commit -a -m 'initial commit by merge.py' )" % d )
64 runShell("( cd %s; git checkout -b funtoo.org; git rm -f README; git commit -a -m 'initial funtoo.org commit' )" % ( d ) )
65 print("Pushing disabled automatically because repository created from scratch.")
66 push = False
67 prod = UnifiedTree(d,steps)
68 prod.run()
69 prod.gitCommit(message="glorious funtoo updates",push=push)
Something went wrong with that request. Please try again.