portupgrade -af idea

Hi.I think there is something very useful that is missing from portupgrade.
When i make portupgrade -af in fact recompile all packages of my system and make all the appropriate updates.
But that i think is missing is that is not telling how many packages has already recompile and how much left to recompile.
For example i have 700 packages on my system. Ok. I am going to sk8 and when i am back 4 hours later continues to recompile.
But how many packages left? In the 4 hours i was skating how many packages all already done?
Portupgrade is not giving this information but i think it is very useful
 
portupgrade-devel does that. portupgrade might also, have been using -devel for a long time.

Code:
# portupgrade -naf | less
--->  Session started at: Wed, 26 May 2010 14:09:06 -0600
--->  Reinstallation of www/tidy started at: Wed, 26 May 2010 14:09:48 -0600
--->  Reinstalling 'tidy-20000804_2' (www/tidy)
OK? [no]
--->  Reinstallation of www/tidy ended at: Wed, 26 May 2010 14:09:48 -0600 (consumed 00:00:00)
--->  [B]** Upgrade tasks 652: 1 done, 1 ignored, 0 skipped and 0 failed[/B]
--->  Reinstallation of textproc/xmlcatmgr started at: Wed, 26 May 2010 14:09:48 -0600
--->  Reinstalling 'xmlcatmgr-2.2' (textproc/xmlcatmgr)
OK? [no]
--->  Reinstallation of textproc/xmlcatmgr ended at: Wed, 26 May 2010 14:09:48 -0600 (consumed 00:00:00)
--->  [B]** Upgrade tasks 652: 2 done, 1 ignored, 0 skipped and 0 failed[/B]
...
 
Ok. Is anyone to know if portupgrade (no devel) do that?
What i suppose to add with -af?
Witch is the difference with portupgrade-devel?
 
Just tried portupgrade in a vm, and it does that too. Are you not seeing it, or just missing it in all the output?
 
When i run portupgrade -af i take something like this.

Code:
[...]
===>   junit-4.8.1 depends on file: /usr/local/bin/unzip - found
===>  Patching for junit-4.8.1
===>  Configuring for junit-4.8.1
--->  Backing up the old version
--->  Uninstalling the old version
--->  Deinstalling 'junit-4.8.1'
[B][Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 619 packages found (-1 +0) (...) done][/B]
--->  Installing the new version via the port
===>  Installing for junit-4.8.1
===>   junit-4.8.1 depends on file: /usr/local/jdk1.6.0/bin/java - found
===>   Generating temporary packing list
install  -o root -g wheel -m 444 /usr/ports/java/junit/work/junit4.8.1/junit-4.8.1.jar /usr/local/share/java/classes/junit.jar
/bin/mkdir -p /usr/local/share/java/junit [...]

He tells me that i have 619 (620-1 because deinstalling the package to reinstall it) packages but is not telling me how many packages left for recompile.

I run man portupgrade and:

Code:
 -v
     --verbose              Turn on verbose output.

This is that i am looking for?
 
I've noticed that portupgrade puts some status in the process name accessible from ps(1). The process name usually looks like

Code:
portupgrade: [x/y]

Where x is completed tasks, and y is total tasks.
 
I think most terminals (xterm, Terminal, etc.) and screen apps (tmux/screen) do that. E.g. portmaster always prints its progress in the 'bar', though the numbers may jump around a little when dependency trees are followed.
 
Ok. With ps i take exactly this!
Code:
ps -A
3374   0  I+     0:18,71 ruby18: portupgrade: [B][340/619][/B] fusefs-ntfs-2010.3.6 (ruby18)
Solved :)
 
Back
Top