Skip to contentSkip to conversation

scripts/contrib/verify-homepage.py: add a script to verify HOMEPAGE

PATCH In review Chong Lu 1 participant 3 messages Jun 25, 2014 – Jul 1, 2014

lore
Share & tools
lore

Chong Lu

author
#0 lore raw

cover scripts/contrib/verify-homepage.py: add a script to verify HOMEPAGE

The following changes since commit 3c7b5ec1cae6186a64e0be2c05b64b05add08c97:

syslinux: fix isohybird overflows on 32 bit system (2014-06-24 19:54:12 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib chonglu/verifyhomepage
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=chonglu/verifyhomepage

Chong Lu (1):
scripts/contrib/verify-homepage.py: add a script to verify HOMEPAGE

 scripts/contrib/verify-homepage.py | 63 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100755 scripts/contrib/verify-homepage.py
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/1 scripts/contrib/verify-homepage.py: add a script to verify HOMEPAGE

Add a script to verify all the recipes' HOMEPAGE.

[YOCTO #5689]

---
 scripts/contrib/verify-homepage.py | 63 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100755 scripts/contrib/verify-homepage.py
scripts/contrib/verify-homepage.py new file +63 -0
new file mode 100755
index 0000000..86cc82b
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+
+# This script is used for verify HOMEPAGE.
+# The result is influenced by network environment, since the timeout of connect url is 5 seconds as default.
+
+import sys
+import os
+import subprocess
+import urllib2
+
+def search_bitbakepath():
+    bitbakepath = ""
+
+    # Search path to bitbake lib dir in order to load bb modules
+    if os.path.exists(os.path.join(os.path.dirname(sys.argv[0]), '../../bitbake/lib/bb')):
+        bitbakepath = os.path.join(os.path.dirname(sys.argv[0]), '../../bitbake/lib')
+        bitbakepath = os.path.abspath(bitbakepath)
+    else:
+        # Look for bitbake/bin dir in PATH
+        for pth in os.environ['PATH'].split(':'):
+            if os.path.exists(os.path.join(pth, '../lib/bb')):
+                bitbakepath = os.path.abspath(os.path.join(pth, '../lib'))
+                break
+        if not bitbakepath:
+            sys.stderr.write("Unable to find bitbake by searching parent directory of this script or PATH\n")
+            sys.exit(1)
+    return bitbakepath
+
+# For importing the following modules
+sys.path.insert(0, search_bitbakepath())
+import bb.tinfoil
+
+def wgetHomepage(pn, homepage):
+    result = subprocess.call('wget ' + '-q -T 5 -t 1 --spider ' + homepage, shell = True)
+    if result:
+        bb.warn("Failed to verify HOMEPAGE (%s) of %s" % (homepage, pn))
+        return 1
+    else:
+        return 0
+
+def verifyHomepage(bbhandler):
+    pkg_pn = bbhandler.cooker.recipecache.pkg_pn
+    pnlist = sorted(pkg_pn)
+    count = 0
+    for pn in pnlist:
+        fn = pkg_pn[pn].pop()
+        data = bb.cache.Cache.loadDataFull(fn, bbhandler.cooker.collection.get_file_appends(fn), bbhandler.config_data)
+        homepage = data.getVar("HOMEPAGE")
+        if homepage:
+            try:
+                urllib2.urlopen(homepage, timeout=5)
+            except Exception:
+                count = count + wgetHomepage(pn, homepage)
+    return count
+
+if __name__=='__main__':
+    failcount = 0
+    bbhandler = bb.tinfoil.Tinfoil()
+    bbhandler.prepare()
+    print "Start to verify HOMEPAGE:"
+    failcount = verifyHomepage(bbhandler)
+    print "finish to verify HOMEPAGE."
+    print "Summary: %s failed" % failcount
Signature · 1 line
1.9.1
author
#2 lore raw
In reply to Chong Lu

ping

Quoted 16 lines · Chong Lu

The following changes since commit 3c7b5ec1cae6186a64e0be2c05b64b05add08c97:

syslinux: fix isohybird overflows on 32 bit system (2014-06-24 19:54:12 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib chonglu/verifyhomepage
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=chonglu/verifyhomepage

Chong Lu (1):
scripts/contrib/verify-homepage.py: add a script to verify HOMEPAGE

  scripts/contrib/verify-homepage.py | 63 ++++++++++++++++++++++++++++++++++++++
  1 file changed, 63 insertions(+)

create mode 100755 scripts/contrib/verify-homepage.py