Changes between Version 2 and Version 3 of SummerOfCode2014_interactive


Ignore:
Timestamp:
Jun 24, 2014, 2:46:21 PM (10 years ago)
Author:
shasha@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2014_interactive

    v2 v3  
    5151
    5252
    53 === Apt-get like behaviour ===
    54 Desc: When installing a port, list all the dependencies and ask the user for confirmation just like apt-get does.
    55 
    56 Message: A list of all the dependencies.
    57 
    58 Question type: A continue/abort question to give the options of continuing with the installation or aborting it. This could even use a 10s timeout, giving an option to abort during the timeout and continuing automatically after the time is out.
    59 
    60 Example-
    61 {{{
    62 $> port install foobar
    63 The following dependencies of foobar will be installed:
    64   boofar @0.0.1 +xzy
    65   barfoo @0.0.2 +xzy
    66   foba @0.1
    67 Continue? [Y/n]: Y
    68 ---> Installing boofar @0.0.1 +xzy
    69 ---> Installing barfoo @0.0.2 +xzy
    70 ---> Installing foba @0.1
    71 ---> Installing foobar
    72 $>
    73 }}}
    74 
    7553=== Dependents getting broken ===
    7654Desc: When uninstalling a port, if ports that depend on it are getting broken
     
    9371}}}
    9472
    95 === Variant specific dependency ===
    96 Desc: When installing a port that requires a dependency to have a certain variant, but this variant is not set. Ask the user if it should reinstall the dependency with that variant. This interaction is currently marked low priority.
    97 
    98 Message: A warning message explaining that reinstalling with a specific variant could break any already-installed dependents that relied on the previously-selected variants.
    99 
    100 Question type: A yes/no question is suitable here. The correct variant will be selected and installed automatically so no need to provide options.
    101 
    102 Example-
    103 {{{
    104 $> port install foobar
    105 The package 'foobar +quartz' requires 'barfoo +quartz' but 'barfoo' is installed.
    106 Warning: Reinstalling with a specific variant could break any already-installed dependents that relied on the previously-selected variants.
    107 Do you wish to install barfoo +quartz? [Y/n]: Y
    108 ---> Installing barfoo @1.0.1 +xzy
    109 ——-> Installing foobar
    110 $>
    111 }}}
    11273
    11374=== Ambiguous activate ===
     
    12788Type a number to select the variant to activate: 2
    12889---> foobar @0.0.2 +xzy activated.
    129 $>
    130 }}}
    131 
    132 === Rebuilding in rev-upgrade ===
    133 Desc: Before rebuilding any port in rev-upgrade the user will be asked for confirmation.
    134 
    135 Message: A list of ports that will be rebuilt along with some detail(not sure) about the linking errors. If the user chooses to answer no, display the message "You can always run 'port rev-upgrade' later to fix this".
    136 
    137 Question type: A yes/no question seems to handle the situation well. The whole list will be rebuilt as asking for each port might break the process of rev-upgrade.
    138 
    139 Example-
    140 {{{
    141 $> port rev-upgrade
    142 The following ports will be rebuilt:
    143   boofar @0.0.1 +xzy
    144   barfoo @0.0.2 +xzy
    145   foba @0.1
    146 Continue? [Y/n]: Y
    147 ---> Rebuilding boofar @0.0.1 +xzy
    148 ---> Rebuilding barfoo @0.0.2 +xzy
    149 ---> Rebuilding foba @0.1
    15090$>
    15191}}}
     
    192132}}}
    193133
    194 === Choose variants interactively ===
     134=== Variant specific dependency (Low-priority) ===
     135Desc: When installing a port that requires a dependency to have a certain variant, but this variant is not set. Ask the user if it should reinstall the dependency with that variant. This interaction is currently marked low priority.
     136
     137Message: A warning message explaining that reinstalling with a specific variant could break any already-installed dependents that relied on the previously-selected variants.
     138
     139Question type: A yes/no question is suitable here. The correct variant will be selected and installed automatically so no need to provide options.
     140
     141Example-
     142{{{
     143$> port install foobar
     144The package 'foobar +quartz' requires 'barfoo +quartz' but 'barfoo' is installed.
     145Warning: Reinstalling with a specific variant could break any already-installed dependents that relied on the previously-selected variants.
     146Do you wish to install barfoo +quartz? [Y/n]: Y
     147---> Installing barfoo @1.0.1 +xzy
     148——-> Installing foobar
     149$>
     150}}}
     151
     152=== Choose variants interactively (Low-priority) ===
    195153Desc: When installing a port the user can be given a list of all the variants of the port they wish to install and they can select them interactively. This interaction is currently flagged low priority.
    196154
     
    211169}}}
    212170
     171= Use Cases Completed =
     172
     173=== Rebuilding in rev-upgrade ===
     174Desc: Before rebuilding any port in rev-upgrade the user will be asked for confirmation.
     175
     176Message: A list of ports that will be rebuilt along with some detail(not sure) about the linking errors. If the user chooses to answer no, display the message "You can always run 'port rev-upgrade' later to fix this".
     177
     178Question type: A yes/no question seems to handle the situation well. The whole list will be rebuilt as asking for each port might break the process of rev-upgrade.
     179
     180Example-
     181{{{
     182$> port rev-upgrade
     183The following ports will be rebuilt:
     184  boofar @0.0.1 +xzy
     185  barfoo @0.0.2 +xzy
     186  foba @0.1
     187Continue? [Y/n]: Y
     188---> Rebuilding boofar @0.0.1 +xzy
     189---> Rebuilding barfoo @0.0.2 +xzy
     190---> Rebuilding foba @0.1
     191$>
     192}}}
     193
     194=== Apt-get like behaviour ===
     195Desc: When installing a port, list all the dependencies and ask the user for confirmation just like apt-get does.
     196
     197Message: A list of all the dependencies.
     198
     199Question type: A continue/abort question to give the options of continuing with the installation or aborting it. This could even use a 10s timeout, giving an option to abort during the timeout and continuing automatically after the time is out.
     200
     201Example-
     202{{{
     203$> port install foobar
     204The following dependencies of foobar will be installed:
     205  boofar @0.0.1 +xzy
     206  barfoo @0.0.2 +xzy
     207  foba @0.1
     208Continue? [Y/n]: Y
     209---> Installing boofar @0.0.1 +xzy
     210---> Installing barfoo @0.0.2 +xzy
     211---> Installing foba @0.1
     212---> Installing foobar
     213$>
     214}}}
     215
    213216= Implementation Details =
    214217