[opensuse-buildservice] Why does obs handle Require vs Require(post) differently
I observed that, if I use 'Requires: b' in a.spec, obs does not install b package while build a. But if I use 'Requires(post): b' in a.spec, obs install b package while build a. My question is that why obs handles 'Require' and 'Require(post)' differently. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Le jeudi 13 décembre 2012 à 17:19 +0900, UkJung Kim a écrit :
I observed that, if I use 'Requires: b' in a.spec, obs does not install b package while build a. But if I use 'Requires(post): b' in a.spec, obs install b package while build a.
Requires (post or not) are runtime dependencies. You want BuildRequires which are buildtime dependencies.. -- Frederic Crozat <fcrozat@suse.com> SUSE -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Thu, Dec 13, 2012 at 05:19:42PM +0900, UkJung Kim wrote:
I observed that, if I use 'Requires: b' in a.spec, obs does not install b package while build a. But if I use 'Requires(post): b' in a.spec, obs install b package while build a.
My question is that why obs handles 'Require' and 'Require(post)' differently.
Normally they shouldn't get installed at all, as they are runtime dependencies. But for SUSE builds we do some post-build package checking and one of the checks is if the built packages are installable or not. As installing the packages executes the pre/postinstall scriptlets, we need to have the Requires(post) packages installed for that check. (Actually it should be configurable in the project config if the Requitre(post) packages should get installed or not, but I haven't added that option yet.) Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Thanks for your reply. I understood. In my understanding, I'm not sure my understanding is correct or not, post-build-checks ignores package dependencies for installation test, but I guess 'Requires(post)' packages are required for pre/post installation scriptlets tests. I hope it can be configurable that 'Requires' or 'Requires(post)' installation. Thanks, UkJung 2012/12/13 Michael Schroeder <mls@suse.de>:
On Thu, Dec 13, 2012 at 05:19:42PM +0900, UkJung Kim wrote:
I observed that, if I use 'Requires: b' in a.spec, obs does not install b package while build a. But if I use 'Requires(post): b' in a.spec, obs install b package while build a.
My question is that why obs handles 'Require' and 'Require(post)' differently.
Normally they shouldn't get installed at all, as they are runtime dependencies. But for SUSE builds we do some post-build package checking and one of the checks is if the built packages are installable or not. As installing the packages executes the pre/postinstall scriptlets, we need to have the Requires(post) packages installed for that check.
(Actually it should be configurable in the project config if the Requitre(post) packages should get installed or not, but I haven't added that option yet.)
Cheers, Michael.
-- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Frederic Crozat
-
Michael Schroeder
-
UkJung Kim