[opensuse-packaging] Rpm-4.9.0 is in Factory
Hi Packagers, I've spent the last week to upgrade rpm from 4.8.0 to 4.9.0. The package was submitted to Factory yesterday and is already checked in. Besides some bug fixes and an update to a newer BerkeleyDB library rpm-4.9.0 contains plugin architecture for dependency generation. In older rpms, the internal dependency generator was pretty much hardcoded in C, so we always used the old external one to generate dependencies. With rpm-4.9.0, the internal generator has become flexible enough so that we can use it. This means for you, that rpm will no longer use the %__find_provides and %__find_requires macros. Some packages redefined those macros to be able to filter the generated dependencies. This will no longer work in rpm-4.9.0. Instead, support for dependency filtering was added to rpm. You can now use %define %__requires_exclude_from ^/foo.*bar to tell rpm to ignore files matching the regexp when generating requires (the $RPM_BUILD_ROOT is already stripped). You can use %define %__requires_exclude libfoo.* to remove a generated dependency. The same is possible for %__provides_ and %__supplements_. As the generator definitions are now pluggable, I'll migrate them from the rpm package into the corresponding packages in the next days, i.e. the mono plugin definition into the mono package. Have fun with rpm-4.9.0, 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-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
At Thu, 19 May 2011 12:51:36 +0200, Michael Schroeder wrote:
This means for you, that rpm will no longer use the %__find_provides and %__find_requires macros. Some packages redefined those macros to be able to filter the generated dependencies. This will no longer work in rpm-4.9.0. Instead, support for dependency filtering was added to rpm. You can now use
%define %__requires_exclude_from ^/foo.*bar
to tell rpm to ignore files matching the regexp when generating requires (the $RPM_BUILD_ROOT is already stripped).
You can use
%define %__requires_exclude libfoo.*
to remove a generated dependency. The same is possible for %__provides_ and %__supplements_.
Looks good and much saner, yeah. But how one can handle the filtering for different distro versions in a single spec file? Using %if %suse_version blah? thanks, Takashi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Thu, May 19, 2011 at 04:18:03PM +0200, Takashi Iwai wrote:
Looks good and much saner, yeah.
But how one can handle the filtering for different distro versions in a single spec file? Using %if %suse_version blah?
The rpm package in older distros doesn't have those filtering capabilities. So yes, %suse_version is your friend... Sorry, Micha. -- 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-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
At Thu, 19 May 2011 16:44:48 +0200, Michael Schroeder wrote:
On Thu, May 19, 2011 at 04:18:03PM +0200, Takashi Iwai wrote:
Looks good and much saner, yeah.
But how one can handle the filtering for different distro versions in a single spec file? Using %if %suse_version blah?
The rpm package in older distros doesn't have those filtering capabilities. So yes, %suse_version is your friend...
OK. I just wanted to be sure :) thanks, Takashi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Thu, 19 May 2011 at 16:44, Michael Schroeder wrote:
The rpm package in older distros doesn't have those filtering capabilities. So yes, %suse_version is your friend...
wouldn't it be better to check for the RPM version here (if there is a way to do that)? cu Reinhard -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (3)
-
Michael Schroeder
-
Reinhard Max
-
Takashi Iwai