在gentoo中重新生成默认覆盖

在gentoo中重新生成默认覆盖

一段时间无法同步 portage - 意识到这是因为我使用 git 作为同步方法并且该回购协议不再被维护。他们还提供了新的链接,所以我更新了sync-uri选项/etc/portage/repos.conf/gentoo.conf

[gentoo]
location = /var/db/repos/gentoo
sync-type = git
#sync-uri = https://github.com/gentoo/gentoo-portage-rsync-mirror  # old
sync-uri = https://github.com/gentoo-mirror/gentoo                 # new
auto-sync = true

但这在运行时没有效果emerge --sync

# emerge --sync
>>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'...
/usr/bin/git pull
Already up-to-date.
=== Sync completed for gentoo

今天我意识到我可以检查存储库的远程 url:

# cd /var/db/repos/gentoo
# git remote -v
origin  https://github.com/gentoo/gentoo-portage-rsync-mirror (fetch)
origin  https://github.com/gentoo/gentoo-portage-rsync-mirror (push)

所以还是设置为旧的。

我尝试将其更改为新的,但它首先抱怨 git config,甚至在那之后我无法同步:

# git remote set-url origin https://github.com/gentoo-mirror/gentoo
# git remote -v
origin  https://github.com/gentoo-mirror/gentoo (fetch)
origin  https://github.com/gentoo-mirror/gentoo (push)
# git config user.email "[email protected]"
# git config user.name "Root One"

# emerge --sync
>>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'...
/usr/bin/git clone --depth 1 https://github.com/gentoo-mirror/gentoo .
fatal: destination path '.' already exists and is not an empty directory.
!!! git clone error in /var/db/repos/gentoo
!!! Repository 'x-gentoo' is missing masters attribute in '/var/db/repos/gentoo/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility

所以最后我最终删除了整个目录,/var/db/repos/gentoo除了distfiles/ls -a | grep -v distfiles | xargs rm -r解决了我的问题,我终于可以同步了..

问题是:是否有一些用户友好/正确的方法来重新创建/重新生成使用 git 的 gentoo 覆盖层?

我认为一旦覆盖存储库被更改,更多的人将会遇到这个问题。

相关内容