Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

need help moving from layman to eselect-repository

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
15 posts • Page 1 of 1
Author
Message
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

need help moving from layman to eselect-repository

  • Quote

Post by Tony0945 » Mon Jun 07, 2021 9:39 pm

It seems like layman is heading for the graveyard. The wiki page seems to assume a lot.
I could use some (a lot) of help here. The first step is to emerge eselect-repository.

On the wiki page it looks like the repos sync every two hours. Doesn't this violate the once a day rule? I'd rather sync on demand.

I have two local LAN repos. How do I migrate them? Must they use git?

Code: Select all

$ cat /etc/portage/repos.conf/layman.conf
[oldgentoo]
priority = 50
location = /var/lib/layman/oldgentoo
layman-type = rsync
sync-type = laymansync
sync-uri = rsync://192.168.0.102/oldgentoo
auto-sync = Yes

[mybuilds]
priority = 70
location = /var/lib/layman/mybuilds
layman-type = rsync
sync-type = laymansync
sync-uri = rsync://192.168.0.102/mybuilds
auto-sync = Yes
What are the replacements for "layman -S" and "layman -s <reponame>" ?
Last edited by Tony0945 on Wed Jun 09, 2021 1:27 pm, edited 2 times in total.
Top
fedeliallalinea
Administrator
Administrator
User avatar
Posts: 31985
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:
Contact fedeliallalinea
Website

Re: request help moving from layman to eselect-repository

  • Quote

Post by fedeliallalinea » Tue Jun 08, 2021 5:06 am

Tony0945 wrote:On the wiki page it looks like the repos sync every two hours. Doesn't this violate the once a day rule? I'd rather sync on demand.
I think this rule is for official gentoo rsync.
Tony0945 wrote:I have two local LAN repos. How do I migrate them? Must they use git?
Never tried but I think you can add these with

Code: Select all

eselect repository add oldgentoo rsync rsync://192.168.0.102/oldgentoo
eselect repository add mybuilds rsync rsync://192.168.0.102/mybuilds
This command create an entry in /etc/portage/repos.conf/eselect-repo.conf with

Code: Select all

# created by eselect-repo

[oldgentoo]
location = /var/db/repos/oldgentoo
sync-type = rsync
sync-uri = rsync://192.168.0.102/oldgentoo
(pay attention that location is different that from layman)
Tony0945 wrote:What are the replacements for "layman -S" and "layman -s <reponame>" ?
For this you can use emaint sync -A and emaint sync -r <reponame>
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 1:04 am

so far so good. I just emerged eselect-repository. When I tried to add an existing repo

Code: Select all

# eselect repository add oldgentoo rsync rsync://192.168.0.102/oldgentoo
!!! Error: error: oldgentoo: repository already enabled, in /var/lib/layman/oldgentoo
exiting
But when I tried to update it

Code: Select all

 # emaint sync -r mybuilds
!!! Repository 'freegentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'oldgentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'mybuilds' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
Reading Portage settings...
Building database (/var/cache/eix/portage.eix)...
[0] "gentoo" /usr/portage (cache: metadata-md5-or-flat)
     Reading category 181|181 (100) Finished             
[1] "oldgentoo" /var/lib/layman/oldgentoo (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 163|181 ( 90): sys-process...!!! Repository 'freegentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'mybuilds' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'oldgentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'freegentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'mybuilds' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'oldgentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
     Reading category 181|181 (100) Finished       
[2] "freegentoo" /var/lib/layman/freegentoo (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 181|181 (100) Finished        
[3] "mybuilds" /var/lib/layman/mybuilds (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 181|181 (100) Finished         
Applying masks...
Calculating hash tables...
Writing database file /var/cache/eix/portage.eix...
Database contains 17476 packages in 181 categories
!!! Repository 'freegentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'oldgentoo' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'
!!! Repository 'mybuilds' has sync-type attribute set to unsupported value: 'laymansync'
!!! Installed sync-types are: '['cvs', 'git', 'mercurial', 'rsync', 'svn', 'webrsync']'


ERROR: Sync module 'laymansync' is not an installed/known type'

Action: sync for repo: mybuilds, returned code = 1
Top
Phoenix591
Guru
Guru
Posts: 504
Joined: Mon Sep 17, 2007 3:52 am

  • Quote

Post by Phoenix591 » Wed Jun 09, 2021 1:26 am

Remove the layman added entries for it, or edit them to match the format used in the example (mostly just change sync type to rsync). Once you do that you may also use emerge --sync and it will sync both portage and overlays, or emerge --sync <repo> . I believe it uses emaint under the hood, but I haven't bothered to look.
Top
Anon-E-moose
Watchman
Watchman
User avatar
Posts: 6566
Joined: Fri May 23, 2008 7:31 pm
Location: Dallas area

  • Quote

Post by Anon-E-moose » Wed Jun 09, 2021 10:08 am

It doesn't sound like layman is going anywhere at least from the gentoo wikis.
While Eselect/Repository supersedes layman for listing, configuring, and handling synchronization of ebuild repositories, app-portage/layman users can manage their ebuild repositories (overlays) in a simple, centralized manner. The layman provides an overview of available remote repositories and allows the user to select one or more for the system. Once selected, the user can update (similar to emerge --sync), add, remove, display and information about the overlays.
Sounds like a choice to me.

https://wiki.gentoo.org/wiki/Layman
UM780 xtx, 6.18 zen kernel, gcc 15, openrc, wayland
minixforum m1-s1 max -- same software as above but used for ai learning


Zealots are gonna be zealots, just like haters are gonna be haters
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 12:22 pm

Additional steps needed

Code: Select all

mkdir -p /var/db/repos/oldgentoo/metadata/
 cp /var/lib/layman/oldgentoo/metadata/layout.conf /var/db/repos/oldgentoo/metadata/layout.conf
repeat for each layman repo

Full procedure:

Code: Select all

emerge -av eselect-repository
cd /etc/portage/repos.conf
# move layman.conf somewhere handy like /root
cp /etc/portage/repos.conf/layman.conf  /root/
#for each repo in layman.conf 
mkdir -p mkdir -p /var/db/repos/oldgentoo/metadata/ # replace oldgentoo with repo name
cp /var/lib/layman/oldgentoo/metadata/layout.conf /var/db/repos/oldgentoo/metadata/layout.conf #replace oldgentoo with repo name
eselect repository add oldgentoo rsync rsync://192.168.0.102/oldgentoo # ditto for ip address and name
#end of loop
## now test the emaint commands, unmerge layman and erase /root/layman.conf as cleanup
Priority got lost along the way. manually restore priority lines to eselect-repo.conf
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 12:55 pm

Something still wrong here. appeared to work until I unmerged layman

Code: Select all

 # eix-update
Reading Portage settings...
Building database (/var/cache/eix/portage.eix)...
[0] "gentoo" /usr/portage (cache: metadata-md5-or-flat)
     Reading category 180|180 (100) Finished             
[1] "" /var/db/repos/oldgentoo (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 180|180 (100) EMPTY!
[2] "" /var/db/repos/mybuilds (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 180|180 (100) EMPTY!
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 1:26 pm

Something wrong with my rsyncd.conf ?

Code: Select all

[documents]
path = /home/tony/Documents
comment = My Documents from XP

[gentoo-portage]
path=/usr/portage
comment=Gentoo Portage
exclude=distfiles/ packages/

[oldgentoo]
path=/usr/local/oldgentoo
comment=oldgentoo Overlay
exclude=distfiles/ packages/

[mybuilds]
path=/usr/local/mybuilds
comment=mybuilds Overlay
exclude=distfiles/ packages/
The paths are the paths on the server. Isn't that correct?

You see it is NOT as simple as the wiki says. Only if you are using an accredited overlay.
Top
Phoenix591
Guru
Guru
Posts: 504
Joined: Mon Sep 17, 2007 3:52 am

  • Quote

Post by Phoenix591 » Wed Jun 09, 2021 7:21 pm

There's no magic that makes it different for official repositories and overlays aside from the fact it pulls in the sync type and uri when generating the entry from repositories.xml.
if your rsync configuration was working before there's no reason it shouldn't still work.

All you'd need for each rsync repository is a section in repos.conf/somefile

Code: Select all

[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
changing the repository name and sync-uri is all you need.

metadata/layout.conf is part of the repository, it should be moved and synced with the rest of the repository (eg, move the whole repository folder out of /var/lib/layman into /var/db/repos)

The only other configuration real portage entry for the main repository has is related to pgp verification which isn't necessary.
Top
papu
l33t
l33t
Posts: 772
Joined: Fri Jan 25, 2008 3:04 pm
Location: Sota algun pi o alzina...

  • Quote

Post by papu » Wed Jun 09, 2021 7:51 pm

error!
Last edited by papu on Thu Jun 10, 2021 9:18 am, edited 1 time in total.
~amd64 && systemd && plasma --cpu 7700 --ram 2x32GB --gpu RX 6600
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 8:12 pm

All the examples are for repos on the internet, not on the computer or on the LAN
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56084
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Wed Jun 09, 2021 8:21 pm

Tony0945,


My cross compiler overlay is

Code: Select all

[DEFAULT]
main-repo = gentoo

[gentoo_cross]
location = /usr/local/gentoo-cross
priority = 100
The overlay is actually populated by crossdev, when you add a new cross toolchain. At that time, crossdev uses portage to do the building.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 9:53 pm

Neddy, do you have an example for a repo on another lan machine? I suppose I could mount with samba but that is cumbersome on multiple machines.
Or I could rsync the repo by hand, I suppose.

Layman uses:

Code: Select all

sync-uri = rsync://192.168.0.102/mybuilds
The actual location on 192.168.0.102 is /usr/local/mybuilds, with for example www-client/palemoon under it.
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Wed Jun 09, 2021 10:17 pm

Tony0945 wrote:

Code: Select all

[mybuilds]
path=/usr/local/mybuilds
comment=mybuilds Overlay
exclude=distfiles/ packages/
The paths are the paths on the server. Isn't that correct?
The argument given to path= is a filesystem path on the machine running rsyncd. The name in brackets is the pseudo-path used by the rsync client. That is why your sync-uri in the post right above this one works as it does.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Wed Jun 09, 2021 10:54 pm

Hu wrote:The argument given to path= is a filesystem path on the machine running rsyncd. The name in brackets is the pseudo-path used by the rsync client. That is why your sync-uri in the post right above this one works as it does.
But it works with layman and finds no packages on eselect repository
Top
Post Reply

15 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic