Hey Padraig. A few quick observations:
1. I think the license window should either be larger by default and/or be resizable. The text of some licenses seems to assume sufficient room for a given number of characters. (Not your fault, and who reads these things anyway? But.... See attached screenshot.) 2. If you mark a package for installation, begin the installation, but then close the license window without pressing the Accept button, the PM process doesn't seem to terminate when you quit PM. (See attached output from pstack.) I don't know if this an AT-related thing or not as I'm not in a position at the moment where I can disable AT support and log out. 3. Should there be some sort of "Are you sure?" dialog when the accept button is not pressed? Maybe not.... Merely tossing it out there as the (accidental or intentional) failure to accept the license of a given package seems to result in the entire installation operation being quietly canceled -- even if other licenses were accepted, and even if the license which was not accepted is associated with a package upon which none of the other packages to be installed depend. 4. At least one package (SUNWgobject-introspection) displays its license twice. Take care. (And Happy New Year!!) --joanie On Thu, 2009-12-31 at 13:28 +0000, Padraig O'Briain wrote: > The webrev, http://cr.opensolaris.org/~padraig/ips-5732-v2/, fixes > 5732 packagemanager should have support for click-thru license > > This webrev adds support for must-accept and must-display license > attributes when installing or updating packages > > If a package has a license which is must-display the license is displayed. > If a package has a license which is must-accept the user must accept the > license in order to continue the installation. > > Note that packages in opensolaris.org and contrib seem to have licenses > with must-display attribute set as the license is now displayed when > installing. > > Padraig > _______________________________________________ > pkg-discuss mailing list > [email protected] > http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
<<attachment: Screenshot.png>>
$ pfexec pstack 14819 14819: /usr/bin/python2.6 /usr/bin/packagemanager ----------------- lwp# 1 / thread# 1 -------------------- feef4357 pollsys (8f06268, 9, 8047308, 0) fee98804 poll (8f06268, 9, 19b, fdf232a4, 82dff4c) + 4c fdf232bc g_poll (8f06268, 9, 19b, fdf1512a) + 24 fdf15565 g_main_context_iterate (82dff48, 1, 1, 81705c8) + 449 fdf15bc9 g_main_loop_run (8db14b0, 8db14b0, 8047418, fcf7e832) + 1dd fcf7e8db gtk_main (8e90b80, 8060d40, 0, 85fb35c, 14f, 0) + b7 fd49c8fc _wrap_gtk_main (0, 0, 8047498, fed58d92) + 9c fed590c0 call_function (804750c, 0, 62b6a2b, fed53206) + 33c fed56221 PyEval_EvalFrameEx (8dfc70c, 0, 80931c4, 0) + 3029 fed59310 fast_function (8c66e64, 804764c, 0, 0, 0, fedcc63c) + 108 fed58e72 call_function (804764c, 0, 80ae6d8, 0) + ee fed56221 PyEval_EvalFrameEx (8631d14, 0, 80931c4, 80931c4) + 3029 fed57cd0 PyEval_EvalCodeEx (871f1d0, 80931c4, 80931c4, 0, 0, 0) + 91c fed53102 PyEval_EvalCode (871f1d0, 80931c4, 80931c4, 80a38d8) + 32 fed781ae run_mod (87e01a8, 8047adb, 80931c4, 80931c4, 80478ac) + 3a fed78147 PyRun_FileExFlags (fef857e8, 8047adb, 101, 80931c4, 80931c4, 1) + 6b fed77279 PyRun_SimpleFileExFlags (fef857e8, 8047adb, 1, 80478ac) + 189 fed76c46 PyRun_AnyFileExFlags (fef857e8, 8047adb, 1, 80478ac) + 6e fed85694 Py_Main (2, 80479a4, 8050aaf, 8050a88, 8047960) + a94 08050a9d main (2, 80479a4, 80479b0, 805098f) + 21 080509ed _start (2, 8047ac8, 8047adb, 0, 8047af3, 8047b30) + 7d ----------------- lwp# 10 / thread# 10 -------------------- feef4357 pollsys (f715f510, 0, f715f588, 0) fee9dde1 pselect (0, 0, 0, 0, f715f588, 0) + 199 fee9e1b6 select (0, 0, 0, 0, f715f5d8, fec428c4) + 78 fec325a1 floatsleep (9999999a, 3fb99999, f715f608, fec3183c) + d5 fec31877 time_sleep (0, 9db280c, f715f658, fecfabde) + 47 fecfad6e PyCFunction_Call (854644c, 9db280c, 0, fed58d92) + 19e fed591a0 call_function (f715f71c, 1, fc3d87f7, 0) + 41c fed56221 PyEval_EvalFrameEx (b4f046c, 0, 8c47acc, 0) + 3029 fed57cd0 PyEval_EvalCodeEx (8c5a848, 8c47acc, 0, e6aced8, 1, 8591238) + 91c fece73e9 function_call (8c6633c, e6acecc, 9db9d74, fecc22da) + 13d fecc2330 PyObject_Call (8c6633c, e6acecc, 9db9d74, f715f930) + 64 fed59a33 ext_do_call (8c6633c, f715f930, 3, 1, 0, 1f) + 15b fed562cf PyEval_EvalFrameEx (c60f68c, 0, 852902c, 0) + 30d7 fed59310 fast_function (852db8c, f715fa6c, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f715fa6c, 0, b6, 0) + ee fed56221 PyEval_EvalFrameEx (ed3947c, 0, 852902c, 0) + 3029 fed59310 fast_function (852dc34, f715fbac, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f715fbac, 0, 11, 0) + ee fed56221 PyEval_EvalFrameEx (c609d4c, 0, 852902c, 0) + 3029 fed57cd0 PyEval_EvalCodeEx (8522968, 852902c, 0, 92468f8, 1, 0) + 91c fece743d function_call (852dbc4, 92468ec, 0, fecc22da) + 191 fecc2330 PyObject_Call (852dbc4, 92468ec, 0, fecd1a15) + 64 fecd1b64 instancemethod_call (9db05cc, 806102c, 0, fecc22da) + 160 fecc2330 PyObject_Call (9db05cc, 806102c, 0, fed58b3a) + 64 fed58be7 PyEval_CallObjectWithKeywords (9db05cc, 806102c, 0, fed87962) + b7 fed87992 t_bootstrap (bc49388, fef82000, f715ffe8, feeef9ce) + 3e feeefa23 _thrp_setup (fe611200) + 9b feeefcb0 _lwp_start (fe611200, 0, 0, 0, 0, 0) ----------------- lwp# 9 / thread# 9 -------------------- feeefceb lwp_park (0, 0, 0) feee24c8 sema_wait (13e57de0, fedcc63c, f7060048, feed6732) + 10 feed675d sem_wait (13e57de0) + 35 fed83277 PyThread_acquire_lock (13e57de0, 1, f7060088, fed87241) + 4b fed87254 lock_PyThread_acquire_lock (8246c70, 806102c, f70600c8, fecfabde) + 54 fecfad6e PyCFunction_Call (13bc7e2c, 806102c, 0, fed58d92) + 19e fed591a0 call_function (f706018c, 0, fedd9db0, 0) + 41c fed56221 PyEval_EvalFrameEx (8dbe70c, 0, 852902c, 0) + 3029 fed57cd0 PyEval_EvalCodeEx (8522068, 852902c, 0, c34d5e0, 1, c34d5e4) + 91c fed5937e fast_function (852d684, f706035c, 1, 1, 0, fedcc63c) + 176 fed58e72 call_function (f706035c, 0, a2, 0) + ee fed56221 PyEval_EvalFrameEx (c34d49c, 0, 8c47acc, 0) + 3029 fed59310 fast_function (8c66064, f706049c, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f706049c, 0, fedd9db0, fed53206) + ee fed56221 PyEval_EvalFrameEx (13e57114, 0, 8c47acc, 0) + 3029 fed59310 fast_function (8c6609c, f70605dc, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f70605dc, 0, fd7d6c50, 8571e6f) + ee fed56221 PyEval_EvalFrameEx (b5b95bc, 0, 8c47acc, 0) + 3029 fed59310 fast_function (8c5ef7c, f706071c, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f706071c, 0, fedcdff8, 0) + ee fed56221 PyEval_EvalFrameEx (ff37c9c, 0, 8c47acc, 0) + 3029 fed57cd0 PyEval_EvalCodeEx (8c51f50, 8c47acc, 0, 9dbb1d8, 2, 8eaf130) + 91c fece73e9 function_call (8c5ee64, 9dbb1cc, 9dbccec, fecc22da) + 13d fecc2330 PyObject_Call (8c5ee64, 9dbb1cc, 9dbccec, f7060930) + 64 fed59a33 ext_do_call (8c5ee64, f7060930, 3, 1, 0, 1f) + 15b fed562cf PyEval_EvalFrameEx (b5bab8c, 0, 852902c, 0) + 30d7 fed59310 fast_function (852db8c, f7060a6c, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f7060a6c, 0, b6, 0) + ee fed56221 PyEval_EvalFrameEx (f035c0c, 0, 852902c, 0) + 3029 fed59310 fast_function (852dc34, f7060bac, 1, 1, 0, fedcc63c) + 108 fed58e72 call_function (f7060bac, 0, 11, 0) + ee fed56221 PyEval_EvalFrameEx (b5fd73c, 0, 852902c, 0) + 3029 fed57cd0 PyEval_EvalCodeEx (8522968, 852902c, 0, 925c8b8, 1, 0) + 91c fece743d function_call (852dbc4, 925c8ac, 0, fecc22da) + 191 fecc2330 PyObject_Call (852dbc4, 925c8ac, 0, fecd1a15) + 64 fecd1b64 instancemethod_call (9db06e4, 806102c, 0, fecc22da) + 160 fecc2330 PyObject_Call (9db06e4, 806102c, 0, fed58b3a) + 64 fed58be7 PyEval_CallObjectWithKeywords (9db06e4, 806102c, 0, fed87962) + b7 fed87992 t_bootstrap (bc49448, fef82000, f7060fe8, feeef9ce) + 3e feeefa23 _thrp_setup (fe611a00) + 9b feeefcb0 _lwp_start (fe611a00, 0, 0, 0, 0, 0)
_______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
