[opensuse-virtual] 13.2 systemd update breaks udev version detection
Hello Marcus, Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu. We have the following snippet there: %if %( echo `rpm -q --queryformat %%{version} udev` ) > 190 %define _udevrulesdir /usr/lib/udev/rules.d %else %define _udevrulesdir /lib/udev/rules.d %endif
From systemd.3661 to systemd.4042 I notice the following change: -Version: 210 +Version: 210.1448627060.53ee915 which looks _service-generated. Was this intentional? If yes, how are we supposed to handle this now?
Regards, Andreas P.S. Note that we cannot check in any fix for qemu at this time as that would cause Factory's glorious checker scripts to decline our pending update once again. -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
Hi, Pull in the responsible systemd maintainer, Franck Bui. Ciao, Marcus On Wed, Dec 16, 2015 at 07:01:45PM +0100, Andreas Färber wrote:
Hello Marcus,
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu.
We have the following snippet there:
%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190 %define _udevrulesdir /usr/lib/udev/rules.d %else %define _udevrulesdir /lib/udev/rules.d %endif
From systemd.3661 to systemd.4042 I notice the following change: -Version: 210 +Version: 210.1448627060.53ee915 which looks _service-generated. Was this intentional? If yes, how are we supposed to handle this now?
Regards, Andreas
P.S. Note that we cannot check in any fix for qemu at this time as that would cause Factory's glorious checker scripts to decline our pending update once again.
-- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg)
-- Marcus Meissner,SUSE LINUX GmbH; Maxfeldstrasse 5; D-90409 Nuernberg; Zi. 3.1-33,+49-911-740 53-432,,serv=loki,mail=wotan,type=real <meissner@suse.de> -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
On Wednesday 2015-12-16 19:34, Marcus Meissner wrote:
Pull in the responsible systemd maintainer, Franck Bui.
Speaking of which, the _service github url is not even accessible.
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu. +Version: 210.1448627060.53ee915 -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
On Wed, Dec 16, 2015 at 11:08:39PM +0100, Jan Engelhardt wrote:
On Wednesday 2015-12-16 19:34, Marcus Meissner wrote:
Pull in the responsible systemd maintainer, Franck Bui.
Speaking of which, the _service github url is not even accessible.
it was meanwhile already moved to https://github.com/openSUSE/systemd which should be accessible. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
Hi On 12/16/2015 07:34 PM, Marcus Meissner wrote:
Hi,
Pull in the responsible systemd maintainer, Franck Bui.
Ciao, Marcus
On Wed, Dec 16, 2015 at 07:01:45PM +0100, Andreas Färber wrote:
Hello Marcus,
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu.
We have the following snippet there:
%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190 %define _udevrulesdir /usr/lib/udev/rules.d %else %define _udevrulesdir /lib/udev/rules.d %endif
can't you use '%_udevrulesdir' macro instead ?
From systemd.3661 to systemd.4042 I notice the following change: -Version: 210 +Version: 210.1448627060.53ee915 which looks _service-generated. Was this intentional? If yes, how are we supposed to handle this now?
Well, I don't know but I would have expected this solved at the time the _service thing had been introduced. Thanks. -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
Hi Franck, Am 17.12.2015 um 15:05 schrieb Franck Bui:
On 12/16/2015 07:34 PM, Marcus Meissner wrote:
On Wed, Dec 16, 2015 at 07:01:45PM +0100, Andreas Färber wrote:
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu.
We have the following snippet there:
%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190 %define _udevrulesdir /usr/lib/udev/rules.d %else %define _udevrulesdir /lib/udev/rules.d %endif
can't you use '%_udevrulesdir' macro instead ?
Does that work as far back as 13.1 or SLE11? That snippet is obviously not my invention, so you tell me.
From systemd.3661 to systemd.4042 I notice the following change: -Version: 210 +Version: 210.1448627060.53ee915 which looks _service-generated. Was this intentional? If yes, how are we supposed to handle this now?
Well, I don't know but I would have expected this solved at the time the _service thing had been introduced.
Well, for me, this was introduced yesterday. ;) We do not see any problems with Factory so far, is there a similar submission in flight? Might it be an option to simply drop the automatic set_version service and bumping it manually? (I recently played with it for hardware/libjaylink and did not find a way to fully customize it beyond %ct for the second component.) Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
Hi Andreas, On 12/17/2015 03:23 PM, Andreas Färber wrote:
Hi Franck,
Am 17.12.2015 um 15:05 schrieb Franck Bui:
On 12/16/2015 07:34 PM, Marcus Meissner wrote:
On Wed, Dec 16, 2015 at 07:01:45PM +0100, Andreas Färber wrote:
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu.
We have the following snippet there:
%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190 %define _udevrulesdir /usr/lib/udev/rules.d %else %define _udevrulesdir /lib/udev/rules.d %endif
can't you use '%_udevrulesdir' macro instead ?
Does that work as far back as 13.1 or SLE11? That snippet is obviously not my invention, so you tell me.
I would say: if it's defined then use it otherwise define it as '/lib/udev/rules.d': on distribution where it's defined, systemd is used and udev is >= 210 in this case. Otherwise sysvinit is still used and udev is old enough to look for its rules files in /lib/udev. That said it might make sense to introduce %_udevrulesdir in udev package for SLE11 (and any other supported products using udev).
From systemd.3661 to systemd.4042 I notice the following change: -Version: 210 +Version: 210.1448627060.53ee915 which looks _service-generated. Was this intentional? If yes, how are we supposed to handle this now?
Well, I don't know but I would have expected this solved at the time the _service thing had been introduced.
Well, for me, this was introduced yesterday. ;)
only a couple of weeks to me ;)
We do not see any problems with Factory so far, is there a similar submission in flight?
not yet, factory is still getting the source code from a tarball (not from the git repo).
Might it be an option to simply drop the automatic set_version service and bumping it manually? (I recently played with it for hardware/libjaylink and did not find a way to fully customize it beyond %ct for the second component.)
Well set_version avoids any human intervention so it's less subject to mistake. And since it's there, it's supposed to be used and fixed if broken. BTW which error are you seeing ? I took a quick look at rpmvercmp() which seems to do the version comparaison and it should work. I did a quick experiment and extracted this function and basically did: rpmvercmp("210.1448627060.53ee915", "190") and it worked as expected. Thanks. -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
On 12/17/2015 04:13 PM, Franck Bui wrote:
Hi Andreas,
On 12/17/2015 03:23 PM, Andreas Färber wrote:
Hi Franck,
Am 17.12.2015 um 15:05 schrieb Franck Bui:
On 12/16/2015 07:34 PM, Marcus Meissner wrote:
On Wed, Dec 16, 2015 at 07:01:45PM +0100, Andreas Färber wrote:
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu.
We have the following snippet there:
%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190 %define _udevrulesdir /usr/lib/udev/rules.d %else %define _udevrulesdir /lib/udev/rules.d %endif
can't you use '%_udevrulesdir' macro instead ?
Does that work as far back as 13.1 or SLE11? That snippet is obviously not my invention, so you tell me.
I would say: if it's defined then use it otherwise define it as '/lib/udev/rules.d': on distribution where it's defined, systemd is used and udev is >= 210 in this case. Otherwise sysvinit is still used and udev is old enough to look for its rules files in /lib/udev.
That said it might make sense to introduce %_udevrulesdir in udev package for SLE11 (and any other supported products using udev).
From systemd.3661 to systemd.4042 I notice the following change: -Version: 210 +Version: 210.1448627060.53ee915 which looks _service-generated. Was this intentional? If yes, how are we supposed to handle this now?
Well, I don't know but I would have expected this solved at the time the _service thing had been introduced.
Well, for me, this was introduced yesterday. ;)
only a couple of weeks to me ;)
We do not see any problems with Factory so far, is there a similar submission in flight?
not yet, factory is still getting the source code from a tarball (not from the git repo).
Might it be an option to simply drop the automatic set_version service and bumping it manually? (I recently played with it for hardware/libjaylink and did not find a way to fully customize it beyond %ct for the second component.)
Well set_version avoids any human intervention so it's less subject to mistake. And since it's there, it's supposed to be used and fixed if broken.
BTW which error are you seeing ?
You probably got: error: parse error in expression error: /home/foo/rpmbuild/SPECS/test.spec:25: bad %if condition $ cat test.spec Version: 210.1448627060.53ee915 [...] %pre %if %{version} > 190 echo version comparaison works %endif [...] Actually doing: %if 210.1 > 190 %if 210rc1 > 190 lead to a parse error as well. It seems that only numerical operands can be used in a %if conditional expression, version operands seems to be not supported. It would be nice if someone could clarify the syntax, I can't find any relevant rpm specification/documentation. Thanks. -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
Andreas Färber <afaerber@suse.de> writes:
Hello Marcus,
Today's https://build.opensuse.org/request/show/347433 seems to have broken 13.2 builds of Virtualization qemu.
We have the following snippet there:
%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190
There is the lua function rpm.vercmp, though I'm not sure how to integrate it here. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-virtual+owner@opensuse.org
participants (6)
-
Andreas Färber
-
Andreas Schwab
-
Franck Bui
-
Franck Bui
-
Jan Engelhardt
-
Marcus Meissner