On Wed, Jan 27, 2021 at 06:00:42PM +0100, Vít Ondruch wrote:
Dne 27. 01. 21 v 17:38 Daniel P. Berrangé napsal(a):
> On Wed, Jan 27, 2021 at 05:17:24PM +0100, Vít Ondruch wrote:
> > Hi,
> >
> > I wonder, what would be the sentiment if I proposed to deprecated the
> > `fedpkg local` command. I don't think it should be used. Mock should be
the
> > preferred way. Would there be anybody really missing this functionality?
> While I understand that mock has the benefit of providing a well
> defined build environment, with less scope for things going wrong,
> that just isn't important to me most of the time. In fact I often
> want to build against what I have installed locally, explicitly
> *not* against what mock has in its build root.
>
> So overall "fedpkg local" has the benefit that it is much faster
> to run the build and simpler to get it to build what I want.
While there is certainly penalty in using mock, running repetitive builds
together with `--no-clean` option will hardly slow you down. Just a few
numbers.
1) Starging from scratch after `mock --scrub=all`, every package have to be
downloaded and installed:
~~~
$ time mock -r fedora-rawhide-x86_64 rubygem-net-ssh-5.2.0-2.fc34.src.rpm
... snip ...
real 0m47,188s
user 0m41,841s
sys 0m6,040s
~~~
2) With warm cache, only the BRs are installed, running right after the
previous build:
~~~
$ time mock -r fedora-rawhide-x86_64 rubygem-net-ssh-5.2.0-2.fc34.src.rpm
... snip ...
real 0m13,182s
user 0m9,885s
sys 0m2,701s
~~~
3) Without build root cleanup:
~~~
$ time mock -r fedora-rawhide-x86_64 rubygem-net-ssh-5.2.0-2.fc34.src.rpm -n
... snip ...
real 0m7,563s
user 0m6,139s
sys 0m1,194s
~~~
I think this is acceptable penalty for keeping my system unpolluted and
giving me easy opportunity to start from scratch if I messed up or if my
dependencies have changed or what not.
"keep my system unpolluted" is not a goal that's relevant, so it
doesn't justify the overhead of using mock.
The act of doing a build doesn't pollute my system. Installing the
package I built and testing it can pollute it, but that part is the
same even if I'm using mock to perform the build. None of this
takes place in my important host, it is in a throwaway VM because
I need a full running OS install for testing the resulting package
no matter how it is built.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|