-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Chris Weyl wrote:
On 8/16/06, Clark Williams williams@redhat.com wrote:
Keeping in line with our razor-blade focus for mock ("we just build packages in chroots"), I actually don't think there's much more to do for 1.0. Once we are comfortable with the functional and security aspects of the 0.7 mock, I'd call it cooked. Assuming of course no one comes up with a killer feature that is :).
A while ago and on a different list, tibbs proposed adding one last bit to the buildcycle:
- installing rpmlint into the buildroot
- installing the built packages into the buildroot
- running rpmlint against the installed packages and providing the
rpmlint reports in results/
The idea here is to seamlessly give rpmlint reports on installed packages (there's a difference than on binaries, apparently) without having the builder/reviewer needlessly clutter up their host. Mock wouldn't have anything to do with the results once rpmlint is run; they'd just be another bit of information for the reviewers/packagers to use.
My memory is a bit foggy on what happened to this, but is this something we could think about doing for mock, either 0.7 or 1.0? IMHO, something like this would be a great time saver, as it's something that's fairly routine.
I actually had code in my local sandbox that would run rpmlint on the generated SRPM and RPMs, but going much farther than that gets a bit more complicated. The discussion we had at the time indicated that most folks thought that it was testing not building and that it was best done by other logic. While I kinda think that adding an rpmlint feature would be cool, an objective look makes me think they're right. Lets keep mock a chroot manager, not a test framework.
I think I would prefer to make it easy to install things into the chroot so that what you want to do turns into:
$ mock -r <config> SRPM $ mock --no-clean -r <config> install rpmlint $ mock --no-clean -r <config> install <generated-pkgs> $ mock --no-clean -r <config> chroot rpmlint <pkgnames>
What I haven't gotten my head around is what needs to be done for the hypothetical "install" command. It may just be running yum with the appropriate root arguments to install rpmlint, then just running rpm to install the target rpms into the chroot. Or maybe we just add rpmlint to the default package set. It may be that we don't need a new command and we can get everything done with what exists and external logic.
I'd welcome discussion on how to do this and on how to improve chroot management in general.
Clark