Jump to content
funtoo forums
mauricev

overlays again

Recommended Posts

I setup a new overlay from scratch for virtual mysql, but emerge apparently doesn't see it

/opt/my-overlay # ls
metadata  mysql  profiles
/opt/my-overlay/metadata # ls
layout.conf
more layout.conf 
masters = core-kit
/opt/my-overlay/profiles # ls
repo_name
base-einstein /opt/my-overlay/profiles # more repo_name 
my-overlay
/etc/portage/repos.conf # more my-overlay.conf 
[my-overlay]
location = /opt/my-overlay
auto-sync = no
priority = 10

One thing is this complaint:

ebuild /opt/my-overlay/mysql/mysql-8.0.16.ebuild digest
Appending /opt to PORTDIR_OVERLAY...

!!! 'my-overlay/mysql' has a category that is not listed in /etc/portage/categories
>>> Creating Manifest for /opt/my-overlay/mysql
base-einstein /etc/portage # more categories 
virtual

Are virtual ebuilds a category that requires special treatment?

Share this post


Link to post
Share on other sites

@mauricev

The ebuild and files directory if it exists must be inside a directory named after program, inside a directory with the category name.

Create the proper directory path for virtual/mysql and dev-db/mysql ebuilds in /opt/my-overlay:

mkdir -p /opt/my-overlay/{dev-db,virtual}/mysql

Reference: https://wiki.gentoo.org/wiki/Custom_repository

 

 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, mauricev said:

That does not work. I also tried with just an equal sign. Furthermore , according to https://wiki.gentoo.org/wiki//etc/portage/categories, I just need virtual/mysql and dev-db/mysql, but that doesn't work either. I still get 


!!! 'my-overlay/mysql' has a category that is not listed in /etc/portage/categories

 

It works but you might have misunderstood me. The problem is that you don't have virtual/mysql and dev-db/mysql yet. Your tree should look like:

/opt
	my-overlay
		dev-db
			mysql
				Manifest
				metadata.xml
				mysql-8.0.16.ebuild
		metadata
			layout.conf
		profiles
			repo_name
		virtual
			mysql
				Manifest
				metadata.xml
				mysql-...

As @cardinal also said, you need the category level as well, otherwise it won't work. The structure in general is always:

overlay_root
	category1
		package1
		package2
		package3
	category2
		package1
		package2
		package3
        .
        .
        .

 

 

 

Share this post


Link to post
Share on other sites
44 minutes ago, mauricev said:

I just tried this with s3fs and it built the manifest without complaining as it was doing earlier, but portage doesn't see the overlay at all.

Where in your overlay structure did you put the files?

Share this post


Link to post
Share on other sites

I actually have one overlay working and one not.

/opt/my-overlay/net-fs/s3ql is recognized and let's me emerge net-fs/s3ql-3.3::my-overlay

/opt/my-overlay/dev-fs/s3fs isn't recognized: net-fs/s3fs-1.83::net-kit

 

Share this post


Link to post
Share on other sites

Like @cardinal said, the directory in which the ebuild lies needs to have the same name as the program, the ebuild is for, e.g.:

- www-client/firefox-66.0.4.ebuild => directory www.client/firefox

- x11-base/xorg-server-1.20.5.ebuild => directory x11-base/xorg-server

or in your case net-fs/s3fs-1.83.ebuild => directory net-fs/s3fs

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...