Dan Armak wrote:        [Thu Jun 30 2005, 05:11:10PM EDT]
> Instead of 'exit 1', qt_min_version should use die. I use that in
> deprange and it does work inside $DEPEND.

Well, it's more visible, but it doesn't stop the emerge.  I just put
DEPEND="$(die)" into an ebuild to test.  Here is what happens.  It
also gives you an idea of why putting functions into DEPEND is bad:
they get evaluated A LOT.  (jump down for more message content)

----------------------------------------------------------------------

$ sudo emerge keychain

Performing Global Updates: /opt/agriffis/portage/profiles/updates/3Q-2004
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
..................................................................................................................................................................................................
Calculating dependencies  
!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
                                                                                
                  ...done!
>>> emerge (1 of 1) net-misc/keychain-2.5.4.1 to /

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

>>> md5 src_uri ;-) keychain-2.5.4.1.tar.bz2

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

>>> Unpacking source...
>>> Unpacking keychain-2.5.4.1.tar.bz2 to /var/tmp/portage/keychain-2.5.4.1/work
>>> Source unpacked.

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

>>> Test phase [not enabled]: net-misc/keychain-2.5.4.1

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


>>> Install keychain-2.5.4.1 into /var/tmp/portage/keychain-2.5.4.1/image/ 
>>> category net-misc
man:
prepallstrip:
strip: ia64-unknown-linux-gnu-strip --strip-unneeded
strip: ia64-unknown-linux-gnu-strip --strip-unneeded
>>> Completed installing keychain-2.5.4.1 into 
>>> /var/tmp/portage/keychain-2.5.4.1/image/

>>> Merging net-misc/keychain-2.5.4.1 to /

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

--- /usr/
--- /usr/bin/
>>> /usr/bin/keychain
--- /usr/share/
--- /usr/share/doc/
--- /usr/share/doc/keychain-2.5.4.1/
>>> /usr/share/doc/keychain-2.5.4.1/README.gz
>>> /usr/share/doc/keychain-2.5.4.1/ChangeLog.gz
>>> /usr/share/doc/keychain-2.5.4.1/keychain.pod.gz
--- /usr/share/man/
--- /usr/share/man/man1/
>>> /usr/share/man/man1/keychain.1.gz
>>> Safely unmerging already-installed instance...

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

--- !mtime obj /usr/share/man/man1/keychain.1.gz
--- !mtime obj /usr/share/doc/keychain-2.5.4.1/keychain.pod.gz
--- !mtime obj /usr/share/doc/keychain-2.5.4.1/README.gz
--- !mtime obj /usr/share/doc/keychain-2.5.4.1/ChangeLog.gz
--- !mtime obj /usr/bin/keychain
--- !empty dir /usr/share/man/man1
--- !empty dir /usr/share/man
--- !empty dir /usr/share/doc/keychain-2.5.4.1
--- !empty dir /usr/share/doc
--- !empty dir /usr/share
--- !empty dir /usr/bin
--- !empty dir /usr

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

>>> original instance of package unmerged safely.

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


 * Please see the Keychain Guide at
 * http://www.gentoo.org/doc/en/keychain-guide.xml
 * for help getting keychain running

>>> Regenerating /etc/ld.so.cache...
>>> net-misc/keychain-2.5.4.1 merged.

!!! ERROR: net-misc/keychain-2.5.4.1 failed.
!!! Function , Line 15, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


>>> clean: No packages selected for removal.

>>> Auto-cleaning packages ...

>>> No outdated packages were found on your system.


 * GNU info directory index is up-to-date.
 * IMPORTANT: 60 config files in /etc need updating.
 * IMPORTANT: 24 config files in /usr/lib/X11/xkb need updating.
 * Type emerge --help config to learn how to update config files.

----------------------------------------------------------------------

For the curious, here is the current list of qt deps in portage:

    $ egrep -hro '[<>=]*x11-libs/qt-[-0-9r.*]+' --include='*.e*' . | sort -u
    =x11-libs/qt-2*
    =x11-libs/qt-3*
    =x11-libs/qt-3.1*
    =x11-libs/qt-3.3*
    >=x11-libs/qt-2.2.0
    >=x11-libs/qt-2.2.4
    >=x11-libs/qt-2.3
    >=x11-libs/qt-2.3.0
    >=x11-libs/qt-3
    >=x11-libs/qt-3.0
    >=x11-libs/qt-3.0.0
    >=x11-libs/qt-3.0.1
    >=x11-libs/qt-3.0.3
    >=x11-libs/qt-3.0.5
    >=x11-libs/qt-3.1
    >=x11-libs/qt-3.1.0
    >=x11-libs/qt-3.1.0-r1
    >=x11-libs/qt-3.1.0-r3
    >=x11-libs/qt-3.1.1
    >=x11-libs/qt-3.1.2
    >=x11-libs/qt-3.1.2-r3
    >=x11-libs/qt-3.2
    >=x11-libs/qt-3.2.0
    >=x11-libs/qt-3.2.1-r2
    >=x11-libs/qt-3.2.3
    >=x11-libs/qt-3.3
    >=x11-libs/qt-3.3.0
    >=x11-libs/qt-3.3.0-r1
    >=x11-libs/qt-3.3.1
    >=x11-libs/qt-3.3.2
    >=x11-libs/qt-3.3.3
    >=x11-libs/qt-3.3.3-r1
    >=x11-libs/qt-3.3.4

I agree with vapier, btw, I'd rather not see qt split into separate
packages just to work around a lack in portage (which I think we all
expect will be fixed eventually).  I'm not completely against using
a function to do what you're doing, but I want to make sure you
understand that it's only superficially better than using a set of
variables in qt.eclass.

Thanks for taking the time to solve this kind of problem and being
willing to discuss it.

Regards,
Aron

P.S. I committed a couple bash syntax and whitespace fixes to
qt.eclass plus changed the error message from echo to die.

--
Aron Griffis
Gentoo Linux Developer

Attachment: pgpXbTVahoJbz.pgp
Description: PGP signature

Reply via email to