-
-
Notifications
You must be signed in to change notification settings - Fork 114
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
Switch from pkgctl-build
to mkarchroot
for chroot for better compability
#905
Comments
Files, or packages? Packages it can do via
That's definitely an issue. Is it possible that I'm just not using
Because |
And to chime in, the reason for that is... I didn't even know |
Files like the pacman.conf or the makepkg.conf and package archive files, so dependencies doesn't need to be downloaded twice, as they are already in the system cache.
Well, I've studied the man page 3 times, it just doesn't have the features we need. It's more for a package maintainer who just wants to build a single package to test if it builds cleanly. But as soon as we're not talking about vanilla arch with standard config, we're running into issues with this command.
Ah okay. Yeah I think we have to switch :/ |
Yeah, but this doesn't work in all cases. Dependencies in repos which are not in the standard repos won't work. This means in case of Cachy OS for example that the build will be done with different package versions than the system libraries, as the default package versions are not optimized and they are optimized on installation, so the This may work, but if the build process includes the libraries, it will use the not optimized versions. As the So build would be slow, as its single thread and also without any flags which the user may have configured for his system, resulting in less security features or less performance settings etc. |
I've looked at your current implementation of the chroot, and I'm not really sure why you've chosen
pkgctl-build
overmkarchroot
.From my understanding,
pkgctl-build
has several disadvantages:This leads to packages which are not build as specified in the user's makepkg.conf and packages not being build at all, because of missing repositories, which are not specified in the standard pacman.conf (like dependent on multilib or custom repositories).
It also means all dependencies needs always be fetched from the internet, instead of being fetched from the package cache of pacman, creating unnecessary traffic and slowing down the build process.
Via the copying function of files into the chroot, the package databases can also be copied into the chroot. While this may sound counterintuitive at first, it ensures that a package is build with the same libraries available on the host system - since the host just updated them, before the build process (installing packages without
yu
is considered unsafe).Meaning if you build say 10 packages over several hours the library versions cannot diverge between the host and the chroot, because inside the chroot you wouldn't run a
pacman -Syu
and instead justpacman -Su
orpacman -S $dependency
.The text was updated successfully, but these errors were encountered: