Skip to content

Repository files navigation

OuluLinux Gentoo Overlay

Packages currently available in this overlay:

Installation

Primary Method: Using eselect repository

  1. Add the repository using eselect:
eselect repository add oululinux git https://github.com/oululinux/gentoo-overlay.git
  1. Sync the new overlay:
emaint sync -r oululinux
  1. Install a package, for example:
emerge --ask dev-cpp/upp

Alternative Method: Manual Configuration

If you prefer to manually configure the repository, follow these steps:

  1. Create the overlay definition /etc/portage/repos.conf/oululinux.conf (or any file under repos.conf).
  2. Add the following repository configuration:
[oululinux]
location = /var/db/repos/oululinux
sync-type = git
sync-uri = https://github.com/oululinux/gentoo-overlay.git
  1. Sync the new overlay:
emaint sync -r oululinux

If you already have /home/sblo/gentoo-overlay checked out locally and prefer to use it directly rather than syncing, point Portage at that path and tell it not to sync. For example, in /etc/portage/repos.conf/oululinux.conf use:

[oululinux]
location = /home/sblo/gentoo-overlay
sync-type = none

Portage 3.0 and later no longer accept sync-type = none. To keep using the local checkout without syncing, either add the overlay path to PORTDIR_OVERLAY or configure the repo with a supported sync type such as git (and a matching sync-uri, e.g. https://github.com/oululinux/gentoo-overlay.git).

Troubleshooting

PermissionDenied: profiles/thirdpartymirrors when the overlay lives on the NTFS share

When the overlay is used directly from the /yhteinen share (an ntfs3 mount of the shared Windows partition, e.g. registered via PORTDIR_OVERLAY=/yhteinen/active/sblo/Dev/gentoo-overlay), emerge may abort during the fetch phase with:

PermissionError: [Errno 13] Permission denied: '/yhteinen/active/sblo/Dev/gentoo-overlay/profiles/thirdpartymirrors'
portage.exception.PermissionDenied: ...

Cause: Portage's default userfetch/userpriv features run the fetch subprocess as the portage user. If any directory on the path to the repo has mode 0770 — which the mount's default dmask=0007 produces for directories created by root or under a restrictive umask (/yhteinen/active in this case) — the portage user cannot traverse into the overlay and every read fails with EACCES. chmod 777 on the file itself does not help, and root can always read it (DAC_OVERRIDE), so the failure only shows up inside emerge's fetch subprocess. It is unrelated to SELinux (permissive on this system) and to the overlay contents.

Fix: add the world-traverse bit to the blocking directory. The mode is stored on the NTFS filesystem, so it survives remounts:

sudo chmod o+x /yhteinen/active

Keeping the overlay usable from the share:

  • Every directory on the path (/yhteinen down to the repo) must have o+x (traverse) for other users.
  • Repo files (ebuilds, Manifest, profiles/*) must be world-readable; 644/755 is fine — that is what files created normally on this share get. dmask=0007 only affects directories created by root or a foreign umask, so new files do not reintroduce the problem.
  • profiles/thirdpartymirrors may be empty, but it must exist and be readable; Portage reads it from every repository in the repo stack during fetch.

Verify access as the portage user before re-running emerge:

sudo -u portage cat /yhteinen/active/sblo/Dev/gentoo-overlay/profiles/thirdpartymirrors
sudo emerge --fetchonly <package>  # exercises the previously failing phase

Releases

Packages

Contributors

Languages