Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 523494

Summary: sys-apps/portage-2.2.13 - /usr/bin/emerge-webrsync: line 252: /usr/lib/portage/python2.7/emerge: No such file or directory
Product: Portage Development Reporter: Hank Leininger <hlein>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: patrick
Priority: Normal Keywords: InVCS, REGRESSION
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 484436    
Attachments: emerge-webrsync: fix bug #523494

Description Hank Leininger 2014-09-23 03:57:41 UTC
This is a problem in portage itself, not the ebuild for portage; I don't know if there's a different, better place to report it.

It looks like from 2.2.12 -> 2.2.13, some paths in sys-apps/portage have changed, but nobody told emerge-webrsync (also part of portage).

emerge-webrsync calls emerge in (up to) two places:

        if has metadata-transfer ${FEATURES} ; then
                __vecho "Updating cache ..."
                "${PORTAGE_BIN_PATH}/emerge" --metadata
        fi
        local post_sync=${PORTAGE_CONFIGROOT}etc/portage/bin/post_sync
        [ -x "${post_sync}" ] && "${post_sync}"
        # --quiet suppresses output if there are no relevant news items
        has news ${FEATURES} && "${PORTAGE_BIN_PATH}/emerge" --check-news --quiet

In portage 2.2.12, PORTAGE_BIN_PATH was (I guess?) /usr/lib/portage/bin/, and emerge could be found there, no problem.  /usr/bin/emerge used to be a symlink to /usr/lib/portage/bin/emerge.

In portage 2.2.13, PORTAGE_BIN_PATH appears to be  /usr/lib/portage/python2.7/, but emerge is not there any more.  /usr/bin/emerge is now a symlink to /usr/lib/python-exec/python-exec2.

The actual contents of emerge-webrsync has not changed between the two, but the move from /usr/lib/portage/bin/ to /usr/lib/portage/python2.7/ broke emerge-webrsync's expectation about where it could find emerge.

Reproducible: Always

Steps to Reproduce:
1. upgrade to portage-2.2.13
2. run emerge-webrsync
3. get errors
Actual Results:  
Updating cache ...
/usr/bin/emerge-webrsync: line 252: /usr/lib/portage/python2.7/emerge: No such file or directory
/usr/bin/emerge-webrsync: line 257: /usr/lib/portage/python2.7/emerge: No such file or directory


Expected Results:  
success :-P
Comment 1 Hank Leininger 2014-09-23 12:44:23 UTC
Adding a block on the tracker for portage 2.2.13, #484436, hope I'm doing this right.
Comment 2 Zac Medico gentoo-dev 2014-09-24 16:57:37 UTC
Created attachment 385408 [details, diff]
emerge-webrsync: fix bug #523494

Use PATH instead of PORTAGE_BIN_PATH to locate emerge.

I'll be maintaining this patch in the following branch:

	https://github.com/zmedico/portage/tree/bug_523494
Comment 4 Zac Medico gentoo-dev 2014-09-25 03:23:51 UTC
*** Bug 523670 has been marked as a duplicate of this bug. ***
Comment 5 Brian Dolbec (RETIRED) gentoo-dev 2014-09-26 19:21:12 UTC
Released in portage-2.2.14_rc1
Comment 6 Zac Medico gentoo-dev 2014-09-27 22:55:59 UTC
The same bug in emerge-delta-webrsync is fixed in emerge-delta-webrsync-3.7.2.