Version-Release number of selected component (if applicable): 19.0 Steps to Reproduce: 1. beaker-import --family=Fedora http://dl.fedoraproject.org/pub/fedora/linux/releases/21/Server/ 2. Schedule a reserve job using Fedora 21 Server Actual results: Install fails with unsatisfied deps for emacs: The following software marked for installation has errors. This is likely caused by an error with your installation source. 1:emacs-24.4-3.fc21.x86_64 requires libgconf-2.so.4()(64bit) 1:emacs-24.4-3.fc21.x86_64 requires libm17n-core.so.0()(64bit) 1:emacs-24.4-3.fc21.x86_64 requires libm17n-flt.so.0()(64bit) 1:emacs-24.4-3.fc21.x86_64 requires libotf.so.0()(64bit) 1:emacs-common-24.4-3.fc21.x86_64 requires liblockfile.so.1()(64bit) Expected results: Installation should succeed, emacs dependencies should be available to Anaconda. Additional info: emacs is one of the requirements of /distribution/reservesys for hysterical raisins. The root cause is that beaker-import is not finding the Everything repo, which contains all Fedora packages (as opposed to the subset of packages which is included in the Server tree). Everything is not listed in Fedora's .composeinfo but beaker-import has some hardcoded hacks to find the Everything repo and register it in Beaker as an extra repo for the distro tree, so that all package dependencies can be satisfied. But I guess the Everything hack in beaker-import is not working because the directory layout has changed in Fedora 21 with the introduction of products.
A workaround for this particular case (emacs) is to drop /distribution/reservesys and use the <reservesys/> element instead. But there might be other packages which will also hit depsolving problems for the same reason. Another possible workaround (I haven't tried it yet) is to use the Fedora Workstation tree, which presumably has a different package set that is more likely to contain emacs and its deps.
The reason seems to me that it's not even looking for the existence of the "Everything" repo (in which case it would have found it, since the relative location hasn't changed -- assuming F21 server). The reason is that it is using the "TreeInfoRhel5" importer instead of "TreeInfoFedora". $ beaker-import --debug --dry-run http://dl.fedoraproject.org/pub/fedora/linux/releases/21/Server/ 2015-01-12 01:49:03,924 root INFO Dry Run only, no data will be sent to beaker 2015-01-12 01:49:04,152 root DEBUG Importer ComposeInfoLegacy does not match 2015-01-12 01:49:04,377 root DEBUG Importer ComposeInfo Matches 2015-01-12 01:49:04,378 root INFO Attempting to import: http://dl.fedoraproject.org/pub/fedora/linux/releases/21/Server/ 2015-01-12 01:49:05,060 root DEBUG Importer ComposeInfoLegacy does not match 2015-01-12 01:49:05,286 root DEBUG Importer ComposeInfo does not match 2015-01-12 01:49:05,865 root DEBUG Importer TreeInfoLegacy does not match 2015-01-12 01:49:06,430 root DEBUG Importer TreeInfoRhel5 Matches 2015-01-12 01:49:06,430 root INFO Attempting to import: http://dl.fedoraproject.org/pub/fedora/linux/releases/21/Server/armhfp/os 2015-01-12 01:49:08,700 root DEBUG {'arch': 'armhfp', 'arches': [], .. ..
This fixes it: diff --git a/LabController/src/bkr/labcontroller/distro_import.py b/LabController/src/bkr/labcontroller/distro_import.py index f1dfa44..cf86da2 100755 --- a/LabController/src/bkr/labcontroller/distro_import.py +++ b/LabController/src/bkr/labcontroller/distro_import.py @@ -1081,7 +1081,7 @@ def is_importer_for(cls, url, options=None): parser.has_section_startswith('addon-'): return False # Fedora has a special case below, see TreeInfoFedora - if parser.get('general', 'family') == 'Fedora': + if 'Fedora' in parser.get('general', 'family'): return False return parser
http://gerrit.beaker-project.org/#/c/3920/
Beaker 19.2 has been released.