Remove obsolete scripts/classes
(From OE-Core rev: 25efcd45c83a81d78f73b5da852e575b108b3fb5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
08127d444e
commit
8ceb769eab
|
@ -1,62 +0,0 @@
|
|||
#
|
||||
# Copyright Openedhand Ltd 2008
|
||||
# Author: Richard Purdie
|
||||
#
|
||||
|
||||
# Designed for use with the Poky autobuilder only and provides custom hooks for
|
||||
# certain specific events.
|
||||
|
||||
def do_autobuilder_failure_report(event):
|
||||
from bb.event import getName
|
||||
from bb import data, mkdirhier, build
|
||||
import os, glob
|
||||
|
||||
if data.getVar('PN', event.data, True) != "clutter":
|
||||
return
|
||||
|
||||
import smtplib
|
||||
import email.Message
|
||||
|
||||
version = data.expand("${PN}: ${PV}-${PR}", event.data)
|
||||
|
||||
recipients = ["richard@o-hand.com"]
|
||||
COMMASPACE = ', '
|
||||
|
||||
message = email.Message.Message()
|
||||
message["To"] = COMMASPACE.join(recipients)
|
||||
message["From"] = "Poky Autobuilder Failure <poky@o-hand.com>"
|
||||
message["Subject"] = "Poky Autobuild Failure Report - " + version
|
||||
|
||||
mesg = "Poky Build Failure for:\n\n"
|
||||
|
||||
for var in ["DISTRO", "MACHINE", "PN", "PV", "PR"]:
|
||||
mesg += var + ": " + data.getVar(var, event.data, True) + "\n"
|
||||
|
||||
mesg += "\nLog of the failure follows:\n\n"
|
||||
|
||||
log_file = glob.glob("%s/log.%s.*" % (data.getVar('T', event.data, True), event.task))
|
||||
if len(log_file) != 0:
|
||||
mesg += "".join(open(log_file[0], 'r').readlines())
|
||||
|
||||
message.set_payload(mesg)
|
||||
|
||||
mailServer = smtplib.SMTP("pug.o-hand.com")
|
||||
mailServer.sendmail(message["From"], recipients, message.as_string())
|
||||
mailServer.quit()
|
||||
|
||||
# we want to be an event handler
|
||||
addhandler poky_autobuilder_notifier_eventhandler
|
||||
python poky_autobuilder_notifier_eventhandler() {
|
||||
from bb import note, error, data
|
||||
from bb.event import getName
|
||||
|
||||
if e.data is None:
|
||||
return
|
||||
|
||||
name = getName(e)
|
||||
|
||||
if name == "TaskFailed":
|
||||
do_autobuilder_failure_report(e)
|
||||
|
||||
return
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2008 OpenedHand Ltd.
|
||||
# Contact: andrew@openedhand.com
|
||||
#
|
||||
# Erase the partition given in $3 (default: rootfs) and flash the contents
|
||||
# of image given in $1 into the image $2.
|
||||
|
||||
if [ ! -r "$1" ]; then
|
||||
echo "Usage: $0 <image> <destimage> [<partition>]"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
uboot_offset=0
|
||||
config_offset=64
|
||||
kernel_offset=256
|
||||
initfs_offset=1280
|
||||
rootfs_offset=2304 # chinook
|
||||
|
||||
# This value should be selected for Diablo based firmwares
|
||||
# It also require patching qemu to get proper size of flash partitions
|
||||
# (by default qemu has Chinook split).
|
||||
#rootfs_offset=3328 # diablo
|
||||
|
||||
if [ ! -e "$2" ]; then
|
||||
echo "foo"
|
||||
# Making an empty/erased flash image. Need a correct echo behavior.
|
||||
dd if=/dev/zero of=$2 bs=268435456 count=0 seek=1
|
||||
bash -c 'echo -en \\0377\\0377\\0377\\0377\\0377\\0377\\0377\\0377 > .8b'
|
||||
cat .8b .8b > .16b # OOB is 16 bytes
|
||||
cat .16b .16b .16b .16b .16b .16b .16b .16b > .8sec
|
||||
cat .8sec .8sec .8sec .8sec .8sec .8sec .8sec .8sec > .64sec
|
||||
cat .64sec .64sec .64sec .64sec .64sec .64sec .64sec .64sec > .512sec
|
||||
cat .512sec .512sec .512sec .512sec > .2ksec
|
||||
cat .2ksec .2ksec .2ksec .2ksec .2ksec .2ksec .2ksec .2ksec > .16k
|
||||
cat .16k .16k .16k .16k .16k .16k .16k .16k > .128k
|
||||
# N800 NAND is 512k sectors big
|
||||
cat .128k .128k .128k .128k >> $2
|
||||
rm -rf .8b .16b .8sec .64sec .512sec .2ksec .16k .128k
|
||||
fi
|
||||
|
||||
if [ "$3" != "" ]; then
|
||||
case "$3" in
|
||||
config)
|
||||
partition=/dev/mtd1
|
||||
page=$config_offset
|
||||
;;
|
||||
initfs)
|
||||
partition=/dev/mtd3
|
||||
page=$initfs_offset
|
||||
;;
|
||||
rootfs)
|
||||
partition=/dev/mtd4
|
||||
page=$rootfs_offset
|
||||
;;
|
||||
*)
|
||||
echo "Unknown partition $2"
|
||||
exit -1
|
||||
esac
|
||||
else
|
||||
partition=/dev/mtd4
|
||||
page=$rootfs_offset
|
||||
fi
|
||||
|
||||
dd if=$1 of=$2 conv=notrunc bs=2048 seek=$page
|
|
@ -1,136 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
##
|
||||
## This script will scan all of the packages in PSTAGE_DIR (or argv[1])
|
||||
## in search of packages which install files outside of their native sysroot
|
||||
##
|
||||
|
||||
import os, sys, tarfile, shutil
|
||||
import subprocess as sub
|
||||
|
||||
logf = ""
|
||||
pcount = 0
|
||||
ecount = 0
|
||||
|
||||
def main():
|
||||
"""Generate a list of pstage packages and scan them for badness"""
|
||||
package_list = []
|
||||
|
||||
try:
|
||||
path = sysv.arg[1]
|
||||
except:
|
||||
# Assume pstage is a child of tmp, Poky's default
|
||||
tmpdir = None
|
||||
sub.Popen(["bitbake", "-e"], stdout=sub.PIPE,stderr=sub.PIPE)
|
||||
err, out = p.communicate()
|
||||
if (!out):
|
||||
print("bitbake not in your environment, try pstage-scanner /some/path/to/pstage")
|
||||
exit
|
||||
for line in out:
|
||||
if line.find("PSTAGE_DIR=") != -1:
|
||||
tmpdir = line.partition("=")[2].strip("\"")
|
||||
break
|
||||
|
||||
if len(path) < 1 or not os.path.exists(path):
|
||||
print ("No path defined and bitbake not in your environment, try pstage-scanner /some/path/to/pstage")
|
||||
exit
|
||||
|
||||
global logf
|
||||
try:
|
||||
logf = sys.argv[2]
|
||||
except:
|
||||
logf = os.path.join(path, "pstage-scanner.log")
|
||||
|
||||
## Create a working directory
|
||||
tempdir = os.path.join(path, "tmp")
|
||||
os.mkdir(tempdir)
|
||||
|
||||
## Iterate each child of the target directory looking for .ipk files and
|
||||
## building a list of files to process
|
||||
for root, dirs, files in os.walk(path):
|
||||
for d in dirs:
|
||||
for f in os.listdir(os.path.join(root,d)):
|
||||
if os.path.splitext(f)[1] == ".ipk" and f.find("native") == -1 and f.find("cross") == -1:
|
||||
package_list.append(os.path.join(root,d,f))
|
||||
|
||||
## Next we iterate our built list of files and process each package
|
||||
for pkg in package_list:
|
||||
tmp = os.path.join(tempdir, os.path.splitext(os.path.split(pkg)[1])[0])
|
||||
os.mkdir(tmp)
|
||||
scan_package(pkg, tmp)
|
||||
|
||||
## Tidy up working directory
|
||||
shutil.rmtree(tempdir)
|
||||
|
||||
## Report a summary
|
||||
log("Finished scanning packaged staging. Scanned %i packages with %i errors" % (pcount, ecount))
|
||||
|
||||
def scan_package(filepath, parentdir):
|
||||
"""Helper method to do bookkeeping, passes all installable directories to
|
||||
scan_dir which does the actual scanning."""
|
||||
os.chdir(parentdir)
|
||||
|
||||
## increment the package count, for the summary
|
||||
global pcount
|
||||
pcount += 1
|
||||
|
||||
## An ipk file is an ar archive containing two gzipped tarball directories
|
||||
## data.tar.gz is inflated to / and contains the actual files
|
||||
## control.tar.gz is metadata and scripts for the package
|
||||
## The archive also contains a file, debian binary, which is unused
|
||||
## Python can't handle ar archives ootb. So we cheat and inflate with
|
||||
## the ar program on the host
|
||||
sub.call(["ar", "x", filepath])
|
||||
|
||||
## The things we care about are in data.tar.gz
|
||||
tgz = tarfile.open(os.path.join(parentdir, "data.tar.gz"))
|
||||
dest = os.path.join(parentdir, "inflate")
|
||||
os.mkdir(dest)
|
||||
tgz.extractall(dest)
|
||||
|
||||
## We want to know the target arch so that we can ensure the package is
|
||||
## only installing into its target sysroot
|
||||
arch = os.path.splitext(os.path.basename(filepath))[0].split("_")[-1]
|
||||
if arch == "64":
|
||||
arch = "x86_64"
|
||||
|
||||
## The ignored list contains directories we don't care to scan
|
||||
ignored = ["pkgdata", "stamps", "deploy"]
|
||||
|
||||
## Scan the package for badness
|
||||
pname = os.path.split(filepath)[1]
|
||||
for di in os.listdir(dest):
|
||||
if di not in ignored:
|
||||
scan_dir(os.path.join(dest, di), arch, pname)
|
||||
|
||||
def scan_dir (directory, arch, package_name):
|
||||
"""Scan the contents of directory for things installing outside of native
|
||||
sysroot"""
|
||||
|
||||
global ecount
|
||||
msg = ""
|
||||
|
||||
head, tail = os.path.split(directory)
|
||||
if not tail == "sysroots":
|
||||
msg += "Tsk tsk, installing to " + tail + "\n"
|
||||
for d in os.listdir(directory):
|
||||
msg += "Installing %s in %s" % (d, tail) + "\n"
|
||||
ecount += 1
|
||||
else:
|
||||
for d in os.listdir(directory):
|
||||
if not d.startswith(arch) and d.find("fixmepath") == -1:
|
||||
msg += "Tsk tsk, installing into non-native sysroot " + os.path.join(directory, d)
|
||||
ecount += 1
|
||||
|
||||
if len(msg) > 0:
|
||||
log("Scanning package " + package_name + "\n" + msg)
|
||||
|
||||
def log (message):
|
||||
global logf
|
||||
logfile = open (logf, 'a+')
|
||||
logfile.write(message + "\n")
|
||||
print "LOG: " + message
|
||||
logfile.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue