23197858 packages with pkg.depend.explicit-install cannot be installed when zones present
--- a/src/modules/client/pkg_solver.py Wed Feb 22 23:49:16 2017 +0530
+++ b/src/modules/client/pkg_solver.py Wed Feb 22 23:50:38 2017 +0530
@@ -21,7 +21,7 @@
#
#
-# Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
#
"""Provides the interfaces and exceptions needed to determine which packages
@@ -1828,8 +1828,7 @@
if pkg_name in self.__expl_install_dict and \
fmri in self.__expl_install_dict[pkg_name]:
will_filter = False
- elif pkg_name in self.__installed_dict and \
- fmri == self.__installed_dict[pkg_name]:
+ elif pkg_name in self.__installed_dict:
will_filter = False
else:
will_filter = False
--- a/src/tests/cli/t_pkg_install.py Wed Feb 22 23:49:16 2017 +0530
+++ b/src/tests/cli/t_pkg_install.py Wed Feb 22 23:50:38 2017 +0530
@@ -11459,6 +11459,21 @@
close """,
)
+ pkgs6 = (
+ """
+ open [email protected],5.11-0.1.1.2
+ add depend type=require fmri=pkg:/[email protected],5.11-0.1.1.2
+ close """,
+ """
+ open [email protected],5.11-0.1.1.2
+ add set name=pkg.depend.explicit-install value=true
+ close """,
+ """
+ open [email protected],5.11-0.1.1.2
+ add set name=pkg.depend.explicit-install value=true
+ close """,
+ )
+
def setUp(self):
pkg5unittest.SingleDepotTestCase.setUp(self)
self.pkgsend_bulk(self.rurl, self.pkgs)
@@ -11593,6 +11608,13 @@
self.pkgsend_bulk(self.rurl, self.pkgs5)
self.pkg("install -v [email protected]", exit=1)
+ # Test package with pkg.depend.explicit-install=true
+ # can be installed if a different version of it has already
+ # been installed.
+ self.pkgsend_bulk(self.rurl, self.pkgs6)
+ self.pkg("install [email protected]")
+ self.pkg("install p1")
+
def test_02_updateReject(self):
self.image_create(self.rurl, prefix="")
self.pkgsend_bulk(self.rurl, self.pkgs2)