#294: Detect required Fedora releases correctly --------------------+------------------------------------------------------- Reporter: kparal | Owner: Type: defect | Status: new Priority: minor | Milestone: 0.5.0 Component: core | Keywords: --------------------+------------------------------------------------------- Currently we use this approach in control.autoqa to require a specific Fedora release for a test run: {{{ # if we want to install the package, we must have this test running on # Fedora release corresponding to the package; thus the autotest label of the # correct distribution must be present (like 'fc13'); let's strip it from the # NVR (last part) if autoqa_args.has_key('nvr'): labels.append(autoqa_args['nvr'].split('.')[-1]) }}}
That is incorrect, because the package may look like foo-1.1-1.i686.fc15.1 . We have to use a different way.
#294: Detect required Fedora releases correctly --------------------+------------------------------------------------------- Reporter: kparal | Owner: Type: defect | Status: new Priority: major | Milestone: Future tasks Component: core | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by kparal):
* priority: minor => major * milestone: 0.5.0 => Future tasks
#294: Detect required Fedora releases correctly --------------------+------------------------------------------------------- Reporter: kparal | Owner: Type: defect | Status: new Priority: major | Milestone: 0.5.0 Component: core | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by kparal):
* milestone: Future tasks => 0.5.0
Comment:
Putting back to 0.5.0. We would like to have this solved, otherwise the scheduling will fail for some packages (I've really seen packages like that being used).
This can be probably solved by creating a library method that magically greps for fcNN strings and calling that library from control.autoqa or from watcher and passing this information further. But maybe there is a better (and more proper) solution.
If we decide the solution requires bigger architecture changes, we may postpone this ticket.
#294: Detect required Fedora releases correctly --------------------+------------------------------------------------------- Reporter: kparal | Owner: vhumpa Type: defect | Status: assigned Priority: major | Milestone: 0.5.0 Component: core | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by vhumpa):
* owner: => vhumpa * status: new => assigned
Comment:
Check the reviewboard: https://fedorahosted.org/reviewboard/r/131/
Added get_system_release(rpmstr, prefix='fc') function that determines the system release name out of a package name. This function doesn't require it to be in envr format so that 'old' and different packaging names (like foo-1.1-1.i686.fc15.1) are recognized. Depcheck and Initscripts control.autoqa files have been modified to use this method instead of doing .split('.')[-1], which didn't work on non envr names.
Possible discussion: 1) if the release name is not found(because it wasn't present), control.autoqa just doesn't get test scheduled to be executed. This seemed as desirable behavior to me but we can consider throwing an exception instead. 2) I made two implementations of get_system_release(), one using 're' module and likely more 'bulletproof' while the other takes advantage of envra() function with no regexp. The first one is used now and second commented - in case we don't want to import 're' module for some reason, those two can be swapped.
#294: Detect required Fedora releases correctly --------------------+------------------------------------------------------- Reporter: kparal | Owner: vhumpa Type: defect | Status: assigned Priority: major | Milestone: 0.5.0 Component: core | Resolution: Keywords: | --------------------+------------------------------------------------------- Old description:
Currently we use this approach in control.autoqa to require a specific Fedora release for a test run: {{{ # if we want to install the package, we must have this test running on # Fedora release corresponding to the package; thus the autotest label of the # correct distribution must be present (like 'fc13'); let's strip it from the # NVR (last part) if autoqa_args.has_key('nvr'): labels.append(autoqa_args['nvr'].split('.')[-1]) }}}
That is incorrect, because the package may look like foo-1.1-1.i686.fc15.1 . We have to use a different way.
New description:
Currently we use this approach in control.autoqa to require a specific Fedora release for a test run: {{{ # if we want to install the package, we must have this test running on # Fedora release corresponding to the package; thus the autotest label of the # correct distribution must be present (like 'fc13'); let's strip it from the # NVR (last part) if autoqa_args.has_key('nvr'): labels.append(autoqa_args['nvr'].split('.')[-1]) }}}
That is incorrect, because the package may look like foo-1.1-1.fc15.1 (.i686.rpm). This style is even recommended sometimes [1]. We have to use a different way.
[1] https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Minor_release_bump...
#294: Detect required Fedora releases correctly --------------------+------------------------------------------------------- Reporter: kparal | Owner: vhumpa Type: defect | Status: closed Priority: major | Milestone: 0.5.0 Component: core | Resolution: fixed Keywords: | --------------------+------------------------------------------------------- Changes (by vhumpa):
* status: assigned => closed * resolution: => fixed
Comment:
Pushed to master
autoqa-devel@lists.fedorahosted.org