Mailinglist Archive: opensuse-buildservice (295 mails)

< Previous Next >
Re: [opensuse-buildservice] How is a buildenvironment defined?
  • From: Michael Schroeder <mls@xxxxxxx>
  • Date: Wed, 7 Mar 2007 16:02:18 +0100
  • Message-id: <20070307150218.GB19529@xxxxxxx>
On Wed, Mar 07, 2007 at 03:46:13PM +0100, Jochen Hebbrecht wrote:
> 2007/3/7, Michal Marek <mmarek@xxxxxxx>:
>
> >It's defined /usr/lib/build/configs/$distro.conf in the build package. I
> >don't know what all the fileds exactly mean, but the packages from
> >Preinstall:, Required: and Support: should be the ones that get
> >installed by default. No warranty.
>
> Hmm, I replied too fast I guess ...
> ... I need to know what all the fields are. Can somebody explain me?

Sure:

Preinstall: <packages>

The packages that need to be unpacked for build environment setup.
This is basically everything that is needed to get rpm/dpkg
running, i.e. glibc and the like.


Runscripts: <packages>

A subset of the preinstall packages. It describes which packages
need to have their postinstall scripts run.


Required: <packages>

These are the packages that make the "normal" build environment,
i.e. stuff like gcc, autoconf, automake and the like.


Support: <packages>

Convenience packages, like "vim" or "strace". The difference to
"Required" is that the automatic rebuild detection does not look
at support packages, i.e. you don't get an automatic rebuild
if "strace" is changed.
This list also includes some "-devel" packages and other subpackages
of the "Required" packages to keep the Required list small. (I.e.
we don't need both "zlib" and "zlib-devel" in Required because both
are built from the same source)


That's about all there is to know about the build environment setup.
Oh, we also do dependency expansion here, so packages needed because
of package dependencies automatically get added to the "Required" list.


So, the default package list is

Preinstall + Required + Support + packages from dependency expansion.


Some words about the other fields:


Keep: <packages>

We really need those packages. Normally, subpackages of the package
that we want to build don't get installed. But even if we want
to build the "patch" package, we need a working patch program to
apply patches from the specfile. So we have "Keep: patch".
The preinstalled packages are automatically added to this list.


Prefer: <positive-package>
Prefer: -<negative-package>

This information is used to break ambiguities.


Ignore: <package>:<package>

This breaks dependencies for the package expansion step.
"Ignore: portmap:syslogd" means that we don't need an installed
syslogd if we have to install the portmap package.

Cheers,
Michael.

--
Michael Schroeder mls@xxxxxxx
SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >