Build requirements

Max TenEyck Woodbury mtew at cds.duke.edu
Mon Jul 22 11:16:36 GMT 2002


Alexander Bokovoy wrote:
> 
> On Mon, Jul 22, 2002 at 01:02:17PM -0400, Max TenEyck Woodbury wrote:
>> 2) extract the dependency information from the distribution.
>> 3) extract the .spec files for RH samba and rpm.
>> 4) compare RH's samba .spec file with yours. Also, your 2.2.5 and 2.2.3a.
>> 5) identify what belongs in the BuildRequires section.
>>
>> I was thinking that anything already in the rpm-build requirements could
>> have been dropped, but I realize now that that would have made the 
>> correctness of your builds dependent on the accuracy of the rpm-build spec. 
>> I'll try to make the list as complete as possible, and annotate which build
>> options require which additional packages. I suspect that this will have
>> some impact on the binary requirements as well.
>
> BTW, for each sub-package you can specify its own BuildRequires. This
> works with RPM 4.x at least. This is primarily for cases when sub-package
> building is wrapped by '--with-foo/--without-foo' options available in RPM
> (see documentation for more). So you may put BuildRequires more fine
> tuned.

Interesting. I think I need to study this. It doesn't quite match my mental
model of the build process, so I may have to do a re-think on parts of the
larger project. It doesn't apply to the samba.org kit since it is monolithic.

> Also, RH has a package named rpm-redhatdb or something like this. It
> contains additional RPM database with all RH packages installed (only
> database records are there of course). You can use it for resolving
> dependencies against whole distribution.

I knew about that. Its main problem is that it can't contain information on
updates that have not been installed, and probably does not contain information
on the installed updates. It's useful information, but not quite as useful as
it might be.

> Also, take a look at rpm-utils from our ALT Linux distribution. It has a
> number of utilites to ease management of BuildRequires. In particular,
> buildreqs utility calculates all build dependencies needed for a package
> during build in a larger installation than is really needed for build (kind
> of automagical finding of 'minimal' subset of BuildRequires).

I'd like to.

> Unfortunately, you can't use it as is for RH because package naming scheme
> is slightly different as well as RPM macros but it surely will reduce your
> amount of work because you'll end up repeating much of its functionality
> by hands (or self-written scripts).

I certainly intend to build upon others work where possible. RH's name scheme
is complex and a bit more flexible than some people realize. For my own work,
I use a variant that contains a bit more information than their unmodified
scheme. I'd be interested in looking at what you've done, and I may have some
suggestions if you're interested.

> You can find a mirror with it using RPM PBone: http://rpm.pbone.net/,
> query string is 'rpm-utils*alt'.
> One URI will be
> http://rpm.pbone.net/index.php3?stat=4&idpl=284400&idpa=284400 (take a
> source package).

Thanks. I can't get this done immediately, but probably some time soon.

>> I'm not an expert on all the configuration options, and the choice of
>> options will change the dependencies. I'm almost certainly going to need some
>> help with this. I'll do what I can to get this started, but it may be
>> something that one of the core SaMBa team is going to want to maintain over
>> the long haul. Of course, that will be your choice.

> Just start with default options set as in Samba Team's sample spec file.

Yep, that's the place to start, but that's not the end either.

mtew




More information about the samba-technical mailing list