aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.ne>2005-09-19 22:39:39 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-09-19 22:39:39 +0000
commit006e1136f3b03ca01743f98f15a4e4e815764975 (patch)
tree8d00eda2a485643dedb39160de643be664255847 /classes
parentb2b536a88641bd9707177cdcd4a2ae381e7ddc6e (diff)
parentda316135d0e1a9d930e010de7dee14009aed93dd (diff)
downloadopenembedded-006e1136f3b03ca01743f98f15a4e4e815764975.tar.gz
propagate from branch 'org.openembedded.dev' (head 0f9c1705855ae1ba77ca449fa9fbf0db178a10f3)
to branch 'org.openembedded.dreambox' (head 31ac9b0d46b66a3fd1261c2d90cd2193a2d46820)
Diffstat (limited to 'classes')
-rw-r--r--classes/autotools.bbclass13
-rw-r--r--classes/base.bbclass16
-rw-r--r--classes/binconfig.bbclass13
-rw-r--r--classes/debian.bbclass2
-rw-r--r--classes/efl.bbclass76
-rw-r--r--classes/gpe.bbclass3
-rw-r--r--classes/kernel.bbclass3
-rw-r--r--classes/module.bbclass12
-rw-r--r--classes/native.bbclass7
-rw-r--r--classes/nslu2-jffs2-image.bbclass (renamed from classes/nslu2_flashimg.bbclass)0
-rw-r--r--classes/nslu2-mirrors.bbclass4
-rw-r--r--classes/nslu2-ramdisk-image.bbclass18
-rw-r--r--classes/package.bbclass3
-rw-r--r--classes/package_ipk.bbclass1
-rw-r--r--classes/pkgconfig.bbclass2
-rw-r--r--classes/qt3e.bbclass11
-rw-r--r--classes/qt3x11.bbclass3
-rw-r--r--classes/qt4x11.bbclass1
-rw-r--r--classes/scons.bbclass13
-rw-r--r--classes/sourcepkg.bbclass111
-rw-r--r--classes/tinderclient.bbclass119
-rw-r--r--classes/xfce.bbclass15
22 files changed, 375 insertions, 71 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 1d6a607559..ec1d4af1a4 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -140,11 +140,14 @@ autotools_do_install() {
STAGE_TEMP="${WORKDIR}/temp-staging"
autotools_stage_includes() {
- rm -rf ${STAGE_TEMP}
- mkdir -p ${STAGE_TEMP}
- make DESTDIR="${STAGE_TEMP}" install
- cp -a ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}
- rm -rf ${STAGE_TEMP}
+ if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
+ then
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ make DESTDIR="${STAGE_TEMP}" install
+ cp -pPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}
+ rm -rf ${STAGE_TEMP}
+ fi
}
EXPORT_FUNCTIONS do_configure do_install
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 1da58a924e..18d51a02ed 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -187,7 +187,7 @@ oe_libinstall() {
__runcmd install -m 0644 $dota $destpath/
fi
dotlai=$libname.lai
- if [ -f "$dotlai" -o -n "$libtool" ]; then
+ if [ -f "$dotlai" -a -n "$libtool" ]; then
__runcmd install -m 0644 $dotlai $destpath/$libname.la
fi
@@ -371,7 +371,7 @@ def oe_unpack_file(file, data, url = None):
destdir = "."
elif not os.access("%s/%s" % (os.getcwd(), destdir), os.F_OK):
os.makedirs("%s/%s" % (os.getcwd(), destdir))
- cmd = 'cp -a %s %s/%s/' % (file, os.getcwd(), destdir)
+ cmd = 'cp -pPR %s %s/%s/' % (file, os.getcwd(), destdir)
else:
(type, host, path, user, pswd, parm) = bb.decodeurl(url)
if not 'patch' in parm:
@@ -496,8 +496,16 @@ python base_eventhandler() {
note(msg)
if name.startswith("BuildStarted"):
- statusvars = ['TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO',
- 'TARGET_FPU']
+ bb.data.setVar( 'BB_VERSION', bb.__version__, e.data )
+ path_to_bbfiles = bb.data.getVar( 'BBFILES', e.data, 1 )
+ path_to_packages = path_to_bbfiles[:path_to_bbfiles.index( "packages" )]
+ monotone_revision = "<unknown>"
+ try:
+ monotone_revision = file( "%s/MT/revision" % path_to_packages ).read().strip()
+ except IOError:
+ pass
+ bb.data.setVar( 'OE_REVISION', monotone_revision, e.data )
+ statusvars = ['BB_VERSION', 'OE_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'TARGET_FPU']
statuslines = ["%-13s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars]
statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines)
print statusmsg
diff --git a/classes/binconfig.bbclass b/classes/binconfig.bbclass
index c660fd9cae..a599dec3f2 100644
--- a/classes/binconfig.bbclass
+++ b/classes/binconfig.bbclass
@@ -19,11 +19,16 @@ def get_binconfig_mangle(d):
s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
return s
+# Native package configurations go in ${BINDIR}/<name>-config-native to prevent a collision with cross packages
+def is_native(d):
+ import bb.data
+ return ["","-native"][bb.data.inherits_class('native', d)]
+
do_stage_append() {
for config in `find ${S} -name '*-config'`; do
- configname=`basename $config`
- install -d ${STAGING_BINDIR}/${HOST_SYS}
- cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/${HOST_SYS}/$configname
- chmod u+x ${STAGING_BINDIR}/${HOST_SYS}/$configname
+ configname=`basename $config`${@is_native(d)}
+ install -d ${STAGING_BINDIR}
+ cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/$configname
+ chmod u+x ${STAGING_BINDIR}/$configname
done
}
diff --git a/classes/debian.bbclass b/classes/debian.bbclass
index 2480ffd664..d66c1fc763 100644
--- a/classes/debian.bbclass
+++ b/classes/debian.bbclass
@@ -79,7 +79,7 @@ python debian_package_name_hook () {
if pkg == orig_pkg:
newpkg = pkgname
else:
- newpkg = pkg.replace(orig_pkg, devname)
+ newpkg = pkg.replace(orig_pkg, devname, 1)
if newpkg != pkg:
bb.data.setVar('PKG_' + pkg, newpkg, d)
diff --git a/classes/efl.bbclass b/classes/efl.bbclass
new file mode 100644
index 0000000000..16c2dba0b8
--- /dev/null
+++ b/classes/efl.bbclass
@@ -0,0 +1,76 @@
+MAINTAINER = "Justin Patrin <papercrane@reversefold.com>"
+HOMEPAGE = "http://www.enlightenment.org"
+SECTION = "e/libs"
+
+SRCNAME = "${@bb.data.getVar('PN', d, 1).replace('-native', '')}"
+SRC_URI = "http://enlightenment.freedesktop.org/files/${SRCNAME}-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit autotools pkgconfig binconfig
+
+do_prepsources () {
+ make clean distclean || true
+}
+addtask prepsources after do_fetch before do_unpack
+
+INHIBIT_AUTO_STAGE_INCLUDES = "1"
+INHIBIT_NATIVE_STAGE_INSTALL = "1"
+
+libdirectory = "src/lib"
+libraries = "lib${SRCNAME}"
+headers = "${@bb.data.getVar('SRCNAME',d,1).capitalize()}.h"
+
+def binconfig_suffix(d):
+ import bb
+ return ["","-native"][bb.data.inherits_class('native', d)]
+
+export CURL_CONFIG = "${STAGING_BINDIR}/curl-config${@binconfig_suffix(d)}"
+export EDB_CONFIG = "${STAGING_BINDIR}/edb-config${@binconfig_suffix(d)}"
+export EET_CONFIG = "${STAGING_BINDIR}/eet-config${@binconfig_suffix(d)}"
+export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config${@binconfig_suffix(d)}"
+export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config${@binconfig_suffix(d)}"
+export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config${@binconfig_suffix(d)}"
+export ENGRAVE_CONFIG = "${STAGING_BINDIR}/engrave-config${@binconfig_suffix(d)}"
+export ENLIGHTENMENT_CONFIG = "${STAGING_BINDIR}/enlightenment-config${@binconfig_suffix(d)}"
+export EPSILON_CONFIG = "${STAGING_BINDIR}/epsilon-config${@binconfig_suffix(d)}"
+export EPEG_CONFIG = "${STAGING_BINDIR}/epeg-config${@binconfig_suffix(d)}"
+export ESMART_CONFIG = "${STAGING_BINDIR}/esmart-config${@binconfig_suffix(d)}"
+export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config${@binconfig_suffix(d)}"
+export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config${@binconfig_suffix(d)}"
+
+do_stage_append () {
+ for i in ${libraries}
+ do
+ oe_libinstall -C ${libdirectory} $i ${STAGING_LIBDIR}
+ done
+ for i in ${headers}
+ do
+ install -m 0644 ${libdirectory}/$i ${STAGING_INCDIR}
+ done
+
+ # Install binaries automatically for native builds
+ if [ "${@binconfig_suffix(d)}" = "-native" ]
+ then
+
+ # Most EFL binaries start with the package name
+ for i in src/bin/${SRCNAME}*
+ do
+ if [ -x $i -a -f $i ]
+ then
+
+ # Don't install anything with an extension (.so, etc)
+ if echo $i | grep -v \\.
+ then
+ ${HOST_SYS}-libtool --mode=install install -m 0755 $i ${STAGING_BINDIR}
+ fi
+ fi
+ done
+ fi
+}
+
+PACKAGES = "${SRCNAME} ${SRCNAME}-themes ${SRCNAME}-dev ${SRCNAME}-examples"
+FILES_${SRCNAME} = "${libdir}/lib*.so*"
+FILES_${SRCNAME}-themes = "${datadir}/${SRCNAME}/themes ${datadir}/${SRCNAME}/data ${datadir}/${SRCNAME}/fonts ${datadir}/${SRCNAME}/pointers ${datadir}/${SRCNAME}/images ${datadir}/${SRCNAME}/users ${datadir}/${SRCNAME}/images ${datadir}/${SRCNAME}/styles"
+FILES_${SRCNAME}-dev += "${bindir}/${SRCNAME}-config ${libdir}/pkgconfig ${libdir}/lib*.?a ${datadir}/${SRCNAME}/include"
+FILES_${SRCNAME}-examples = "${bindir} ${datadir}"
+
diff --git a/classes/gpe.bbclass b/classes/gpe.bbclass
index 3b0cd0a001..8cd9e4fc5d 100644
--- a/classes/gpe.bbclass
+++ b/classes/gpe.bbclass
@@ -1,5 +1,6 @@
DEPENDS_prepend = "coreutils-native virtual/libintl intltool-native "
-SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.gz"
+GPE_TARBALL_SUFFIX ?= "gz"
+SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}"
FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry"
inherit gettext
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 8b2186dec6..ff9aeeab78 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -193,6 +193,7 @@ module_autoload_rfcomm = "rfcomm"
module_autoload_sa1100-rtc = "sa1100-rtc"
# alias defaults (alphabetically sorted)
+module_conf_af_packet = "alias net-pf-17 af_packet"
module_conf_bluez = "alias net-pf-31 bluez"
module_conf_bnep = "alias bt-proto-4 bnep"
module_conf_hci_uart = "alias tty-ldisc-15 hci_uart"
@@ -229,7 +230,7 @@ python populate_packages_prepend () {
kernelver = bb.data.getVar('PV', d, 1) + bb.data.getVar('KERNEL_LOCALVERSION', d, 1)
kernelver_stripped = kernelver
- m = re.match('^(.*-hh.*)\..*$', kernelver)
+ m = re.match('^(.*-hh.*)[\.\+].*$', kernelver)
if m:
kernelver_stripped = m.group(1)
path = bb.data.getVar("PATH", d, 1)
diff --git a/classes/module.bbclass b/classes/module.bbclass
index 4da3f5f30b..8a13f1f858 100644
--- a/classes/module.bbclass
+++ b/classes/module.bbclass
@@ -34,6 +34,18 @@ module_do_install() {
oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" modules_install
}
+pkg_postinst_append () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -A
+ update-modules || true
+}
+
+pkg_postrm_append () {
+ update-modules || true
+}
+
EXPORT_FUNCTIONS do_compile do_install
FILES_${PN} = "/etc /lib/modules"
diff --git a/classes/native.bbclass b/classes/native.bbclass
index 3391694838..955a8ae646 100644
--- a/classes/native.bbclass
+++ b/classes/native.bbclass
@@ -50,14 +50,17 @@ libdir = "${exec_prefix}/lib"
includedir = "${exec_prefix}/include"
oldincludedir = "${exec_prefix}/include"
-# Datadir is made arch depenedent here, primarily
+# Datadir is made arch dependent here, primarily
# for autoconf macros, and other things that
# may be manipulated to handle crosscompilation
# issues.
datadir = "${exec_prefix}/share"
do_stage () {
- oe_runmake install
+ if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
+ then
+ oe_runmake install
+ fi
}
do_install () {
diff --git a/classes/nslu2_flashimg.bbclass b/classes/nslu2-jffs2-image.bbclass
index 56ad0f0659..56ad0f0659 100644
--- a/classes/nslu2_flashimg.bbclass
+++ b/classes/nslu2-jffs2-image.bbclass
diff --git a/classes/nslu2-mirrors.bbclass b/classes/nslu2-mirrors.bbclass
new file mode 100644
index 0000000000..1181edc716
--- /dev/null
+++ b/classes/nslu2-mirrors.bbclass
@@ -0,0 +1,4 @@
+MIRRORS_append () {
+ftp://.*/.*/ http://sources.nslu2-linux.org/sources/
+http://.*/.*/ http://sources.nslu2-linux.org/sources/
+}
diff --git a/classes/nslu2-ramdisk-image.bbclass b/classes/nslu2-ramdisk-image.bbclass
new file mode 100644
index 0000000000..0b545854fd
--- /dev/null
+++ b/classes/nslu2-ramdisk-image.bbclass
@@ -0,0 +1,18 @@
+NSLU2_SLUGIMAGE_ARGS ?= ""
+
+nslu2_pack_image () {
+ install -d ${DEPLOY_DIR_IMAGE}/slug
+ install -m 0644 ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \
+ ${STAGING_LIBDIR}/nslu2-binaries/Trailer \
+ ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
+ ${DEPLOY_DIR_IMAGE}/slug/
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-${IMAGE_BASENAME} ${DEPLOY_DIR_IMAGE}/slug/vmlinuz
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/slug/ramdisk.ext2.gz
+ cd ${DEPLOY_DIR_IMAGE}/slug
+ slugimage -p -b RedBoot -s SysConf -r Ramdisk:ramdisk.ext2.gz -t Trailer \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ramdisk.img ${NSLU2_SLUGIMAGE_ARGS}
+ rm -rf ${DEPLOY_DIR_IMAGE}/slug
+}
+
+EXTRA_IMAGEDEPENDS += 'slugimage-native nslu2-linksys-firmware'
+IMAGE_POSTPROCESS_COMMAND += "nslu2_pack_image; "
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 9928849add..b6337a3982 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -481,7 +481,8 @@ python package_do_pkgconfig () {
pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
for pkg in packages.split():
- pkgs_file = os.path.join(shlibs_dir, pkg + ".pclist")
+ ppkg = bb.data.getVar("PKG_" + pkg, d, 1) or pkg
+ pkgs_file = os.path.join(shlibs_dir, ppkg + ".pclist")
if os.path.exists(pkgs_file):
os.remove(pkgs_file)
if pkgconfig_provided[pkg] != []:
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass
index 3c6125d9e3..6d3e1eb686 100644
--- a/classes/package_ipk.bbclass
+++ b/classes/package_ipk.bbclass
@@ -145,6 +145,7 @@ python do_package_ipk () {
fields.append(["Maintainer: %s\n", ['MAINTAINER']])
fields.append(["Architecture: %s\n", ['PACKAGE_ARCH']])
fields.append(["OE: %s\n", ['P']])
+ fields.append(["Homepage: %s\n", ['HOMEPAGE']])
def pullData(l, d):
l2 = []
diff --git a/classes/pkgconfig.bbclass b/classes/pkgconfig.bbclass
index e89e827fc8..62f15f312d 100644
--- a/classes/pkgconfig.bbclass
+++ b/classes/pkgconfig.bbclass
@@ -20,7 +20,7 @@ def get_pkgconfig_mangle(d):
return s
do_stage_append () {
- for pc in `find ${S} -name '*.pc'`; do
+ for pc in `find ${S} -name '*.pc' | grep -v -- '-uninstalled.pc$'`; do
pcname=`basename $pc`
install -d ${PKG_CONFIG_PATH}
cat $pc | sed ${@get_pkgconfig_mangle(d)} > ${PKG_CONFIG_PATH}/$pcname
diff --git a/classes/qt3e.bbclass b/classes/qt3e.bbclass
new file mode 100644
index 0000000000..c34d7c04f5
--- /dev/null
+++ b/classes/qt3e.bbclass
@@ -0,0 +1,11 @@
+#
+# override variables set by qmake-base to compile Qt/X11 apps
+#
+export QTDIR="${STAGING_DIR}/${HOST_SYS}/qte3"
+export QTEDIR="${STAGING_DIR}/${HOST_SYS}/qte3"
+export OE_QMAKE_UIC="${STAGING_BINDIR}/uic3"
+export OE_QMAKE_MOC="${STAGING_BINDIR}/moc3"
+export OE_QMAKE_CXXFLAGS="${CXXFLAGS} "
+export OE_QMAKE_INCDIR_QT="${QTEDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTEDIR}/lib"
+export OE_QMAKE_LIBS_QT="qte"
diff --git a/classes/qt3x11.bbclass b/classes/qt3x11.bbclass
index 2a2f3d5bbd..1023a1f800 100644
--- a/classes/qt3x11.bbclass
+++ b/classes/qt3x11.bbclass
@@ -1,10 +1,11 @@
+DEPENDS += "qt3-x11"
#
# override variables set by qmake-base to compile Qt/X11 apps
#
export QTDIR="${STAGING_DIR}/${HOST_SYS}/qt3"
export OE_QMAKE_UIC="${STAGING_BINDIR}/uic3"
export OE_QMAKE_MOC="${STAGING_BINDIR}/moc3"
-export OE_QMAKE_CXXFLAGS="${CXXFLAGS}"
+export OE_QMAKE_CXXFLAGS="${CXXFLAGS} -DQT_NO_XIM"
export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
export OE_QMAKE_LIBS_QT="qt"
diff --git a/classes/qt4x11.bbclass b/classes/qt4x11.bbclass
index d4ca0073df..92885aa7ee 100644
--- a/classes/qt4x11.bbclass
+++ b/classes/qt4x11.bbclass
@@ -1,3 +1,4 @@
+DEPENDS += "qt4-x11"
#
# override variables set by qmake-base to compile Qt/X11 apps
#
diff --git a/classes/scons.bbclass b/classes/scons.bbclass
new file mode 100644
index 0000000000..3160eca69a
--- /dev/null
+++ b/classes/scons.bbclass
@@ -0,0 +1,13 @@
+DEPENDS += "python-scons-native"
+
+scons_do_compile() {
+ ${STAGING_BINDIR}/scons || \
+ oefatal "scons build execution failed."
+}
+
+scons_do_install() {
+ ${STAGING_BINDIR}/scons install || \
+ oefatal "scons install execution failed."
+}
+
+EXPORT_FUNCTIONS do_compile do_install
diff --git a/classes/sourcepkg.bbclass b/classes/sourcepkg.bbclass
new file mode 100644
index 0000000000..3eeff91333
--- /dev/null
+++ b/classes/sourcepkg.bbclass
@@ -0,0 +1,111 @@
+DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/source"
+EXCLUDE_FROM ?= ".pc"
+
+# 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 $src_tree --exclude-from temp/exclude-from-file
+ 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
+
diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass
index 1553d16319..290166bb03 100644
--- a/classes/tinderclient.bbclass
+++ b/classes/tinderclient.bbclass
@@ -1,31 +1,77 @@
-def base_tinder_time():
- import time
- return time.strftime('%m/%d/%Y %H:%M:%S', time.localtime())
+def tinder_tz_offset(off):
+ # get the offset.n minutes Either it is a number like
+ # +200 or -300
+ try:
+ return int(off)
+ except ValueError:
+ if off == "Europe/Berlin":
+ return 120
+ else:
+ return 0
+
+def tinder_tinder_time(offset):
+ import datetime
+ td = datetime.timedelta(minutes=tinder_tz_offset(offset))
+ time = datetime.datetime.utcnow() + td
+ return time.strftime('%m/%d/%Y %H:%M:%S')
+
+def tinder_tinder_start(date,offset):
+ import datetime, time
+ td = datetime.timedelta(minutes=tinder_tz_offset(offset))
+ ti = time.strptime(date, "%m/%d/%Y %H:%M:%S")
+ time = datetime.datetime(*ti[0:7])+td
+ return time.strftime('%m/%d/%Y %H:%M:%S')
+
+def tinder_send_email(da, header, log):
+ import smtplib
+ from bb import data
+ from email.MIMEText import MIMEText
+ msg = MIMEText(header +'\n' + log)
+ msg['Subject'] = data.getVar('TINDER_SUBJECT',da, True) or "Tinder-Client build log"
+ msg['To'] = data.getVar('TINDER_MAILTO' ,da, True)
+ msg['From'] = data.getVar('TINDER_FROM', da, True)
+
+
+ s = smtplib.SMTP()
+ s.connect()
+ s.sendmail(data.getVar('TINDER_FROM', da, True), [data.getVar('TINDER_MAILTO', da, True)], msg.as_string())
+ s.close()
+
+def tinder_send_http(da, header, log):
+ from bb import data
+ import httplib, urllib
+ cont = "\n%s\n%s" % ( header, log)
+ headers = {"Content-type": "multipart/form-data" }
+
+ conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True))
+ conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers)
+ conn.close()
+
# Prepare tinderbox mail header
-def base_prepare_mail_header(data, status):
- import bb
+def tinder_prepare_mail_header(da, status):
+ from bb import data
- str = "tinderbox: administrator: %s\n" % bb.data.getVar('TINDER_ADMIN', data, True)
- str += "tinderbox: starttime: %s\n" % bb.data.getVar('TINDER_START', bb.make.cfg, True)
- str += "tinderbox: buildname: %s\n" % bb.data.getVar('TINDER_BUILD', data, True)
- str += "tinderbox: errorparser: %s\n" % bb.data.getVar('TINDER_ERROR', data, True)
+ str = "tinderbox: administrator: %s\n" % data.getVar('TINDER_ADMIN', da, True)
+ str += "tinderbox: starttime: %s\n" % tinder_tinder_start(data.getVar('TINDER_START', da, True) or data.getVar('BUILDSTART', da, True), data.getVar('TINDER_TZ', da, True))
+ str += "tinderbox: buildname: %s\n" % data.getVar('TINDER_BUILD', da, True)
+ str += "tinderbox: errorparser: %s\n" % data.getVar('TINDER_ERROR', da, True)
str += "tinderbox: status: %s\n" % status
- str += "tinderbox: timenow: %s\n" % base_tinder_time()
- str += "tinderbox: tree: %s\n" % bb.data.getVar('TINDER_TREE', data, True)
+ str += "tinderbox: timenow: %s\n" % tinder_tinder_time(data.getVar('TINDER_TZ', da, True))
+ str += "tinderbox: tree: %s\n" % data.getVar('TINDER_TREE', da, True)
str += "tinderbox: buildfamily: %s\n" % "unix"
str += "tinderbox: END"
return str
-def base_do_tinder_report(event):
+def tinder_do_tinder_report(event):
"""
Report to the tinderbox. Either we will report every step
(depending on TINDER_VERBOSE_REPORT) at the end we will send the
tinderclient.log
"""
from bb.event import getName
- from bb import data, make, mkdirhier
+ from bb import data, mkdirhier
import os, glob
# variables
@@ -36,8 +82,7 @@ def base_do_tinder_report(event):
# Check what we need to do Build* shows we start or are done
if name == "BuildStarted":
- data.setVar('TINDER_START', base_tinder_time(), event.data)
- header = base_prepare_mail_header(event.data, 'building')
+ header = tinder_prepare_mail_header(event.data, 'building')
# generate
for var in os.environ:
log += "%s=%s\n" % (var, os.environ[var])
@@ -51,25 +96,25 @@ def base_do_tinder_report(event):
if name == "PkgFailed" or name == "BuildCompleted":
status = 'build_failed'
- if name == "BuildCompleted":
- status = "success"
- header = base_prepare_mail_header(event.data, status)
- # append the log
- log_file = data.getVar('TINDER_LOG', event.data, True)
- file = open(log_file, 'r')
- for line in file.readlines():
- log += line
+ if name == "BuildCompleted":
+ status = "success"
+ header = tinder_prepare_mail_header(event.data, status)
+ # append the log
+ log_file = data.getVar('TINDER_LOG', event.data, True)
+ file = open(log_file, 'r')
+ for line in file.readlines():
+ log += line
if verbose and name == "TaskStarted":
- header = base_prepare_mail_header(event.data, 'building')
+ header = tinder_prepare_mail_header(event.data, 'building')
log = "Task %s started" % event.task
if verbose and name == "PkgStarted":
- header = base_prepare_mail_header(event.data, 'building')
+ header = tinder_prepare_mail_header(event.data, 'building')
log = "Package %s started" % data.getVar('P', event.data, True)
if verbose and name == "PkgSucceeded":
- header = base_prepare_mail_header(event.data, 'building')
+ header = tinder_prepare_mail_header(event.data, 'building')
log = "Package %s done" % data.getVar('P', event.data, True)
# Append the Task Log
@@ -85,7 +130,7 @@ def base_do_tinder_report(event):
# append to the log
if verbose:
- header = base_prepare_mail_header(event.data, 'building')
+ header = tinder_prepare_mail_header(event.data, 'building')
for line in log_txt:
log += line
@@ -93,25 +138,21 @@ def base_do_tinder_report(event):
if len(log) == 0 or len(header) == 0:
return
- import smtplib
- from email.MIMEText import MIMEText
- msg = MIMEText(header +'\n' + log)
- msg['Subject'] = "Tinder-Client build log"
- msg['To'] = data.getVar('TINDER_MAILTO',event.data, True)
- msg['From'] = data.getVar('TINDER_FROM', event.data, True)
+ log_post_method = tinder_send_email
+ if data.getVar('TINDER_SENDLOG', event.data, True) == "http":
+ log_post_method = tinder_send_http
+ log_post_method(event.data, header, log)
- s = smtplib.SMTP()
- s.connect()
- s.sendmail(data.getVar('TINDER_FROM', event.data, True), [data.getVar('TINDER_MAILTO', event.data, True)], msg.as_string())
- s.close()
addhandler tinderclient_eventhandler
-python base_eventhandler() {
+python tinderclient_eventhandler() {
+ from bb import note, error, data
+ from bb.event import NotHandled
do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
if do_tinder_report and do_tinder_report == "1":
- base_do_tinder_report(e)
+ tinder_do_tinder_report(e)
return NotHandled
}
diff --git a/classes/xfce.bbclass b/classes/xfce.bbclass
index 10098da8ea..793348597f 100644
--- a/classes/xfce.bbclass
+++ b/classes/xfce.bbclass
@@ -4,13 +4,10 @@
# Global class to make it easier to maintain XFCE packages
-HOMEPAGE="http://www.xfce.org"
-LICENSE="LGPL-2"
+HOMEPAGE = "http://www.xfce.org"
+LICENSE = "LGPL-2"
-SRC_URI="http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.gz"
-
-# Most, but not *all* packages use pkgconfig, so we can't include it here
-# too
+SRC_URI = "http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.gz"
inherit autotools
@@ -18,9 +15,5 @@ EXTRA_OECONF += "--with-pluginsdir=${libdir}/xfce4/panel-plugins/"
# FIXME: Put icons in their own package too?
-PACKAGES += "${PN}-mcs-plugins ${PN}-plugins"
-
FILES_${PN} += "${datadir}/icons/* ${datadir}/applications/* ${libdir}/xfce4/modules/*.so*"
-FILES_${PN}-plugins += "${libdir}/xfce4/panel-plugins/*.so*"
-FILES_${PN}-doc += " ${datadir}/xfce4/doc"
-FILES_${PN}-mcs-plugins="${libdir}/xfce4/mcs-plugins/*.so"
+FILES_${PN}-doc += "${datadir}/xfce4/doc"