Skip to content

Revamp ebuilds #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Oct 28, 2023
Merged

Revamp ebuilds #1

merged 4 commits into from
Oct 28, 2023

Conversation

parona-source
Copy link
Contributor

Dropped keywords as I suspect they were added haphazardly. I have no problem readding if you actually have such hardware and have tested it on that.

Signed-off-by: Alfred Wingate <parona@protonmail.com>
* actually hook up tests
* remove unnecessary boilerplate and fill in metadata
* dropped keywords

Signed-off-by: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Alfred Wingate <parona@protonmail.com>
@parona-source
Copy link
Contributor Author

@parona-source
Copy link
Contributor Author

Also minimal -> tiny because it installs tiny programs in addition rather than being more minimal by omitting something.

@parona-source
Copy link
Contributor Author

And /opt/bsd instead of /usr/bsd, because its less random from a FHS perspective

* Add missing flags and dependencies
* Cleanup all around

Signed-off-by: Alfred Wingate <parona@protonmail.com>
@parona-source
Copy link
Contributor Author

@parona-source
Copy link
Contributor Author

BSD_PREFIX could also be /usr/lib/bsd. This would be similar to how llvm handles itself.

@Connor-GH
Copy link
Owner

Connor-GH commented Oct 27, 2023 via email

@parona-source
Copy link
Contributor Author

The difference is that llvm is a library, whilst these utils are not. I think /opt/bsd is a good idea, but i originally wanted /usr because that's where most third-party programs get installed. /opt seems like a good fit as well though, but I'd like to look at more examples.

On October 27, 2023 7:53:26 PM UTC, Alfred Wingate @.> wrote: BSD_PREFIX could also be /usr/lib/bsd. This would be similar to how llvm handles itself. -- Reply to this email directly or view it on GitHub: #1 (comment) You are receiving this because you are subscribed to this thread. Message ID: @.>

keep in mind that llvm is slotted so it installs everything in there. so binaries and headers included. with llvm I mean the umberlla under llvm-project and not just libllvm.so

@Connor-GH
Copy link
Owner

/opt:

“reserved for the installation of add-on application software packages.”

/usr/:

"Secondary hierarchy for read-only user data; contains the majority of (multi-)user utilities and applications. Should be shareable and read-only."

/usr/local:

"Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories (e.g., bin, lib, share"

Those seem to be the options.

@parona-source
Copy link
Contributor Author

@parona-source
Copy link
Contributor Author

Also system package manager shouldn't touch */local its for the system administrator to use as they please.

@Connor-GH
Copy link
Owner

I saw the explicit mention of /usr/local.

Hmm, I am not liking my options here. Different sources try and say that opt is more for things like steam or discord - binaries that typically ship all of their dependencies and do things very differently.

/opt might be the only right option here though.

@parona-source
Copy link
Contributor Author

Ideally it would be installed normally, but that would require app-alternatives and picking non conflicting names for the binaries/manpages.

@Connor-GH
Copy link
Owner

right. app-alternatives/{coreutils,findutils,etc} is an idea for the future, but not now.

@parona-source
Copy link
Contributor Author

parona-source commented Oct 28, 2023

I still think /usr/lib is also valid in practise. The rule about installing libraries only isn't respected. Notable systemd, pkgconfig, python, gcc and llvm do their own thing there in their own directories.

But /opt/bsd or /opt/chimerautils is fine /opt is for the oddballs.

@Connor-GH
Copy link
Owner

I prefer /opt/bsd over /opt/chimerutils because the only thing branded about them is the name. Many files aren't touched at all from FreeBSD, for example.

@Connor-GH
Copy link
Owner

As it looks right now, I like it except for the keywords. I only tested amd64 as you guessed, but I have a few VMs for riscv and aarch64 and I could test on those. Do you have powerpc hardware/VMs?

@parona-source
Copy link
Contributor Author

My point about keywords is to just not falsely claim "it should work" when you don't know. And its best to keyword it if there is someone with that hardware and is interested themselves.

@Connor-GH
Copy link
Owner

Connor-GH commented Oct 28, 2023

I'm going to try and spin up a few VMs and test this on some gentoo live ISOs. Do you have suggestions for a test suite? Although not strictly required, I'd like it if the test isn't building world because most of the time that's just compiling, and compiling in a cross-architecture VM is slow.

@parona-source
Copy link
Contributor Author

parona-source commented Oct 28, 2023

I don't think you should spend time testing it, unless you are doing it because you are interested in it for the sake of it.

Its wasted effort unless you find value in it in your own way.

But a decent enough threshold is that they A) build B) tests pass if there are tests and C) they don't SEGFAULT when you execute the binaries.

There is no motivation tbh to add more keywords unless there is someone in the wild who wants it from the package.

@Connor-GH
Copy link
Owner

I could see my own personal benefit in an aarch64 build guaranteed to work as I plan on doing some related things with a laptop sooner or later.

Some subset of the GNU coreutils test suite would be something I'd consider to test every flag versus the GNU counterpart to make sure they deliver expected (but perhaps not exact) results.

@Connor-GH
Copy link
Owner

This looks good as is. I'll change keywords as needed.

@Connor-GH Connor-GH merged commit 1887bf1 into Connor-GH:master Oct 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants