View previous topic :: View next topic |
Author |
Message |
hansfn n00b
Joined: 21 Nov 2017 Posts: 27
|
Posted: Fri Aug 10, 2018 3:17 pm Post subject: Eclasses in layman overlays not picked up [SOLVED] |
|
|
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 |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Fri Aug 10, 2018 4:08 pm Post subject: |
|
|
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 |
|
|
hansfn n00b
Joined: 21 Nov 2017 Posts: 27
|
Posted: Fri Aug 10, 2018 5:02 pm Post subject: |
|
|
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 |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Fri Aug 10, 2018 5:25 pm Post subject: |
|
|
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 |
|
|
hansfn n00b
Joined: 21 Nov 2017 Posts: 27
|
Posted: Fri Aug 10, 2018 5:53 pm Post subject: |
|
|
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 |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Fri Aug 10, 2018 6:28 pm Post subject: |
|
|
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 |
|
|
Maitreya Guru
Joined: 11 Jan 2006 Posts: 441
|
Posted: Sat Aug 11, 2018 8:07 am Post subject: |
|
|
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 |
|
|
hansfn n00b
Joined: 21 Nov 2017 Posts: 27
|
Posted: Mon Aug 13, 2018 7:48 am Post subject: |
|
|
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 |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Mon Aug 13, 2018 9:53 am Post subject: |
|
|
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 |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8936
|
Posted: Mon Aug 13, 2018 9:55 am Post subject: |
|
|
Maybe you should consider increasing your terminal font size? |
|
Back to top |
|
|
Maitreya Guru
Joined: 11 Jan 2006 Posts: 441
|
Posted: Tue Aug 14, 2018 7:54 pm Post subject: |
|
|
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 |
|
|
hansfn n00b
Joined: 21 Nov 2017 Posts: 27
|
Posted: Thu Aug 16, 2018 10:56 pm Post subject: |
|
|
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 |
|
|
|