
For one program I use, I keep the ebuild in a local repository. When I install that program, the package manager uses instructions in this ebuild to download and compile the source code.9a3eedi wrote:These modifications typically wouldn't be big ones, probably a diff of 10-100 lines. I
For example, say I downloaded an app that scans a PDF, and there was something in it that I don't like, say it was a bug or a missing feature. Does Gentoo give the user an easy way to inspect the code, modify it, and then keep the modification (perhaps in future updates)? What does the process of doing this look like? Also, to keep the spirit of free software, how can I submit my modifications as a patch later on if I find it might be useful for the community?
Code: Select all
src_configure() {
local emesonargs=(
-Dxapp=false
-Dman=false
)
Code: Select all
emerge --fetch ...Code: Select all
ebuild /path/to/ebuild <phase>prepare is probably a better choice. Each phase will imply the preceding if not disabled, so prepare will imply unpack, and unpack will imply fetch. The reason to prefer prepare is that Portage will prepare the sources before applying user patches, so if the user wants to write a patch that touches code close to a Gentoo patch, then the user needs to start from the Gentoo-modified sources, not from the raw upstream sources, and code the patch from there. If the user starts with the raw upstream sources, the user's local patch might collide with the Gentoo patch, resulting in a patch failure. If Gentoo happens not to patch close to where the user is working, then using either the Gentoo-modified sources or raw upstream sources will work.NeddySeagoon wrote:<phase> will be unpack or prepare, I forget which.
This might get off-topic, but I got a few things stopping me from using Gentoo. Note that I am not criticising, I am just listing the reasons why I think Gentoo is not for me at this time.NeddySeagoon wrote:Just use Gentoo, its easier
Understood. I was under the impression that the binary packages are for a particular number of software, like web browsers or desktop environments, but I guess I was mistaken. I really do like the idea of compiling everything from source thoughsam_ wrote:We already have binary packages: https://www.gentoo.org/news/2023/12/29/ ... inary.html
As for configuration (and indeed the optimisation, and unmasking point): no, that's up to you. Use the e.g. Plasma profile and meta packages and everything Just Works. If you want to meddle with things, that is your decision, but of course it's not then some inherent fault of Gentoo.
We're not trying to sell you on Gentoo if you're happy as you are! You came and asked a question about patching. We in particular excel at that. It's up to you if it's worth it.


I see! good to know.NeddySeagoon wrote:9a3eedi,
To clarify a few points that sam_ made.
The binhost project is just over a year old. It provides stable packages only.
Previously, there were a few binary packages with names ending in -bin.
Some of these are still around.
In my experience with Manjaro, on a wifi connection, it did not respond fast enough to requests for compilation, so it just ended up compiling locally anyway. It did not also really take advantage of my desktop's 24 threads despite configuring for it. For C-based projects, the network latency was too slow to make it worth it (vs just compiling it locally). For other languages, it wasn't compatible.. Nowadays, lots of software don't use C/C++ anymore, lots of rust/go/C#/Python and other languages that distcc doesn't support.NeddySeagoon wrote:distcc helps a bit but not as much as most people hope. The configure and linking steps are still done on the weak system, then not everything can use distcc either.
This might work for the first time setup, but for regular updates, it becomes a hassle.NeddySeagoon wrote:[For your weaker systems, build your own binhost in a chroot on the desktop, then install your own binhost on the weak system(s). There is a wiki page.
What I want is a stable everyday OS that is easy to set up and has sane defaults, and has updates with relatively recent packages, that I can tinker lightly with when I get the itch. I think that about summarizes it.sam_ wrote:To me, it sounds more like you're not sure what you want more than anything. There are ways to use Gentoo (and many people do) which avoid the problems you've listed. The question is if you actually want that, or if you really want to tinker with Gentoo. In any case, Gentoo will be here if or when you decide you want it, in whatever form.
