I got the impression that I could use ROOT= with the ebuild command such as: ROOT="/myroot" ebuild /usr/portage/sys-apps/busybox/busybox-1.21.1.ebuild --debug merge That gives me this error instead: Traceback (most recent call last): File "/usr/bin/ebuild", line 92, in <module> portage.settings.get("EBUILD_DEFAULT_OPTS", "")) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 22, in __getattribute__ result = object.__getattribute__(self, '_get_target')() File "/usr/lib64/portage/pym/portage/__init__.py", line 689, in _get_target return _get_legacy_global(name) File "/usr/lib64/portage/pym/portage/_legacy_globals.py", line 35, in _get_legacy_global portage.db = portage.create_trees(**kwargs) File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees env=env, eprefix=eprefix) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__ return result(*args, **kwargs) File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 360, in __init__ locations_manager.set_root_override(make_conf.get("ROOT")) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 279, in set_root_override ensure_dirs(self.target_root) File "/usr/lib64/portage/pym/portage/util/__init__.py", line 1397, in ensure_dirs raise PermissionDenied(func_call) portage.exception.PermissionDenied: makedirs('/myroot/') Got an uptodate machine
Are you running the ebuild command as a non-privileged user?
right, I did use my user account. Guess I should not play with this stuff when it is late :) However, it is a bit confusing that I cannot do even unpack because ebuild insists on creating the directory beforehand. It should delay the dir creating to it is needed. Now I cannot build a binary package if ROOT is present