Ravenports / ravenadm

Administration tool for Ravenports
http://www.ravenports.com
ISC License
17 stars 3 forks source link

Super ports searcher. #9

Open ghost opened 5 years ago

ghost commented 5 years ago

Hi.

May you consider, when the time allow, the implementation of a port searcher along lines with Gentoo EIX ( it also does some others things that doesn't matter on Ravenports )?

EIX have a pretty nice and informative output with a lot of useful information about the Gentoo ebuilds:

eix-remote

Also, with a tool printing that kind of information about the ports, would be feasible to have the OPTIONS set in the command line instead of ncurses, which I think would be more efficient/faster.

I mean, something along line with:

ravenadm set-options portname -opt1 -opt2 +opt3

Thanks!

kraileth commented 5 years ago

Interesting idea! Eix is close to a must-have on Gentoo (no idea why they don't include it in world). In the long run something like this might be worth the effort but I don't see anything like it coming in short term.

Also if you're familiar with Gentoo: Currently ravenadm cannot build packages on that platform. I suspect Gentoo's sandbox to get in the way, but I don't have a deep enough understanding of the topic. Do you perhaps have any idea?

ghost commented 5 years ago

Sorry, I don't and I don't have used Gentoo since about two and a half years.

I've talked with 'babyflakes' on Freenode about ravenports since he/she is aware of the Gentoo build system.

[EDIT] fixed some nick/project confusion of my part. ^^

ghost commented 5 years ago

So people at #gentoo-portage ( grknight to be more specific ) told me to be able to build ports/packages on Gentoo it should comply with the Gentoo PMS ( Package Manager Specification ).

Also, they alerted Gentoo does not have a OS sandbox. The building process ( emerge, I suppose ) invoke a sandbox as protection.

[EDIT]

I deleted some previous messages which are now clearly useless.

kraileth commented 5 years ago

@lebarondemerde Thanks for doing this investigation work! I don't think that Raven would ever try to become an official Gentoo package manager - while Gentoo is all about flexibility (and thus building everything from source by default), Raven is focused on providing binary packages (and port options are there to support variant packages).

Raven's Linux packages are in fact usable on Gentoo: After extracting the bootstrap tarball and syncing the repo information, software can be installed. What does NOT work is actually building new packages on Gentoo. If ravenadm is invoked to build some port, strange things happen (it looks like the build chroot cannot be entered or something) and I suspect that Gentoo does something differently regarding chroots.

I think it should eventually be possible to do ports development on Gentoo, too. But it's probably not a top priority issue. I don't have any Gentoo boxes at home anymore and we have other Linux distos that Raven does not work on at all (e.g. Red Hat / CentOS) that really need some love. However I have 200+ Gentoo servers at work, so it was a logical thing to at least test that platform. And of course it would be nice to get rid of the problem anyways. Raven is meant to be universal after all! ;)

ghost commented 5 years ago

@kraileth I don't think they meant to Ravenports become the official thing but the information necessary to unlock the process is in the PMS; however guess it will involve a lot of reading, tinkering and work to accomplish.

Btw, jade is failing. It can't find 'jade_1.2.1-35.diff.gz' anywhere including on the ravenports cache. I could open a PR with the port without it but IDK if there is something going on and worth to wait ( it seems bsdlab.org gone ).

[EDIT]

Ravenports could have a Freenode IRC channel! :-D

jyoung15 commented 5 years ago

Regarding the Gentoo chroot comment above, I believe the issue is that ravenadm assumes chroot is at /usr/sbin/chroot, but on Gentoo it's at /usr/bin/chroot. I am able to build packages after creating a symlink from /usr/bin/chroot to /usr/sbin/chroot as a workaround.

jrmarino commented 5 years ago

by the way, there is now a freenode IRC channel (#ravenports)

jrmarino commented 5 years ago

making a note of gentoo. The different location of chroot is the only thing breaking support?

jyoung15 commented 5 years ago

Yes, I believe so in my limited testing. After applying the chroot workaround, I can successfully do step 8 in the Linux quickstart, then run generate-repository and install the package from the local repository.

kraileth commented 5 years ago

Confirming that this solves the build problem on Gentoo. Perhaps Ravenadm should just check for /usr/sbin/chroot and try /usr/bin/chroot if the former is not found?

On Linux the chroot binary comes from the Coreutils package and that seems to default to installing it in /usr/bin. On Arch for example packages can be built only because on modern Arch /usr/sbin is a symlink to /usr/bin (don't remember when they changed it but it has been some years). So it might not only be Gentoo where the build is broken and thus could be worth implementing the alternative path, right?