Or you can browse.

Michael K. Johnson

Post details: You Didn't Really Need That!

April 7, 2008
Posted by Michael K. Johnson
9:41 PM
You Didn't Really Need That!

Last week, I spent a lot of my time working on a Conary feature: reporting possibly excessive elements of the buildRequires list. For years, Conary has been recommending additions to the buildRequires list when it notices possible reasons that something might be missing, whether that is because of a dependency, an entry in config.log, or Conary itself running a program.

Recently, those requirements have gotten so good that if you cook a recipe on a system with a full set of software installed, most of the time Conary figures out all the things you need to build. And the better job we do of making Conary do that, the more interest there has been in making Conary tell you which elements of your buildRequires list are not needed.

It took some work to make Conary actually record all the necessary dependencies rather than only the ones that it found missing, but after that, I was able to make Conary report the potential extras. And it has been finding real cases of excess buildRequires. For example:
info: Possible excessive buildRequires: ['userspace-kernel-headers:devel']
I found that while building lvm2 as a sample test package, and it's absolutely true: 'userspace-kernel-headers:devel' is part of the superclass and doesn't need to be mentioned in the lvm2 recipe at all.

However, Conary's recommendations for removing excess build requirements are only as good as its recommendations for adding missing ones; they are opposite sides of the same coin. And while an extraneous build requirement rarely causes much trouble, a missing build requirement is generally catastrophic. Therefore, take these recommendations with a grain of salt. There's a reason that it says Possible in the informational message!

This feature will require both Conary 2.0.12 and conary-policy 1.0.16, neither of which is yet released as I write this...

Comments:

No Comments for this post yet...

Comments are closed for this post.