[opensuse-buildservice] How is a buildenvironment defined?
Is there a site/place where I can see what a minimal Suse 10.2 for example contains? And what if I want Perl 5.8.7 on it? How can I define that? Doing it in the .spec file? Buildrequires perl = 5.8.7 Is it already in the buildenvironment then? (before the actual build gets started) Or is RPM installing it for you? And what if Perl 5.8.7 doesn't exist? The build gets failed? --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wednesday 07 March 2007 14:35, Jochen Hebbrecht wrote:
Is there a site/place where I can see what a minimal Suse 10.2 for example contains?
And what if I want Perl 5.8.7 on it? How can I define that? Doing it in the .spec file? Buildrequires perl = 5.8.7 Hi. That's the way to go, yes. BuildRequires: perl = 5.8.7 will install perl and all the requirements that it needs. Unless you really need this specific perl version, I would write BuildRequires: perl only, that installs the current default perl for you. All packages get installed with rpm during the build in the build evironment for you. If perl 5.8.7 does not exist, you will get an 'expansion error' or something alike, telling you that the build service can not find your package. Regards, Daniel
Is it already in the buildenvironment then? (before the actual build gets started) Or is RPM installing it for you? And what if Perl 5.8.7 doesn't exist? The build gets failed? --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
2007/3/7, Daniel Bornkessel
That's the way to go, yes. BuildRequires: perl = 5.8.7 will install perl and all the requirements that it needs. Unless you really need this specific perl version, I would write BuildRequires: perl only, that installs the current default perl for you. All packages get installed with rpm during the build in the build evironment for you. If perl 5.8.7 does not exist, you will get an 'expansion error' or something alike, telling you that the build service can not find your package.
Ok, thanks for confirmation. Just one question that is left: what does the "minimal" chroot environment contains? I mean: image you start a build with no files in it, what does is contain? :-) ... I guess glibc ? And stuff like that? Is must be defined somewhere ... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wed, Mar 07, 2007 at 03:06:28PM +0100, Jochen Hebbrecht wrote:
Just one question that is left: what does the "minimal" chroot environment contains? I mean: image you start a build with no files in it, what does is contain? :-) ... I guess glibc ? And stuff like that? Is must be defined somewhere ...
To get a complete list just take at a package (or create one) that does not contain a buildrequires line and look at its build log what is installed to build that package. Robert -- Robert Schiele Dipl.-Wirtsch.informatiker mailto:rschiele@gmail.com "Quidquid latine dictum sit, altum sonatur."
2007/3/7, Robert Schiele
To get a complete list just take at a package (or create one) that does not contain a buildrequires line and look at its build log what is installed to build that package.
Ok, I agree ... That is indeed a possibility, but that means there's no single documentation file that can tell you what it does? :p ... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wed, Mar 07, 2007 at 03:23:16PM +0100, Jochen Hebbrecht wrote:
2007/3/7, Robert Schiele
: To get a complete list just take at a package (or create one) that does not contain a buildrequires line and look at its build log what is installed to build that package.
Ok, I agree ... That is indeed a possibility, but that means there's no single documentation file that can tell you what it does? :p ...
??? You wanted a list of packages and I told you one way to get it. What documentation do you exactly want to have? What do you mean with "what it does"? If you want to have more precise answers you should ask more precise questions. Robert -- Robert Schiele Dipl.-Wirtsch.informatiker mailto:rschiele@gmail.com "Quidquid latine dictum sit, altum sonatur."
Jochen Hebbrecht wrote:
Just one question that is left: what does the "minimal" chroot environment contains? I mean: image you start a build with no files in it, what does is contain? :-) ... I guess glibc ? And stuff like that? Is must be defined somewhere ...
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. Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
2007/3/7, Michal Marek
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.
YES! That is wat I needed ;-)! Thnx m8! --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
2007/3/7, Michal Marek
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? --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wed, Mar 07, 2007 at 03:46:13PM +0100, Jochen Hebbrecht wrote:
2007/3/7, Michal Marek
: 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@suse.de 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@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
2007/3/7, Michael Schroeder
Sure:
Preinstall: <packages> ...
Thnx Michael. It's really clear now for me! :-) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Michael, can you add that info to the wiki ? Thanks, -- Amilcar Lucas Webmaster The KDevelop project --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Op woensdag 7 maart 2007 16:33, schreef Amilcar do Carmo Lucas:
Michael, can you add that info to the wiki ?
We (including Amilcar ;) ) can do that to. The only problem is where to add? Should it be on seperate page, or added to: http://en.opensuse.org/Build_Service/cross_distribution_package_how_to or another one of those: http://en.opensuse.org/Category:Build_Service ? -- Richard Bos We are borrowing the world of our children, It is not inherited from our parents. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Am Mittwoch, 7. März 2007 20:31 schrieb Richard Bos:
Op woensdag 7 maart 2007 16:33, schreef Amilcar do Carmo Lucas:
Michael, can you add that info to the wiki ?
We (including Amilcar ;) ) can do that to. The only problem is where to add? Should it be on seperate page, or added to: http://en.opensuse.org/Build_Service/cross_distribution_package_how_to or another one of those: http://en.opensuse.org/Category:Build_Service ?
I've currently added it to
http://en.opensuse.org/Build_Service/Tips_and_Tricks#How_is_a_buildenvironme...
Feel free to move it away from this site (because it doesn't fit there very
well ;-)
--
Lars Vogdt
Amilcar do Carmo Lucas wrote:
Michael, can you add that info to the wiki ?
Or perhaps to the build package itself? Something like /usr/share/doc/packages/build/README.configs or /usr/lib/build/configs/README? Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (8)
-
Amilcar do Carmo Lucas
-
Daniel Bornkessel
-
Jochen Hebbrecht
-
Lars Vogdt
-
Michael Schroeder
-
Michal Marek
-
Richard Bos
-
Robert Schiele