--- a/src/pull.py Tue May 03 15:33:01 2011 +0100
+++ b/src/pull.py Tue May 03 16:55:10 2011 -0700
@@ -253,9 +253,10 @@
m = get_manifest(pfmri, xport_cfg)
for a in m.gen_actions_by_type("depend"):
- new_fmri = expand_fmri(a.attrs["fmri"])
- if new_fmri and new_fmri not in s:
- _get_dependencies(s, new_fmri, xport_cfg, tracker)
+ for fmri_str in a.attrlist("fmri"):
+ new_fmri = expand_fmri(fmri_str)
+ if new_fmri and new_fmri not in s:
+ _get_dependencies(s, new_fmri, xport_cfg, tracker)
return s
def add_hashes_to_multi(mfst, multi):
--- a/src/tests/cli/t_pkgrecv.py Tue May 03 15:33:01 2011 +0100
+++ b/src/tests/cli/t_pkgrecv.py Tue May 03 16:55:10 2011 -0700
@@ -56,9 +56,20 @@
tree10 = """
open [email protected],5.11-0
+ add depend type=require-any [email protected] [email protected]
close
"""
+ leaf10 = """
+ open [email protected],5.11-0
+ close
+ """
+
+ branch10 = """
+ open [email protected],5.11-0
+ close
+ """
+
amber10 = """
open [email protected],5.11-0
add depend fmri=pkg:/[email protected] type=require
@@ -129,7 +140,7 @@
# and scheme after that.
time.sleep(1)
self.published.extend(self.pkgsend_bulk(self.durl1,
- (self.bronze20, self.tree10, self.scheme10)))
+ (self.bronze20, self.tree10, self.branch10, self.leaf10, self.scheme10)))
self.dpath2 = self.dcs[2].get_repodir()
self.durl2 = self.dcs[2].get_depot_url()
@@ -180,10 +191,13 @@
# The latest version of amber and bronze should be listed
# (sans publisher prefix currently).
amber = self.published[1]
- scheme = self.published[6]
+ scheme = self.published[8]
bronze = self.published[4]
tree = self.published[5]
- expected = "\n".join((amber, bronze, scheme, tree)) + "\n"
+ branch = self.published[6]
+ leaf = self.published[7]
+
+ expected = "\n".join((amber, branch, bronze, leaf, scheme, tree)) + "\n"
self.assertEqualDiff(expected, output)
def test_1_recv_pkgsend(self):