Dne 20.12.2014 v 18:55 Jason L Tibbitts III napsal(a):
So I stumbled upon this blog post:
http://developerblog.redhat.com/2014/12/19/bootstrapping-power8-little-en...
and there are a few things in there which seem like they might be good
to incorporate into our packaging guidelines, or perhaps into our
tooling (rpm up through mock and koji). Random thoughts follow.
Dependency minimization is obviously a big one; we struggle with this.
Build-time dependency minimization is far more difficult.
First step is to have really minimal build root. For me that means to
get rid of Perl from it. I hope that Perl guys are slowly working on
fixing their packages.
Second thing is that the resulting build depends on content of build
root. E.g. for Ruby, there are build or not build various extensions
depending if the library is available. In theory, the dependencies
should be explicitly specified by configures --with(out) flags but I am
not sure if that is enough. Moreover, there is no guidelines about this
to my knowledge, nor any tooling. Of course with various build tools,
the guidelines could hardly cover this :/
Is there any
value in standardizing methods (probably using conditionals in the spec)
to minimize build-time dependencies? If you have a very core package
that needs the whole X stack to build one of its subpackages, maybe
conditionalize the build so that you can build without that subpackage
and not need X. (autoconf needs emacs? Wow.)
I think currently we have only one or two places where we absolutely
require lua for scriptlets. bash is the only one I can think of,
because it would otherwise need itself to install. Is there value in
using it more often, for more core packages?
I wonder how many packages have additional build-time dependencies
solely for running %check. Would it be reasonable to be able to
separate these somehow (BuildRequires(check): foo) and to pass up
disabling %check through our tooling?
This would be cool, since having rubygems on my mind, the BRs are
typically just %check dependencies.
Vít