Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Eclasses in layman overlays not picked up [SOLVED]
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
hansfn
n00b
n00b


Joined: 21 Nov 2017
Posts: 27

PostPosted: Fri Aug 10, 2018 3:17 pm    Post subject: Eclasses in layman overlays not picked up [SOLVED] Reply with quote

Added: TL,DR: Make sure that the file extension of your eclasses are actually "eclass" and not "eclasss" ;-)

Hi!

We have a private overlay that we add using Layman. Nothing special there, works nicely. In the overlay we have some Qt 4 ebuilds that never was present in the central repository. These ebuilds fail now because the qt4 eclass files have been removed (1, 2) too. I expected it be easy to fix - just create an eclass directory in the overlay and copy the deleted Qt 4 files (from Git) into the directory. However, the inherit command still fails - the qt4 eclass files aren't found.

So, the question (not Qt4 specific) the becomes:

  • Is it correct that eclasses from (Layman) overlays should be available/inheritable without any special setup?
  • If it's supposed to work, how do I debug the problem?
  • If it's NOT supposed to work, what is the recommended work-around?


The system is up-to-date - synced and updated - so I have the newest versions of portage, layman and the rest. Running "emerge --regen" gives the same error about the qt4 eclass files not being found for the affected pacakage(s).

Thx for any help.


Last edited by hansfn on Mon Aug 13, 2018 8:32 am; edited 2 times in total
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6098
Location: Dallas area

PostPosted: Fri Aug 10, 2018 4:08 pm    Post subject: Reply with quote

You probably need a file in /etc/portage/repos.conf, describing your overlay.

This one is from the deadbeef overlay that I use
Code:
[deadbeef-overlay]
priority = 50
location = /usr/local/portage/layman/deadbeef-overlay
layman-type = git
auto-sync = No


It has its own eclass directory that it does use.

Edit to add: I also have one for my local overlay called "local" with a file in repos.conf called "local.conf"
Code:
[local]
priority = 0
location = /usr/local/portage/
auto-sync = No


It picks up for example the qt4-r2.eclass file for an old smplayer ebuild and palemoon eclasses, for palemoon


Edit to add2: If you have a file called /etc/portage/repos.conf (instead of a directory)
then all the different files I mention above would be inside that file, with each repository started by [name] instead.
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
hansfn
n00b
n00b


Joined: 21 Nov 2017
Posts: 27

PostPosted: Fri Aug 10, 2018 5:02 pm    Post subject: Reply with quote

Thx for the feedback, but I have a working Layman setup (like you describe with a repos.conf directory and so on). I have successfully installed using the same ebuild before the qt4 eclass files were removed.

I forgot to mention that I use the default storage / overlay location for Layman - /var/lib/layman
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6098
Location: Dallas area

PostPosted: Fri Aug 10, 2018 5:25 pm    Post subject: Reply with quote

The layman location is not the problem.

I just copied the qt4 eclass file into the local overlay and it picked it up.

You have something that's not pointing to the right place, but I don't know what.
Someone else more knowledgeable about portage and overlays can probably point out what.

Edit to add: might have something to do with egencache, although I didn't run it after it was removed from /usr/portage/eclass and I added it later to /usr/local/portage/eclass.
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
hansfn
n00b
n00b


Joined: 21 Nov 2017
Posts: 27

PostPosted: Fri Aug 10, 2018 5:53 pm    Post subject: Reply with quote

You are testing with a local/custom overlay, not a Layman overlay.

Added: I think I have made a stupid mistake - wrong file extension, "class" in stead of "eclass". Sorry for wasting your time and thank you for trying to help.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6098
Location: Dallas area

PostPosted: Fri Aug 10, 2018 6:28 pm    Post subject: Reply with quote

hansfn wrote:
wrong file extension, "class" in stead of "eclass".


That would certainly make a difference. Hope it works now.

If so then mark the thread solved. (edit first post to add to title).
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
Maitreya
Guru
Guru


Joined: 11 Jan 2006
Posts: 441

PostPosted: Sat Aug 11, 2018 8:07 am    Post subject: Reply with quote

Might I suggest using eselect-repository.
It is a lot easier with this and saves on a lot of dependencies with layman.
Back to top
View user's profile Send private message
hansfn
n00b
n00b


Joined: 21 Nov 2017
Posts: 27

PostPosted: Mon Aug 13, 2018 7:48 am    Post subject: Reply with quote

Redacted

The problem was in fact the file extension. An extra "s" had slipped in so I had "name.eclasss" in stead of "name.eclass". I would have liked it if Portage warned about garbage in the repository ...

PS! I switched to eselect-repository. Thx, Maitreya.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6098
Location: Dallas area

PostPosted: Mon Aug 13, 2018 9:53 am    Post subject: Reply with quote

hansfn wrote:
Redacted
I would have liked it if Portage warned about garbage in the repository ...


I like the behavior. I do keep files I'm working on in the ebuild subdirectory (not named ebuild) so that portage won't complain about it.
Though I understand your view too.
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Mon Aug 13, 2018 9:55 am    Post subject: Reply with quote

Maybe you should consider increasing your terminal font size? ;)
Back to top
View user's profile Send private message
Maitreya
Guru
Guru


Joined: 11 Jan 2006
Posts: 441

PostPosted: Tue Aug 14, 2018 7:54 pm    Post subject: Reply with quote

hansfn wrote:
Redacted

The problem was in fact the file extension. An extra "s" had slipped in so I had "name.eclasss" in stead of "name.eclass". I would have liked it if Portage warned about garbage in the repository ...

PS! I switched to eselect-repository. Thx, Maitreya.


Next: Repoman is your friend, make a pre-commit hook and you are halfway there!
Back to top
View user's profile Send private message
hansfn
n00b
n00b


Joined: 21 Nov 2017
Posts: 27

PostPosted: Thu Aug 16, 2018 10:56 pm    Post subject: Reply with quote

How does repoman help with the eclasses / eclass directory? I do you use repoman for the actual packages.

PS! The way I finally was able to track down my stupid mistake was to run emerge in debug mode - "emerge --debug -av package". It displayed all possible (absolute) paths for each eclass that was inheritted.
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