Hi all,

I've been working away to improve the command line output of various
parts of the 'pkg' command; please take a look at this wad:

        373 design a nice default output for install/update/remove
        374 filelist should work in ~5MB chunks, not in 64 file increments
        381 Fix some corner cases in verify logic

        http://cr.opensolaris.org/~dp/ips-status/

There are a couple of things here:

        - New output for interactive use
        - New output for non-interactive (i.e. through a pipe) use
        - New -q option for "quiet"

Here are some examples; it's a little hard to see how this works
until you use it interactively, but I'll try to annotate.

# pkg image-create -a 'cyber=http://cyber:80' /tmp/moo
# pkg install SUNWfirefox
DOWNLOAD                                    PKGS       FILES     XFER (MB)
Completed                                  46/46 10279/10279 495.28/495.28 

PACKAGE                                     PKGS     ACTIONS  OPERATION
SUNWfirefox                                46/46 14831/14831  Installing 
# 

The first phase is "DOWNLOAD", and this iteratively shows the package being
downloaded and the progress in getting the files, as well as the total
(effective, not compressed) data transferred.  In this case, to get
firefox, we need a total of 46 packages (since we began with a totally
empty image).

The second phase, "PACKAGE" shows the installation of the packages as
they happen.

If you run this through a pipe or isatty() is otherwise false, you'll see
a more simplified output:

# pkg install SUNWfirefox | cat
Download: SUNWlibms ...  Done
Download: SUNWzlib ...  Done
Download: SUNWlxml ...  Done
Download: SUNWpool ...  Done
Download: SUNWlibsasl ...  Done
Download: SUNWpr ...  Done
...
Install: SUNWlibgcrypt ...  Done
Install: SUNWgnome-audio ...  Done
Install: SUNWlibexif ...  Done
Install: SUNWgnome-libs ...  Done
Install: SUNWfirefox ...  Done

Verify now looks like this:

# chown dp:staff /tmp/moo/usr/bin/poolstat
# pkg verify
PACKAGE                                             STATUS
pkg://cyber/SUNWpool                                 ERROR
        file: usr/bin/poolstat
                Owner: 'dp' should be 'root'
                Group: 'staff' should be 'bin'
#

# pkg verify -v
PACKAGE                                             STATUS
pkg://cyber/SUNWzlib                                    OK
pkg://cyber/SUNWopenssl                                 OK
pkg://cyber/SUNWpool                                 ERROR
        file: usr/bin/poolstat
                Owner: 'dp' should be 'root'
                Group: 'staff' should be 'bin'
pkg://cyber/SUNWlibms                                   OK
pkg://cyber/SUNWlxml                                    OK
pkg://cyber/SUNWpr                                      OK
pkg://cyber/SUNWlibsasl                                 OK
pkg://cyber/SUNWtls                                     OK
pkg://cyber/SUNWcsl                                     OK
...

# pkg verify -q
# echo $?
1

While the verify is running a little "Verifying ... |" spinner is
shown, unless you are emitting the output through a pipe.

        -dp

-- 
Daniel Price - Solaris Kernel Engineering - [EMAIL PROTECTED] - blogs.sun.com/dp
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to