Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
SOLVED: ebuild permission denied on profiles/thirdpartymirro
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Sun Jan 23, 2022 7:37 pm    Post subject: SOLVED: ebuild permission denied on profiles/thirdpartymirro Reply with quote

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
View user's profile Send private message
Etal
Veteran
Veteran


Joined: 15 Jul 2005
Posts: 1931

PostPosted: Sun Jan 23, 2022 8:06 pm    Post subject: Reply with quote

The overlay needs to be readable by "portage" user.
Back to top
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Mon Jan 24, 2022 9:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1660

PostPosted: Mon Jan 24, 2022 9:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Mon Jan 24, 2022 9:17 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Tue Jan 25, 2022 7:03 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Tue Jan 25, 2022 7:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Tue Jan 25, 2022 7:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21635

PostPosted: Tue Jan 25, 2022 8:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Thu Jan 27, 2022 3:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21635

PostPosted: Thu Jan 27, 2022 4:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Thu Jan 27, 2022 5:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1660

PostPosted: Thu Jan 27, 2022 6:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Thu Jan 27, 2022 6:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
pingtoo
l33t
l33t


Joined: 10 Sep 2021
Posts: 926
Location: Richmond Hill, Canada

PostPosted: Thu Jan 27, 2022 10:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ari_archer
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2021
Posts: 128
Location: Lithuania

PostPosted: Fri Jan 28, 2022 9:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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