Re: [MacPorts] #15939: port install : in need of a progressbar

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #15939: port install : in need of a progressbar

MacPorts
#15939: port install : in need of a progressbar
--------------------------+--------------------------------
  Reporter:  pc@…         |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Low          |  Milestone:  MacPorts 2.6.0
 Component:  base         |    Version:  1.6.0
Resolution:               |   Keywords:
      Port:               |
--------------------------+--------------------------------
Changes (by neverpanic):

 * milestone:  MacPorts Future => MacPorts 2.6.0


Comment:

 We could re-use the download progress bars in the configure, build and
 destroot steps. A first iteration could probably just move a progress
 indicator (not a progress bar!) when a new line was printed by the build
 system.

 Further iterations could parse CMake output when CMake is used as a build
 system, for example.

--
Ticket URL: <https://trac.macports.org/ticket/15939#comment:19>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #15939: port install : in need of a progressbar

MacPorts
#15939: port install : in need of a progressbar
--------------------------+--------------------------------
  Reporter:  pc@…         |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Low          |  Milestone:  MacPorts 2.6.0
 Component:  base         |    Version:  1.6.0
Resolution:               |   Keywords:
      Port:               |
--------------------------+--------------------------------

Comment (by ryandesign):

 Replying to [comment:19 neverpanic]:
 > Further iterations could parse CMake output when CMake is used as a
 build system, for example.

 I would suggest not hardcoding information about cmake's progress output
 in base, but instead make a way in base for a port or portgroup to specify
 maybe a regexp to be applied to output lines to find progress information.
 The cmake portgroup can then set the correct values for cmake. We also
 need to consider that some builds may have multiple parts. For example, a
 port that uses cmake and the muniversal portgroup will go from 0% to 100%
 progress more than once (once for each arch).

--
Ticket URL: <https://trac.macports.org/ticket/15939#comment:20>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #15939: port install : in need of a progressbar

MacPorts
In reply to this post by MacPorts
#15939: port install : in need of a progressbar
--------------------------+--------------------------------
  Reporter:  pc@…         |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Low          |  Milestone:  MacPorts 2.6.0
 Component:  base         |    Version:  1.6.0
Resolution:               |   Keywords:
      Port:               |
--------------------------+--------------------------------

Comment (by RJVB):

 >  A first iteration could probably just move a progress indicator (not a
 progress bar!) when a new line was printed by the build system.

 That should be easy, IIRC all output already goes through single Tcl
 function. It probably should also be a bit more elaborate than updating
 the indicator on every new line (instead, update every N lines, where N is
 determined from some sliding average over the number of lines printed per
 second?).

 See my comments above. The way to go is probably via a hook/callback
 approach where different buildsystems can provide progress information.
 CMake is probably not the only such system that can provide the required
 information.

 Muniversal builds are an annoyance in this matter, but only if you think
 you have to hide the fact that such a build is going on. Assuming that a
 display progress information is to be optional it's logical to assume that
 users who are interested in this are also not uninterested in knowing what
 part is being built. (I already patch my local muniversal PG so it tells
 me that.)
 The alternative is a simple *approximation*: scale by the number of
 architectures. If the returned progress information is a
 (currentFile,numberOfFiles) pair, multiply numberOfFiles by the number of
 architectures and you're set. When the returned information is already a
 percentage, divide it by that number and treat it as if on a circular
 scale (progress from ((100/N -i)% to j% would become (100/N +j)%).

--
Ticket URL: <https://trac.macports.org/ticket/15939#comment:21>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #15939: port install : in need of a progressbar

MacPorts
In reply to this post by MacPorts
#15939: port install : in need of a progressbar
--------------------------+--------------------------------
  Reporter:  pc@…         |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Low          |  Milestone:  MacPorts 2.6.0
 Component:  base         |    Version:  1.6.0
Resolution:               |   Keywords:
      Port:               |
--------------------------+--------------------------------

Comment (by neverpanic):

 Just to make this clear, I think we should first provide progress
 indicators. Once that's done, we can add a new ticket to figure out how to
 extract progress information from different build systems.

--
Ticket URL: <https://trac.macports.org/ticket/15939#comment:22>
MacPorts <https://www.macports.org/>
Ports system for macOS