View previous topic :: View next topic |
Author |
Message |
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Sun Jan 23, 2022 7:37 pm Post subject: SOLVED: ebuild permission denied on profiles/thirdpartymirro |
|
|
Hello world,
I have an overlay and recently I changed all permissions in my home folder to 700
everything works fine, except ebuild merge, I keep my ebuild locally and on github
and everytime now I have to push, sync and rebuild with portage instead of locally
testing an ebuild
I just noticed this today
What permissions should I give it?
Code: |
ari@ari-gentoo (main) yafetch % sudo ebuild yafetch-1.14.ebuild merge
(enter password for ari)
Appending /home/ari/Ari/coding/resources_/overlay/dinolay to PORTDIR_OVERLAY...
!!! Permission Denied: /home/ari/Ari/coding/resources_/overlay/dinolay/profiles/thirdpartymirrors
|
but /home/ari/Ari/coding/resources_/overlay/dinolay/profiles only includes repo_name file...
This is weird
If you need more information don't be afraid to ask and all files and stuff can be found here:
https://ari-web.xyz/overlay
Thanks in advance _________________ regards,
ari
Last edited by Ari_archer on Fri Jan 28, 2022 9:08 pm; edited 3 times in total |
|
Back to top |
|
|
Etal Veteran
Joined: 15 Jul 2005 Posts: 1932
|
Posted: Sun Jan 23, 2022 8:06 pm Post subject: |
|
|
The overlay needs to be readable by "portage" user. |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Mon Jan 24, 2022 9:06 pm Post subject: |
|
|
Etal wrote: | The overlay needs to be readable by "portage" user. |
I did
Code: |
chmod a+r -R /path/to/overlay
|
and I still get the same error _________________ regards,
ari |
|
Back to top |
|
|
grknight Retired Dev
Joined: 20 Feb 2015 Posts: 1966
|
Posted: Mon Jan 24, 2022 9:15 pm Post subject: |
|
|
Ari_archer wrote: | Hello world,
I have an overlay and recently I changed all permissions in my home folder to 700
everything works fine, except ebuild merge, I keep my ebuild locally and on github
and everytime now I have to push, sync and rebuild with portage instead of locally
testing an ebuild
|
Because your home directory is 700, emerge will not be able to enter it because the emerge process drops down to the portage user for several tasks.
It is not advised to put an overlay in a /home for this reason. |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6780
|
Posted: Mon Jan 24, 2022 9:17 pm Post subject: |
|
|
Ari_archer wrote: | Code: |
chmod a+r -R /path/to/overlay
|
|
Directories need execute permissions: Code: | chmod -R a+rX /path/to/overlay | (possibly also higher directories) |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Tue Jan 25, 2022 7:03 pm Post subject: |
|
|
grknight wrote: | Ari_archer wrote: | Hello world,
I have an overlay and recently I changed all permissions in my home folder to 700
everything works fine, except ebuild merge, I keep my ebuild locally and on github
and everytime now I have to push, sync and rebuild with portage instead of locally
testing an ebuild
|
Because your home directory is 700, emerge will not be able to enter it because the emerge process drops down to the portage user for several tasks.
It is not advised to put an overlay in a /home for this reason. |
Oh, I'll just put it in /usr/local/src or something then, thanks
nvm didn't work either, I will figure something out _________________ regards,
ari
Last edited by Ari_archer on Tue Jan 25, 2022 7:09 pm; edited 1 time in total |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Tue Jan 25, 2022 7:05 pm Post subject: |
|
|
mv wrote: | Ari_archer wrote: | Code: |
chmod a+r -R /path/to/overlay
|
|
Directories need execute permissions: Code: | chmod -R a+rX /path/to/overlay | (possibly also higher directories) |
did not work, but it's fine, i'll just put my overlay in /usr/local/src _________________ regards,
ari |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Tue Jan 25, 2022 7:28 pm Post subject: |
|
|
tried putting it in /usr/local/src
tried giving the whole parent directory except /home all permissions to all users
etc.
did not work _________________ regards,
ari |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22892
|
Posted: Tue Jan 25, 2022 8:49 pm Post subject: |
|
|
If you still need help, please post the full error message, and the permissions of all the intervening layers. As is, we cannot reproduce the failed environment, so our ability to help is limited. |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Thu Jan 27, 2022 3:29 pm Post subject: |
|
|
Hu wrote: | If you still need help, please post the full error message, and the permissions of all the intervening layers. As is, we cannot reproduce the failed environment, so our ability to help is limited. |
I did, it's in the post, like it's literally all it says, nothing else, I wish I could give more information that that
unless I can :shrug:
Anyway here is a screenshot: https://files.ari-web.xyz/files/yafetch_gentoo_build_dinolay.jpg
and everything under that is all permissions of 700 _________________ regards,
ari |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22892
|
Posted: Thu Jan 27, 2022 4:09 pm Post subject: |
|
|
Ari_archer wrote: | Hu wrote: | If you still need help, please post the full error message, and the permissions of all the intervening layers. As is, we cannot reproduce the failed environment, so our ability to help is limited. | I did, it's in the post, like it's literally all it says, nothing else, I wish I could give more information that that | The opening post still shows this: Ari_archer wrote: | Code: | ari@ari-gentoo (main) yafetch % sudo ebuild yafetch-1.14.ebuild merge
(enter password for ari)
Appending /home/ari/Ari/coding/resources_/overlay/dinolay to PORTDIR_OVERLAY...
!!! Permission Denied: /home/ari/Ari/coding/resources_/overlay/dinolay/profiles/thirdpartymirrors |
| This is not consistent with the change you said you made: Ari_archer wrote: | tried putting it in /usr/local/src | If you had put it in /usr/local/src, and provided the full error output from having put it there, then somewhere in the thread would be a copy of an error message involving that path. Currently, I see nowhere in the thread where you have posted the full error message, and the permissions of all the intervening layers, all taken from a single attempt, and all in a way that we could actually attempt reproduce your problem. The closest you came is this: Ari_archer wrote: | and everything under that is all permissions of 700 | Except that vaguely describes the permissions, instead of showing them. Note however that 700 is probably wrong for this use, unless everything that is mode 700 is also owned by the portage user. mv already told you how to fix this: mv wrote: | Directories need execute permissions: Code: | chmod -R a+rX /path/to/overlay | (possibly also higher directories) | If you had run that command, you would not have permissions of 700 all the way down. a+rX by definition would have made it at least 755, if not more open. |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Thu Jan 27, 2022 5:55 pm Post subject: |
|
|
Hu wrote: | Ari_archer wrote: | Hu wrote: | If you still need help, please post the full error message, and the permissions of all the intervening layers. As is, we cannot reproduce the failed environment, so our ability to help is limited. | I did, it's in the post, like it's literally all it says, nothing else, I wish I could give more information that that | The opening post still shows this: Ari_archer wrote: | Code: | ari@ari-gentoo (main) yafetch % sudo ebuild yafetch-1.14.ebuild merge
(enter password for ari)
Appending /home/ari/Ari/coding/resources_/overlay/dinolay to PORTDIR_OVERLAY...
!!! Permission Denied: /home/ari/Ari/coding/resources_/overlay/dinolay/profiles/thirdpartymirrors |
| This is not consistent with the change you said you made: Ari_archer wrote: | tried putting it in /usr/local/src | If you had put it in /usr/local/src, and provided the full error output from having put it there, then somewhere in the thread would be a copy of an error message involving that path. Currently, I see nowhere in the thread where you have posted the full error message, and the permissions of all the intervening layers, all taken from a single attempt, and all in a way that we could actually attempt reproduce your problem. The closest you came is this: Ari_archer wrote: | and everything under that is all permissions of 700 | Except that vaguely describes the permissions, instead of showing them. Note however that 700 is probably wrong for this use, unless everything that is mode 700 is also owned by the portage user. mv already told you how to fix this: mv wrote: | Directories need execute permissions: Code: | chmod -R a+rX /path/to/overlay | (possibly also higher directories) | If you had run that command, you would not have permissions of 700 all the way down. a+rX by definition would have made it at least 755, if not more open. |
Okay, the error message was the same everywhere including /usr/local/src, but about the 755 thing,
I don't want to make my home dir 755, is there a way I could not do that and put it somewhere else instead? _________________ regards,
ari |
|
Back to top |
|
|
grknight Retired Dev
Joined: 20 Feb 2015 Posts: 1966
|
Posted: Thu Jan 27, 2022 6:26 pm Post subject: |
|
|
What does this command show: Code: | namei --long /usr/local/src/profiles/thirdpartymirrors |
In addition, Quote: | Appending /home/ari/Ari/coding/resources_/overlay/dinolay to PORTDIR_OVERLAY... |
says that this repository is not set up properly and known to portage. This should be corrected.
Also, why are you running: Code: | sudo ebuild yafetch-1.14.ebuild merge |
This is not the correct way to install anything.
Always use emerge to install, preferably by a full login to root. |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Thu Jan 27, 2022 6:38 pm Post subject: |
|
|
grknight wrote: | What does this command show: Code: | namei --long /usr/local/src/profiles/thirdpartymirrors |
In addition, Quote: | Appending /home/ari/Ari/coding/resources_/overlay/dinolay to PORTDIR_OVERLAY... |
says that this repository is not set up properly and known to portage. This should be corrected.
Also, why are you running: Code: | sudo ebuild yafetch-1.14.ebuild merge |
This is not the correct way to install anything.
Always use emerge to install, preferably by a full login to root. |
As I mentioned in the post profiles/thirdpartymirrors does not exist, only repo_name :)
I have no idea why it's showing that, I am just testing my overlay packages before releasing
I am not trying to install, it's just a sideeffect, I just want to test if the ebuild works _________________ regards,
ari |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1349 Location: Richmond Hill, Canada
|
Posted: Thu Jan 27, 2022 10:23 pm Post subject: |
|
|
Greeting Ari_ancher, We met again in gentoo forums talk about repo/ebuild setup
I can't help myself feeling somehow I am responsible for your today's question. I am not sure if you recall my previously advise post about [solved] ebuild failing to handle redirects which create a debate with Hu about should a directory permission be setup to world wide open. I am glad you took the position to protect your home directory, you apparently understand the security implication.
I am confuse your statement Ari_archer wrote: | As I mentioned in the post profiles/thirdpartymirrors does not exist, only repo_name | what do you mean only repo_name? Usually repo_name is a portage artifact, it is a file located in a overlay's profiles directory with content name the repo. Since your said profiles/thirdpartymirrors does not exist could you let us know what do you mean repo_name? do you mean it is a file but just in somewhere else but not /usr/local/src/profiles/thirdpartymirrors/?
PORTDIR_OVERLAY is a deprecated portage artifact, it is a variable usually define in make.conf it usually contain a list of directories, and each directory is where a overlay directory structure, one of the sub-directory is *profiles/* which have a file name repo_name. Today you should use /etc/portage/repos.conf for the same effect.
If you just want to test your ebuild logic, you can use ebuild yafetch-1.14.ebuild compile. You don't need sudo.
In general emerge/portage is a complete system where it take a program from source code to process into package format and install into current running system with match security/configuration setting for the current system. If you desire is to matching your design for your running system. then the permission error is a indication your design ebuild system does not match your running system configuration. |
|
Back to top |
|
|
Ari_archer Tux's lil' helper
Joined: 30 Aug 2021 Posts: 130 Location: Lithuania
|
Posted: Fri Jan 28, 2022 9:08 pm Post subject: |
|
|
pingtoo wrote: | Greeting Ari_ancher, We met again in gentoo forums talk about repo/ebuild setup :-)
I can't help myself feeling somehow I am responsible for your today's question. I am not sure if you recall my previously advise post about [solved] ebuild failing to handle redirects which create a debate with Hu about should a directory permission be setup to world wide open. I am glad you took the position to protect your home directory, you apparently understand the security implication.
I am confuse your statement Ari_archer wrote: | As I mentioned in the post profiles/thirdpartymirrors does not exist, only repo_name :) | what do you mean only repo_name? Usually repo_name is a portage artifact, it is a file located in a overlay's profiles directory with content name the repo. Since your said profiles/thirdpartymirrors does not exist could you let us know what do you mean repo_name? do you mean it is a file but just in somewhere else but not /usr/local/src/profiles/thirdpartymirrors/?
PORTDIR_OVERLAY is a deprecated portage artifact, it is a variable usually define in make.conf it usually contain a list of directories, and each directory is where a overlay directory structure, one of the sub-directory is *profiles/* which have a file name repo_name. Today you should use /etc/portage/repos.conf for the same effect.
If you just want to test your ebuild logic, you can use ebuild yafetch-1.14.ebuild compile. You don't need sudo.
In general emerge/portage is a complete system where it take a program from source code to process into package format and install into current running system with match security/configuration setting for the current system. If you desire is to matching your design for your running system. then the permission error is a indication your design ebuild system does not match your running system configuration. |
oh wow, thanks :)
Solved!
ebuild compile works :) _________________ regards,
ari |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|