Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 539706 - sys-apps/portage-2.2.16 without dev-vcs/git with sync-type=git in repos.conf - Traceback (most recent call last): AttributeError: 'function' object has no attribute 'ERROR'
Summary: sys-apps/portage-2.2.16 without dev-vcs/git with sync-type=git in repos.conf ...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks: 484436
  Show dependency tree
 
Reported: 2015-02-11 04:16 UTC by PV
Modified: 2015-03-04 21:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description PV 2015-02-11 04:16:29 UTC
Portage without merged dev-vcs/git can't sync overlays with "sync-type=git"

In my environment dev-vcs/git depends on layman, when I remove layman and do --depclean, it removes dev-vcs/git also.

Layman removed because of trying to move at new repos.conf settings, without layman.

Steps to reproduce:
1. Make sure dev-vcs/git is not merged 
3. Add overlay to /etc/portage/repos.conf/, for example:

cat /etc/portage/repos.conf/mozilla.conf

[mozilla]
location = /usr/overlays/mozilla
sync-type = git
sync-uri = git://git.overlays.gentoo.org/proj/mozilla.git
auto-sync = yes

4. emaint sync -r mozila error:

>>> Syncing repository 'mozilla' into '/usr/overlays/mozilla'...
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.3/emaint", line 36, in <module>
    emaint_main(sys.argv[1:])
  File "/usr/lib64/python3.3/site-packages/portage/emaint/main.py", line 242, in emaint_main
    taskmaster.run_tasks(tasks, func, status, options=task_opts)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/main.py", line 139, in run_tasks
    result = getattr(inst, func)(**kwargs)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/modules/sync/sync.py", line 94, in auto_sync
    emaint_opts=options)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/modules/sync/sync.py", line 219, in _sync
    returncode, message = sync_manager.sync(self.emerge_config, repo)
  File "/usr/lib64/python3.3/site-packages/portage/sync/controller.py", line 148, in sync
    taskmaster.run_tasks(tasks, func, status, options=task_opts)
  File "/usr/lib64/python3.3/site-packages/portage/sync/controller.py", line 65, in run_tasks
    result = getattr(inst, func)(**kwargs)
  File "/usr/lib64/python3.3/site-packages/portage/sync/syncbase.py", line 119, in sync
    if not self._has_bin:
  File "/usr/lib64/python3.3/site-packages/portage/sync/syncbase.py", line 56, in _has_bin
    level=self.logger.ERROR, noiselevel=-1)
AttributeError: 'function' object has no attribute 'ERROR'


Expected result:

Informative message about missing dev-vcs/git
Comment 1 Jeroen Roovers gentoo-dev 2015-02-11 08:05:35 UTC
You mean to use a feature of package A at run-time, you would need to re-emerge package A with a new USE flag just to have it pull in package B, which helps implement that feature?

I guess there could be an easy to understand error message there, perhaps even one explaining the required package B.
Comment 2 Brian Dolbec gentoo-dev 2015-02-13 17:59:23 UTC
This is fixed in git commit: 
https://github.com/gentoo/portage/commit/9046d7d5b557cb94bcd6a3b4df0c6f4245f9ffa4
Comment 3 Brian Dolbec gentoo-dev 2015-03-04 21:22:24 UTC
Released in portage-2.2.18