Dne 27. 01. 21 v 17:59 Colin Walters napsal(a):
On Wed, Jan 27, 2021, at 11:50 AM, Vít Ondruch wrote:You can do this in mock without messing with your system. You can use `mock -i some.rpm`, you can even use `mock --pm-cmd whatever dnf command you want to use`. You can use `mock your.srpm --short-circuit=install` and similar. You can use `mock shell --unpriv` if you want to tinker more. Mock is everything you ever wanted to develop for Fedora. So could you please share with us specifics of your workflow which makes it unique and which really requires `fedpkg local`? I can't imaging that intentionally breaking the host system due to testing soname bump is the right thing to do.Personally I spend 95% of my time inside an unprivileged pet "toolbox" style container with podman; I very very rarely execute any commands on the "host" context.
I can imagine, I am using Mock as the "pet toolbox style container". For Fedora development, `mock --init` is more convenient then `podman build` or what is the right command.
And mock doesn't really nest well (nested containers in general are possible but still involve some tricky compromises). So I use `fedpkg local` a lot, and I also often install these packages into my dev container *or* I just skip RPM entirely and `sudo make install`. For CoreOS stuff I use https://coreos.github.io/coreos-assembler/working/#using-overrides a lot which makes it convenient to take these built binaries and launch them in qemu. This of course gets into the broader overlap between mock/podman and Koji/Kubernetes which is also touched on in https://github.com/projectatomic/rpmdistro-gitoverlay/blob/master/doc/reworking-fedora-releng.md =) It'd all be much more obvious if the RPM buildroot was just: ``` FROM registry.fedoraproject.org/fedora-buildroot:33 RUN yum builddep foo.spec RUN fedpkg local
I think this is problematic for Rawhide development, because I don't think we have fresh image often enough. Once you have to used DNF/YUM, you are loosing the advantage you could possibly get.
``` And so if you want a pristine build locally you just use a wrapper tool which scripts unprivileged podman. (Yes, this loses RPM caching if done naively but has other massive advantages, such as being able to trivially spin up a shell on a remote Kube cluster that is *exactly* the build environment, etc.)
Thank you for sharing this perspective, because this is definitely scenario I would have on my mind.
Vít
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx