1 |
commit: 80389dc4205ecc5c50f299ad5b1eff623ac4e30f |
2 |
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue May 1 10:00:27 2012 +0000 |
4 |
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue May 1 10:00:27 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/zorry.git;a=commit;h=80389dc4 |
7 |
|
8 |
don't error on emty dirs package.py |
9 |
|
10 |
--- |
11 |
gobs/pym/package.py | 31 +++++++++++++++++++++++++------ |
12 |
1 files changed, 25 insertions(+), 6 deletions(-) |
13 |
|
14 |
diff --git a/gobs/pym/package.py b/gobs/pym/package.py |
15 |
index 4c571b6..7487494 100644 |
16 |
--- a/gobs/pym/package.py |
17 |
+++ b/gobs/pym/package.py |
18 |
@@ -217,8 +217,14 @@ class gobs_package(object): |
19 |
package_metadataDict = self.get_package_metadataDict(pkgdir, package) |
20 |
add_new_package_metadata(conn,package_id, package_metadataDict) |
21 |
# Add the manifest file to db |
22 |
- manifest_checksum_tree = portage.checksum.sha256hash(pkgdir + "/Manifest")[0] |
23 |
- get_manifest_text = get_file_text(pkgdir + "/Manifest") |
24 |
+ try: |
25 |
+ manifest_checksum_tree = portage.checksum.sha256hash(pkgdir + "/Manifest")[0] |
26 |
+ except: |
27 |
+ manifest_checksum_tree = "0" |
28 |
+ get_manifest_text = "0" |
29 |
+ logging.info("QA: Can't checksum the Manifest file. %c/%s", categories, package) |
30 |
+ else: |
31 |
+ get_manifest_text = get_file_text(pkgdir + "/Manifest") |
32 |
add_new_manifest_sql(conn,package_id, get_manifest_text, manifest_checksum_tree) |
33 |
CM.putConnection(conn) |
34 |
logging.info("C %s/%s ... Done.", categories, package) |
35 |
@@ -226,14 +232,24 @@ class gobs_package(object): |
36 |
def update_package_db(self, categories, package, package_id): |
37 |
conn=CM.getConnection() |
38 |
# Update the categories and package with new info |
39 |
+ logging.info("C %s/%s", categories, package) # C = Checking |
40 |
pkgdir = self._mysettings['PORTDIR'] + "/" + categories + "/" + package # Get PORTDIR with cp |
41 |
- # Get the checksum from the file in portage tree |
42 |
- manifest_checksum_tree = portage.checksum.sha256hash(pkgdir + "/Manifest")[0] |
43 |
+ # Get the checksum from the Manifest file. |
44 |
+ try: |
45 |
+ manifest_checksum_tree = portage.checksum.sha256hash(pkgdir + "/Manifest")[0] |
46 |
+ except: |
47 |
+ # We did't fine any Manifest file |
48 |
+ manifest_checksum_tree = '0' |
49 |
+ ebuild_list_tree = self._myportdb.cp_list((categories + "/" + package), use_cache=1, mytree=None) |
50 |
+ if ebuild_list_tree == []: |
51 |
+ CM.putConnection(conn) |
52 |
+ logging.info("QA: No Manifest file or ebuilds in %s/%s.", categories, package) |
53 |
+ logging.info("C %s/%s ... Done.", categories, package) |
54 |
+ return |
55 |
# Get the checksum from the db in package table |
56 |
manifest_checksum_db = get_manifest_db(conn,package_id) |
57 |
# if we have the same checksum return else update the package |
58 |
ebuild_list_tree = self._myportdb.cp_list((categories + "/" + package), use_cache=1, mytree=None) |
59 |
- logging.info("C %s/%s", categories, package) # C = Checking |
60 |
if manifest_checksum_tree != manifest_checksum_db: |
61 |
logging.info("U %s/%s", categories, package) # U = Update |
62 |
# Get package_metadataDict and update the db with it |
63 |
@@ -269,7 +285,10 @@ class gobs_package(object): |
64 |
metadataDict = self.get_metadataDict(packageDict, ebuild_id_list) |
65 |
add_new_metadata(conn,metadataDict) |
66 |
# Get the text in Manifest and update it |
67 |
- get_manifest_text = get_file_text(pkgdir + "/Manifest") |
68 |
+ try: |
69 |
+ get_manifest_text = get_file_text(pkgdir + "/Manifest") |
70 |
+ except: |
71 |
+ get_manifest_text = "0" |
72 |
update_manifest_sql(conn,package_id, get_manifest_text, manifest_checksum_tree) |
73 |
# Add any qa and repoman erros to buildlog |
74 |
qa_error = [] |