Lines Matching refs:pkg

51 import pkg.actions
52 import pkg.digest as digest
53 import pkg.fmri as fmri
54 import pkg.manifest as manifest
55 import pkg.misc as misc
56 import pkg.portable as portable
58 from pkg.client.pkgdefs import EXIT_OOPS
61 import pkg.sha512_t
125 add depend type=require fmri=pkg:/foo@1.0
132 add depend type=require fmri=pkg:/foo@1.2
143 add depend type=require fmri=pkg:/xfoo@1.0
150 add depend type=require fmri=pkg:/xfoo@1.2
158 add depend type=require fmri=pkg:/foo@1.0
165 add depend type=require fmri=pkg:/foo@1.0
172 add depend type=require fmri=pkg:/bar@1.0
179 add depend type=require fmri=pkg:/xbar@1.0
186 add depend type=require fmri=pkg:/ybar@1.0
216 add depend type=require fmri=pkg:/b16189@1.0
248 add depend type=require fmri=pkg:/ffoo@1.0
255 add depend type=require fmri=pkg:/ffoo@1.0
336 usepub, "pkg"]
337 pfmri = pkg.fmri.PkgFmri(fmri_str)
369 self.pkg("-@", exit=2)
370 self.pkg("-s status", exit=2)
371 self.pkg("-R status", exit=2)
373 self.pkg("{0} -@ foo".format(install_cmd), exit=2)
374 self.pkg("{0} -vq foo".format(install_cmd), exit=2)
375 self.pkg("{0}".format(install_cmd), exit=2)
376 self.pkg("{0} foo@x.y".format(install_cmd), exit=1)
377 self.pkg("{0} pkg:/foo@bar.baz".format(install_cmd), exit=1)
385 self.pkg("list -a")
386 self.pkg("list", exit=1)
388 self.pkg("install --parsable=0 foo")
392 self.pkg("list")
393 self.pkg("verify")
395 self.pkg("uninstall --parsable=0 foo")
398 self.pkg("verify")
406 self.pkg("list -a")
407 self.pkg("list", exit=1)
409 self.pkg("exact-install --parsable=0 foo")
414 self.pkg("exact-install foo", exit=4)
415 self.pkg("list")
416 self.pkg("verify")
418 self.pkg("uninstall --parsable=0 foo")
421 self.pkg("verify")
439 self.pkg("list -a")
440 self.pkg("{0} foo".format(install_cmd))
452 self.pkg("verify")
453 self.pkg("list")
455 self.pkg("search -l /lib/libc.so.1")
456 self.pkg("search -r /lib/libc.so.1")
457 self.pkg("search -l blah", exit=1)
458 self.pkg("search -r blah", exit=1)
469 self.pkg("verify", exit=1)
471 self.pkg("uninstall foo")
472 self.pkg("verify")
473 self.pkg("list -a")
474 self.pkg("verify")
491 self.pkg("set-property flush-content-cache-on-success False")
503 self.pkg("{0} foo@1.0".format(installed_cmd))
504 self.pkg("list foo@1.0")
505 self.pkg("list foo@1.1", exit=1)
507 self.pkg("{0} foo@1.1".format(installed_cmd))
519 self.pkg("list foo@1.1")
520 self.pkg("list foo@1.0", exit=1)
521 self.pkg("list foo@1")
522 self.pkg("verify")
524 self.pkg("uninstall foo")
525 self.pkg("list -a")
526 self.pkg("verify")
546 self.pkg("set-property flush-content-cache-on-success False")
558 self.pkg("list -a")
559 self.pkg("{0} bar@1.0".format(installed_cmd))
571 self.pkg("list")
572 self.pkg("verify")
573 self.pkg("uninstall -v bar foo")
576 self.pkg("list bar", exit=1)
577 self.pkg("list foo", exit=1)
578 self.pkg("verify")
593 self.pkg("install foo@1.0 bar@1.0 boring@1.0")
594 self.pkg("list foo@1.0 boring@1.0 bar@1.0")
595 self.pkg("install -v bar@1.1") # upgrade bar
596 self.pkg("list bar@1.1 foo@1.2 boring@1.0")
597 self.pkg("install -v bar@1.0") # downgrade bar
598 self.pkg("list bar@1.0 foo@1.2 boring@1.0")
610 self.pkg("exact-install foo@1.0 bar@1.0 boring@1.0")
611 self.pkg("list foo@1.0 boring@1.0 bar@1.0")
612 self.pkg("exact-install -v bar@1.1") # upgrade bar
613 self.pkg("list bar@1.1 foo@1.2")
614 self.pkg("list boring@1.0", exit=1)
641 self.pkg("set-publisher -p {0}".format(t2dir))
642 self.pkg("install '*@latest'")
646 self.pkg("list")
647 self.pkg("info bar@1.0 foo@1.2 boring@1.1")
649 self.pkg("set-publisher --non-sticky test")
650 self.pkg("set-publisher -P pub2 ")
651 self.pkg("install bar@latest")
655 self.pkg("list")
656 self.pkg("info bar@1.1")
687 self.pkg("set-publisher -p {0}".format(t2dir))
688 self.pkg("exact-install '*@latest'")
692 self.pkg("list")
693 self.pkg("info bar@1.0 foo@1.2 boring@1.1")
695 self.pkg("set-publisher --non-sticky test")
696 self.pkg("set-publisher -P pub2 ")
697 self.pkg("exact-install bar@latest")
701 self.pkg("info bar@1.1")
702 self.pkg("list foo@1.2")
703 self.pkg("list boring@1.1", exit=1)
714 self.pkg("install xbar@1.0", exit=1)
721 self.pkg("exact-install xbar@1.0", exit=1)
729 self.pkg("exact-install foo@1.1 foo@1.2", exit=1)
738 self.pkg("install bar@1.1")
739 self.pkg("exact-install bar@1.0")
740 self.pkg("list bar@1.0")
741 self.pkg("list foo@1.2")
753 self.pkg("install fbar@1.0")
754 self.pkg("freeze fbar@1.0")
755 self.pkg("exact-install fbar@1.1")
756 self.pkg("list fbar@1.1")
757 self.pkg("list ffoo@1.1")
758 self.pkg("uninstall '*'")
762 self.pkg("install fbar@1.0 ffoo@1.0")
763 self.pkg("freeze fbar@1.0")
764 self.pkg("freeze ffoo@1.0")
765 self.pkg("exact-install fbar@1.1")
766 self.pkg("list fbar@1.1")
767 self.pkg("list ffoo@1.1")
775 self.pkg("set-property mirror-discovery True")
776 self.pkg("list -a")
777 self.pkg("list", exit=1)
779 self.pkg("install foo")
781 self.pkg("list")
782 self.pkg("verify")
784 self.pkg("uninstall foo")
785 self.pkg("verify")
801 self.pkg("install foo@1.0")
802 self.pkg("info foo@1.0")
804 self.pkg("update")
805 self.pkg("list")
806 self.pkg("info foo@1.2")
807 self.pkg("uninstall '*'")
824 self.pkg("{0} bar@1.0".format(install_cmd))
827 self.pkg("refresh")
829 self.pkg("contents -H")
830 self.pkg("list")
831 self.pkg("refresh")
833 self.pkg("list")
834 self.pkg("verify")
835 self.pkg("update -v")
836 self.pkg("verify")
838 self.pkg("list foo@1.2")
839 self.pkg("list bar@1.1")
841 self.pkg("uninstall bar foo")
842 self.pkg("verify")
851 self.pkg("install bar@1.0")
853 self.pkg("uninstall -v foo", exit=1)
854 self.pkg("list bar")
855 self.pkg("list foo")
860 self.pkg("list -a")
864 self.pkg("install xbar@1.1", exit=1)
872 self.pkg("list -a")
873 self.pkg("install baz@1.0 bar@1.1")
882 self.pkg("install xdeep@1.0", exit=1)
891 self.pkg("install ydeep@1.0", exit=1)
899 self.pkg("install foo@1.1 foo@1.2", exit=1)
910 If a@1 and b@1 are installed in an image, the "pkg update" command
913 $ pkg update
916 However, "pkg install a@2" works.
922 self.pkg("install b6018@1 a6018@1")
924 self.pkg("update --parsable=0")
927 self.pkg("list b6018@1 a6018@2")
946 self.pkg("{0} 'ba*' 'b*'".format(install_cmd), exit=1)
947 self.pkg("{0} 'ba*'".format(install_cmd), exit=0)
948 self.pkg("list foo", exit=0)
949 self.pkg("list bar", exit=0)
950 self.pkg("list baz", exit=0)
951 self.pkg("uninstall 'b*' 'f*'")
955 self.pkg("{0} pkg:/foo /foo ///foo pkg:///foo".format(install_cmd))
956 self.pkg("list")
957 self.pkg("verify pkg:/foo /foo ///foo pkg:///foo")
958 self.pkg("uninstall pkg:/foo /foo ///foo "
959 "pkg:///foo")
976 self.pkg("{0} {1}".format(install_cmd, " ".join(plist)))
988 self.pkg("uninstall {0}".format(pfmri.pkg_name))
999 self.pkg("--debug manifest_validate=Never "
1013 self.pkg("--debug manifest_validate=Never "
1024 self.pkg("--debug manifest_validate=Never "
1037 self.pkg("--debug manifest_validate=Never "
1049 self.pkg("set-publisher --no-refresh -O {0} test".format(self.durl))
1050 self.pkg("install foo@1.1", exit=1)
1063 self.pkg("install foo")
1067 self.pkg("set-publisher --no-refresh -O {0} test".format(self.durl))
1068 self.pkg("uninstall foo")
1072 pkg A depend upon pkg B. Rename pkg B on the depot-side
1091 self.pkg("install a16189", exit=1)
1099 afobj.write("set name=pkg.summary value=\"banana\"\n")
1101 self.pkg("install a16189", exit=1)
1111 self.pkg("install fuzzy@1")
1112 self.pkg("verify -v")
1113 self.pkg("update -vvv fuzzy@2")
1114 self.pkg("verify -v")
1124 self.pkg("uninstall -vvv fuzzy")
1140 self.pkg("install secret1")
1152 self.pkg("install secret1", su_wrap=True, exit=1)
1155 self.pkg("install secret1")
1164 self.pkg("install secret2")
1174 self.pkg("install secret3")
1175 self.pkg("uninstall secret3")
1176 self.pkg("install secret4")
1177 self.pkg("uninstall secret4")
1180 self.pkg("install secret5")
1181 self.pkg("uninstall secret5")
1182 self.pkg("install secret6")
1193 add dir mode=0755 owner=root group=bin path=var/pkg/cache
1198 add link path=var/pkg/pkg5.image target=tmp/cat
1203 add dir mode=0755 owner=root group=bin path=var/pkg/config
1220 self.pkg("install b1", exit=1)
1221 self.pkg("install b2", exit=1)
1222 # this should pass because var/pkg/config is not reserved
1223 self.pkg("install b3", exit=0)
1227 self.pkg("install b4", exit=1)
1229 self.pkg("install b5", exit=0)
1237 add file tmp/cat mode=0755 owner=root group=bin path=var/pkg/foo
1242 add dir mode=0755 owner=root group=bin path=var/pkg/cache
1247 add dir mode=0755 owner=root group=bin path=var/pkg/config
1254 self.pkg("install b1@1.0-0", exit=0)
1255 self.pkg("update b1@2.0-0", exit=1)
1256 # this should pass because var/pkg/config is not reserved
1257 self.pkg("update b1@3.0-0", exit=0)
1267 self.pkg("install -vvv rofilesdir@1.0")
1273 self.pkg("install -vvv rofiles@1.0")
1278 self.pkg("verify -vvv rofilesdir", exit=1)
1279 self.pkg("uninstall -vvv rofiles@1.0")
1301 self.pkg("install filemissing", exit=1)
1302 self.assertTrue("pkg://test/filemissing@1.0,5.11:20160426T084036Z"
1305 self.pkg("install filemissing", exit=1)
1306 self.assertTrue("pkg://test/filemissing@1.0,5.11:20160426T084036Z"
1309 self.pkg("install manimissing", exit=1)
1310 self.assertTrue("pkg://test/manimissing@1.0,5.11:20160426T084036Z"
1377 self.pkg("install foo@1.1")
1378 self.pkg("uninstall foo")
1411 # format pkg(1) uses - two logically identical urls that
1442 # the following should work, as pkg should retry requests
1445 self.pkg("refresh --full")
1446 self.pkg("contents -rm foo@1.1")
1447 self.pkg("install foo@1.1")
1474 mfpath = os.path.join(repodir, "{0}/pkg/foo/{1}".format(prefix,
1482 self.pkg("install foo@1.1", stderr=True, exit=1)
1504 "var/pkg/publisher/test1/pkg"))
1505 self.pkg("contents -rm foo@1.1", stderr=True, exit=1)
1520 self.pkg("refresh --full", stderr=True, exit=1)
1562 self.pkg("set-publisher -p {0} --proxy {1}".format(self.durl1,
1564 self.pkg("install foo")
1565 self.pkg("uninstall foo")
1570 self.pkg("install --no-refresh foo", exit=1)
1574 self.pkg("set-publisher --no-refresh -g {0} test1".format(
1577 self.pkg("set-publisher --no-refresh -g {0} "
1585 self.pkg("set-publisher -g {0} test2".format(self.durl2))
1586 self.pkg("install --no-refresh "
1587 "pkg://test2/upgrade-np@1.0")
1588 self.pkg("uninstall pkg://test2/upgrade-np@1.0")
1589 self.pkg("set-publisher -G {0} test2".format(self.durl2))
1594 self.pkg("publisher")
1595 self.pkg("set-publisher -G {0} test1".format(self.durl1))
1596 self.pkg("set-publisher --no-refresh -g {0} "
1599 self.pkg("refresh", env_arg=env)
1600 self.pkg("install foo", env_arg=env)
1601 self.pkg("uninstall foo", env_arg=env)
1605 self.pkg("install foo", env_arg=env)
1606 self.pkg("uninstall foo", env_arg=env)
1610 self.pkg("install foo", env_arg=env)
1611 self.pkg("refresh --full", env_arg=env)
1649 # Use pkg contents to cache the manifest.
1650 self.pkg("contents -r foo")
1656 self.pkg("set-property signature-policy require-signatures")
1719 add set name=pkg.additional-update-on-uninstall value=A@2
1723 add set pkg.additional-update-on-uninstall=A@1
1727 add set name=pkg.additional-uninstall-on-uninstall value=A
1731 add set pkg.additional-uninstall-on-uninstall=A
1735 add set name=pkg.additional-uninstall-on-uninstall value=A@2 value=B@2
1739 add set name=pkg.additional-uninstall-on-uninstall value=A@1
1743 add set name=pkg.additional-uninstall-on-uninstall value=C
1747 add set name=pkg.additional-update-on-uninstall value=evil@2
1759 """Test that pkg actuators work as expected."""
1762 self.pkg("install A@1")
1763 self.pkg("install -v trigger@1")
1764 self.pkg("list A@1 trigger@1")
1767 self.pkg("uninstall -v trigger")
1768 self.pkg("list A@2")
1770 self.pkg("install -v trigger@2")
1771 self.pkg("uninstall -v trigger")
1772 self.pkg("list A@1")
1775 self.pkg("install -v trigger@3")
1776 self.pkg("uninstall -v trigger")
1777 self.pkg("list A", exit=1)
1780 self.pkg("install -v trigger@4 A@1")
1781 self.pkg("uninstall -v trigger")
1782 self.pkg("list A", exit=1)
1783 self.pkg("install -v trigger@4 A@2")
1784 self.pkg("uninstall -v trigger")
1785 self.pkg("list A", exit=1)
1788 self.pkg("install -v trigger@6 A@1")
1789 self.pkg("uninstall -v trigger")
1790 self.pkg("list A", exit=1)
1793 self.pkg("install -v trigger@6 A@2")
1794 self.pkg("uninstall -v trigger")
1795 self.pkg("list A")
1798 self.pkg("install -v trigger@5 A@2 B@2")
1799 self.pkg("uninstall -v trigger")
1800 self.pkg("list A B", exit=1)
1803 self.pkg("install -v trigger@5 A@1 B@1")
1804 self.pkg("uninstall -v trigger")
1805 self.pkg("list A@1 B@1")
1807 # removal pkg depends on trigger
1808 self.pkg("install -v trigger@7 C")
1809 self.pkg("uninstall -v trigger")
1810 self.pkg("list C", exit=1)
1812 # test that uninstall actuators also work when pkg is rejected
1813 self.pkg("install -v A@1 trigger@1")
1814 self.pkg("list A@1")
1816 self.pkg("install --reject trigger B@1")
1817 self.pkg("list A@2")
1819 self.pkg("install -v trigger@2")
1820 self.pkg("update -v --reject trigger B@2")
1821 self.pkg("list A@1")
1824 self.pkg("install -v evil@1")
1825 # solver will complain about passing same pkg to reject and
1827 self.pkg("uninstall -v evil@1", exit=1)
1829 self.pkg("-R {0} -D ignore-pkg-actuators=true "
1831 self.pkg("list evil", exit=1)
1833 # Test overlapping user and actuator pkg requests.
1836 self.pkg("install -v A@1 trigger@1")
1838 self.pkg("update --parsable=0 --reject trigger A@0.5")
1839 self.pkg("list A@2")
1843 """Test --reject option to pkg update/install"""
1849 add depend type=require-any fmri=pkg:/B@1.0 fmri=pkg:/C@1.0
1853 add depend type=require-any fmri=pkg:/B@1.0 fmri=pkg:/C@1.0
1858 add depend type=exclude fmri=pkg:/C
1863 add depend type=exclude fmri=pkg:/B
1868 add depend type=require fmri=pkg:/incorp
1873 add depend type=require fmri=pkg:/incorp
1878 add depend type=require fmri=pkg:/incorp
1893 add depend type=require fmri=pkg:/incorp
1894 add depend type=require fmri=pkg:/idr1
1900 add depend type=require fmri=pkg:/incorp
1901 add depend type=require fmri=pkg:/idr1
1906 add depend type=require fmri=pkg:/incorp
1907 add depend type=require fmri=pkg:/idr2
1912 add depend type=require fmri=pkg:/incorp
1913 add depend type=require fmri=pkg:/idrX
1936 add set name=pkg.additional-update-on-uninstall value=kernelX@1.0,5.11-0.1
1958 open pkg://contrib/bogus@1.0,5.11-0
1965 open pkg://contrib/bogus1@1.0,5.11-0
1970 open pkg://contrib/bogus2@1.0,5.11-0
1984 self.pkg("install --reject B A")
1985 self.pkg("list A C")
1986 self.pkg("uninstall '*'")
1987 self.pkg("install --reject C A")
1988 self.pkg("list A B")
1989 self.pkg("uninstall '*'")
1992 self.pkg("install B")
1993 self.pkg("install A")
1994 self.pkg("list A B")
1995 self.pkg("install --reject B C")
1996 self.pkg("list A C")
1997 self.pkg("uninstall '*'")
2000 self.pkg("install -v --reject B --reject C A", exit=1)
2003 self.pkg("install bogus")
2004 self.pkg("list bogus")
2005 self.pkg("install --reject B --reject 'pkg://contrib/*' A")
2008 self.pkg("uninstall '*'")
2009 self.pkg("install -v --reject A A", exit=1)
2010 self.pkg("install -v --reject 'idr*' --reject 'bogus*' "
2012 self.pkg("list 'idr*' 'bogus*' B", exit=1)
2013 self.pkg("list A C incorp kernel no-idrs")
2021 self.pkg("exact-install --reject B A")
2022 self.pkg("list A C")
2023 self.pkg("uninstall '*'")
2026 self.pkg("install B")
2027 self.pkg("install A")
2028 self.pkg("list A B")
2029 self.pkg("exact-install --reject B A")
2030 self.pkg("list A C")
2031 self.pkg("list B", exit=1)
2032 self.pkg("uninstall '*'")
2035 self.pkg("exact-install -v --reject B --reject C A", exit=1)
2038 self.pkg("install bogus")
2039 self.pkg("list bogus")
2040 self.pkg("exact-install --reject B --reject "
2041 "'pkg://contrib/*' A")
2042 self.pkg("uninstall '*'")
2045 self.pkg("exact-install -v --reject A A", exit=1)
2046 self.pkg("exact-install -v --reject 'idr*' --reject 'bogus*' "
2048 self.pkg("list 'idr*' 'bogus*' B", exit=1)
2049 self.pkg("list A C incorp kernel no-idrs")
2053 # install kernel pkg; remember version so we can reinstall it later
2054 self.pkg("install no-idrs")
2055 self.pkg("install -v kernel@1.0,5.11-0.1")
2056 self.pkg("list -Hv kernel@1.0,5.11-0.1 | /usr/bin/awk '{print $1}'")
2059 self.pkg("update -v");
2060 self.pkg("list kernel@1.0,5.11-0.2")
2061 self.pkg("list")
2064 self.pkg("uninstall no-idrs")
2065 self.pkg("install --reject 'k*' --reject 'i*' no-idrs")
2066 self.pkg("install -v kernel@1.0,5.11-0.1")
2067 self.pkg("install -v --reject no-idrs idr1_entitlement")
2068 self.pkg("install -v idr1@1.0,5.11-0.1.1.0")
2069 self.pkg("update -v --reject idr2")
2070 self.pkg("list idr1@1.0,5.11-0.1.1.1")
2073 self.pkg("install -v --reject idr1 --reject 'idr1_*' idr2 idr2_entitlement")
2076 self.pkg("update -v --reject idr2 --reject 'idr2_*' {0}".format(kernel_fmri))
2079 self.pkg("install -v idr1@1.0,5.11-0.1.1.0 idr1_entitlement")
2080 self.pkg("list kernel@1.0,5.11-0.1.1.0")
2083 self.pkg("update -v --reject 'idr1*' '*incorp@1.0-0.2'")
2084 self.pkg("list kernel@1.0,5.11-0.2")
2087 """IDR removal with pkg actuators."""
2089 self.pkg("install no-idrs")
2090 self.pkg("install -v kernelX@1.0,5.11-0.1")
2091 self.pkg("list kernelX@1.0,5.11-0.1")
2094 self.pkg("install -v --reject no-idrs idr1_entitlement")
2095 self.pkg("install -v idrX@1.0,5.11-0.1.1.0")
2097 self.pkg("list idrX@1.0,5.11-0.1.1.0")
2098 self.pkg("list kernelX@1.0,5.11-0.1.1.0")
2101 self.pkg("uninstall -v idrX@1.0,5.11-0.1.1.0")
2102 self.pkg("list kernelX@1.0,5.11-0.1")
2105 self.pkg("install -v idrX@1.0,5.11-0.1.1.0")
2106 self.pkg("list idrX@1.0,5.11-0.1.1.0")
2107 self.pkg("list kernelX@1.0,5.11-0.1.1.0")
2108 self.pkg("install --reject idrX B")
2109 self.pkg("list kernelX@1.0,5.11-0.1")
2114 self.pkg("install kernel@1.0,5.11-0.1.1.0 A@1.0,5.11-0")
2115 self.pkg("update -v --reject A")
2116 self.pkg("list A", exit=1)
2117 self.pkg("verify")
2121 self.pkg("uninstall '*'")
2122 self.pkg("install kernel@1.0,5.11-0.1.1.0")
2123 self.pkg("list kernel@1.0,5.11-0.1.1.0")
2124 self.pkg("install A@1.0,5.11-0")
2125 self.pkg("update -v --reject A '*'")
2126 self.pkg("list A", exit=1)
2127 self.pkg("list kernel@1.0,5.11-0.1.1.1")
2128 self.pkg("verify")
2180 self.pkg("install foo", exit=1)
2181 self.pkg("install a/foo b/foo", exit=0)
2182 self.pkg("list")
2183 self.pkg("uninstall foo", exit=1)
2184 self.pkg("uninstall a/foo b/foo", exit=0)
2193 self.pkg("install foo", exit=1)
2202 self.pkg("install foo")
2205 self.pkg("refresh")
2206 self.pkg("update -v", exit=4)
2219 self.pkg("{0} depender".format(install_cmd))
2223 self.pkg("refresh")
2225 self.pkg("{0} depender".format(install_cmd))
2228 self.pkg("list another/foo", exit=1)
2242 self.pkg("{0} foo".format(install_cmd))
2246 self.pkg("refresh")
2249 self.pkg("{0} pkg:/foo".format(install_cmd))
2252 self.pkg("{0} foo".format(install_cmd), exit=1)
2253 self.pkgrepo("remove -s {0} pkg:/foo@1.1".format(self.rurl ))
2263 open pkg://pub2/a@1.0,5.11-0
2275 open pkg://pub2/a@2.0,5.11-0
2308 self._api_install(api_inst, ["a@1", "pkg://test/a@1"],
2310 self._api_install(api_inst, ["a*@1", "pkg:/*a@1"],
2313 self._api_install(api_inst, ["a@1", "pkg://test/a*@1"],
2316 self.pkg("install -n 'a*@2' 'a@1'", exit=1)
2322 self.pkg("install -n a@1 a@2", exit=1)
2323 self.pkg("install -n a@2 pkg://test/a@1", exit=1)
2324 self.pkg("install -n 'a*@2' 'pkg:/*a@1'", exit=1)
2329 self.pkg("list a@2")
2332 self._api_install(api_inst, ["a@1", "pkg://test/a*@2"])
2333 self.pkg("list a@1")
2338 self.pkg("list a@3")
2342 self.pkg("list a@3")
2346 self.pkg("install a@1.1 a@1.0", exit=1)
2348 self.pkg("list a@1.0")
2352 self.pkg("list a@1.0")
2360 self.pkg("install '*a@1' 'a*@2'", exit=1)
2363 self.pkg("list -Hv")
2369 self.pkg("list -Hv")
2379 self._api_install(api_inst, ["a*@1", "pkg://pub2/a@2"],
2381 self._api_install(api_inst, ["a@1", "pkg://pub2/a*@2"],
2383 self._api_install(api_inst, ["a@1", "pkg://pub2/*@2"],
2385 self.pkg("install -n 'pkg://test/a*@1' 'pkg://pub2/*a@2'",
2387 self.pkg("install -n 'pkg://test/a@1' 'pkg://pub2/a@2'",
2389 self.pkg("install -n 'a@1' 'pkg://pub2/a@2'", exit=1)
2392 self._api_install(api_inst, ["a@1", "pkg://pub2/a@1"])
2393 self.pkg("list -Hv 'pkg://pub2/*'")
2398 self._api_install(api_inst, ["a@1", "pkg://test/a@1"])
2399 self.pkg("list -Hv 'pkg://test/*'")
2404 self._api_install(api_inst, ["a*@1", "pkg://pub2/*@2"])
2405 self.pkg("list -Hv 'pkg://pub2/*'")
2411 ["pkg://test/a@1", "pkg://pub2/*@2"])
2412 self.pkg("list -Hv 'pkg://test/*'")
2419 self.pkg("install '*' 'pkg://pub2/*@2'")
2420 self.pkg("list -Hv 'pkg://pub2/*'")
2432 add depend type=require fmri=pkg:/pkg2
2438 add depend type=require fmri=pkg:/pkg3
2444 add depend type=require fmri=pkg:/pkg1
2451 add depend type=require fmri=pkg:/pkg2@1.1
2457 add depend type=require fmri=pkg:/pkg3@1.1
2463 add depend type=require fmri=pkg:/pkg1@1.1
2481 self.pkg("{0} pkg1".format(install_cmd))
2482 self.pkg("list")
2483 self.pkg("verify -v")
2499 self.pkg("{0} pkg1".format(install_cmd))
2500 self.pkg("list")
2501 self.pkg("verify -v")
2520 add depend type=incorporate fmri=pkg:/octo@2.0
2527 In case one pkg triggers two or more issues, one of which is not
2534 self.pkg("install incorp octo@2")
2535 self.pkg("install -v octo@1", exit=1)
2554 add depend type=incorporate fmri=pkg:/amber@1.0
2555 add depend type=incorporate fmri=pkg:/bronze@1.0
2561 add depend type=incorporate fmri=pkg:/amber@2.0
2562 add depend type=incorporate fmri=pkg:/bronze@2.0
2568 add depend type=incorporate fmri=pkg:/amber@2.0
2574 add depend type=incorporate fmri=pkg:/amber@1.0
2575 add depend type=incorporate fmri=pkg:/bronze@1.0
2581 add depend type=incorporate fmri=pkg:/amber@2.0
2582 add depend type=incorporate fmri=pkg:/bronze@2.0
2588 add depend fmri=pkg:/amber@2.0 type=require
2606 add depend fmri=pkg:/bronze type=require
2620 add depend fmri=pkg:/amber@1.0 type=require
2635 add depend fmri=pkg:/bronze@2.0 type=require
2652 add depend fmri=pkg:/amber@2.0 type=require
2668 add depend fmri=pkg:/amber@2.0 type=require
2753 add depend type=incorporate fmri=pkg:/amber@2.0
2754 add depend type=incorporate fmri=pkg:/bronze@2.0
2962 add set pkg.renamed=true
3008 add set pkg.renamed=true
3245 self.pkg("install incorp@2.0")
3247 self.pkg("install bronze@1.0", exit=1)
3249 self.pkg("install {0}".format(first_bronze))
3250 self.pkg("list -v {0}".format(first_bronze))
3251 self.pkg("install bronze@2.0")
3254 """Test that pkg install/upgrade works fine for files with
3274 # Upgrade case: action that doesn't use pkg.content-hash upgrade
3275 # to action that uses pkg.content-hash.
3278 tmp = a.attrs["pkg.content-hash"]
3279 del a.attrs["pkg.content-hash"]
3285 self.pkg("install -v elfhash@1.0")
3286 # should not see pkg.content-hash
3287 self.pkg("contents -m elfhash | grep pkg.content-hash", exit=1)
3288 self.pkg("update -vvv elfhash")
3290 self.pkg("contents -m elfhash | grep pkg.content-hash")
3291 self.pkg("uninstall elfhash")
3297 a.attrs["pkg.content-hash"] = tmp
3303 a.attrs["pkg.content-hash"] = \
3308 self.pkg("install -v elfhash@1.0")
3309 self.pkg("contents -m elfhash | grep gelf:sha512t_256")
3310 self.pkg("update -vvv elfhash")
3311 self.pkg("contents -m elfhash | grep gelf:sha512t_256", exit=1)
3312 self.pkg("contents -m elfhash | grep gelf:sha3_384")
3313 self.pkg("uninstall elfhash")
3319 a.attrs["pkg.content-hash"] = \
3325 self.pkg("install -v elfhash@1.0")
3326 self.pkg("contents -m elfhash | grep gelf:sha512t_256")
3327 self.pkg("update -vvv elfhash")
3328 self.pkg("contents -m elfhash | grep gelf:sha512t_256")
3329 self.pkg("contents -m elfhash | grep gelf:sha3_384")
3330 self.pkg("uninstall elfhash")
3336 a.attrs["pkg.content-hash"] = \
3342 self.pkg("install -v elfhash@1.0")
3343 self.pkg("contents -m elfhash | grep gelf")
3344 self.pkg("update -vvv elfhash")
3345 self.pkg("contents -m elfhash | grep gelf", exit=1)
3346 self.pkg("contents -m elfhash | grep file")
3347 self.pkg("uninstall elfhash")
3353 a.attrs["pkg.content-hash"] = \
3359 self.pkg("install -v elfhash@1.0")
3360 self.pkg("contents -m elfhash | grep gelf")
3361 self.pkg("update -vvv elfhash")
3363 self.pkg("contents -m elfhash | grep gelf")
3364 self.pkg("contents -m elfhash | grep file")
3365 self.pkg("uninstall elfhash")
3398 self.pkg("install incorp@1.0")
3400 self.pkg("install bronze")
3402 self.pkg("list amber@1.0 bronze@1.0")
3403 self.pkg("verify -v")
3406 self.pkg("install bronze@2.0 amber@2.0", exit=1)
3409 self.pkg("install bronze@latest amber@latest", exit=1)
3410 self.pkg("update bronze@latest amber@latest", exit=1)
3414 self.pkg("update")
3418 self.pkg("list amber@2.0 bronze@2.0")
3419 self.pkg("verify -v")
3424 self.pkg("uninstall amber bronze")
3425 self.pkg("verify -v")
3447 self.pkg("install incorp@1.0")
3449 self.pkg("install bronze@2.0", exit=1)
3451 self.pkg("install iridium@1.0", exit=1)
3454 self.pkg("install brass")
3455 self.pkg("verify brass@1.0 bronze@1.0")
3457 self.pkg("install concorp@1.0", exit=1)
3460 self.pkg("install incorp@2.0")
3461 self.pkg("uninstall incorp@2.0")
3462 self.pkg("install incorp@1.0")
3464 # upgrade pkg that loses incorp. deps. in new version
3465 self.pkg("install -vvv incorp@2.0")
3468 self.pkg("update --parsable=0 -n incorp@3")
3472 self.pkg("update --parsable=0 -n incorp")
3478 self.pkg("update --parsable=0 -n")
3496 self.pkg("{0} --parsable=0 gold@1.0 silver@1.0".format(install_cmd))
3505 self.pkg("verify -v")
3516 self.pkg("{0} -nvv gold@3.0 silver@2.0".format(install_cmd))
3517 self.pkg("{0} --parsable=0 gold@3.0 silver@2.0".format(install_cmd))
3519 self.pkg("verify -v")
3524 self.pkg("uninstall --parsable=0 silver gold")
3536 self.pkg("{0} --parsable=0 gold@1.0".format(install_cmd))
3537 self.pkg("verify -v")
3544 self.pkg("{0} --parsable=0 gold@2.0".format(install_cmd))
3553 self.pkg("verify -v")
3559 self.pkg("uninstall --parsable=0 gold")
3563 self.pkg("verify -v")
3567 self.pkg("{0} --parsable=0 gold@1.0 silver@1.0".format(install_cmd))
3568 self.pkg("verify -v")
3577 self.pkg("{0} --parsable=0 gold@3.0 silver@3.0".format(install_cmd))
3586 self.pkg("verify -v")
3592 self.pkg("uninstall --parsable=0 gold silver")
3597 self.pkg("{0} --parsable=0 gold@1.0 silver@1.0".format(install_cmd))
3598 self.pkg("verify -v")
3601 self.pkg("install golduser@1.0")
3620 self.pkg("{0} --parsable=0 gold@3.0 silver@2.0 golduser@2.0 "
3640 self.pkg("install iron@1.0")
3641 self.pkg("verify -v")
3643 self.pkg("install iron@2.0")
3644 self.pkg("verify -v")
3654 self.pkg("install -vvv dumdir@1.0")
3655 self.pkg("verify -v")
3659 self.pkg("update -vvv dumdir@2.0")
3660 self.pkg("verify -v")
3663 self.pkg("update -vvv dumdir@3.0")
3664 self.pkg("verify -v")
3677 self.pkg("--debug simulate_live_root={0} {1} liveroot@1.0".format(
3679 self.pkg("verify -v")
3680 self.pkg("--debug simulate_live_root={0} {1} --deny-new-be "
3683 self.pkg("--debug simulate_live_root={0} uninstall "
3687 self.pkg("--debug simulate_live_root={0} fix --deny-new-be "
3703 self.pkg("list -afv")
3704 self.pkg("{0} dricon@1".format(install_cmd))
3706 self.pkg("{0} dricon@2".format(install_cmd))
3710 self.assertTrue("# pkg(7): wigit \"pci8086,1234\"\n" in da_contents)
3715 self.pkg("{0} dricon@3".format(install_cmd), exit=1)
3732 self.pkg("list -afv")
3735 self.pkg("{0} dripol@1".format(install_cmd))
3747 self.pkg("{0} dripol@2".format(install_cmd))
3758 self.pkg("update dripol@3")
3765 self.pkg("update dripol@5")
3773 self.pkg("update dripol@4")
3790 self.pkg("{0} --parsable=0 preserve@1".format(install_cmd))
3794 self.pkg("{0} --parsable=0 preserve@2".format(install_cmd))
3799 self.pkg("verify preserve")
3801 self.pkg("update --parsable=0 preserve@1")
3806 self.pkg("verify preserve")
3808 self.pkg("uninstall --parsable=0 preserve")
3811 self.pkg("install --parsable=0 preserve@1")
3815 self.pkg("install --parsable=0 preserve@3")
3821 self.pkg("update --parsable=0 preserve@1")
3828 self.pkg("verify preserve")
3829 self.pkg("uninstall --parsable=0 preserve")
3833 self.pkg("{0} --parsable=0 preserve@1".format(install_cmd))
3836 self.pkg("{0} --parsable=0 preserve@3".format(install_cmd))
3841 self.pkg("verify preserve")
3842 self.pkg("uninstall --parsable=0 preserve")
3846 self.pkg("{0} --parsable=0 preserve@3".format(install_cmd))
3849 self.pkg("update --parsable=0 preserve@1")
3859 self.pkg("verify preserve")
3860 self.pkg("uninstall --parsable=0 preserve")
3864 self.pkg("{0} --parsable=0 preserve@1".format(install_cmd))
3867 self.pkg("{0} --parsable=0 preserve@2".format(install_cmd))
3875 self.pkg("update --parsable=0 preserve@1")
3884 self.pkg("{0} --parsable=0 preserve@2".format(install_cmd))
3894 self.pkg("{0} --parsable=0 preserve@3".format(install_cmd))
3898 self.pkg("verify preserve")
3904 self.pkg("update --parsable=0 preserve@2")
3908 self.pkg("verify preserve")
3910 self.pkg("uninstall preserve@2")
3913 self.pkg("{0} --parsable=0 preserve@1".format(install_cmd))
3914 self.pkg("{0} --parsable=0 preserve@2".format(install_cmd))
3915 self.pkg("verify preserve")
3921 self.pkg("uninstall --parsable=0 preserve")
3925 self.pkg("{0} --parsable=0 orig_pkg@1.0".format(install_cmd))
3934 self.pkg("update -nvv orig_pkg")
3935 self.pkg("update --parsable=0 orig_pkg")
3944 self.pkg("uninstall --parsable=0 \*")
3950 self.pkg("{0} --parsable=0 orig_pkg@1.0".format(install_cmd))
3953 self.pkg("update --parsable=0 orig_pkg")
3962 self.pkg("uninstall --parsable=0 \*")
3970 self.pkg("{0} --parsable=0 orig_pkg@1.0".format(install_cmd))
3973 self.pkg("update --parsable=0 orig_pkg")
3980 self.pkg("uninstall --parsable=0 \*")
3990 self.pkg("{0} --parsable=0 preserve@1.0".format(install_cmd))
3992 self.pkg("uninstall --parsable=0 preserve")
4001 self.pkg("{0} --parsable=0 preserve@1.0".format(install_cmd))
4004 self.pkg("uninstall --parsable=0 preserve")
4017 self.pkg("{0} renold@1".format(install_cmd))
4018 self.pkg("{0} renold@2".format(install_cmd))
4022 self.pkg("verify renold")
4023 self.pkg("uninstall renold")
4026 self.pkg("{0} renold@1".format(install_cmd))
4027 self.pkg("{0} renold@3".format(install_cmd))
4031 self.pkg("verify renold")
4032 self.pkg("uninstall renold")
4036 self.pkg("{0} renold@1".format(install_cmd))
4038 self.pkg("{0} --parsable=0 renold@3".format(install_cmd))
4048 self.pkg("verify renold")
4049 self.pkg("uninstall renold")
4053 self.pkg("{0} renold@1".format(install_cmd))
4055 self.pkg("{0} --parsable=0 renold@2".format(install_cmd))
4064 self.pkg("verify renold")
4065 self.pkg("uninstall renold")
4069 self.pkg("{0} renold@1".format(install_cmd))
4071 self.pkg("{0} --parsable=0 renold@2".format(install_cmd))
4075 self.pkg("verify renold")
4076 self.pkg("uninstall renold")
4088 self.pkg("{0} rennew@1".format(install_cmd))
4089 self.pkg("{0} --parsable=0 rennew@2".format(install_cmd))
4096 self.pkg("verify rennew")
4097 self.pkg("uninstall rennew")
4100 self.pkg("{0} rennew@1".format(install_cmd))
4101 self.pkg("{0} --parsable=0 rennew@3".format(install_cmd))
4108 self.pkg("verify rennew")
4109 self.pkg("uninstall rennew")
4113 self.pkg("{0} rennew@1".format(install_cmd))
4115 self.pkg("{0} --parsable=0 rennew@3".format(install_cmd))
4125 self.pkg("verify rennew")
4126 self.pkg("uninstall rennew")
4130 self.pkg("{0} rennew@1".format(install_cmd))
4132 self.pkg("{0} --parsable=0 rennew@2".format(install_cmd))
4142 self.pkg("verify rennew", exit=1)
4146 self.pkg("verify rennew")
4147 self.pkg("uninstall rennew")
4152 self.pkg("{0} rennew@1".format(install_cmd))
4154 self.pkg("{0} --parsable=0 rennew@2".format(install_cmd))
4160 self.pkg("verify rennew")
4161 self.pkg("uninstall rennew")
4181 self.pkg("{0} --parsable=0 preslegacy@1.0".format(install_cmd))
4192 self.pkg("update --parsable=0 preslegacy@2.0")
4203 self.pkg("update --parsable=0 preslegacy@3.0")
4214 self.pkg("verify -v preslegacy")
4218 self.pkg("revert testme")
4223 self.pkg("uninstall preslegacy")
4224 self.pkg("{0} --parsable=0 preslegacy@3.0".format(install_cmd))
4231 self.pkg("uninstall preslegacy")
4232 self.pkg("{0} --parsable=0 preslegacy@1.0".format(install_cmd))
4237 self.pkg("update --parsable=0")
4245 self.pkg("uninstall preslegacy")
4246 self.pkg("{0} --parsable=0 orig_preslegacy@1.0".format(install_cmd))
4251 self.pkg("update --parsable=0")
4276 self.pkg("{0} --parsable=0 presabandon@2".format(install_cmd))
4281 self.pkg("uninstall presabandon")
4285 self.pkg("{0} --parsable=0 presabandon@2".format(install_cmd))
4288 self.pkg("uninstall presabandon")
4295 self.pkg("{0} --parsable=0 presabandon@1".format(install_cmd))
4299 self.pkg("update --parsable=0 presabandon@2")
4304 self.pkg("uninstall --parsable=0 presabandon")
4311 self.pkg("{0} --parsable=0 presabandon@4".format(install_cmd))
4316 self.pkg("verify presabandon")
4317 self.pkg("update --parsable=0 presabandon@3")
4320 self.pkg("verify presabandon")
4321 self.pkg("uninstall --parsable=0 presabandon")
4325 self.pkg("{0} --parsable=0 presabandon@1".format(install_cmd))
4326 self.pkg("{0} --parsable=0 presabandon@3".format(install_cmd))
4329 self.pkg("uninstall --parsable=0 presabandon")
4331 self.pkg("install --parsable=0 presabandon@4")
4336 self.pkg("update --parsable=0 presabandon@2")
4339 self.pkg("verify presabandon")
4340 self.pkg("uninstall --parsable=0 presabandon")
4345 self.pkg("{0} --parsable=0 presabandon@1".format(install_cmd))
4347 self.pkg("{0} --parsable=0 presabandon@3".format(install_cmd))
4353 self.pkg("uninstall --parsable=0 presabandon")
4358 self.pkg("{0} --parsable=0 presabandon@4".format(install_cmd))
4361 self.pkg("update --parsable=0 presabandon@2")
4368 self.pkg("verify presabandon")
4369 self.pkg("uninstall --parsable=0 presabandon")
4374 self.pkg("{0} --parsable=0 presabandon@1".format(install_cmd))
4376 self.pkg("{0} --parsable=0 presabandon@2".format(install_cmd))
4382 self.pkg("verify presabandon")
4383 self.pkg("uninstall --parsable=0 presabandon")
4388 self.pkg("{0} --parsable=0 presabandon@4".format(install_cmd))
4390 self.pkg("update --parsable=0 presabandon@3")
4397 self.pkg("verify presabandon")
4398 self.pkg("uninstall --parsable=0 presabandon")
4404 self.pkg("{0} --parsable=0 presabandon@1".format(install_cmd))
4406 self.pkg("{0} --parsable=0 presabandon@2".format(install_cmd))
4409 self.pkg("uninstall --parsable=0 presabandon")
4414 self.pkg("{0} --parsable=0 presabandon@4".format(install_cmd))
4416 self.pkg("update --parsable=0 presabandon@3")
4422 self.pkg("uninstall --parsable=0 presabandon")
4427 self.pkg("{0} --parsable=0 presabandon@1".format(install_cmd))
4428 self.pkg("{0} --parsable=0 presabandon@2".format(install_cmd))
4430 self.pkg("verify -v presabandon")
4434 self.pkg("revert testme")
4453 self.pkg("install --parsable=0 presinstallonly@2")
4458 self.pkg("uninstall presinstallonly")
4466 self.pkg("install --parsable=0 presinstallonly@2")
4471 self.pkg("uninstall presinstallonly")
4476 self.pkg("install --parsable=0 presinstallonly@0")
4479 self.pkg("install --parsable=0 presinstallonly@2")
4484 self.pkg("uninstall presinstallonly")
4493 self.pkg("install --parsable=0 presinstallonly@1")
4497 self.pkg("update --parsable=0 presinstallonly@2")
4504 self.pkg("uninstall --parsable=0 presinstallonly")
4512 self.pkg("install --parsable=0 presinstallonly@4")
4517 self.pkg("verify presinstallonly")
4518 self.pkg("update --parsable=0 presinstallonly@3")
4523 self.pkg("verify presinstallonly")
4524 self.pkg("uninstall --parsable=0 presinstallonly")
4528 self.pkg("install --parsable=0 presinstallonly@1")
4529 self.pkg("install --parsable=0 presinstallonly@3")
4532 self.pkg("uninstall --parsable=0 presinstallonly")
4535 self.pkg("install --parsable=0 presinstallonly@4")
4540 self.pkg("update --parsable=0 presinstallonly@2")
4543 self.pkg("verify presinstallonly")
4544 self.pkg("uninstall --parsable=0 presinstallonly")
4550 self.pkg("install --parsable=0 presinstallonly@1")
4552 self.pkg("install --parsable=0 presinstallonly@3")
4558 self.pkg("uninstall --parsable=0 presinstallonly")
4564 self.pkg("install --parsable=0 presinstallonly@4")
4566 self.pkg("update --parsable=0 presinstallonly@2")
4573 self.pkg("verify presinstallonly")
4574 self.pkg("uninstall --parsable=0 presinstallonly")
4580 self.pkg("install --parsable=0 presinstallonly@1")
4582 self.pkg("install --parsable=0 presinstallonly@2")
4590 self.pkg("verify presinstallonly")
4591 self.pkg("uninstall --parsable=0 presinstallonly")
4597 self.pkg("install --parsable=0 presinstallonly@4")
4599 self.pkg("update --parsable=0 presinstallonly@3")
4608 self.pkg("verify presinstallonly")
4609 self.pkg("uninstall --parsable=0 presinstallonly")
4615 self.pkg("install --parsable=0 presinstallonly@1")
4617 self.pkg("install --parsable=0 presinstallonly@2")
4620 self.pkg("uninstall --parsable=0 presinstallonly")
4625 self.pkg("install --parsable=0 presinstallonly@4")
4627 self.pkg("update --parsable=0 presinstallonly@3")
4634 self.pkg("uninstall --parsable=0 presinstallonly")
4639 self.pkg("install --parsable=0 presinstallonly@1")
4640 self.pkg("install --parsable=0 presinstallonly@2")
4642 self.pkg("verify -v presinstallonly", exit=1)
4645 self.pkg("fix -v presinstallonly")
4651 self.pkg("revert testme")
4659 self.pkg("install salvage@1.0")
4663 self.pkg("update salvage")
4677 self.pkg("install salvage@1.0")
4680 self.pkg("update salvage@2.0")
4684 self.pkg("update")
4690 self.pkg("install salvage@1.0")
4692 self.pkg("update salvage@3.0")
4702 self.pkg("install salvage-special")
4710 self.pkg("uninstall salvage-special")
4726 self.pkg("install salvage-nested@1.0")
4741 self.pkg("update salvage-nested@1.1")
4744 self.pkg("update salvage-nested@2.0")
4773 self.pkg("install salvage-nested@1.1")
4778 self.pkg("update salvage-nested@2.0")
4785 self.pkg("install salvage-nested@1.1")
4786 self.pkg("update salvage-nested@2.0")
4794 self.pkg("install salvage-nested@1.1")
4804 self.pkg("update salvage-nested@3.0")
4815 self.pkg("install salvage-nested@1.1")
4825 self.pkg("update salvage-nested@4.0")
4834 def dest_file_valid(self, plist, pkg, src, dest):
4841 sfmri = pfmri.get_short_fmri().replace("pkg:/", "")
4843 if pkg != sfmri:
4866 self.pkg("install --parsable=0 linkpreserve@1.0")
4879 self.pkg("update --parsable=0 linkpreserve@2.0")
4888 self.pkg("uninstall linkpreserve")
4889 self.pkg("install linkpreserve@1.0")
4894 self.pkg("update --parsable=0 linkpreserve@2.0")
4914 self.pkg("install iron@1.0")
4915 self.pkg("contents -m iron")
4917 self.assertTrue(("pkg.content-hash=file:{0}".format(hash_alg) not in self.output))
4924 self.pkg("-D hash=sha1 update")
4930 self.pkg("install iron@2.0")
4931 self.pkg("contents -m iron")
4932 self.assertTrue("pkg.content-hash=file:{0}".format(hash_alg) in self.output)
4940 self.pkg("-D hash=sha1 update", exit=1)
4948 self.pkg("-D hash={0} update".format(hash_alg))
4949 self.pkg("contents -m iron")
4950 for attr in ["pkg.chash.{0}".format(hash_alg), "pkg.content-hash"]:
4975 a.attrs["pkg.content-hash"] = "gelf:sha512t_256:foo"
4980 # Test that pkgrecv, pkgrepo verify, pkg install and pkg verify
4986 self.pkg("install -v {0}".format(elf1))
4989 self.pkg("verify")
4993 a.attrs["pkg.content-hash"] = "file:sha512t_256:foo"
4997 # Test that pkgrecv, pkgrepo verify, pkg install complains about
5003 self.pkg("install -v {0}".format(elf1), exit=1)
5005 self.pkg("verify")
5093 add legacy category=system desc="GNU make - A utility used to build software (gmake) 3.81" hotline="Please contact your local service provider" name="gmake - GNU make" pkg=SUNWgmake vendor="Sun Microsystems, Inc." version=11.11.0,REV=2008.04.29.02.08
5113 add legacy category=system desc="core software for a specific instruction-set architecture" hotline="Please contact your local service provider" name="Core Solaris, (Usr)" pkg=SUNWcsu vendor="Oracle Corporation" version=11.11,REV=2009.11.11
5119 add legacy category=system desc="core software for a specific instruction-set architecture" hotline="Please contact your local service provider" name="Core Solaris, (Usr)" pkg=SUNWcsu vendor="Oracle Corporation" version=11.11,REV=2010.11.11
5125 add legacy category=system desc="core software for a specific instruction-set architecture" hotline="Please contact your local service provider" name="Core Solaris, (Usr)" pkg=SUNWcsu vendor="Oracle Corporation" version=11.11,REV=2009.11.11
5131 add legacy category=system desc="core software for a specific instruction-set architecture" hotline="Please contact your local service provider" name="Core Solaris, (Usr)" pkg=SUNWcsu vendor="Oracle Corporation" version=11.11,REV=2010.11.11
5137 add legacy category=system desc="core software for a specific instruction-set architecture" hotline="Please contact your local service provider" name="Core Solaris, (Usr)" pkg=SUNWcsu vendor="Oracle Corporation" version=11.11,REV=2009.11.11
5143 add legacy category=system desc="core software for a specific instruction-set architecture" hotline="Please contact your local service provider" name="Core Solaris, (Usr)" pkg=SUNWcsu vendor="Oracle Corporation" version=11.11,REV=2010.11.11
5218 add depend fmri=pkg:/basics@1.0 type=require
5225 add depend fmri=pkg:/basics@1.0 type=require
5227 add depend fmri=pkg:/grouptest@1.0 type=require
5228 add depend fmri=pkg:/basics@1.0 type=require
5235 add depend fmri=pkg:/basics@1.0 type=require
5237 add depend fmri=pkg:/grouptest@1.0 type=require
5238 add depend fmri=pkg:/basics@1.0 type=require
5250 add depend fmri=pkg:/basics@1.0 type=require
5251 add depend fmri=pkg:/basics1@1.0 type=require
5257 add depend fmri=pkg:/basics@1.0 type=require
5258 add depend fmri=pkg:/basics1@1.0 type=require
5259 add depend fmri=pkg:/grouptest@1.0 type=require
5343 self.pkg("list -a")
5344 self.pkg("list", exit=1)
5346 self.pkg("install basics")
5347 self.pkg("install basics1")
5349 self.pkg("list")
5350 self.pkg("verify")
5352 self.pkg("uninstall basics basics1")
5353 self.pkg("verify")
5361 self.pkg("list -a")
5362 self.pkg("list", exit=1)
5364 self.pkg("exact-install basics basics1")
5366 self.pkg("list")
5367 self.pkg("verify")
5369 self.pkg("uninstall basics basics1")
5370 self.pkg("verify")
5377 self.pkg("install basics")
5379 self.pkg("install basics1")
5381 self.pkg("install grouptest")
5382 self.pkg("verify -v")
5384 self.pkg("uninstall -vvv grouptest")
5385 self.pkg("verify -v")
5393 self.pkg("exact-install basics basics1")
5396 self.pkg("exact-install grouptest")
5397 self.pkg("verify")
5399 self.pkg("list basics1", exit=1)
5401 self.pkg("uninstall grouptest")
5402 self.pkg("verify")
5410 self.pkg("install basics")
5411 self.pkg("install basics1")
5415 self.pkg("install usertest")
5416 self.pkg("verify")
5419 self.pkg("contents -m usertest")
5422 self.pkg("refresh")
5423 self.pkg("install usertest")
5424 self.pkg("verify")
5425 self.pkg("contents -m usertest")
5427 self.pkg("uninstall usertest")
5428 self.pkg("verify")
5437 self.pkg("exact-install basics basics1")
5441 self.pkg("exact-install usertest")
5442 self.pkg("verify")
5443 self.pkg("list basics1", exit=1)
5444 self.pkg("contents -m usertest")
5449 self.pkg("refresh")
5450 self.pkg("exact-install usertest")
5451 self.pkg("verify")
5452 self.pkg("contents -m usertest")
5454 self.pkg("uninstall usertest")
5455 self.pkg("verify")
5466 self.pkg("install system/action/user")
5467 self.pkg("verify")
5471 self.pkg("install singleuser", exit=1)
5480 self.pkg("exact-install basics")
5481 self.pkg("verify")
5485 self.pkg("exact-install basics singleuser")
5509 self.pkg("install basics")
5513 self.pkg("install notftpuser")
5517 self.pkg("verify notftpuser")
5521 self.pkg("install ftpuserexp")
5524 self.pkg("verify ftpuserexp")
5528 self.pkg("install ftpuserimp")
5531 self.pkg("verify ftpuserimp")
5536 self.pkg("uninstall notftpuser")
5539 self.pkg("install notftpuser")
5542 self.pkg("verify notftpuser")
5547 self.pkg("uninstall ftpuserexp")
5550 self.pkg("install ftpuserexp")
5553 self.pkg("verify ftpuserexp")
5558 self.pkg("uninstall ftpuserimp")
5561 self.pkg("install ftpuserimp")
5564 self.pkg("verify ftpuserimp")
5581 self.pkg("install basics")
5582 self.pkg("install simplegroup")
5583 self.pkg("verify simplegroup")
5593 self.pkg("verify simplegroup")
5594 self.pkg("uninstall simplegroup")
5595 self.pkg("verify")
5599 self.pkg("install simplegroup simplegroup2")
5600 self.pkg("verify")
5604 self.pkg("uninstall simple*")
5605 self.pkg("install simplegroup2 simplegroup")
5627 self.pkg("install basics")
5634 self.pkg("verify")
5636 self.pkg("install simplegroup@0")
5637 self.pkg("verify simplegroup")
5639 self.pkg("install simplegroup@1")
5640 self.pkg("verify simplegroup")
5648 self.pkg("update simplegroup")
5649 self.pkg("verify simplegroup")
5673 self.pkg("install basics")
5676 self.pkg("install missing_group@1", exit=1)
5678 self.pkg("install missing_owner@1", exit=1)
5680 self.pkg("install muppetsuser@1", exit=1)
5682 self.pkg("install muppetsgroup")
5684 self.pkg("install muppetsuser@2")
5685 self.pkg("install missing_group@1")
5686 self.pkg("install missing_owner@1")
5687 self.pkg("verify")
5697 self.pkg("verify muppetsgroup", 1)
5698 self.pkg("verify muppetsuser", 1)
5699 self.pkg("fix muppetsgroup", 0)
5700 self.pkg("verify muppetsgroup muppetsuser missing*")
5701 self.pkg("uninstall missing*")
5706 self.pkg("install missing_group@1", 1)
5707 self.pkg("fix muppetsgroup")
5708 self.pkg("install missing_group@1")
5709 self.pkg("install missing_owner@1")
5710 self.pkg("verify muppetsgroup muppetsuser missing*")
5736 self.pkg("install basics")
5737 self.pkg("install simpleuser")
5738 self.pkg("verify simpleuser")
5754 self.pkg("verify simpleuser", exit=1)
5756 self.pkg("fix simpleuser")
5757 self.pkg("verify simpleuser")
5763 self.pkg("verify simpleuser", exit=1)
5765 self.pkg("fix simpleuser")
5766 self.pkg("verify simpleuser")
5773 self.pkg("verify simpleuser", exit=1)
5775 self.pkg("fix simpleuser")
5776 self.pkg("verify simpleuser")
5787 self.pkg("verify simpleuser", exit=1)
5790 self.pkg("fix simpleuser")
5791 self.pkg("verify simpleuser")
5800 self.pkg("verify simpleuser", exit=1)
5802 self.pkg("fix simpleuser")
5803 self.pkg("verify simpleuser")
5809 self.pkg("verify simpleuser", exit=1)
5811 self.pkg("fix simpleuser")
5812 self.pkg("verify simpleuser")
5818 self.pkg("verify simpleuser", exit=1)
5820 self.pkg("fix simpleuser")
5821 self.pkg("verify simpleuser")
5827 self.pkg("verify simpleuser", exit=1)
5831 self.pkg("fix simpleuser")
5832 self.pkg("verify simpleuser")
5841 self.pkg("verify simpleuser", exit=1)
5843 self.pkg("fix simpleuser")
5844 self.pkg("verify simpleuser")
5847 self.pkg("verify simpleuser")
5851 self.pkg("verify simpleuser", exit=1)
5853 self.pkg("fix simpleuser")
5854 self.pkg("verify simpleuser")
5858 self.pkg("install --reject simpleuser simpleuser2@1")
5859 self.pkg("verify simpleuser2")
5867 self.pkg("verify simpleuser2")
5871 self.pkg("update simpleuser2@2")
5872 self.pkg("verify simpleuser2")
5879 self.pkg("uninstall simpleuser2")
5880 self.pkg("install simpleuser simpleuser2")
5886 self.pkg("uninstall simpleuser simpleuser2")
5887 self.pkg("install simpleuser2 simpleuser")
5894 self.pkg("install simpleuser3@1")
5895 self.pkg("verify simpleuser3")
5904 self.pkg("verify simpleuser3", exit=1)
5910 self.pkg("verify simpleuser3")
5921 self.pkg("verify simpleuser3", exit=1)
5923 # upgrade pkg so shell change is ok
5924 self.pkg("update simpleuser3")
5932 self.pkg("verify simpleuser3")
5946 self.pkg("install basics")
5948 self.pkg("install ugidtest")
5950 self.pkg("exact-install basics ugidtest")
5976 self.pkg("install basics@1.0")
5977 self.pkg("{0} basics1@1.0".format(install_cmd))
5978 self.pkg("{0} silver@1.0".format(install_cmd))
5979 self.pkg("list silver@1.0")
5980 self.pkg("verify -v")
5981 self.pkg("{0} silver@2.0".format(install_cmd))
5982 self.pkg("verify -v")
6001 self.pkg("install basics")
6009 self.pkg("{0} singleuser".format(install_cmd))
6011 self.pkg("{0} basics singleuser".format(install_cmd))
6015 self.pkg("uninstall singleuser")
6020 self.pkg("uninstall '*'")
6032 self.pkg("install basics@1.0")
6041 self.pkg("install only_user@1.0")
6043 self.pkg("exact-install basics@1.0 only_user@1.0")
6050 invalid_name = "invalid{0}pkg@1.0,5.11-0".format(char)
6062 invalid_name = "invalid/{0}pkg@1.0,5.11-0".format(char)
6070 valid_name = "{0}valid{1}/{2}pkg{3}@1.0,5.11-0".format(char,
6076 valid_name = "v{0}alid{1}pkg@1.0,5.11-0".format(char, char)
6117 self.pkg("install devlinktest@1.0")
6118 self.pkg("verify -v")
6129 self.pkg("{0} devlinktest@2.0".format(install_cmd))
6130 self.pkg("verify -v")
6141 self.pkg("uninstall devlinktest")
6142 self.pkg("verify -v")
6145 self.pkg("install devlinktest@1.0")
6155 self.pkg("{0} devlinktest@2.0".format(install_cmd))
6167 self.pkg("uninstall devlinktest")
6173 self.pkg("install devlinktest@1.0")
6183 self.pkg("uninstall devlinktest")
6198 self.pkg("install devlinktest@1.0")
6209 self.pkg("{0} devlinktest@2.0".format(install_cmd))
6231 self.pkg("{0} devicebase devalias@1".format(install_cmd))
6232 self.pkg("update devalias")
6233 self.pkg("verify devalias")
6257 self.pkg("{0} devicebase devaliasmove@1".format(install_cmd))
6258 self.pkg("update devaliasmove")
6285 self.pkg(cmd + ["foo"], exit=exit)
6287 self.pkg(cmd + ["devicebase"], exit=exit)
6289 self.pkg(cmd + ["basics"], exit=exit)
6291 self.pkg(cmd + ["only_file"], exit=exit)
6294 self.pkg(cmd + ["basics"], exit=exit)
6295 self.pkg(cmd + ["only_group"],
6298 self.pkg(cmd + ["only_group"],
6300 self.pkg(cmd + ["basics"], exit=exit)
6305 self.pkg(["install", "--no-refresh", pname],
6307 self.pkg(["install", pname], su_wrap=True,
6309 self.pkg(["install", "--no-refresh", pname])
6310 self.pkg(["uninstall", pname], su_wrap=True,
6312 self.pkg(["uninstall", pname])
6319 self.pkg(["install", "--no-refresh", pname])
6328 self.pkg(["update", "--no-refresh"], su_wrap=True, exit=1)
6330 self.pkg(["refresh"])
6331 self.pkg(["update"], su_wrap=True, exit=1)
6334 self.pkg(["refresh", "--full"], su_wrap=True, exit=1)
6335 self.pkg(["refresh", "--full"])
6336 self.pkg(["update", "--no-refresh"], su_wrap=True,
6338 self.pkg(["update"])
6351 self.pkg("install basics")
6363 self.pkg("install {0}".format(pname))
6364 self.pkg("verify")
6368 self.pkg("uninstall {0}".format(pname))
6369 self.pkg("verify")
6384 self.pkg("{0} badhardlink1".format(install_cmd), exit=1)
6389 self.pkg("{0} badhardlink2".format(install_cmd))
6400 self.pkg("install csu1@1 csu2@1 csu3@1")
6404 vsp = self.get_img_file_path("var/sadm/pkg")
6419 self.pkg("update")
6425 self.pkg("uninstall -vvv \*")
6426 self.pkg("install csu1@1 csu2@1 csu3@1")
6429 self.pkg("update")
6441 add depend type=optional fmri=pkg:/pkg2
6452 add depend type=optional fmri=pkg:/pkg2@1.1
6463 add depend type=require fmri=pkg:/pkg1@1.1
6469 add depend type=exclude fmri=pkg:/pkg1@1.1
6475 add depend type=exclude fmri=pkg:/pkg1@1.1
6476 add depend type=require fmri=pkg:/pkg1@1.0
6482 add depend type=exclude fmri=pkg:/pkg1@1.1
6483 add depend type=require fmri=pkg:/pkg1@1.0
6488 add depend type=exclude fmri=pkg:/pkg1@1.1
6489 add depend type=exclude fmri=pkg:/pkg2
6490 add depend type=require fmri=pkg:/pkg1@1.0
6495 add depend type=exclude fmri=pkg:/pkg1@1.1
6539 add depend type=conditional predicate=pkg:/pkg2@1.1 fmri=pkg:/pkg6@1.1
6545 add depend type=require-any fmri=pkg:/pkg9@1.0 fmri=pkg:/pkg2@1.1 fmri=pkg:/nonsuch
6551 add depend type=require-any fmri=pkg:/pkg9@1.1 fmri=pkg:/pkg2@1.1 fmri=pkg:/nonsuch
6596 pkg.actions.depend.DEPEND_SELF)
6605 pkg.actions.depend.DEPEND_SELF)
6614 pkg.actions.depend.DEPEND_SELF)
6633 open pkg-nosol-A@1.0,5.11-0
6634 add depend type=require-any fmri=pkg:/pkg-nosol-B fmri=pkg:/pkg-nosol-C
6635 add depend type=require fmri=pkg:/pkg-nosol-D
6637 open pkg-nosol-B@1.0,5.11-0
6638 add depend type=incorporate fmri=pkg:/pkg-nosol-E@2.0
6640 open pkg-nosol-C@1.0,5.11-0
6641 add depend type=incorporate fmri=pkg:/pkg-nosol-E@2.0
6643 open pkg-nosol-D@1.0,5.11-0
6644 add depend type=incorporate fmri=pkg:/pkg-nosol-E@1.0
6646 open pkg-nosol-E@1.0,5.11-0
6648 open pkg-nosol-E@2.0,5.11-0
6657 add set name=pkg.renamed value=true
6658 add depend type=require fmri=pkg:/pkg_bar
6663 add set name=pkg.renamed value=true
6676 open pkg{0}{1}@{2},5.11-0
6677 add depend type=require fmri=pkg:/{3}_incorp{4}
6680 install_hold = "add set name=pkg.depend.install-hold value=test"
6726 add depend type=incorporate fmri=pkg:/pkgA_0@1.0
6727 add depend type=incorporate fmri=pkg:/pkgA_1@1.0
6728 add depend type=incorporate fmri=pkg:/pkgA_2@1.0
6729 add depend type=incorporate fmri=pkg:/pkgA_3@1.0
6735 add depend type=incorporate fmri=pkg:/pkgB_0@1.0
6736 add depend type=incorporate fmri=pkg:/pkgB_1@1.0
6737 add depend type=incorporate fmri=pkg:/pkgB_2@1.0
6738 add depend type=incorporate fmri=pkg:/pkgB_3@1.0
6744 add depend type=incorporate fmri=pkg:/pkgA_0@1.1
6745 add depend type=incorporate fmri=pkg:/pkgA_1@1.1
6746 add depend type=incorporate fmri=pkg:/pkgA_2@1.1
6747 add depend type=incorporate fmri=pkg:/pkgA_3@1.1
6748 add set name=pkg.depend.install-hold value=test
6754 add depend type=incorporate fmri=pkg:/pkgB_0@1.1
6755 add depend type=incorporate fmri=pkg:/pkgB_1@1.1
6756 add depend type=incorporate fmri=pkg:/pkgB_2@1.1
6757 add depend type=incorporate fmri=pkg:/pkgB_3@1.1
6758 add set name=pkg.depend.install-hold value=test
6764 add depend type=incorporate fmri=pkg:/pkgA_0@1.2
6765 add depend type=incorporate fmri=pkg:/pkgA_1@1.2
6766 add depend type=incorporate fmri=pkg:/pkgA_2@1.2
6767 add depend type=incorporate fmri=pkg:/pkgA_3@1.2
6768 add set name=pkg.depend.install-hold value=test.A
6774 add depend type=incorporate fmri=pkg:/pkgB_0@1.2
6775 add depend type=incorporate fmri=pkg:/pkgB_1@1.2
6776 add depend type=incorporate fmri=pkg:/pkgB_2@1.2
6777 add depend type=incorporate fmri=pkg:/pkgB_3@1.2
6778 add set name=pkg.depend.install-hold value=test.B
6784 add depend type=incorporate fmri=pkg:/pkgA_0@1.3
6785 add depend type=incorporate fmri=pkg:/pkgA_1@1.3
6786 add depend type=incorporate fmri=pkg:/pkgA_2@1.3
6787 add depend type=incorporate fmri=pkg:/pkgA_3@1.3
6788 add set name=pkg.depend.install-hold value=test.A
6794 add depend type=incorporate fmri=pkg:/pkgB_0@1.3
6795 add depend type=incorporate fmri=pkg:/pkgB_1@1.3
6796 add depend type=incorporate fmri=pkg:/pkgB_2@1.3
6797 add depend type=incorporate fmri=pkg:/pkgB_3@1.3
6798 add set name=pkg.depend.install-hold value=test.B
6804 add depend type=incorporate fmri=pkg:/A_incorp@1.0
6805 add depend type=incorporate fmri=pkg:/B_incorp@1.0
6806 add set name=pkg.depend.install-hold value=test
6812 add depend type=incorporate fmri=pkg:/A_incorp@1.1
6813 add depend type=incorporate fmri=pkg:/B_incorp@1.1
6814 add set name=pkg.depend.install-hold value=test
6820 add depend type=incorporate fmri=pkg:/A_incorp@1.2
6821 add depend type=incorporate fmri=pkg:/B_incorp@1.2
6822 add set name=pkg.depend.install-hold value=test
6827 add depend type=incorporate fmri=pkg:/A_incorp@1.3
6828 add depend type=exclude fmri=pkg:/pkgB_0
6829 add set name=pkg.depend.install-hold value=test
6836 add depend type=incorporate fmri=pkg:/pkg1@2.0
6901 self.pkg("{0} trusted".format(install_cmd))
6902 self.pkg("info system/trusted")
6912 self.pkg("install pkg1@1.0")
6913 self.pkg("verify pkg1@1.0")
6914 self.pkg("{0} pkg3@1.0".format(install_cmd))
6915 self.pkg("verify pkg3@1.0 pkg1@1.1")
6926 self.pkg("install network/rsync gold-server my-rsync", exit=1)
6928 self.pkg("install network/rsync")
6929 self.pkg("install gold-server my-rsync", exit=1)
6930 self.pkg("uninstall '*'")
6934 self.pkg("avoid network/rsync")
6935 self.pkg("install -nv gold-server my-rsync")
6939 self.pkg("install network/rsync")
6943 self.pkg("install --reject network/rsync gold-server my-rsync")
6946 self.pkg("uninstall gold-server")
6947 self.pkg("unavoid network/rsync")
6951 self.pkg("install gold-server", exit=1)
6957 # install pkg w/ exclude dep.
6958 self.pkg("install pkg4@1.0")
6959 self.pkg("verify pkg4@1.0")
6960 # install pkg that is allowed by dep
6961 self.pkg("install pkg1@1.0")
6962 self.pkg("verify pkg1@1.0")
6963 # try to install disallowed pkg
6964 self.pkg("install pkg1@1.1", exit=1)
6965 self.pkg("uninstall '*'")
6966 # install pkg
6967 self.pkg("install pkg1@1.1")
6968 # try to install pkg exclude dep on already
6969 # installed pkg
6970 self.pkg("install pkg4@1.0", exit=1)
6971 self.pkg("uninstall '*'")
6974 self.pkg("install pkg5")
6975 self.pkg("verify pkg5@1.1 pkg1@1.0 ")
6976 self.pkg("uninstall '*'")
6977 # pick pkg to install that fits constraint
6978 # of already installed pkg
6979 self.pkg("install pkg2")
6980 self.pkg("install pkg5")
6981 self.pkg("verify pkg5@1.0.5 pkg1@1.0 pkg2")
6982 self.pkg("uninstall '*'")
6986 self.pkg("install pkg6@1.0")
6987 self.pkg("install pkg1@1.1")
6988 self.pkg("verify pkg1@1.1 pkg6@1.1")
6989 self.pkg("uninstall '*'")
6991 self.pkg("install pkg1@1.1 pkg4@1.0", exit=1)
6997 # Install pkg w/ exclude dep.
6998 self.pkg("install pkg4@1.0")
6999 self.pkg("verify pkg4@1.0")
7002 # except user specifies both pkg name in command line.
7003 self.pkg("exact-install pkg1@1.1")
7004 self.pkg("uninstall '*'")
7008 self.pkg("exact-install pkg5")
7009 self.pkg("verify pkg5@1.1 pkg1@1.0 ")
7010 self.pkg("uninstall '*'")
7011 # pick pkg to exact-install that fits constraint.
7012 self.pkg("exact-install pkg2 pkg5")
7013 self.pkg("verify pkg5@1.0.5 pkg1@1.0 pkg2")
7014 self.pkg("uninstall '*'")
7017 self.pkg("exact-install pkg6 pkg1@1.1")
7018 self.pkg("verify pkg1@1.1 pkg6@1.1")
7019 self.pkg("uninstall '*'")
7021 self.pkg("exact-install pkg1@1.1 pkg4@1.0", exit=1)
7028 self.pkg("install pkg1@1.0")
7031 self.pkg("list pkg2", exit=1)
7033 self.pkg("install pkg2@1.0")
7036 self.pkg("install pkg1")
7037 self.pkg("list pkg2@1.1")
7039 self.pkg("uninstall pkg2")
7040 self.pkg("list pkg2", exit=1)
7043 self.pkg("list pkg1@1.1")
7044 self.pkg("install pkg2@1.0", exit=1)
7051 self.pkg("exact-install pkg1@1.0")
7054 self.pkg("list pkg2", exit=1)
7056 self.pkg("install pkg2@1.1")
7060 self.pkg("exact-install pkg1")
7061 self.pkg("list pkg2@1.1", exit=1)
7062 self.pkg("list pkg1@1.1")
7066 self.pkg("exact-install pkg2@1.0")
7067 self.pkg("list pkg1", exit=1)
7073 # simple pkg requiring controlling incorp
7075 self.pkg("install -v pkgA_0@1.0 pkgA_1")
7076 self.pkg("list")
7077 self.pkg("verify pkgA_0@1.0 pkgA_1@1.0 A_incorp@1.0")
7078 self.pkg("install A_incorp@1.1")
7079 self.pkg("list pkgA_0@1.1 pkgA_1@1.1 A_incorp@1.1")
7080 self.pkg("uninstall '*'")
7082 self.pkg("install -v incorp@1.0 pkgA_0 pkgB_0")
7083 self.pkg("list")
7084 self.pkg("list incorp@1.0 pkgA_0@1.0 pkgB_0@1.0 A_incorp@1.0 B_incorp@1.0")
7086 self.pkg("install -v A_incorp@1.1", exit=1) # fixed by incorp@1.0
7089 self.pkg("update -v '*'")
7090 self.pkg("list incorp@1.2")
7091 self.pkg("list pkgA_0@1.2")
7092 self.pkg("list pkgB_0@1.2")
7093 self.pkg("list A_incorp@1.2")
7094 self.pkg("list B_incorp@1.2")
7095 self.pkg("uninstall '*'")
7098 self.pkg("install bug_7394_incorp")
7099 self.pkg("install pkg1", exit=1)
7100 self.pkg("uninstall '*'")
7101 # test pkg.depend.install-hold feature
7102 self.pkg("install -v A_incorp@1.1 pkgA_1")
7103 self.pkg("list pkgA_1@1.1")
7104 self.pkg("list A_incorp@1.1")
7106 # even though explicit dependency exists from pkg to
7108 self.pkg("install pkgA_1@1.2", exit=1)
7110 # causes relaxation of pkg.depend.install-hold and also test
7112 self.pkg("install -n --parsable=0 A_incorp@1.2 pkgA_1@1.2")
7116 # this attempt also succeeds because pkg.depend.install-hold is
7118 self.pkg("install A_incorp@1.2")
7119 self.pkg("list pkgA_1@1.2")
7120 self.pkg("list A_incorp@1.2")
7122 # prevents upgrade since pkg.depend.install-hold of master != other incorps
7123 self.pkg("install incorp@1.2")
7124 self.pkg("install A_incorp@1.3", exit=1)
7125 self.pkg("install incorp@1.3")
7126 self.pkg("list pkgA_1@1.3")
7127 self.pkg("list A_incorp@1.3")
7133 # Simple pkg requiring controlling incorp
7135 self.pkg("exact-install -v pkgA_0@1.0 pkgA_1")
7136 self.pkg("list")
7137 self.pkg("verify pkgA_0@1.0 pkgA_1@1.0 A_incorp@1.0")
7141 self.pkg("exact-install pkgA_0@1.1")
7142 self.pkg("list pkgA_0@1.1 A_incorp@1.1")
7143 self.pkg("uninstall '*'")
7146 self.pkg("exact-install -v incorp@1.0 pkgA_0 pkgB_0")
7147 self.pkg("list incorp@1.0 pkgA_0@1.0 pkgB_0@1.0 A_incorp@1.0 B_incorp@1.0")
7149 self.pkg("exact-install -v incorp@1.0 A_incorp@1.1", exit=1) # fixed by incorp@1.0
7153 self.pkg("exact-install -v A_incorp@1.1")
7154 self.pkg("list A_incorp@1.1")
7155 self.pkg("uninstall '*'")
7158 self.pkg("exact-install pkg1 bug_7394_incorp", exit=1)
7159 # test pkg.depend.install-hold feature.
7160 self.pkg("exact-install -v A_incorp@1.1 pkgA_1")
7161 self.pkg("list pkgA_1@1.1")
7162 self.pkg("list A_incorp@1.1")
7167 self.pkg("install pkg7@1.0")
7168 self.pkg("verify")
7169 self.pkg("list pkg6@1.1", exit=1) # should not be here
7170 self.pkg("install -v pkg2@1.0") # older version...
7171 self.pkg("verify")
7172 self.pkg("list pkg6@1.1", exit=1)
7173 self.pkg("install -v pkg2@1.1") # this triggers conditional dependency
7174 self.pkg("verify")
7175 self.pkg("list pkg6@1.1 pkg2@1.1 pkg7@1.0") # everyone is present
7176 self.pkg("uninstall '*'")
7178 self.pkg("install pkg2@1.1") # install trigger
7179 self.pkg("verify")
7180 self.pkg("install pkg7@1.0") # install pkg
7181 self.pkg("list pkg6@1.1 pkg2@1.1 pkg7@1.0") # all here again
7182 self.pkg("verify")
7183 self.pkg("uninstall '*'")
7186 self.pkg("install osnet-incorporation@1.0 sun-solaris "
7190 self.pkg("uninstall sun-solaris-510", exit=1)
7193 self.pkg("uninstall perl-510 sun-solaris-510")
7194 self.pkg("install perl-510")
7196 self.pkg("update --reject perl-510 --reject sun-solaris-510")
7197 self.pkg("uninstall '*'")
7202 self.pkg("install -v entire osnet-incorporation@1.1 "
7208 self.pkg("uninstall -v entire")
7216 self.pkg("exact-install -v pkg7@1.0 pkg2@1.1")
7217 self.pkg("verify")
7218 self.pkg("list pkg6@1.1 pkg2@1.1 pkg7@1.0")
7219 self.pkg("uninstall '*'")
7223 self.pkg("install pkg2@1.1")
7224 self.pkg("verify")
7225 self.pkg("exact-install pkg7@1.0")
7226 self.pkg("list pkg7@1.0")
7227 self.pkg("list pkg2@1.1", exit=1)
7228 self.pkg("list pkg6@1.1", exit=1)
7229 self.pkg("verify")
7230 self.pkg("uninstall '*'")
7238 self.pkg("install -vvv pkg-nosol-A pkg-nosol-E",
7242 self.pkg("install pkg8@1.0") # install pkg
7243 self.pkg("verify")
7244 self.pkg("list pkg8@1.0 pkg9@1.0 pkg2@1.1", exit=3)
7245 self.pkg("uninstall '*'")
7249 self.pkg("install pkg:/pkg2@1.1")
7250 self.pkg("install pkg_need_rename")
7251 self.pkg("install pkg8@1.0")
7252 self.pkg("verify")
7253 self.pkg("list pkg8@1.0 pkg2@1.1")
7254 self.pkg("uninstall '*'")
7258 self.pkg("install pkg8@1.0 pkg9@1.0") # install pkg
7259 self.pkg("verify")
7260 self.pkg("list pkg8@1.0 pkg9@1.0")
7261 self.pkg("list pkg2@1.1", exit=1)
7262 self.pkg("install pkg8 pkg9") # will fail w/o pkg9 on list
7263 self.pkg("verify")
7264 self.pkg("list pkg8@1.1 pkg9@1.1")
7265 self.pkg("uninstall '*'")
7268 self.pkg("install pkg8@1.0 pkg9@1.0") # install pkg
7269 self.pkg("update")
7270 self.pkg("list pkg8@1.1 pkg9@1.1")
7271 self.pkg("uninstall '*'")
7274 self.pkg("install pkg8@1.0 pkg9@1.0") # install pkg
7275 self.pkg("verify")
7276 self.pkg("list pkg8@1.0 pkg9@1.0")
7277 self.pkg("uninstall pkg9@1.0")
7278 self.pkg("list pkg2@1.1")
7279 self.pkg("verify")
7287 self.pkg("exact-install -v pkg-nosol-A pkg-nosol-E",
7291 self.pkg("exact-install pkg8@1.0")
7292 self.pkg("verify")
7293 self.pkg("list pkg8@1.0 pkg9@1.0 pkg2@1.1", exit=3)
7294 self.pkg("uninstall '*'")
7298 self.pkg("exact-install pkg:/pkg2@1.1 pkg_need_rename "
7300 self.pkg("verify")
7301 self.pkg("list pkg8@1.0 pkg2@1.1")
7302 self.pkg("uninstall '*'")
7306 self.pkg("exact-install pkg8@1.0 pkg9@1.0") # install pkg
7307 self.pkg("verify")
7308 self.pkg("list pkg8@1.0 pkg9@1.0")
7309 self.pkg("list pkg2@1.1", exit=1)
7310 self.pkg("exact-install pkg8 pkg9")
7311 self.pkg("verify")
7312 self.pkg("list pkg8@1.1 pkg9@1.1")
7313 self.pkg("list pkg2@1.1", exit=1)
7314 self.pkg("uninstall '*'")
7329 self.pkg("{0} pkg10@1.0".format(install_cmd))
7330 self.pkg("{0} pkg10".format(install_cmd))
7331 self.pkg("list pkg10@1.1")
7332 self.pkg("{0} pkg10".format(install_cmd))
7333 self.pkg("list pkg10@1.2")
7334 self.pkg("uninstall '*'")
7336 self.pkg("install pkg10@1.0")
7337 self.pkg("update")
7338 self.pkg("list pkg10@1.1")
7339 self.pkg("update")
7340 self.pkg("list pkg10@1.2")
7341 self.pkg("uninstall '*'")
7344 self.pkg("{0} pkg10@1.2".format(install_cmd))
7345 self.pkg("uninstall '*'")
7347 self.pkg("{0} pkg10@1.0".format(install_cmd))
7348 self.pkg("{0} pkg10@1.2".format(install_cmd), exit=1)
7349 self.pkg("{0} pkg10@1.1".format(install_cmd))
7350 self.pkg("{0} pkg10@1.2".format(install_cmd))
7351 self.pkg("uninstall '*'")
7355 self.pkg("{0} SUNWcs@0.5.11-0.75".format(install_cmd))
7358 self.pkg("-D simulate_live_root={0} {1} pkg11@1.0".format(
7360 self.pkg("-D simulate_live_root={0} {1} pkg11@1.1".format(
7362 self.pkg("uninstall '*'")
7375 self.pkg("attach-linked -p system:img1 {0}".format(self.img_path(0)))
7379 self.pkg("{0} pkg12@1.2".format(install_cmd), exit=EXIT_OOPS)
7380 self.pkg("{0} pkg13@1.2".format(install_cmd), exit=EXIT_OOPS)
7381 self.pkg("{0} pkg14@1.2".format(install_cmd), exit=EXIT_OOPS)
7385 self.pkg("install pkg12@1.1")
7390 self.pkg("{0} pkg12@1.2".format(install_cmd), exit=EXIT_OOPS)
7391 self.pkg("{0} pkg13@1.2".format(install_cmd), exit=EXIT_OOPS)
7392 self.pkg("{0} pkg14@1.2".format(install_cmd), exit=EXIT_OOPS)
7396 self.pkg("{0} pkg12@1.3".format(install_cmd))
7401 self.pkg("{0} pkg12@1.2".format(install_cmd), exit=EXIT_OOPS)
7402 self.pkg("{0} pkg13@1.2".format(install_cmd), exit=EXIT_OOPS)
7403 self.pkg("{0} pkg14@1.2".format(install_cmd), exit=EXIT_OOPS)
7407 self.pkg("update pkg12@1.2")
7411 self.pkg("{0} pkg14@1.2".format(install_cmd), exit=EXIT_OOPS)
7414 self.pkg("{0} pkg12@1.2".format(install_cmd))
7415 self.pkg("verify")
7416 self.pkg("uninstall pkg12@1.2")
7417 self.pkg("{0} pkg13@1.2".format(install_cmd))
7418 self.pkg("verify")
7419 self.pkg("uninstall pkg13@1.2")
7424 self.pkg("install pkg13@1.2")
7426 self.pkg("exact-install pkg12@1.2 pkg13@1.2")
7431 self.pkg("{0} pkg14@1.2".format(install_cmd))
7432 self.pkg("verify")
7433 self.pkg("uninstall pkg14@1.2")
7441 self.pkg("install desktop-incorporation")
7442 self.pkg("install -n multi-user-desktop@latest libotr@latest "
7448 self.assertFalse("pkg://test/consolidation/desktop/desktop-incorporation" in self.errout)
7450 self.assertTrue("pkg://test/communication/im/libotr" in self.errout)
7451 self.assertTrue("pkg://test/group/feature/multi-user-desktop" in self.errout)
7576 self.pkg("set-publisher -O " + self.rurl2 + " test2")
7579 self.pkg("list -a")
7582 self.pkg("install moo")
7584 self.pkg("list")
7585 self.pkg("uninstall moo")
7588 self.pkg("install bar")
7590 self.pkg("list")
7592 self.pkg("uninstall bar")
7597 self.pkg("install foo")
7599 self.pkg("list pkg://test1/foo")
7601 self.pkg("uninstall foo")
7605 self.pkg("install pkg://test1/foo")
7606 self.pkg("list foo")
7607 self.pkg("list pkg://test1/foo")
7608 self.pkg("uninstall foo")
7612 self.pkg("install pkg://test2/foo")
7613 self.pkg("list foo")
7614 self.pkg("list pkg://test2/foo")
7615 self.pkg("uninstall foo")
7621 self.pkg("list -a upgrade-p")
7622 self.pkg("install upgrade-p@1.0")
7623 self.pkg("install upgrade-p@1.1", exit=1)
7624 self.pkg("install pkg://test2/upgrade-p@1.1")
7625 self.pkg("uninstall upgrade-p")
7631 self.pkg("list -a upgrade-np")
7632 self.pkg("install upgrade-np@1.0")
7633 self.pkg("install upgrade-np@1.1", exit=1)
7634 self.pkg("install pkg://test1/upgrade-np@1.1")
7635 self.pkg("uninstall upgrade-np")
7643 self.pkg("list -a upgrade-p incorp-p")
7644 self.pkg("install incorp-p@1.0")
7645 self.pkg("install upgrade-p")
7646 self.pkg("install incorp-p@1.1", exit=1)
7647 self.pkg("install incorp-p@1.1 pkg://test2/upgrade-p@1.1")
7648 self.pkg("list upgrade-p@1.1")
7649 self.pkg("uninstall '*'")
7656 self.pkg("list", exit=1)
7657 self.pkg("list -a upgrade-np incorp-np")
7658 self.pkg("install incorp-np@1.0")
7659 self.pkg("install upgrade-np", exit=1)
7660 self.pkg("uninstall '*'")
7668 self.pkg("set-publisher --no-refresh -O http://test.invalid7 "
7672 self.pkg("list", exit=1)
7676 self.pkg("install moo")
7677 self.pkg("uninstall moo")
7682 self.pkg("install --no-refresh moo")
7684 self.pkg("uninstall moo")
7687 self.pkg("set-publisher -O {0} test2".format(self.rurl2))
7691 self.pkg("install upgrade-np@1.0")
7694 self.pkg("set-publisher --no-refresh -O http://test.invalid7 "
7699 self.pkg("set-publisher -O {0} test2".format(self.rurl4))
7704 self.pkg("update --no-refresh")
7707 self.pkg("uninstall upgrade-np")
7708 self.pkg("set-publisher --no-refresh -O {0} test1".format(self.rurl1))
7709 self.pkg("set-publisher -O {0} test2".format(self.rurl2))
7714 self.pkg("install foo")
7715 self.pkg("uninstall pkg://test2/foo", exit=1)
7718 self.pkg("uninstall pkg://test1/foo")
7725 self.pkg("install quux@1.0")
7726 self.pkg("set-publisher -P test2")
7727 self.pkg("unset-publisher test1")
7728 self.pkg("list -avf")
7733 self.pkg("install quux@1.0", exit=4)
7737 self.pkg("update", exit=4)
7743 self.pkg("set-publisher -O {0} test1".format(self.rurl6))
7744 self.pkg("install quux@1.0", exit=4)
7745 self.pkg("info quux@1.0")
7746 self.pkg("unset-publisher test1")
7753 self.pkg("set-publisher -O {0} test3".format(self.rurl7))
7754 self.pkg("set-publisher -O {0} test1".format(self.rurl6))
7755 self.pkg("info -r pkg://test3/quux@1.0")
7756 self.pkg("install quux@1.0", exit=4)
7757 self.pkg("unset-publisher test1")
7758 self.pkg("unset-publisher test3")
7760 self.pkg("set-publisher -O {0} test1".format(self.rurl1))
7761 self.pkg("info -r pkg://test1/quux@1.0")
7762 self.pkg("unset-publisher test1")
7770 self.pkg("set-publisher -O {0} test3".format(self.rurl7))
7771 self.pkg("install quux@1.0", exit=4)
7772 self.pkg("unset-publisher test3")
7776 self.pkg("set-publisher -O {0} -P test1".format(self.rurl1))
7779 self.pkg("uninstall quux")
7784 self.pkg("install foo@1.0")
7785 self.pkg("set-publisher -P test2")
7786 self.pkg("uninstall foo")
7789 self.pkg("set-publisher -P test1")
7796 self.pkg("install foo@1.0")
7797 self.pkg("set-publisher -P test2")
7798 self.pkg("unset-publisher test1")
7802 self.pkg("uninstall -nv foo")
7808 self.pkg("set-publisher -O {0} test1".format(self.rurl6))
7809 self.pkg("uninstall -nv foo")
7810 self.pkg("unset-publisher test1")
7819 self.pkg("set-publisher -O {0} test3".format(self.rurl7))
7820 self.pkg("set-publisher -O {0} test1".format(self.rurl6))
7821 self.pkg("uninstall -nv foo")
7822 self.pkg("unset-publisher test1")
7823 self.pkg("unset-publisher test3")
7829 self.pkg("set-publisher -O {0} test3".format(self.rurl7))
7830 self.pkg("uninstall -nv foo")
7831 self.pkg("unset-publisher test3")
7834 self.pkg("uninstall -v foo")
7838 self.pkg("set-publisher -O {0} -P test1".format(self.rurl1))
7844 self.pkg("set-publisher -P -O {0} test3".format(self.rurl3))
7847 self.pkg("set-publisher --search-before=test2 test1")
7848 self.pkg("publisher")
7852 self.pkg("list -a")
7853 self.pkg("install pkg://test1/baz")
7854 self.pkg("list")
7855 self.pkg("info baz | grep test1")
7856 self.pkg("info corge | grep test1")
7857 self.pkg("uninstall baz corge")
7863 self.pkg("install pkg://test1/baz pkg://test2/corge")
7864 self.pkg("info baz | grep test1")
7865 self.pkg("info corge | grep test2")
7866 self.pkg("uninstall baz corge")
7869 self.pkg("set-publisher -P test1")
7870 self.pkg("unset-publisher test3")
7877 self.pkg("list -a")
7879 self.pkg("install pkg://test2/upgrade-np@1.0")
7882 self.pkg("install upgrade-np@1.1", exit=1) # not right repo
7884 self.pkg("set-publisher --non-sticky test2")
7885 self.pkg("install upgrade-np@1.1") # should work now
7887 self.pkg("set-publisher --sticky test2")
7888 self.pkg("uninstall upgrade-np")
7890 self.pkg("install upgrade-p")
7891 self.pkg("set-publisher -P test2")
7892 self.pkg("install upgrade-p@1.1", exit=1) #orig pub is sticky
7893 self.pkg("set-publisher --non-sticky test1") #not anymore
7894 self.pkg("install upgrade-p@1.1")
7895 self.pkg("set-publisher -P --sticky test1") # restore
7896 self.pkg("uninstall '*'")
7899 self.pkg("install upgrade-p")
7900 self.pkg("install upgrade-p@1.1", exit=1)
7901 self.pkg("set-publisher --non-sticky test1")
7902 self.pkg("install upgrade-p@1.1") # find match later on
7903 self.pkg("set-publisher --sticky test1")
7904 self.pkg("uninstall '*'")
7908 publisher selection mechanisms as pkg install"""
7911 self.pkg("install pkg://test2/upgrade-np@1.0")
7912 self.pkg("update", exit=4)
7913 self.pkg("list upgrade-np@1.0")
7914 self.pkg("set-publisher --non-sticky test2")
7915 self.pkg("publisher")
7916 self.pkg("list -a upgrade-np")
7917 self.pkg("update '*@*'")
7918 self.pkg("list upgrade-np@1.1")
7919 self.pkg("set-publisher --sticky test2")
7920 self.pkg("uninstall '*'")
7929 self.pkg("list -a")
7931 self.pkg("install pkg://test2/upgrade-np@1.0")
7934 self.pkg("install upgrade-np@1.1", exit=1) # not right repo
7936 self.pkg("set-publisher --disable test2")
7937 self.pkg("install upgrade-np@1.1")
7938 self.pkg("publisher")
7939 self.pkg("set-publisher --enable test2")
7940 self.pkg("publisher")
7941 self.pkg("publisher | egrep sticky", exit=1 )
7947 self.pkg("set-publisher -O {0} test4".format(self.rurl5))
7948 self.pkg("install pkg://test4/corge")
7949 self.pkg("set-publisher --disable test2")
7950 self.pkg("set-publisher --disable test4")
7951 self.pkg("list -af")
7952 self.pkg("publisher")
7955 self.pkg("install baz@1.0")
7966 self.pkg("set-publisher -O " + self.rurl2 + " test2")
7969 self.pkg("install pkg://test1/upgrade-p@1.0")
7973 self.pkg("set-publisher -P test2")
7974 self.pkg("update -v", exit=4)
7979 self.pkg("set-publisher -P --non-sticky test1")
7980 self.pkg("update -v", exit=4)
7984 self.pkg("set-publisher --non-sticky test2")
7985 self.pkg("publisher")
7986 self.pkg("list -af upgrade-p")
7987 self.pkg("update -nvvv")
7992 self.pkg("set-publisher --search-after=test1 foo")
7993 self.pkg("update -v", exit=4)
7994 self.pkg("unset-publisher foo")
7998 self.pkg("set-publisher -P test2")
7999 self.pkg("update -n")
8003 self.pkg("update upgrade-p")
8004 self.pkg("info pkg://test2/upgrade-p@1.1")
8007 self.pkg("update pkg://test1/upgrade-p@1.0")
8008 self.pkg("install upgrade-p")
8009 self.pkg("info pkg://test2/upgrade-p@1.1")
8012 """Test that pkg client returns with exit code 1 when only one
8018 self.pkg("set-publisher --no-refresh -O http://test.invalid7 "
8022 self.pkg("install -n moo", exit=1)
8056 def pkg(self, command, exit=0, comment="", use_img_root=True):
8057 pkg5unittest.SingleDepotTestCaseCorruptImage.pkg(self, command,
8077 set(["publisher", "cfg_cache", "file", "pkg", "index"]),
8078 ["var/pkg"])
8080 self.pkg("install foo@1.1")
8091 ["var/pkg"])
8093 self.pkg("install foo@1.1")
8102 set(["cfg_cache_absent"]), ["var/pkg"])
8104 self.pkg("-D simulate_live_root={0} install foo@1.1".format(
8114 ["index_absent"]), ["var/pkg"])
8116 self.pkg("install foo@1.1")
8127 set(["publisher_empty", "known_empty"]), ["var/pkg"])
8131 self.pkg("install --no-refresh foo@1.1", exit=1)
8132 self.pkg("install foo@1.1")
8146 set(["publisher_empty", "known_empty"]), ["var/pkg"])
8148 self.pkg("install --no-refresh foo@1.1", exit=1)
8149 self.pkg("refresh")
8150 self.pkg("install foo@1.1")
8161 self.dir = self.corrupt_image_create(self.rurl, set(), ["var/pkg"])
8163 self.pkg("install foo@1.1")
8178 set(["publisher", "cfg_cache", "file", "pkg", "index"]),
8179 [".org.opensolaris,pkg"])
8181 self.pkg("install foo@1.1")
8192 [".org.opensolaris,pkg"])
8194 self.pkg("install foo@1.1")
8204 set(["cfg_cache_absent"]), [".org.opensolaris,pkg"])
8206 self.pkg("-D simulate_live_root={0} install foo@1.1".format(
8217 [".org.opensolaris,pkg"])
8219 self.pkg("install foo@1.1")
8231 [".org.opensolaris,pkg"])
8233 self.pkg("install --no-refresh foo@1.1", exit=1)
8247 [".org.opensolaris,pkg"])
8249 self.pkg("install --no-refresh foo@1.1", exit=1)
8250 self.pkg("refresh")
8251 self.pkg("install foo@1.1")
8262 [".org.opensolaris,pkg"])
8264 self.pkg("install foo@1.1")
8280 add set name=pkg.obsolete value=true
8281 add set name=pkg.summary value="A test package"
8305 add set name=pkg.renamed value=true
8326 self.pkg("install foo@1")
8327 self.pkg("list foo@1")
8330 self.pkg("install foo")
8331 self.pkg("list foo", exit=1)
8335 self.pkg("install foo@2", exit=4)
8336 self.pkg("list foo", exit=1)
8340 self.pkg("install fbar", exit=1)
8345 self.pkg("install qbar")
8346 self.pkg("list qbar")
8347 self.pkg("list foo@1")
8348 self.pkg("list qux | grep -- i-r")
8349 self.pkg("uninstall '*'") #clean up for next test
8354 self.pkg("install qux@1")
8355 self.pkg("install qux") # upgrades qux
8356 self.pkg("list foo@1")
8357 self.pkg("list qux", exit=1)
8358 self.pkg("uninstall '*'") #clean up for next test
8363 self.pkg("install foo@1 fred@1")
8364 self.pkg("install foo@2", exit=1)
8368 self.pkg("refresh")
8369 self.pkg("install foo@2")
8370 self.pkg("uninstall '*'") #clean up for next test
8372 self.pkg("install qux@1")
8373 self.pkg("install fred@2")
8374 self.pkg("list foo@1", exit=1) # should not be installed
8375 self.pkg("install qux") #update
8376 self.pkg("list foo@1")
8388 add set name=pkg.obsolete value=true
8389 add set name=pkg.summary value="A test package"
8413 add set name=pkg.renamed value=true
8434 self.pkg("exact-install foo@1")
8435 self.pkg("list foo@1")
8439 self.pkg("exact-install foo")
8440 self.pkg("list foo", exit=1)
8444 self.pkg("exact-install foo@2", exit=4)
8445 self.pkg("list foo", exit=1)
8449 self.pkg("exact-install fbar", exit=1)
8455 self.pkg("exact-install qbar")
8456 self.pkg("list qbar")
8457 self.pkg("list foo@1")
8458 self.pkg("list qux | grep -- i-r")
8459 self.pkg("uninstall '*'") #clean up for next test
8464 self.pkg("exact-install qux@1")
8465 self.pkg("exact-install qux") # upgrades qux
8466 self.pkg("list foo@1")
8467 self.pkg("list qux", exit=1)
8468 self.pkg("uninstall '*'") #clean up for next test
8473 self.pkg("exact-install foo@1 fred@1")
8474 self.pkg("exact-install foo@2 fred@1", exit=1)
8478 self.pkg("exact-install foo@2")
8482 self.pkg("refresh")
8483 self.pkg("exact-install foo@2 fred")
8484 self.pkg("uninstall '*'") #clean up for next test
8504 add set name=pkg.renamed value=true
8517 self.pkg("install t7ap1")
8521 self.pkg("refresh")
8522 self.pkg("update")
8523 self.pkg("list -af")
8524 self.pkg("list t7ap2 | grep -- i-r")
8525 self.pkg("list t7ap3")
8552 add set name=pkg.renamed value=true
8565 self.pkg("install t7bp1")
8569 self.pkg("refresh")
8570 self.pkg("update")
8571 self.pkg("list t7bp2 | grep -- i-r")
8572 self.pkg("list t7bp3")
8593 add set name=pkg.renamed value=true
8606 self.pkg("install t7cp1")
8610 self.pkg("refresh")
8611 self.pkg("update")
8613 self.pkg("list t7cp2 | grep -- i-r")
8614 self.pkg("list t7cp3")
8634 add set name=pkg.obsolete value=true
8642 self.pkg("install t6ap1")
8646 self.pkg("refresh")
8647 self.pkg("update", exit=4) # does nothing
8648 self.pkg("list t6ap1")
8674 add set name=pkg.obsolete value=true
8681 self.pkg("install t6ap1")
8682 self.pkg("list")
8686 self.pkg("refresh")
8687 self.pkg("update")
8688 self.pkg("list t6ap1@2 t6ap2@1")
8701 add set name=pkg.obsolete value=true
8714 self.pkg("install t8ap2")
8718 self.pkg("refresh")
8719 self.pkg("update", exit=4) # does nothing
8720 self.pkg("list t8ap2@1")
8735 add set name=pkg.obsolete value=true
8746 add set name=pkg.obsolete value=true
8753 self.pkg("install t13ap1")
8757 self.pkg("refresh")
8758 self.pkg("update")
8759 self.pkg("list", exit=1)
8771 add set name=pkg.obsolete value=true
8783 self.pkg("{0} netbeans".format(install_cmd))
8784 self.pkg("list pkg:/developer/netbeans")
8785 self.pkg("list pkg:/netbeans", exit=1)
8789 where pkg is renamed to another package, but not the
8798 add set name=pkg.renamed value=true
8816 self.pkg("{0} netbonze".format(install_cmd), exit=1)
8834 add set name=pkg.renamed value=true
8853 self.pkg("{0} netbooze".format(install_cmd))
8854 self.pkg("list pkg:/developer/netbooze")
8855 self.pkg("list pkg:/netbooze", exit=1)
8868 add set name=pkg.renamed value=true
8869 add depend type=require fmri=pkg:/developer/netbeenz
8881 self.pkg("install netbeenz")
8885 self.pkg("refresh")
8886 self.pkg("update -v")
8887 self.pkg("list pkg:/developer/netbeenz | grep -- i--")
8888 self.pkg("list pkg:/netbeenz", exit=1)
8901 add set name=pkg.renamed value=true
8902 add depend type=require fmri=pkg:/remrenB
8913 add depend type=require fmri=pkg:/remrenA
8920 self.pkg("install remrenA")
8924 self.pkg("refresh")
8925 self.pkg("update")
8926 self.pkg("list remrenA", exit=1)
8930 self.pkg("uninstall remrenB")
8932 self.pkg("install remrenA@1 remrenC")
8933 self.pkg("update")
8934 self.pkg("list remrenA")
8947 add set name=pkg.renamed value=true
8948 add depend type=require fmri=pkg:/chained_B@2
8954 add set name=pkg.renamed value=true
8955 add depend type=require fmri=pkg:/chained_C@2
8966 add depend type=require fmri=pkg:/chained_A
8972 add depend type=require fmri=pkg:/chained_B
8985 self.pkg("install chained_A@1 chained_X chained_Z")
8987 self.pkg("list {0}".format(p))
8988 self.pkg("update")
8992 self.pkg("list {0}".format(p))
8994 self.pkg("uninstall chained_X")
8997 self.pkg("list {0}".format(p))
9001 self.pkg("list {0}".format(p), exit=1)
9019 add set name=pkg.obsolete value=true
9030 add depend type=require fmri=pkg:/reintroA@1
9041 add depend type=require fmri=pkg:/reintroA@3
9053 self.pkg("install reintroA@1")
9054 self.pkg("refresh")
9055 self.pkg("update")
9056 self.pkg("list reintroA@3")
9057 self.pkg("uninstall reintroA")
9061 self.pkg("{0} reintroA@1".format(install_cmd))
9062 self.pkg("{0} reintroA@3".format(install_cmd))
9063 self.pkg("list reintroA@3")
9064 self.pkg("uninstall reintroA")
9068 self.pkg("{0} reintroA@3".format(install_cmd))
9069 self.pkg("list reintroA@3")
9070 self.pkg("uninstall reintroA")
9074 self.pkg("{0} reintroA@1".format(install_cmd))
9075 self.pkg("{0} reintroA@2".format(install_cmd))
9076 self.pkg("{0} reintroA@3".format(install_cmd))
9077 self.pkg("list reintroA@3")
9078 self.pkg("uninstall reintroA")
9084 self.pkg("install reintroB@1")
9085 self.pkg("refresh")
9086 self.pkg("update")
9087 self.pkg("list reintroB@3")
9088 self.pkg("list reintroA@3")
9089 self.pkg("uninstall reintroB reintroA")
9093 self.pkg("{0} reintroB@1".format(install_cmd))
9094 self.pkg("{0} reintroB@3".format(install_cmd))
9095 self.pkg("list reintroB@3")
9096 self.pkg("list reintroA@3")
9097 self.pkg("uninstall reintroB reintroA")
9101 self.pkg("{0} reintroB@3".format(install_cmd))
9102 self.pkg("list reintroB@3")
9103 self.pkg("list reintroA@3")
9104 self.pkg("uninstall reintroB reintroA")
9108 self.pkg("{0} reintroB@1".format(install_cmd))
9109 self.pkg("{0} reintroB@2".format(install_cmd))
9110 self.pkg("{0} reintroB@3".format(install_cmd))
9111 self.pkg("list reintroB@3")
9112 self.pkg("list reintroA@3")
9113 self.pkg("uninstall reintroB reintroA")
9130 add set name=pkg.obsolete value=true
9138 self.pkg("install inc1p1")
9139 self.pkg("install inc1p2", exit=4)
9141 self.pkg("list inc1p2", exit=1)
9143 self.pkg("exact-install inc1p1")
9168 add set name=pkg.obsolete value=true
9175 self.pkg("install inc2p1 inc2p2")
9179 self.pkg("refresh")
9180 self.pkg("list -afv")
9181 self.pkg("update -v")
9182 self.pkg("list inc2p2", exit=1)
9198 add set name=pkg.obsolete value=true
9234 self.pkg("install -v entire@1.0 oldcompiler")
9235 self.pkg("list")
9236 self.pkg("verify")
9237 self.pkg("update -v entire", exit=4)
9238 self.pkg("list")
9239 self.pkg("verify")
9240 self.pkg("update -v entire@2", exit=1)
9252 add set name=pkg.obsolete value=true
9281 self.pkg("set-publisher -O " + self.rurl2 + " test2")
9282 self.pkg("list -a")
9284 self.pkg("{0} stem".format(install_cmd), exit=4) # noting to do since it's obs
9287 self.pkg("list", exit=1)
9303 add set name=pkg.obsolete value=true
9311 self.pkg("set-publisher -O " + self.rurl2 + " test2")
9313 self.pkg("{0} stem".format(install_cmd), exit=1)
9357 self.pkg("install userland-incorporation vim-incorporation")
9361 self.pkg("install vim@7.4")
9375 self.pkg("install userland-incorporation")
9378 self.pkg("set-publisher -p {0}".format(self.rurl2))
9383 self.pkg("install //test1/vim")
9480 self.pkg("install --parsable=0 licensed@1.0")
9490 self.pkg("list")
9491 self.pkg("info licensed@1.0 baz@1.0")
9494 self.pkg("install -n --licenses licensed@1.2 | "
9499 self.pkg("install -n licensed@1.2 | grep 'copyright.licensed'")
9503 self.pkg("install --parsable=0 licensed@1.2")
9518 self.pkg("update -v", exit=6)
9521 self.pkg("update --parsable=0", exit=6)
9525 self.pkg("update -n | grep 'copyright.licensed", exit=1)
9528 self.pkg("update -n --licenses | "
9533 self.pkg("update --parsable=0 --accept")
9541 self.pkg("info licensed@1.3")
9548 self.pkg("install --parsable=0 nonascii@1.0")
9549 self.pkg("install --parsable=0 utf8enc@1.0")
9550 self.pkg("install --parsable=0 unsupported@1.0")
9636 self.pkg("install {0}".format(dest_dir_name), exit=1)
9645 self.pkg("install dir")
9651 self.pkg("install filesub@1.0", exit=1)
9660 self.pkg("install hardlink", exit=1)
9709 # Now create a new image and verify that pkg install will fail
9714 self.pkg("install foo@1.0")
9715 self.pkg("install unsupported@1.0", exit=1)
9716 self.pkg("uninstall foo")
9717 self.pkg("install foo@1.0 unsupported@1.0", exit=1)
9722 self.pkg("refresh --full")
9723 self.pkg("install foo@1.0")
9724 self.pkg("install unsupported@1.0", exit=1)
9725 self.pkg("uninstall foo")
9730 self.pkg("refresh --full")
9731 self.pkg("install foo@1.0 unsupported@1.0")
9732 self.pkg("uninstall foo unsupported")
9736 that targets itself (resulting in ELOOP) pkg fails gracefully.
9741 self.pkg("install dir@1.0 filesub@1.0")
9758 # Verify that pkg verify gracefully fails if traversing a
9760 self.pkg("verify", exit=1)
9762 # Verify that pkg succeeds if attempting to update a
9764 self.pkg("update filesub")
9765 self.pkg("verify")
9769 self.pkg("uninstall filesub")
9773 # Verify that pkg verify gracefully fails if traversing a
9775 self.pkg("verify", exit=1)
9777 # Verify that pkg gracefully fails if attempting to update
9779 self.pkg("update", exit=1)
9871 add set name=pkg.renamed value=true
10258 add legacy pkg=dupdirp9
10504 self.pkg("install userdb")
10505 self.pkg("install conflictgroup1")
10518 self.pkg("install -v --reject conflictgroup1 conflictgroup2")
10520 self.pkg("list conflictgroup1", exit=1)
10521 self.pkg("list conflictgroup2")
10534 self.pkg("verify")
10537 """Test the behavior of pkg(1) when multiple file actions
10543 self.pkg("install dupfiles", exit=1)
10547 self.pkg("install dupfilesp1 dupfilesp2@0", exit=1)
10551 self.pkg("install dupfilesp1")
10552 self.pkg("install dupfilesp2@0", exit=1)
10556 self.pkg("-D broken-conflicting-action-handling=1 install dupfilesp2@0")
10557 self.pkg("install implicitdirs2")
10558 self.pkg("uninstall implicitdirs2")
10562 self.pkg("install dupfilesp2 dupfilesp3")
10563 self.pkg("verify", exit=1)
10567 self.pkg("uninstall dupfilesp3")
10568 self.pkg("verify")
10572 self.pkg("uninstall dupfilesp2")
10573 self.pkg("-D broken-conflicting-action-handling=1 install dupfilesp2@0")
10574 self.pkg("update")
10575 self.pkg("verify")
10581 self.pkg("uninstall dupfilesp2")
10582 self.pkg("-D broken-conflicting-action-handling=1 install dupfilesp2@0")
10583 self.pkg("install dupfilesp2 dupfilesp4", exit=1)
10587 self.pkg("uninstall '*'")
10588 self.pkg("-D broken-conflicting-action-handling=1 install "
10593 self.pkg("verify", exit=1)
10596 if l.startswith("pkg://test/dupfilesp1"):
10602 self.pkg("uninstall dupfilesp3")
10605 self.pkg("verify", exit=1)
10614 self.pkg("uninstall '*'")
10615 self.pkg("-D broken-conflicting-action-handling=1 install "
10617 self.pkg("uninstall dupfilesp3 dupfilesp2")
10618 self.pkg("verify")
10621 self.pkg("uninstall '*'")
10622 self.pkg("-D broken-conflicting-action-handling=1 install "
10624 self.pkg("uninstall dupfilesp2 dupotherfilesp2")
10625 self.pkg("verify")
10628 self.pkg("install overlaid@0")
10629 self.pkg("-D broken-conflicting-action-handling=1 install "
10634 self.pkg("uninstall invalid-overlayer")
10638 self.pkg("uninstall '*'")
10639 self.pkg("install implicitdirs3 implicitdirs4")
10640 self.pkg("uninstall implicitdirs3 implicitdirs4")
10649 self.pkg("install -nv identicalfiles", exit=1)
10652 self.pkg("publisher")
10653 self.pkg("-D broken-conflicting-action-handling=1 install "
10656 self.pkg("update")
10665 self.pkg("install pkg1")
10666 self.pkg("-D broken-conflicting-action-handling=1 install pkg2")
10667 self.pkg("verify pkg2")
10669 self.pkg("uninstall pkg2", exit=1)
10670 self.pkg("verify pkg2")
10673 """Test the behaviour of pkg(1) when actions for editable files
10685 self.pkg("install boring")
10689 self.pkg("install invalid-overlaid")
10690 self.pkg("install overlayer", exit=1)
10691 self.pkg("uninstall invalid-overlaid")
10695 self.pkg("install overlaid@0")
10697 self.pkg("install invalid-overlayer", exit=1)
10701 self.pkg("install mismatch-overlayer", exit=1)
10705 self.pkg("contents -m overlaid")
10706 self.pkg("contents -mr overlayer")
10707 self.pkg("install --parsable=0 overlayer")
10715 self.pkg("install multi-overlayer", exit=1)
10719 self.pkg("verify overlaid overlayer")
10725 self.pkg("verify overlaid overlayer")
10730 self.pkg("uninstall --parsable=0 overlayer")
10736 self.pkg("uninstall --parsable=0 overlaid")
10744 self.pkg("install --parsable=0 overlaid@0 overlayer")
10753 self.pkg("uninstall --parsable=0 overlaid")
10759 self.pkg("install --parsable=0 overlaid@0")
10762 self.pkg("uninstall --parsable=0 overlaid overlayer")
10770 self.pkg("install -nvv overlaid@0 unpreserved-overlayer")
10771 self.pkg("install --parsable=0 overlaid@0 unpreserved-overlayer")
10779 self.pkg("verify overlaid unpreserved-overlayer")
10784 self.pkg("verify overlaid")
10788 self.pkg("verify unpreserved-overlayer", exit=1)
10791 self.pkg("fix unpreserved-overlayer")
10797 self.pkg("revert /etc/pam.conf")
10800 self.pkg("uninstall --parsable=0 unpreserved-overlayer")
10805 self.pkg("revert /etc/pam.conf")
10811 self.pkg("install --parsable=0 unpreserved-overlayer")
10816 self.pkg("install --parsable=0 overlaid@1")
10819 self.pkg("uninstall --parsable=0 overlaid")
10824 self.pkg("install --parsable=0 overlaid@2")
10831 self.pkg("install --parsable=0 overlaid@3")
10847 self.pkg("uninstall --parsable=0 overlaid-renamed "
10863 self.pkg("install --parsable=0 overlaid-renamed@3 "
10868 self.pkg("install -nvv overlaid-renamed@4.1")
10869 self.pkg("install --parsable=0 overlaid-renamed@4.1")
10880 self.pkg("uninstall --parsable=0 overlaid-renamed "
10897 self.pkg("install --parsable=0 overlayer")
10903 self.pkg("install --parsable=0 overlaid@1")
10906 self.pkg("uninstall --parsable=0 overlaid")
10911 self.pkg("install --parsable=0 overlaid@2")
10918 self.pkg("install --parsable=0 overlaid@3")
10934 self.pkg("uninstall --parsable=0 overlaid-renamed overlayer")
10950 self.pkg("install --parsable=0 overlaid-renamed@3 overlayer")
10955 self.pkg("install --parsable=0 overlaid-renamed@4.0")
10963 self.pkg("uninstall --parsable=0 overlaid-renamed overlayer")
10973 self.pkg("install --parsable=0 overlaid-renamed@3 overlayer")
10978 self.pkg("install --parsable=0 overlaid-renamed@4.1")
10990 self.pkg("update --parsable=0 overlaid-renamed@3")
10997 self.pkg("install --parsable=0 overlaid-renamed@4.1")
11007 self.pkg("uninstall --parsable=0 overlaid-renamed overlayer")
11028 self.pkg("install --parsable=0 overlaid@0 overlayer-move@0")
11033 self.pkg("install --parsable=0 overlaid@3")
11036 self.pkg("install --parsable=0 overlaid-renamed@4.1 "
11047 self.pkg("update --parsable=0 overlaid-renamed@3 "
11054 self.pkg("uninstall --parsable=0 overlaid-renamed overlayer-move")
11062 self.pkg("install --parsable=0 overlaid@2 overlayer-update@0")
11068 self.pkg("install --parsable=0 overlayer-update@1")
11075 self.pkg("install --parsable=0 overlayer-update@2")
11084 self.pkg("install --parsable=0 overlayer-update@3")
11092 """Test the behavior of pkg(1) when multiple actions of
11098 self.pkg("install duppath-filelink", exit=1)
11101 self.pkg("install dupfilesp1 duplink", exit=1)
11104 self.pkg("install dupfilesp1")
11105 self.pkg("install duplink", exit=1)
11109 self.pkg("uninstall '*'")
11110 self.pkg("-D broken-conflicting-action-handling=1 install dupfilesp1 duplink")
11111 self.pkg("verify", exit=1)
11112 self.pkg("uninstall dupfilesp1")
11113 self.pkg("verify")
11114 self.pkg("-D broken-conflicting-action-handling=1 install dupfilesp1")
11115 self.pkg("uninstall duplink")
11116 self.pkg("verify")
11119 self.pkg("uninstall '*'")
11120 self.pkg("install implicitdirs", exit=1)
11123 self.pkg("install implicitdirs2")
11127 self.pkg("uninstall '*'")
11128 self.pkg("install implicitdirs4")
11129 self.pkg("-D broken-conflicting-action-handling=1 install "
11131 self.pkg("uninstall implicitdirs7")
11141 self.pkg("verify")
11145 self.pkg("uninstall '*'")
11146 self.pkg("-D broken-conflicting-action-handling=1 install "
11164 self.pkg("verify", exit=1)
11181 self.pkg("uninstall duplink")
11183 self.pkg("uninstall dupdir")
11184 self.pkg("verify", exit=1)
11195 self.pkg("uninstall '*'")
11196 self.pkg("-D broken-conflicting-action-handling=1 install "
11199 self.pkg("verify", exit=1)
11209 self.pkg("uninstall dupdir")
11211 self.pkg("uninstall duplink")
11213 self.pkg("uninstall dupfilesp1")
11214 self.pkg("verify", exit=1)
11223 self.pkg("uninstall '*'")
11224 self.pkg("-D broken-conflicting-action-handling=1 install "
11226 self.pkg("install dupmultitypes")
11227 self.pkg("verify")
11232 self.pkg("uninstall '*'")
11233 self.pkg("install dupmultitypes3@0")
11234 self.pkg("update")
11237 """Test the behavior of pkg(1) when multiple non-file actions of
11244 self.pkg("install duppath-nonidenticallinks", exit=1)
11247 self.pkg("install duppath-nonidenticaldirs", exit=1)
11250 self.pkg("install duppath-almostidenticaldirs")
11254 self.pkg("install implicitdirs2 implicitdirs3")
11255 self.pkg("verify")
11257 self.pkg("uninstall '*'")
11261 self.pkg("-D broken-conflicting-action-handling=1 install "
11263 self.pkg("uninstall implicitdirs5")
11264 self.pkg("verify")
11266 self.pkg("uninstall '*'")
11270 self.pkg("-D broken-conflicting-action-handling=1 install "
11272 self.pkg("uninstall implicitdirs5 implicitdirs6")
11273 self.pkg("verify")
11275 self.pkg("uninstall '*'")
11280 self.pkg("install implicitdirs4 implicitdirs5 implicitdirs6",
11286 self.pkg("install duppath-nonidenticallinksp1 "
11291 self.pkg("install duppath-nonidenticallinksp1")
11292 self.pkg("install duppath-nonidenticallinksp2@0", exit=1)
11294 self.pkg("uninstall '*'")
11297 self.pkg("-D broken-conflicting-action-handling=1 install "
11299 self.pkg("verify", exit=1)
11300 self.pkg("install duppath-nonidenticallinksp2")
11301 self.pkg("verify")
11308 self.pkg("uninstall '*'")
11309 self.pkg("-D broken-conflicting-action-handling=1 install "
11311 self.pkg("uninstall dupdirp5")
11312 self.pkg("verify", exit=1)
11314 self.pkg("-D broken-conflicting-action-handling=1 install "
11318 self.pkg("install dupdirp7")
11320 self.pkg("uninstall dupdirp7")
11324 self.pkg("uninstall dupdirp2")
11325 self.pkg("uninstall dupdirp5 dupdirp6")
11326 self.pkg("verify")
11330 self.pkg("-D broken-conflicting-action-handling=1 install "
11332 self.pkg("uninstall dupdirp2 dupdirp5 dupdirp6")
11333 self.pkg("verify")
11336 self.pkg("-D broken-conflicting-action-handling=1 install "
11338 self.pkg("update dupdirp2@2")
11341 self.pkg("uninstall dupdirp2 dupdirp5 dupdirp6")
11342 self.pkg("-D broken-conflicting-action-handling=1 install "
11344 self.pkg("update dupdirp2@2")
11345 self.pkg("verify")
11350 self.pkg("uninstall '*'")
11351 self.pkg("install dupdirp1 dupdirp8@1")
11352 self.pkg("update", exit=1)
11356 self.pkg("uninstall '*'")
11357 self.pkg("-D broken-conflicting-action-handling=1 install "
11361 self.pkg("uninstall duppath-nonidenticallinksp2")
11363 self.pkg("uninstall duppath-nonidenticallinksp1")
11364 self.pkg("verify")
11368 self.pkg("uninstall '*'")
11369 self.pkg("-D broken-conflicting-action-handling=1 install "
11373 self.pkg("uninstall duppath-nonidenticallinksp1")
11375 self.pkg("uninstall duppath-nonidenticallinksp2")
11376 self.pkg("verify")
11380 self.pkg("uninstall '*'")
11381 self.pkg("install dupdirp1 dupdirp2@1 dupdirp3 dupdirp4", exit=1)
11384 self.pkg("install {0}".format(pkgs), exit=1)
11390 self.pkg("-D broken-conflicting-action-handling=1 install "
11392 self.pkg("uninstall dupdirp11")
11396 self.pkg("-D broken-conflicting-action-handling=1 install "
11398 self.pkg("uninstall dupdirp12")
11401 """Test the behavior of pkg(1) when multiple non-file actions of
11411 self.pkg("{0} dupfilesv1 dupfilesv2".format(install_cmd))
11417 self.pkg("uninstall '*'")
11418 self.pkg("{0} dupfilesv1 dupfilesv3".format(install_cmd))
11427 self.pkg("uninstall '*'")
11428 self.pkg("{0} dupfilesv5 dupfilesv6".format(install_cmd))
11442 self.pkg("uninstall '*'")
11443 self.pkg("{0} dupfilesf1 dupfilesf2".format(install_cmd))
11448 self.pkg("uninstall '*'")
11449 self.pkg("{0} dupfilesf1 dupfilesf3".format(install_cmd))
11454 self.pkg("uninstall '*'")
11455 self.pkg("{0} dupfilesf2 dupfilesf3".format(install_cmd))
11459 """Test the behaviour of pkg(1) when attempting to remove
11469 self.pkg("set-publisher -P ignored")
11474 self.pkg("-D broken-conflicting-action-handling=1 {0} "
11476 self.pkg("unset-publisher test")
11477 self.pkg("uninstall dupdirp2")
11478 self.pkg("verify")
11481 """Test the behavior of pkg(1) when changing a variant or a
11491 self.pkg("install dupfilesv4")
11492 self.pkg("change-variant arch=sparc", exit=1)
11496 self.pkg("change-facet devel=false")
11497 self.pkg("install dupfilesf4")
11498 self.pkg("change-facet devel=true", exit=1)
11506 self.pkg("install tripledupfileb")
11507 self.pkg("-D broken-conflicting-action-handling=1 install "
11509 self.pkg("-D broken-conflicting-action-handling=1 install "
11511 self.pkg("change-variant -vvv variant.foo=two")
11512 self.pkg("change-variant -vvv variant.foo=one", exit=1)
11515 """Test the behavior of pkg(1) when multiple user actions
11523 self.pkg("install userdb")
11526 self.pkg("install dupuser", exit=1)
11530 self.pkg("install dupuserp1 dupuserp2@0", exit=1)
11534 self.pkg("install dupuserp1")
11535 self.pkg("install dupuserp2@0", exit=1)
11539 self.pkg("-D broken-conflicting-action-handling=1 install "
11541 self.pkg("verify", exit=1)
11542 self.pkg("install otheruser")
11545 self.pkg("uninstall otheruser")
11548 self.pkg("verify", exit=1)
11552 self.pkg("install dupuserp2 dupuserp3")
11555 self.pkg("verify", exit=1)
11559 self.pkg("uninstall dupuserp3")
11562 self.pkg("verify")
11566 self.pkg("uninstall dupuserp2")
11569 self.pkg("-D broken-conflicting-action-handling=1 install "
11571 self.pkg("update")
11572 self.pkg("verify")
11579 self.pkg("uninstall dupuserp2")
11582 self.pkg("-D broken-conflicting-action-handling=1 install "
11584 self.pkg("install dupuserp2 dupuserp4", exit=1)
11590 self.pkg("install userdb")
11591 self.pkg("-D broken-conflicting-action-handling=1 install "
11593 self.pkg("verify", exit=1)
11597 self.pkg("uninstall dupuserp3")
11600 self.pkg("verify", exit=1)
11609 self.pkg("install userdb")
11610 self.pkg("-D broken-conflicting-action-handling=1 install "
11614 self.pkg("uninstall dupuserp3 dupuserp2")
11617 self.pkg("verify")
11622 self.pkg("-D broken-conflicting-action-handling=1 install "
11624 self.pkg("update othergroup")
11627 """Test the behavior of pkg(1) when multiple driver actions
11636 self.pkg("{0} driverdb".format(install_cmd))
11638 self.pkg("{0} dupdriver".format(install_cmd), exit=1)
11651 self.pkg("{0} dupdepend1".format(install_cmd))
11655 self.pkg("{0} dupdepend2".format(install_cmd))
11658 self.pkg("{0} dupdepend3".format(install_cmd))
11662 self.pkg("{0} dupdepend4".format(install_cmd))
11674 self.pkg("{0} vpath".format(install_cmd))
11678 """Test pkg.depend.explicit-install action behaviors."""
11684 add depend type=group fmri=pkg:/A
11688 add depend type=incorporate fmri=pkg:/A@1.0,5.11-0.1
11695 add depend type=require fmri=pkg:/idr@1.0,5.11-0.1.1.0
11699 add set name=pkg.depend.explicit-install value=true
11700 add depend type=incorporate fmri=pkg:/A@1.0,5.11-0.1.1.0
11707 add depend type=require fmri=pkg:/idr@1.0,5.11-0.1.1.1
11711 add set name=pkg.depend.explicit-install value=false
11712 add depend type=incorporate fmri=pkg:/A@1.0,5.11-0.1.1.1
11719 add depend type=require fmri=pkg:/idr@1.0,5.11-0.1.1.2
11723 add depend type=incorporate fmri=pkg:/A@1.0,5.11-0.1.1.2
11730 add depend type=require-any fmri=pkg:/C2@1.0 fmri=pkg:/C2@2.0
11734 add depend type=require fmri=pkg:/C3@1.0,5.11-0.1
11738 add set name=pkg.depend.explicit-install value=true
11739 add depend type=require fmri=pkg:/C3@1.0,5.11-0.1
11749 add depend type=require fmri=pkg:/Hiera2@1.0
11753 add depend type=require fmri=pkg:/Hiera3@1.0
11757 add set name=pkg.depend.explicit-install value=true
11769 # pkg.depend.explicit-install set to true.
11770 self.pkg("install -v group incorp A@1.0-0.1.1.0", exit=1)
11771 self.pkg("install -v group incorp")
11772 self.pkg("verify")
11773 self.pkg("list -H")
11781 self.pkg("uninstall -v group incorp A")
11782 self.pkg("list -H", exit=1)
11786 # pkg.depend.explicit-install set to true.
11787 self.pkg("exact-install -v group incorp A@1.0-0.1.1.0", exit=1)
11788 self.pkg("exact-install -v group incorp")
11789 self.pkg("verify")
11790 self.pkg("list -H")
11795 self.pkg("exact-install -v idr")
11796 self.pkg("list -H")
11803 self.pkg("install -v group")
11804 self.pkg("verify")
11805 self.pkg("list -H")
11814 self.pkg("uninstall -v group idr A")
11815 self.pkg("list -H", exit=1)
11817 self.pkg("install -v idr")
11818 self.pkg("list -H")
11825 self.pkg("install -v group")
11826 self.pkg("verify")
11827 self.pkg("list -H")
11835 self.pkg("uninstall '*'")
11836 self.pkg("list -H", exit=1)
11839 self.pkg("install -v group incorp")
11840 self.pkg("verify")
11841 self.pkg("list -H")
11853 self.pkg("update")
11854 self.pkg("verify")
11855 self.pkg("list -H")
11864 self.pkg("uninstall '*'")
11867 # test require-any with pkg.depend.explicit-install tag.
11868 self.pkg("install C1")
11869 self.pkg("verify")
11870 self.pkg("list -H")
11878 self.pkg("uninstall '*'")
11880 self.pkg("install C1 C2")
11881 self.pkg("verify")
11882 self.pkg("list -H")
11893 self.pkg("install -v Hiera1@1.0", exit=1)
11899 self.pkg("install -v --reject idr group incorp")
11900 self.pkg("verify")
11901 self.pkg("list -H")
11910 self.pkg("exact-install -v --reject idr group")
11911 self.pkg("verify")
11912 self.pkg("list -H")
11921 self.pkg("update -v --reject group A@1.0-0.1.1.0", exit=1)
11923 self.pkg("install idr@1.0-0.1.1.0")
11925 self.pkg("update -v --reject group A@1.0-0.1.1.0")
11926 self.pkg("verify")
11927 self.pkg("list -H")
11936 self.pkg("update -v --reject idr", exit=1)
11937 self.pkg("update")
11938 self.pkg("verify")
11939 self.pkg("list -H")
11954 add set name=pkg.depend.install-hold value=core-os
11969 add set name=pkg.depend.install-hold value=core-os.osnet
11970 add depend fmri=pkg:/system/data/terminfo/terminfo-core@5.12,5.12-5.12.0.0.0.96.1 type=incorporate
11983 add set name=pkg.depend.install-hold value=core-os.osnet
11984 add depend fmri=pkg:/system/data/terminfo/terminfo-core@5.12-5.12.0.0.0.95.32487 type=incorporate
12014 self.pkg("install --parsable=0 entire terminfo-core")
12020 self.pkg("set-publisher --non-sticky solaris")
12021 self.pkg("change-facet "
12023 self.pkg("set-publisher -P -p {0}".format(self.rurl2))
12024 self.pkg("publisher")
12025 self.pkg("facet")
12026 self.pkg("list -afv")
12031 self.pkg("update --parsable=0 -n osnet-incorporation")
12042 self.pkg("update --parsable=0 -n")
12064 add set pkg.depend.install-hold=B
12068 add set pkg.depend.install-hold=B
12072 add set pkg.depend.install-hold=parent.C
12076 add set pkg.depend.install-hold=parent.C
12104 add set pkg.depend.install-hold=parent
12110 add set pkg.depend.install-hold=parent
12150 self.pkg("install A incorp@1")
12151 self.pkg("list A@2.0 incorp@1.0")
12154 self.pkg("update incorp@2")
12155 self.pkg("list A@1.0 incorp@2.0")
12158 self.pkg("update incorp@1")
12159 self.pkg("update -v")
12160 self.pkg("list A@1.0 incorp@2.0")
12163 self.pkg("uninstall incorp")
12164 self.pkg("update A@2")
12165 self.pkg("install parent_incorp@1 child_incorp@2")
12166 self.pkg("list A@2.0 child_incorp@2 parent_incorp@1")
12169 self.pkg("update -v parent_incorp@2")
12170 self.pkg("list A@1 child_incorp@1 parent_incorp@2")
12173 self.pkg("uninstall parent_incorp")
12174 self.pkg("update child_incorp@2")
12175 self.pkg("list A@2 child_incorp@2")
12178 self.pkg("update -v child_incorp@1")
12179 self.pkg("list A@1 child_incorp@1")
12188 self.pkg("install ihold_incorp@2 B")
12189 self.pkg("list ihold_incorp@2 B@2")
12191 self.pkg("update -v ihold_incorp@1", exit=1)
12194 self.pkg("install --reject B C@2")
12195 self.pkg("list ihold_incorp@2 C@2")
12198 self.pkg("update -v ihold_incorp@1")
12199 self.pkg("list ihold_incorp@1 C@1")
12207 self.pkg("set-publisher --non-sticky test1")
12208 self.pkg("set-publisher --non-sticky -p {0}".format(self.rurl2))
12209 self.pkg("list -af")
12210 self.pkg("install p_incorp@1 D@2")
12211 self.pkg("list p_incorp@1 D@2")
12213 self.pkg("update p_incorp@2", exit=1)