summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/lockdown.bbclass41
-rw-r--r--classes/seppuku.bbclass6
-rw-r--r--classes/tinderclient.bbclass24
3 files changed, 64 insertions, 7 deletions
diff --git a/classes/lockdown.bbclass b/classes/lockdown.bbclass
new file mode 100644
index 0000000000..45b9761b9c
--- /dev/null
+++ b/classes/lockdown.bbclass
@@ -0,0 +1,41 @@
+addtask show_versions before do_build
+do_show_versions[nostamp] = "1"
+python do_show_versions() {
+ import sys
+
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
+
+ src_uri = bb.data.getVar('SRC_URI', localdata, 1)
+ if not src_uri:
+ return 1
+
+ try:
+ bb.fetch.init(src_uri.split(),d)
+ except bb.fetch.NoMethodError:
+ (type, value, traceback) = sys.exc_info()
+ raise bb.build.FuncFailed("No method: %s" % value)
+
+
+ src_uri = bb.data.getVar("SRC_URI", d, False)
+ pn = bb.data.getVar("PN", d, True)
+ src_revs = open("%s/src_revs.inc" % bb.data.getVar("TMPDIR", d, 1), "a")
+ src_dates = open("%s/src_dates.inc" % bb.data.getVar("TMPDIR", d, 1), "a")
+ pref_versions = open("%s/preferred_versions.inc" % bb.data.getVar("TMPDIR", d, 1), "a")
+ if "SRCREV" in bb.data.getVar("PV", d, False):
+ print >> src_revs, 'SRCREV_pn-%(pn)s ?= "%(rev)s"' % { 'pn' : pn, 'rev' : bb.data.getVar("SRCREV", d, True) }
+ elif "cvs://" in src_uri or "svn://" in src_uri or "git://" in src_uri:
+ print >> src_dates, 'SRCDATE_pn-%(pn)s ?= "%(date)s"' % { 'pn' : pn, 'date' : bb.data.getVar("SRCDATE", d, True) }
+
+ print >> pref_versions, 'PREFERRED_VERSION_%(pn)s = "%(version)s"' % { "pn" : pn, 'version' : bb.data.getVar("PV", d, True) }
+ src_revs.close()
+ src_dates.close()
+ pref_versions.close()
+}
+
+addtask lockdown
+do_lockdown[nostamp] = "1"
+do_lockdown[recrdeptask] = "do_show_versions"
+python do_lockdown() {
+}
+
diff --git a/classes/seppuku.bbclass b/classes/seppuku.bbclass
index ab8096eb45..546738dde8 100644
--- a/classes/seppuku.bbclass
+++ b/classes/seppuku.bbclass
@@ -319,6 +319,12 @@ python seppuku_eventhandler() {
passw = bb.data.getVar("SEPPUKU_PASS", data, True)
product = bb.data.getVar("SEPPUKU_PRODUCT", data, True)
component = bb.data.getVar("SEPPUKU_COMPONENT", data, True)
+ proxy = bb.data.getVar('HTTP_PROXY', data, True )
+ if (proxy):
+ phl = urllib2.ProxyHandler({'http' : proxy})
+ poster.add_handler(phl)
+ opener.add_handler(phl)
+
# evil hack to figure out what is going on
debug_file = open(os.path.join(bb.data.getVar("TMPDIR", data, True),"..","seppuku-log"),"a")
diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass
index 0b7fc1d843..d2b2b33898 100644
--- a/classes/tinderclient.bbclass
+++ b/classes/tinderclient.bbclass
@@ -1,10 +1,20 @@
-def tinder_http_post(server, selector, content_type, body):
+def tinder_http_post(d, server, selector, content_type, body):
import httplib
+ from bb import data
# now post it
for i in range(0,5):
try:
- h = httplib.HTTP(server)
- h.putrequest('POST', selector)
+ proxy = data.getVar('HTTP_PROXY', d, True )
+ if (proxy):
+ if (proxy.endswith('/')):
+ proxy = proxy[:-1]
+ if (proxy.startswith('http://')):
+ proxy = proxy[7:]
+ h = httplib.HTTP(proxy)
+ h.putrequest('POST', 'http://%s%s' % (server, selector))
+ else:
+ h = httplib.HTTP(server)
+ h.putrequest('POST', selector)
h.putheader('content-type', content_type)
h.putheader('content-length', str(len(body)))
h.endheaders()
@@ -12,8 +22,8 @@ def tinder_http_post(server, selector, content_type, body):
errcode, errmsg, headers = h.getreply()
#print errcode, errmsg, headers
return (errcode,errmsg, headers, h.file)
- except:
- print "Error sending the report!"
+ except Exception, e:
+ print "Error sending the report! ", e
# try again
pass
@@ -116,7 +126,7 @@ def tinder_build_start(d):
#print "selector %s and url %s" % (selector, url)
# now post it
- errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body)
+ errcode, errmsg, headers, h_file = tinder_http_post(d,server,selector,content_type, body)
#print errcode, errmsg, headers
report = h_file.read()
@@ -151,7 +161,7 @@ def tinder_send_http(d, status, _log):
new_log = _log
while len(new_log) > 0:
content_type, body = tinder_format_http_post(d,status,new_log[0:18000])
- errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body)
+ errcode, errmsg, headers, h_file = tinder_http_post(d,server,selector,content_type, body)
#print errcode, errmsg, headers
#print h.file.read()
new_log = new_log[18000:]