summaryrefslogtreecommitdiff
path: root/classes/sourcepkg.bbclass
blob: 390d3684d46b7b73c1560be99552035f8de735b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/source"
EXCLUDE_FROM ?= ".pc autom4te.cache"

# used as part of a path. make sure it's set
DISTRO ?= "openembedded"

def get_src_tree(d):
	import bb
	import os, os.path

	workdir = bb.data.getVar('WORKDIR', d, 1)
	if not workdir:
		bb.error("WORKDIR not defined, unable to find source tree.")
		return

	s = bb.data.getVar('S', d, 0)
	if not s:
		bb.error("S not defined, unable to find source tree.")
		return

	s_tree_raw = s.split('/')[1]
	s_tree = bb.data.expand(s_tree_raw, d)

	src_tree_path = os.path.join(workdir, s_tree)
	try:
		os.listdir(src_tree_path)
	except OSError:
		bb.fatal("Expected to find source tree in '%s' which doesn't exist." % src_tree_path)
	bb.debug("Assuming source tree is '%s'" % src_tree_path)

	return s_tree

sourcepkg_do_create_orig_tgz(){

	mkdir -p ${DEPLOY_DIR_SRC}
	cd ${WORKDIR}
	for i in ${EXCLUDE_FROM}; do
		echo $i >> temp/exclude-from-file
	done

	src_tree=${@get_src_tree(d)}
	
	echo $src_tree
	oenote "Creating .orig.tar.gz in ${DEPLOY_DIR_SRC}/${P}.orig.tar.gz"
	tar cvzf ${DEPLOY_DIR_SRC}/${P}.orig.tar.gz --exclude-from temp/exclude-from-file $src_tree
	cp -pPR $src_tree $src_tree.orig
}

sourcepkg_do_archive_bb() {

	src_tree=${@get_src_tree(d)}
	dest=${WORKDIR}/$src_tree/${DISTRO}
	mkdir -p $dest

	cp ${FILE} $dest
}

python sourcepkg_do_dumpdata() {
	import os
	import os.path

	workdir = bb.data.getVar('WORKDIR', d, 1)
	distro = bb.data.getVar('DISTRO', d, 1)
	s_tree = get_src_tree(d)
	openembeddeddir = os.path.join(workdir, s_tree, distro)
	dumpfile = os.path.join(openembeddeddir, bb.data.expand("${P}-${PR}.showdata.dump",d))
	
	try:
		os.mkdir(openembeddeddir)
	except OSError:
		# dir exists
		pass

	bb.note("Dumping metadata into '%s'" % dumpfile)
	f = open(dumpfile, "w")
	# emit variables and shell functions
        bb.data.emit_env(f, d, True)
	# emit the metadata which isnt valid shell
	for e in d.keys():
		if bb.data.getVarFlag(e, 'python', d):
			f.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
	f.close()
}

sourcepkg_do_create_diff_gz(){

	cd ${WORKDIR}
	for i in ${EXCLUDE_FROM}; do
		echo $i >> temp/exclude-from-file
	done


	src_tree=${@get_src_tree(d)}

	for i in `find . -maxdepth 1 -type f`; do
		mkdir -p $src_tree/${DISTRO}/files
		cp $i $src_tree/${DISTRO}/files
	done
	
	oenote "Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz"
	LC_ALL=C TZ=UTC0 diff --exclude-from=temp/exclude-from-file -Naur $src_tree.orig $src_tree | gzip -c > ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz
	rm -rf $src_tree.orig
}

EXPORT_FUNCTIONS do_create_orig_tgz do_archive_bb do_dumpdata do_create_diff_gz

addtask create_orig_tgz after do_unpack before do_patch
addtask archive_bb after do_patch before do_dumpdata
addtask dumpdata after archive_bb before do_create_diff_gz
addtask create_diff_gz after do_dump_data before do_configure

r--r--bitbake/doc/bitbake.1121
-rw-r--r--bitbake/doc/manual/Makefile56
-rw-r--r--bitbake/doc/manual/html.css281
-rw-r--r--bitbake/doc/manual/usermanual.xml534
-rw-r--r--bitbake/lib/bb/COW.py323
-rw-r--r--bitbake/lib/bb/__init__.py100
-rw-r--r--bitbake/lib/bb/build.py388
-rw-r--r--bitbake/lib/bb/cache.py534
-rw-r--r--bitbake/lib/bb/command.py280
-rw-r--r--bitbake/lib/bb/cooker.py1015
-rw-r--r--bitbake/lib/bb/daemonize.py190
-rw-r--r--bitbake/lib/bb/data.py240
-rw-r--r--bitbake/lib/bb/data_smart.py346
-rw-r--r--bitbake/lib/bb/event.py300
-rw-r--r--bitbake/lib/bb/fetch/__init__.py755
-rw-r--r--bitbake/lib/bb/fetch/bzr.py147
-rw-r--r--bitbake/lib/bb/fetch/cvs.py177
-rw-r--r--bitbake/lib/bb/fetch/git.py216
-rw-r--r--bitbake/lib/bb/fetch/hg.py172
-rw-r--r--bitbake/lib/bb/fetch/local.py73
-rw-r--r--bitbake/lib/bb/fetch/osc.py150
-rw-r--r--bitbake/lib/bb/fetch/perforce.py208
-rw-r--r--bitbake/lib/bb/fetch/repo.py105
-rw-r--r--bitbake/lib/bb/fetch/ssh.py118
-rw-r--r--bitbake/lib/bb/fetch/svk.py106
-rw-r--r--bitbake/lib/bb/fetch/svn.py201
-rw-r--r--bitbake/lib/bb/fetch/wget.py95
-rw-r--r--bitbake/lib/bb/methodpool.py84
-rw-r--r--bitbake/lib/bb/msg.py141
-rw-r--r--bitbake/lib/bb/parse/__init__.py114
-rw-r--r--bitbake/lib/bb/parse/ast.py435
-rw-r--r--bitbake/lib/bb/parse/parse_py/BBHandler.py241
-rw-r--r--bitbake/lib/bb/parse/parse_py/ConfHandler.py138
-rw-r--r--bitbake/lib/bb/parse/parse_py/__init__.py33
-rw-r--r--bitbake/lib/bb/persist_data.py124
-rw-r--r--bitbake/lib/bb/providers.py323
-rw-r--r--bitbake/lib/bb/runqueue.py1199
-rw-r--r--bitbake/lib/bb/server/none.py180
-rw-r--r--bitbake/lib/bb/server/xmlrpc.py186
-rw-r--r--bitbake/lib/bb/shell.py824
-rw-r--r--bitbake/lib/bb/taskdata.py587
-rw-r--r--bitbake/lib/bb/ui/__init__.py17
-rw-r--r--bitbake/lib/bb/ui/crumbs/__init__.py17
-rw-r--r--bitbake/lib/bb/ui/crumbs/buildmanager.py455
-rw-r--r--bitbake/lib/bb/ui/crumbs/puccho.glade606
-rw-r--r--bitbake/lib/bb/ui/crumbs/runningbuild.py178
-rw-r--r--bitbake/lib/bb/ui/depexp.py271
-rw-r--r--bitbake/lib/bb/ui/goggle.py76
-rw-r--r--bitbake/lib/bb/ui/knotty.py192
-rw-r--r--bitbake/lib/bb/ui/ncurses.py336
-rw-r--r--bitbake/lib/bb/ui/puccho.py425
-rw-r--r--bitbake/lib/bb/ui/uievent.py124
-rw-r--r--bitbake/lib/bb/ui/uihelper.py50
-rw-r--r--bitbake/lib/bb/utils.py738
-rw-r--r--build/conf/bblayers.conf.sample9
-rw-r--r--build/conf/local.conf.sample155
-rw-r--r--build/conf/site.conf.sample40
-rw-r--r--handbook/ChangeLog38
-rw-r--r--handbook/Makefile38
-rw-r--r--handbook/TODO11
-rw-r--r--handbook/bsp-guide.xml61
-rw-r--r--handbook/bsp.xml287
-rw-r--r--handbook/development.xml856
-rw-r--r--handbook/examples/hello-autotools/hello_2.3.bb7
-rw-r--r--handbook/examples/hello-single/files/helloworld.c8
-rw-r--r--handbook/examples/hello-single/hello.bb16
-rw-r--r--handbook/examples/libxpm/libxpm_3.5.6.bb13
-rw-r--r--handbook/examples/mtd-makefile/mtd-utils_1.0.0.bb13
-rw-r--r--handbook/extendpoky.xml949
-rw-r--r--handbook/faq.xml314
-rw-r--r--handbook/introduction.xml347
-rw-r--r--handbook/poky-beaver.pngbin26252 -> 0 bytes-rw-r--r--handbook/poky-doc-tools/ChangeLog30
-rw-r--r--handbook/poky-doc-tools/INSTALL236
-rw-r--r--handbook/poky-doc-tools/Makefile.am24
-rw-r--r--handbook/poky-doc-tools/README19
-rwxr-xr-xhandbook/poky-doc-tools/autogen.sh3
-rw-r--r--handbook/poky-doc-tools/common/Makefile.am21
-rw-r--r--handbook/poky-doc-tools/common/Vera.ttfbin65932 -> 0 bytes-rw-r--r--handbook/poky-doc-tools/common/Vera.xml1
-rw-r--r--handbook/poky-doc-tools/common/VeraMoBd.ttfbin49052 -> 0 bytes-rw-r--r--handbook/poky-doc-tools/common/VeraMoBd.xml1
-rw-r--r--handbook/poky-doc-tools/common/VeraMono.ttfbin49224 -> 0 bytes-rw-r--r--handbook/poky-doc-tools/common/VeraMono.xml1
-rw-r--r--handbook/poky-doc-tools/common/draft.pngbin24847 -> 0 bytes-rw-r--r--handbook/poky-doc-tools/common/fop-config.xml.in58
-rw-r--r--handbook/poky-doc-tools/common/ohand-color.svg150
-rw-r--r--handbook/poky-doc-tools/common/poky-db-pdf.xsl64
-rw-r--r--handbook/poky-doc-tools/common/poky-handbook.pngbin32145 -> 0 bytes-rw-r--r--handbook/poky-doc-tools/common/poky.svg163
-rw-r--r--handbook/poky-doc-tools/common/titlepage.templates.xml1240
-rw-r--r--handbook/poky-doc-tools/configure.ac27
-rw-r--r--handbook/poky-doc-tools/poky-docbook-to-pdf.in49
-rw-r--r--handbook/poky-handbook.pngbin17829 -> 0 bytes-rw-r--r--handbook/poky-handbook.xml102
-rw-r--r--handbook/poky-logo.svg117
-rw-r--r--handbook/ref-bitbake.xml341
-rw-r--r--handbook/ref-classes.xml461
-rw-r--r--handbook/ref-features.xml302
-rw-r--r--handbook/ref-images.xml69
-rw-r--r--handbook/ref-structure.xml356
-rw-r--r--handbook/ref-variables.xml886
-rw-r--r--handbook/ref-varlocality.xml211
-rw-r--r--handbook/resources.xml142
-rw-r--r--handbook/screenshots/ss-anjuta-poky-1.pngbin96531 -> 0 bytes-rw-r--r--handbook/screenshots/ss-anjuta-poky-2.pngbin76419 -> 0 bytes-rw-r--r--handbook/screenshots/ss-oprofile-viewer.pngbin51240 -> 0 bytes-rw-r--r--handbook/screenshots/ss-sato.pngbin38689 -> 0 bytes-rw-r--r--handbook/style.css953
-rw-r--r--handbook/usingpoky.xml390
-rw-r--r--meta-extras/conf/distro/include/poky-extras-src-revisions.inc6
-rw-r--r--meta-extras/conf/layer.conf11
-rw-r--r--meta-extras/conf/machine/android-goldfish.conf18
-rw-r--r--meta-extras/conf/machine/mx31litekit.conf14
-rw-r--r--meta-extras/conf/machine/nokia770.conf35
-rw-r--r--meta-extras/conf/machine/nokia800.conf30
-rw-r--r--meta-extras/conf/machine/om-gta01.conf48
-rw-r--r--meta-extras/conf/machine/om-gta02.conf49
-rw-r--r--meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb9
-rw-r--r--meta-extras/packages/acct/files/cross-compile.patch34
-rw-r--r--meta-extras/packages/eventlog/eventlog_0.2.5.bb7
-rw-r--r--meta-extras/packages/evince/evince_2.20.0.bb10
-rw-r--r--meta-extras/packages/evince/evince_svn.bb14
-rw-r--r--meta-extras/packages/evince/files/no-icon-theme.diff13
-rw-r--r--meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch68
-rw-r--r--meta-extras/packages/flumotion/flumotion/python-path.patch25
-rw-r--r--meta-extras/packages/flumotion/flumotion_0.4.1.bb41
-rw-r--r--