Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Get ewarn/einfo during --pretend?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
libertytrek
Apprentice
Apprentice


Joined: 18 Jul 2007
Posts: 258

PostPosted: Sun Aug 09, 2009 3:45 pm    Post subject: Get ewarn/einfo during --pretend? Reply with quote

I looked everywhere, but maybe I'm missing it...

Is it possible to see the pkg_postinst/pkg_preinst ewarn/einfo messages from a --pretend command?

Meaning, I'd like to see the same messages that would be output after an emerge install, when I do:

emerge -pvuDN world

or

emerge -pvuDN pkgname

Thanks
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Aug 09, 2009 3:59 pm    Post subject: Reply with quote

do you mean elog?
Back to top
View user's profile Send private message
libertytrek
Apprentice
Apprentice


Joined: 18 Jul 2007
Posts: 258

PostPosted: Sun Aug 09, 2009 4:45 pm    Post subject: Reply with quote

I'm pretty sure no... elog would only come into play *after* packages are *installed*.

I want to see these messages when I do a --pretend install (I thought that was pretty clear?)...
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Aug 09, 2009 4:55 pm    Post subject: Reply with quote

Ok so you mean somehow to get output like this?
Code:
# emerge -pv lvm2

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-fs/lvm2-2.02.49-r2  USE="lvm1 readline static -clvm (-cman) (-selinux)" 0 kB

        einfo "Building static LVM, for usage inside genkernel"
        ewarn "Building shared LVM, it will not work inside genkernel!"
        einfo "Doing symlinks"
        einfo "Doing device-mapper"
        einfo "Doing lib"
        einfo "Doing main build"
        einfo "Testcases disabled because of device-node mucking"
        einfo "If you want them, compile the package and see ${S}/tests"

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Back to top
View user's profile Send private message
libertytrek
Apprentice
Apprentice


Joined: 18 Jul 2007
Posts: 258

PostPosted: Sun Aug 09, 2009 4:58 pm    Post subject: Reply with quote

If this would include all of the potential messages warning about something that needs to be done, major changes, etc, then yes...

Again, basically any/all messages that would output at the end of the install if the package was actually installed.
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Aug 09, 2009 5:15 pm    Post subject: Reply with quote

libertytrek wrote:
Again, basically any/all messages that would output at the end of the install if the package was actually installed.

Ok so you do mean elog, meaning the stuff from eread right?
Back to top
View user's profile Send private message
hielvc
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2805
Location: Oceanside, Ca

PostPosted: Sun Aug 09, 2009 5:30 pm    Post subject: Reply with quote

Mike I think he wants a pre-viewer before emerging. You could do something like this
Code:
for i in $(eix -Iuc|awk '/U/ {print $2} ;do echo "$i";grep "einfo" $(equery w $i) ;done
app-text/docbook-xml-dtd
dev-python/wxpython
kde-base/kdelibs
      einfo "Building API documentation"
      einfo "Installing API documentation. This could take a bit of time."
sys-apps/baselayout
   einfo "Creating directories..."
virtual/libusb
x11-libs/gtksourceview
x11-libs/wxGTK


To use this you need "eix" and "gentoolkit" installed.

Edit Used " eix -Ic " to generate list.
_________________
An A-Z Index of the Linux BASH command line


Last edited by hielvc on Sun Aug 09, 2009 5:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Aug 09, 2009 5:38 pm    Post subject: Reply with quote

hielvc wrote:
Mike I think he wants a pre-viewer before emerging. You could do something like this
Code:
for i in gcc glibc binutils ;do echo "$i";grep "einfo" $(equery w $i) ;done
gcc
glibc
      einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
      einfo "Installing Hardened Gentoo SSP handler"
binutils


Yes, ok, thanks hielvc. How about
Code:
for i in grub lvm2 kdm ;do echo "$i";egrep 'elog|einfo|ewarn|qa|error' $(equery w $i) ;done


:)
Back to top
View user's profile Send private message
hielvc
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2805
Location: Oceanside, Ca

PostPosted: Sun Aug 09, 2009 5:45 pm    Post subject: Reply with quote

Diffently better :lol:
Code:
for i in $(eix -Iuc|awk '/U/ {print $2}') ;do echo "$i";egrep 'elog|einfo|ewarn|qa|error' $(equery w $i) ;done
app-text/docbook-xml-dtd
dev-python/wxpython
   elog "Gentoo uses the Multi-version method for SLOT'ing."
   elog "Developers, see this site for instructions on using"
   elog "2.6 or 2.8 with your apps:"
   elog "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
   elog
      elog "To access the general wxWidgets documentation, run"
      elog "/usr/share/doc/${PF}/docs/viewdocs.py"
      elog
      elog "wxPython documentation is available by pointing a browser"
      elog "at /usr/share/doc/${PF}/docs/api/index.html"
      elog
      elog "The demo.py app which contains hundreds of demo modules"
      elog "with documentation and source code has been installed at"
      elog "/usr/share/doc/${PF}/demo/demo.py"
      elog
      elog "Many more example apps and modules can be found in"
      elog "/usr/share/doc/${PF}/samples/"
   ewarn "Editra is no longer packaged with wxpython in Gentoo."
   ewarn "You can find it in the tree as app-editors/editra"
kde-base/kdelibs
      einfo "Building API documentation"
      einfo "Installing API documentation. This could take a bit of time."
      elog "To make zeroconf support available in KDE make sure that the 'mdnsd' daemon"
      elog "is running. Make sure also that multicast dns lookups are enabled by editing"
      elog "the 'hosts:' line in /etc/nsswitch.conf to include 'mdns', e.g.:"
      elog "   hosts: files mdns dns"
   elog "Your homedir is set to "'${HOME}'"/${HME}"
   elog
   elog "If you experience weird application behavior (missing texts, etc.) run as root:"
   elog "# chmod 755 -R /usr/share/config $PREFIX/share/config"
sys-apps/baselayout
   einfo "Creating directories..."
virtual/libusb
x11-libs/gtksourceview
x11-libs/wxGTK

_________________
An A-Z Index of the Linux BASH command line
Back to top
View user's profile Send private message
hielvc
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2805
Location: Oceanside, Ca

PostPosted: Sun Aug 09, 2009 5:48 pm    Post subject: Reply with quote

Thats almost getting to be useful 8O
_________________
An A-Z Index of the Linux BASH command line
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Aug 09, 2009 5:55 pm    Post subject: Reply with quote

It is, :)
Back to top
View user's profile Send private message
hielvc
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2805
Location: Oceanside, Ca

PostPosted: Sun Aug 09, 2009 6:09 pm    Post subject: Reply with quote

Quote:
-u, --upgrade, --upgrade+, --upgrade-
Only match packages which have at least one slotted version
installed which is not the best version within that slot. This
means usually that you should either upgrade or downgrade that
package.

However, the test takes also UPGRADE_TO_HIGHEST_SLOT (see below)
into account.

If you use --upgrade+ or --upgrade-, then the test acts as if
LOCAL_PORTAGE_CONFIG is true or false. Otherwise, this decision
is based upon UPGRADE_LOCAL_MODE.

If you want to see only packages with downgrade recommendations,
you might make use of the FORMATSTRING features described below.
RTFM :lol:
I used -u because I thought it would show only what had updates but thats not matching

Code:
eix -Ic --upgrade+
[U] app-text/docbook-xml-dtd (4.1.2-r6(4.1.2)@07/26/09 4.4-r1(4.4)@07/26/09 -> 4.1.2-r6(4.1.2) 4.2-r2(4.2) 4.3-r1(4.3) 4.4-r1(4.4) 4.5(4.5)): Docbook DTD for XML
[U] dev-python/wxpython (2.6.4.0-r2(2.6)@07/26/09 -> 2.6.4.0-r2(2.6) (~)2.8.10.1(2.8)): A blending of the wxWindows C++ class library with Python
[U] kde-base/kdelibs (3.5.10-r6(3.5)@07/26/09 -> 3.5.10-r6(3.5)!t (~)4.2.4-r4(4.2)!t): KDE libraries needed by all KDE programs.
[U] sys-apps/baselayout (2.1.2@08/08/09 -> 2.1.3): Filesystem baselayout and init scripts
[U] virtual/libusb (0@07/26/09 -> 0 (~)1(1)): Virtual for libusb
[U] x11-libs/gtksourceview (1.8.5-r1(1.0)@07/26/09 -> 1.8.5-r1(1.0) (~)2.6.2(2.0)): A text widget implementing syntax highlighting and other features
[U] x11-libs/wxGTK (2.6.4.0-r5(2.6)@07/26/09 -> 2.6.4.0-r5(2.6) 2.8.10.1-r1(2.8)): GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit.
Found 7 matches.


Code:
emerge world -uDNp

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] sys-apps/baselayout-2.1.3 [2.1.2]

I was trying to avoid using emerge to generate the list for speed reasons.
_________________
An A-Z Index of the Linux BASH command line
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Aug 09, 2009 6:32 pm    Post subject: Reply with quote

:)

So this I think would do it with emerge (for portage < 2.2) otherwise emerge -upDN world
Code:
for i in $(emerge -upDN @system @world |awk '/\[/ {print $4}') ;do echo "$i";egrep 'elog|einfo|ewarn|qa|error' $(equery w $i) ;done
8)
Back to top
View user's profile Send private message
hielvc
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2805
Location: Oceanside, Ca

PostPosted: Mon Aug 10, 2009 5:35 am    Post subject: Reply with quote

Converted to a script. If you pass system or world to it, it will locates einfo, elog, ewarn, qa and error info from either "emerge system" or "emerge world". If you are afraid that this script might set your box on fire, just make sure you have a bucket of saltwater nearby to pour on it, so as to short the fire out :P

Usage einfo.sh system for the system listings. If you run einfo.sh by itself or einfo.sh world you the listings for everthing.

Code:
#!/bin/bash
# Presented by Hiel Van Campen && Mike Hunt 8-9-2009
# Should cause no problems but if does its Mike's fault, trust me :p
# from http://forums.gentoo.org/viewtopic-t-787317-start-0-postdays-0-postorder-asc-highlight-.html
# Also a good tool to make text scroll by, all right stager by, .in other words its slow.
# Blame Mike, but I'm the one who put in the pretty colors

clear

# Colors
NO=$'\x1b[0;0m'
YL=$'\x1b[33;01m' Yl=$'\x1b[00;33m'
GR=$'\x1b[32;01m' Gr=$'\x1b[00;32m'
CY=$'\x1b[36;01m' Cy=$'\x1b[00;36m'
RD=$'\x1b[31;01m' Rd=$'\x1b[00;31m'

# Read command line or get agrv simple
if [[ "$1" == "" || "$1" == "world" ]];then
   var="world"
elif [ "$1" == "system" ];then
   var="system"
fi

for i in $(emerge $var -eqp|cut -c17-70|sed 's/ .*//'|sort); do
   # if is for supressing progs that dont have einfo info ;)
   if egrep -q 'elog|einfo|ewarn|qa|error' $(equery w $i) ;then
      echo "${YL} $i ${NO}";egrep 'elog|einfo|ewarn|qa|error' $(equery w $i)
   fi
done


A sample of the output.
Quote:
media-fonts/dejavu-2.29
ewarn
ewarn "Starting with ${PN}-2.22 font ligatures were re-imported in DejaVu"
ewarn "That means that you'll possibly encounter the infamous ligature bug"
ewarn "with pango-enabled Firefox (e.g. 'fi' and 'fl' will occasionally"
ewarn "overlap). This will be fixed in Firefox-3.x. Until this happens"
ewarn "either use Firefox without pango (MOZ_DISABLE_PANGO=1), or use"
ewarn "${PN}-2.21"
ewarn
media-fonts/terminus-font-4.28
eerror "Fonts which works with Xserver are intalled only if pcf is enabled."
media-gfx/imagemagick-6.5.2.9
elog "the svg USE-flag requires the X USE-flag set."
elog "disabling svg support for now."
elog "corefonts USE-flag requires the truetype USE-flag to be set."
elog "disabling corefonts support for now."
elog "disabling openmp support (requires >=sys-devel/gcc-4.3 with USE='openmp')"
elog "disabling openmp support (requires >=sys-devel/gcc-4.3)"
einfo "please note that the tests will only be run when the installed"
einfo "version and current emerging version are the same"
media-gfx/sane-backends-1.0.20-r1
ewarn "You selected a backend which is disabled because it's not usable in your arch."

_________________
An A-Z Index of the Linux BASH command line
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Mon Aug 10, 2009 8:23 am    Post subject: Reply with quote

This is really becoming interesting now, so I added a third speedier option that takes an array of command line options :P
Code:
#!/bin/bash
# Presented by Hiel Van Campen && Mike Hunt 8-9-2009
# Should cause no problems but if does its Mike's fault, trust me :p
# from http://forums.gentoo.org/viewtopic-t-787317-start-0-postdays-0-postorder-asc-highlight-.html
# Also a good tool to make text scroll by, all right stager by, .in other words its slow.
# Blame Mike, but I'm the one who put in the pretty colors
# Added third option that accepts an array of command line args. -Mike :)

clear

# Colors
NO=$'\x1b[0;0m'
YL=$'\x1b[33;01m' Yl=$'\x1b[00;33m'
GR=$'\x1b[32;01m' Gr=$'\x1b[00;32m'
CY=$'\x1b[36;01m' Cy=$'\x1b[00;36m'
RD=$'\x1b[31;01m' Rd=$'\x1b[00;31m'

sys_world () {
    for i in $(emerge $var -eqp|awk '/\[/ {print $4}'|sort); do
       # if is for supressing progs that dont have einfo info ;)
       if egrep -q 'elog|einfo|ewarn|qa|error' $(equery w $i) ;then
          echo "${YL} $i ${NO}";egrep 'elog|einfo|ewarn|qa|error' $(equery w $i)
       fi
    done
    exit 0
}

# Read command line or get agrv simple
if [[ "$1" == "" || "$1" == "world" ]];then
    var="world"
    sys_world
elif [ "$1" == "system" ];then
    var="system"
    sys_world
else
   var="$@"
fi
for i in "$@"; do   # pass an array of command line args
    if egrep -q 'elog|einfo|ewarn|qa|error' $(equery w $i) ;then
        echo "${YL} $i ${NO}"; egrep 'elog|einfo|ewarn|qa|error' $(equery w $i)
    fi
done
exit 0

Sample:
./einfo.sh $(qlist -IC eselect)
app-admin/eselect
                elog "In case you have not yet enabled command-line completion"
                elog "for eselect, you can run:"
                elog
                elog "  eselect bashcomp enable eselect"
                elog
                elog "to install locally, or"
                elog
                elog "  eselect bashcomp enable --global eselect"
                elog
                elog "to install system-wide."
 app-admin/eselect-news
                einfo "Merging news data at '${paludis_data}' with '${gentoo_data}'"
 app-admin/eselect-opengl
                        einfo "Removing libMesaGL.so from xorg-x11 profile. See bug #47598."
                        einfo "Removing libMesaGL.so from /usr/$(get_libdir).  See bug #47598."
Sample:
./einfo.sh xterm gentoo-sources nano
 xterm
# Parallel make causes File exists error and dies. Forcing -j1 for now.
        elog "bracketed paste mode requires the allowWindowOps resource to be true"
        elog "which is false by default for security reasons (see bug #91453)."
        elog "To be able to use it add 'allowWindowOps: true' to your resources"
 gentoo-sources
        einfo "For more info on this patchset, and how to report problems, see:"
        einfo "${HOMEPAGE}"
 nano
        einfo "More helpful info about nano, visit the GDP page:"
        einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
and this too:
./einfo.sh $(emerge -uDNp @system @world | awk '/\[/ {print $4}')
...
lots of nice output <|:-)
...
Back to top
View user's profile Send private message
libertytrek
Apprentice
Apprentice


Joined: 18 Jul 2007
Posts: 258

PostPosted: Mon Aug 10, 2009 11:17 am    Post subject: Reply with quote

Holy crap... ! :)

Thanks for taking this and running with it, but as ianap, most of this is greek to me...

So, is it possible a new emerge switch could come out of this? Maybe --messages (-m) or something? I'd really prefer something that was officially maintained as part of the official tool (emerge) for installing programs.

If not, at least maybe an officially supported alternate tool - call it premerge?

Anyway, thanks again for the efforts...
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Mon Aug 10, 2009 11:56 am    Post subject: Reply with quote

You're welcome. :)

And yes it definitely needs work, especially error checking. For example this command without the pretend switch can probably damage the tree - not sure -
EDIT: yes I am sure - EDIT again no not sure - there was a bug in portage that coincided with testing, -so not sure. Still better to be safe, and besides this only makes sense in pretend mode anyway. :)
Code:
einfo.sh $(emerge -uDNp @system @world | awk -F'] ' '{print $2}')


So something like
Code:
alias emerge='emerge -p'
...
...
unalias emerge
Code:
#!/bin/bash
# Presented by Hiel Van Campen && Mike Hunt 8-9-2009
# Should cause no problems but if does its Mike's fault, trust me :p
# from http://forums.gentoo.org/viewtopic-t-787317-start-0-postdays-0-postorder-asc-highlight-.html
# Also a good tool to make text scroll by, all right stager by, .in other words its slow.
# Blame Mike, but I'm the one who put in the pretty colors
# Added third option that accepts an array of command line args. -Mike :)

alias emerge='emerge -p'

# Colors
NO=$'\x1b[0;0m'
YL=$'\x1b[33;01m' Yl=$'\x1b[00;33m'
GR=$'\x1b[32;01m' Gr=$'\x1b[00;32m'
CY=$'\x1b[36;01m' Cy=$'\x1b[00;36m'
RD=$'\x1b[31;01m' Rd=$'\x1b[00;31m'

sys_world () {
    clear
    for i in $(emerge $var -eqp|awk -F'] ' '{print $2}'|sort); do
       # if is for supressing progs that dont have einfo info ;)
       if egrep -q 'elog|einfo|ewarn|qa|error' $(equery w $i) ;then
          echo "${YL} $i ${NO}";egrep 'elog|einfo|ewarn|qa|error' $(equery w $i)
       fi
    done
    exit 0
}

# Read command line or get agrv simple
if [[ "$1" == "" || "$1" == "world" ]];then
    var="world"
    sys_world
elif [ "$1" == "system" ];then
    var="system"
    sys_world
elif [[ "$1" == "-h" || "$1" == "--help" ]];then
    echo "usage: einfo.sh [system|world|pkg1 pkg2 pkg3...]"
    exit 0
else
   var="$@"
fi
clear
for i in "$@"; do   # pass an array of command line args
    if egrep -q 'elog|einfo|ewarn|qa|error' $(equery w $i) ;then
        echo "${YL} $i ${NO}"; egrep 'elog|einfo|ewarn|qa|error' $(equery w $i)
    fi
done
unalias emerge
exit 0


EDIT: fixed awk bug and added -h switch :)

... and now a manpage... 8)

Thanks hielvc - this was fun. :D


Last edited by Mike Hunt on Wed Aug 12, 2009 5:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
libertytrek
Apprentice
Apprentice


Joined: 18 Jul 2007
Posts: 258

PostPosted: Wed Aug 12, 2009 1:22 pm    Post subject: Reply with quote

Cool! So, any chance of this becoming an officially supported switch to emerge?
Back to top
View user's profile Send private message
hielvc
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2805
Location: Oceanside, Ca

PostPosted: Wed Aug 12, 2009 4:16 pm    Post subject: Reply with quote

libertytrek you would have to post to bugs gentoo requesting a method or tool to preview the einfo. Actually this previewer is not a bad idea at all for an "emerge -uDN" . If you update monthly or more often then you would not be buried in the output. If you redirect the --emptytree output to a file it is manageable.

EDIT 8-13-2009 the below paragraph as its the only instructions at this time. Also updated the script which needs only the help section finished.

This isnt quite finished, the help section needs finishing and minor cleanup., but you can pass it short emerge flags, -D, -e, -h or help, -N, -u, nc <nocolor>, system, sys, @system, @sys, wld, world, @world, @wld". The short guys I leave to you to figure out. Typical useage would be " einfo.sh wld -uDN " or " einfo.sh @sys -uDN ". Also as the last switch or flag "pkg or P or PKG" you can list packages that you want to check. Use the pkg flag and you don't have to pass world or system just "einfo.sh -uDN pkg baselayout glibc" and if theres any einfo for those packages it will listed. It also will have help section That explains the options.

Code:
#!/bin/bash
# Presented by Hiel Van Campen && Mike Hunt 8-9-2009
# Should cause no problems but if does its Mike's fault, trust me :p
# from http://forums.gentoo.org/viewtopic-t-787317-start-0-postdays-0-postorder-asc-highlight-.html
# Also a good tool to make text scroll by, all right stager by, .in other words its slow.
# Blame Mike, but I'm the one who put in the pretty colors
# Added third option that accepts an array of command line args. -Mike :)
# Added more options and HELP which needs finishing. hielvc
# Added version_info. Changed from egerp to awk for . For some reason output of awk started
# including [old-version] so added sed again.
Version="0.0.7"
Date="Wed Aug 12 22:14:00 PDT 2009"

####  Varibles
nc="no"  # Default colors on
pkg=""
bclass=""
eargs="-"

clear

# Colors
function colors(){
if [ ${nc} == "no" ] ;then
   #echo "in colors"
   NO=$'\x1b[0;0m'
   YL=$'\x1b[33;01m' Yl=$'\x1b[00;33m'
   GR=$'\x1b[32;01m' Gr=$'\x1b[00;32m'
   CY=$'\x1b[36;01m' Cy=$'\x1b[00;36m'
   RD=$'\x1b[31;01m' Rd=$'\x1b[00;31m'
fi
}

#Version info
function version_info(){
   echo ${GR}" Version-$Version , Date $Date${NO}"
   exit
}
# The help file
function print_help(){
   cat <<-END #help_fmt

      ${RD}HHHEEEELLLPPPPP${NO}

END
exit
}

# get agrv
function getargs(){
if [ $# -eq 0 ]; then
      print_help
   fi
   # LONG OPTIONS
   while [[ $1 != "" ]]; do
      if echo $1|grep -vq - ; then
         case $1 in
            sys|system   )   bclass="system" ;;
            @sys|@system )   bclass="@system" ;;
            wld|world    )   bclass="world" ;;
            @wld|@world  )   bclass="@world" ;;
            help         )   print_help ;;
            P|pkg|PKG    )   shift
                              while [[ $1 != "" ]]; do
                                 if [ "$pkg" == "catsisrats" ]; then
                                    pkg="$1"
                                 else
                                    pkg="$pkg $1"
                                 fi
                              shift
                              done;;
            nc          )    nc="yes" ;; # Turns off color
            version     )    version_info ;;
            *            )    echo ${RD}"$OPT is not a valid long flag";exit 1 ;;
         esac
      fi
      # Short options
      while getopts "DehNsuwV*" OPT; do
         case $OPT in
            s ) bclass="system" ;;
            w ) bclass="world" ;;
            D ) eargs="${eargs}${OPT}" ;;
            e ) eargs="${eargs}${OPT}" ;;
            N ) eargs="${eargs}${OPT}" ;;
            u ) eargs="${eargs}${OPT}" ;;
            h ) print_help ;;
            V ) version_info ;;
            ? ) echo ${Rd}"$1 is not a valid flag string"; exit 1 ;;
         esac
      done
      shift
   done
   if [[ "$bclass" == "" && "$pkg" == "" ]] ; then
      echo ${RD}"You didn't select world|system and you didn't pass any"${NO}
      echo ${RD}"packages, so no einfo.sh isn't broken. You need to give einfo"${NO}
      echo ${RD}"one of the three. Run ${GR}\"einfo.sh -h\"${RD} for more info."${NO}
      exit 1
fi
}

# Main function for retrieving info
function get_info(){
   for i in $(emerge $bclass $pkg $eargs -qp|awk -F] '{print $2}'|sed 's/ \[.*//'|sort); do
      # New parad1gm.Put output of eprep test into file.Test if file is not zero size.
      :>~/.einfo.txt       #zero out einfo.txt
      awk '/elog|einfo|ewarn|qa|error/ {print $0}' $(equery w $i)>>~/.einfo.txt
      if [ -s ~/.einfo.txt ] ;then
         echo "${YL}  $i ${NO}"
         cat ~/.einfo.txt
      fi
   done
   rm ~/.einfo.txt
}

colors      # call colors first so that help can print in color.

getargs $@  # Have to pass agrv to getargs

get_info

exit


Edit Mike good catch on " -F] "
_________________
An A-Z Index of the Linux BASH command line


Last edited by hielvc on Thu Aug 13, 2009 5:26 pm; edited 6 times in total
Back to top
View user's profile Send private message
libertytrek
Apprentice
Apprentice


Joined: 18 Jul 2007
Posts: 258

PostPosted: Wed Aug 12, 2009 8:32 pm    Post subject: Reply with quote

Done!

Bugzilla Bug 281248
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Wed Aug 12, 2009 11:12 pm    Post subject: Reply with quote

Cool. :D
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum