Today I had quite a bit of issues while creating a local overlay to
modify samba. Got through all of them, but there were the following
issues which I wanted to bring up, because I am not sure whether I have
done anything wrong:
- I had created the overlay under "/root/overlay", but this is causing
"permission denied" errors from ebuild when creating the Manifest file:
======================================================================
/usr/lib64/portage/bin/ebuild.sh: line 545:
/root/overlay/net-fs/samba/samba-3.6.18.ebuild: Permission denied
* ERROR: net-fs/samba-3.6.18::myoverlay failed (depend phase):
* error sourcing ebuild
*
* Call stack:
* ebuild.sh, line 545: Called die
* The specific snippet of code:
* source "$EBUILD" || die "error sourcing ebuild"
*
* If you need support, post the output of `emerge --info
'=net-fs/samba-3.6.18::myoverlay'`,
* the complete build log and the output of `emerge -pqv
'=net-fs/samba-3.6.18::myoverlay'`.
* Working directory: '/usr/lib64/portage/pym'
* S: '/var/tmp/portage/net-fs/samba-3.6.18/work/samba-3.6.18'
======================================================================
After trying many different things without luck, I tried using
/usr/local/portage as the overlay folder and the problem went away! So
my first question is, does ebuild have a special security feature which
prevents it from processing overlays under /root ?
- The second issue is eclass related. After I moved net-fs/samba under
/usr/local/portage, I got the following error during Manifest creation:
======================================================================
bonsai samba # ebuild samba-3.6.18.ebuild manifest
* ERROR: net-fs/samba-3.6.18::myoverlay failed (depend phase):
* pam.eclass could not be found by inherit()
*
* Call stack:
* ebuild.sh, line 545: Called source
'/usr/local/portage/net-fs/samba/samba-3.6.18.ebuild'
* samba-3.6.18.ebuild, line 7: Called inherit 'pam' 'versionator'
'multilib' 'eutils' 'systemd'
* ebuild.sh, line 257: Called die
* The specific snippet of code:
* [[ -z ${location} ]] && die "${1}.eclass could not be
found by inherit()"
*
* If you need support, post the output of `emerge --info
'=net-fs/samba-3.6.18::myoverlay'`,
* the complete build log and the output of `emerge -pqv
'=net-fs/samba-3.6.18::myoverlay'`.
* Working directory: '/usr/lib64/portage/pym'
* S: '/var/tmp/portage/net-fs/samba-3.6.18/work/samba-3.6.18'
======================================================================
To resolve this, I just copied /usr/portage/eclass to
/usr/local/portage/eclass. Is this a proper solution?
--
Timur Aydin