Description of problem: On AArch64 and S390 we are unable to build software which uses ruby - all tests fail due to lack of ruby executable. Examples: http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3364089 http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3364093 http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3364416 I fetched mock config from one of builds "arm-koji mock-config --task 3364416 >koji.cfg" and did local build: --------------------------------------------------------------------------------------------------- -- Found PythonLibs: /usr/lib64/libpython2.7.so (found version "2.7.11") -- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.11") CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find Ruby (missing: RUBY_EXECUTABLE) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake/Modules/FindRuby.cmake:267 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) swig/ruby/CMakeLists.txt:2 (find_package) -- Configuring incomplete, errors occurred! --------------------------------------------------------------------------------------------------- Installed dnf inside mock and chrooted. There was "/bin/ruby-mri" executable from "ruby" package but no expected "/bin/ruby". So I started checking packages: $ rpm --provides -qp ruby-2.3.0-52.fc24.aarch64.rpm ruby = 2.3.0-52.fc24 ruby(aarch-64) = 2.3.0-52.fc24 ruby(runtime_executable) = 2.3.0 $ rpm --suggests -qp ruby-2.3.0-52.fc24.aarch64.rpm rubypick $ rpm --requires -qp rubypick-1.1.1-4.fc24.noarch.rpm /usr/bin/bash rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 ruby(runtime_executable) $ rpm --suggests -qp rubypick-1.1.1-4.fc24.noarch.rpm ruby Ok, so looks like installing "ruby" should also install "rubypick" (as "install_weak_deps" defaults to True in mock): # dnf --assumeno install ruby Last metadata expiration check performed 0:43:58 ago on Thu Jan 21 12:20:23 2016. Dependencies resolved. ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: ruby aarch64 2.3.0-52.fc24 build 75 k Transaction Summary ================================================================================= Install 1 Package Total size: 75 k Installed size: 129 k Operation aborted. So maybe other way? # dnf --assumeno install rubypick Last metadata expiration check performed 0:44:25 ago on Thu Jan 21 12:20:23 2016. Dependencies resolved. ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: apache-commons-codec noarch 1.10-2.fc23 build 245 k base64coder noarch 20101219-13.fc23 build 17 k bytelist noarch 1.0.8-10.fc23 build 19 k felix-framework noarch 5.4.0-2.fc24 build 667 k hawtjni-runtime noarch 1.10-5.fc23 build 37 k invokebinder noarch 1.2-1.fc22 build 46 k jansi noarch 1.11-9.fc23 build 48 k jansi-native aarch64 1.5-9.fc23 build 50 k java-1.8.0-openjdk-headless aarch64 1:1.8.0.65-15.b17.fc24 build 31 M javapackages-tools noarch 4.6.0-12.fc24 build 102 k jcodings noarch 1.0.9-8.fc23 build 1.1 M jffi aarch64 1.2.9-8.fc23 build 157 k jffi-native aarch64 1.2.9-8.fc23 build 216 k jline noarch 2.13-1.fc24 build 154 k jnr-constants noarch 0.9.0-1.fc24 build 299 k jnr-enxio noarch 0.9-3.fc23 build 40 k jnr-ffi noarch 2.0.4-1.fc24 build 552 k jnr-netdb noarch 1.1.4-2.fc23 build 62 k jnr-posix noarch 3.0.19-1.fc24 build 218 k jnr-unixsocket noarch 0.8-3.fc23 build 27 k jnr-x86asm noarch 1.0.2-8.fc23 build 204 k joda-time noarch 2.9-1.tzdata2015e.fc24 build 515 k joni noarch 2.1.3-2.fc23 build 195 k jruby noarch 1.7.22-1.fc24 build 9.9 M jzlib noarch 1.1.3-3.fc23 build 81 k lksctp-tools aarch64 1.0.16-4.fc23 build 92 k nailgun aarch64 0.9.1-1.fc22 build 47 k objectweb-asm noarch 5.0.4-1.fc24 build 581 k options noarch 1.2-5.fc23 build 24 k python3-cssselect noarch 0.9.1-8.fc24 build 62 k python3-javapackages noarch 4.6.0-12.fc24 build 87 k python3-lxml aarch64 3.4.4-2.fc24 build 812 k rubypick noarch 1.1.1-4.fc24 build 9.7 k snakeyaml noarch 1.16-1.fc24 build 242 k tzdata-java noarch 2015g-1.fc24 build 177 k yecht noarch 1.0-2.fc23 build 96 k Transaction Summary ================================================================================= Install 36 Packages Total size: 48 M Total download size: 48 M Installed size: 134 M Operation aborted. Hmm... "rubypick" suggests "ruby" but dnf installs "jruby"? Let's force "install_weak_deps=True" just in case: # dnf --assumeno install rubypick --setopt install_weak_deps=True Last metadata expiration check performed 0:45:25 ago on Thu Jan 21 12:20:23 2016. Dependencies resolved. ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: apache-commons-codec noarch 1.10-2.fc23 build 245 k base64coder noarch 20101219-13.fc23 build 17 k bytelist noarch 1.0.8-10.fc23 build 19 k felix-framework noarch 5.4.0-2.fc24 build 667 k hawtjni-runtime noarch 1.10-5.fc23 build 37 k invokebinder noarch 1.2-1.fc22 build 46 k jansi noarch 1.11-9.fc23 build 48 k jansi-native aarch64 1.5-9.fc23 build 50 k java-1.8.0-openjdk-headless aarch64 1:1.8.0.65-15.b17.fc24 build 31 M javapackages-tools noarch 4.6.0-12.fc24 build 102 k jcodings noarch 1.0.9-8.fc23 build 1.1 M jffi aarch64 1.2.9-8.fc23 build 157 k jffi-native aarch64 1.2.9-8.fc23 build 216 k jline noarch 2.13-1.fc24 build 154 k jnr-constants noarch 0.9.0-1.fc24 build 299 k jnr-enxio noarch 0.9-3.fc23 build 40 k jnr-ffi noarch 2.0.4-1.fc24 build 552 k jnr-netdb noarch 1.1.4-2.fc23 build 62 k jnr-posix noarch 3.0.19-1.fc24 build 218 k jnr-unixsocket noarch 0.8-3.fc23 build 27 k jnr-x86asm noarch 1.0.2-8.fc23 build 204 k joda-time noarch 2.9-1.tzdata2015e.fc24 build 515 k joni noarch 2.1.3-2.fc23 build 195 k jruby noarch 1.7.22-1.fc24 build 9.9 M jzlib noarch 1.1.3-3.fc23 build 81 k lksctp-tools aarch64 1.0.16-4.fc23 build 92 k nailgun aarch64 0.9.1-1.fc22 build 47 k objectweb-asm noarch 5.0.4-1.fc24 build 581 k options noarch 1.2-5.fc23 build 24 k python3-cssselect noarch 0.9.1-8.fc24 build 62 k python3-javapackages noarch 4.6.0-12.fc24 build 87 k python3-lxml aarch64 3.4.4-2.fc24 build 812 k rubypick noarch 1.1.1-4.fc24 build 9.7 k snakeyaml noarch 1.16-1.fc24 build 242 k tzdata-java noarch 2015g-1.fc24 build 177 k yecht noarch 1.0-2.fc23 build 96 k Transaction Summary ================================================================================= Install 36 Packages Total size: 48 M Total download size: 48 M Installed size: 134 M Operation aborted. So maybe install "ruby" to get "rubypick" installed as well? # dnf --assumeno install ruby --setopt install_weak_deps=True Last metadata expiration check performed 0:45:55 ago on Thu Jan 21 12:20:23 2016. Dependencies resolved. ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: ruby aarch64 2.3.0-52.fc24 build 75 k Transaction Summary ================================================================================= Install 1 Package Total size: 75 k Installed size: 129 k Operation aborted. As you see weak dependencies were ignored. Version-Release number of selected component (if applicable): # dnf --version 1.1.5 Installed: dnf-0:1.1.5-1.fc24.noarch at 2016-01-21 11:28 Built : Fedora Project at 2015-12-18 17:11 Installed: rpm-0:4.13.0-0.rc1.13.fc24.aarch64 at 2016-01-21 11:22 Built : Fedora Project at 2015-11-26 23:12 How reproducible: always Steps to Reproduce: 1. "arm-koji build-scratch obexftp" Actual results: build fails due to dnf ignoring weak dependencies Expected results: package builds fine Additional info: Same packages build on primary koji (where builders runs f23) and ppc (fedora 21). AArch64 and S390 builders run Fedora 23.
Yep, that is going to be a problem, but is is not, since the primary arches does not disable the installation of weak dependencies, yet. It seems that secondary arches are a bit ahead. https://fedorahosted.org/rel-eng/ticket/6330 https://fedorahosted.org/koji/ticket/326
Of course this seems to be totally wrong component/issue tracker.
The issue could be that any other package recommends / suggests jruby then it could be pulled into transaction instead of ruby because all of them have the priority and then there could exists more solutions. We will investigate at same time, upload the debugdata [1], please. [1] https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#connection-issue
Created attachment 1118145 [details] dnf.librepo.log <mock-chroot>sh-4.3# rpm -q librepo curl dnf librepo-1.7.17-2.fc24.aarch64 curl-7.46.0-2.fc24.aarch64 dnf-1.1.5-1.fc24.noarch <mock-chroot>sh-4.3# rpm -q ruby jruby rubypick package ruby is not installed package jruby is not installed package rubypick is not installed <mock-chroot>sh-4.3# dnf clean metadata Cleaning repos: build 4 metadata files removed 3 dbcache files removed <mock-chroot>sh-4.3# dnf --assumeno install ruby --refresh Last metadata expiration check performed 0:00:37 ago on Mon Jan 25 18:19:21 2016. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: ruby aarch64 2.3.0-52.fc24 build 75 k ruby-libs aarch64 2.3.0-52.fc24 build 2.7 M Transaction Summary ================================================================================ Install 2 Packages Total download size: 2.8 M Installed size: 14 M Operation aborted.
Created attachment 1118146 [details] debugdata <mock-chroot>sh-4.3# rpm -q libsolv hawkey dnf libsolv-0.6.15-4.fc24.aarch64 hawkey-0.6.2-3.fc24.aarch64 dnf-1.1.5-1.fc24.noarch
I did some digging today. koji does not set any settings in regards to weak dependencies. koji-shadow does no setting of any configs. default rawhide mock config I was able to reproduce the issue filed here. if I remove install_weak_deps=0 from the rawhide mock config I got the matching behaviour of koji on x86_64 on aarch64. the koji mock config is # Auto-generated by the Koji build system # Koji buildroot id: 711424 # Koji buildroot name: f24-build-711424-659760 # Koji repo id: 659760 # Koji tag: f24-build config_opts['package_manager'] = 'dnf' config_opts['chroothome'] = '/builddir' config_opts['use_host_resolv'] = False config_opts['basedir'] = '/var/lib/mock' config_opts['rpmbuild_timeout'] = 172800 config_opts['yum.conf'] = '[main]\ncachedir=/var/cache/yum\ndebuglevel=1\nlogfile=/var/log/yum.log\nreposdir=/dev/null\nretries=20\nobsoletes=1\ngpgcheck=0\nassumeyes=1\nkeepcache=1\n\n# repos\n\n[build]\nname=build\nbaseurl=http://armpkgs.fedoraproject.org//repos/f24-build/659760/aarch64\n' config_opts['chroot_setup_cmd'] = 'groupinstall build' config_opts['target_arch'] = 'aarch64' config_opts['root'] = 'f24-build-711424-659760' config_opts['plugin_conf']['root_cache_enable'] = False config_opts['plugin_conf']['yum_cache_enable'] = False config_opts['plugin_conf']['ccache_enable'] = False config_opts['macros']['%_host'] = 'aarch64-redhat-linux-gnu' config_opts['macros']['%_host_cpu'] = 'aarch64' config_opts['macros']['%vendor'] = 'Fedora Project' config_opts['macros']['%distribution'] = 'Fedora Project' config_opts['macros']['%_topdir'] = '/builddir/build' config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' config_opts['macros']['%packager'] = 'Fedora Project' however it seems install_weak_deps=0 while not explicitly set.
(In reply to Dennis Gilmore from comment #6) > however it seems install_weak_deps=0 while not explicitly set. How do you know that? (In reply to Marcin Juszkiewicz from comment #0) > # dnf --assumeno install ruby --setopt install_weak_deps=True > Last metadata expiration check performed 0:45:55 ago on Thu Jan 21 12:20:23 > 2016. > Dependencies resolved. > ============================================================================= > ==== > Package Arch Version Repository > Size > ============================================================================= > ==== > Installing: > ruby aarch64 2.3.0-52.fc24 build > 75 k > > Transaction Summary > ============================================================================= > ==== > Install 1 Package > > Total size: 75 k > Installed size: 129 k > Operation aborted. > > > As you see weak dependencies were ignored. This is 100% correct. Ruby only Suggests rubypick [1] - it should be installed only if some package REQUIRES rubypick feature in transaction. If you want it to behave differently consider changing Suggest to Recommends in ruby spec file. > # dnf --assumeno install rubypick > ... > jruby noarch 1.7.22-1.fc24 build 9.9 M > ... > > Hmm... "rubypick" suggests "ruby" but dnf installs "jruby"? Only this case seems to be weird although I believe depsolver picked it for good reason. [1] https://fedoraproject.org/wiki/PackagingDrafts/WeakDependencies#Hints
Dennis, could you please check what are the versions of following libraries on builders? > libsolv > hawkey > dnf Are they in the same version?
I've got into similar situation when rebuilding libdmtx (last time rebuilt in F-24 2016-01-12 in the Ruby rebuild) in current Rawhide x86_64 mock. from the root.log ... DEBUG package_manager.py:92: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/fedora-rawhide-x86_64/root/', '--releasever', '24', '/var/lib/mock/fedora-rawhide-x86_64/root//builddir/build/SRPMS/libdmtx-0.7.2-18.fc24.src.rpm'] DEBUG util.py:541: child environment: None DEBUG util.py:474: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/fedora-rawhide-x86_64/root/', '--releasever', '24', '/var/lib/mock/fedora-rawhide-x86_64/root//builddir/build/SRPMS/libdmtx-0.7.2-18.fc24.src.rpm', '--setopt=tsflags=nocontexts'] with env {'HOME': '/builddir', 'HOSTNAME': 'mock', 'LC_MESSAGES': 'C', 'LANG': 'cs_CZ.utf8', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'SHELL': '/bin/bash', 'CCACHE_DIR': '/tmp/ccache', 'CCACHE_UMASK': '002', 'TERM': 'vt100', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} and shell False DEBUG util.py:399: Last metadata expiration check performed 0:00:00 ago on Tue Jan 26 12:17:29 2016. DEBUG util.py:399: Dependencies resolved. DEBUG util.py:399: ====================================================================================================================================================================== DEBUG util.py:399: Package Arch Version Repository Size DEBUG util.py:399: ====================================================================================================================================================================== DEBUG util.py:399: Installing: DEBUG util.py:399: ImageMagick x86_64 6.9.3.0-1.fc24 fedora 170 k DEBUG util.py:399: ImageMagick-devel x86_64 6.9.3.0-1.fc24 fedora 115 k DEBUG util.py:399: ImageMagick-libs x86_64 6.9.3.0-1.fc24 fedora 2.2 M DEBUG util.py:399: OpenEXR-devel x86_64 2.2.0-4.fc23 fedora 84 k DEBUG util.py:399: OpenEXR-libs x86_64 2.2.0-4.fc23 fedora 643 k DEBUG util.py:399: SDL x86_64 1.2.15-20.fc24 fedora 213 k DEBUG util.py:399: SDL-devel x86_64 1.2.15-20.fc24 fedora 360 k DEBUG util.py:399: SDL_image x86_64 1.2.12-13.fc24 fedora 46 k DEBUG util.py:399: SDL_image-devel x86_64 1.2.12-13.fc24 fedora 16 k DEBUG util.py:399: aajohan-comfortaa-fonts noarch 2.004-5.fc23 fedora 151 k DEBUG util.py:399: acl x86_64 2.2.52-10.fc24 fedora 77 k DEBUG util.py:399: alsa-lib x86_64 1.1.0-3.fc24 fedora 408 k DEBUG util.py:399: alsa-lib-devel x86_64 1.1.0-3.fc24 fedora 943 k DEBUG util.py:399: autoconf noarch 2.69-21.fc23 fedora 709 k DEBUG util.py:399: automake noarch 1.15-5.fc24 fedora 695 k DEBUG util.py:399: avahi-libs x86_64 0.6.32-0.5.rc.fc24 fedora 62 k DEBUG util.py:399: bzip2-devel x86_64 1.0.6-19.fc24 fedora 223 k DEBUG util.py:399: cairo x86_64 1.14.4-1.fc24 fedora 722 k DEBUG util.py:399: cryptsetup-libs x86_64 1.7.0-2.fc24 fedora 210 k DEBUG util.py:399: cups-libs x86_64 1:2.1.2-1.fc24 fedora 397 k DEBUG util.py:399: dbus x86_64 1:1.11.0-1.fc24 fedora 245 k DEBUG util.py:399: dbus-libs x86_64 1:1.11.0-1.fc24 fedora 174 k DEBUG util.py:399: device-mapper x86_64 1.02.114-3.fc24 fedora 302 k DEBUG util.py:399: device-mapper-libs x86_64 1.02.114-3.fc24 fedora 357 k DEBUG util.py:399: fftw-libs-double x86_64 3.3.4-6.fc23 fedora 805 k DEBUG util.py:399: fontconfig x86_64 2.11.94-5.fc24 fedora 242 k DEBUG util.py:399: fontpackages-filesystem noarch 1.44-16.fc24 fedora 14 k DEBUG util.py:399: freetype x86_64 2.6.2-1.fc24 fedora 417 k DEBUG util.py:399: freetype-devel x86_64 2.6.2-1.fc24 fedora 389 k DEBUG util.py:399: gdk-pixbuf2 x86_64 2.33.2-1.fc24 fedora 445 k DEBUG util.py:399: ghostscript x86_64 9.16-3.fc23 fedora 45 k DEBUG util.py:399: ghostscript-core x86_64 9.16-3.fc23 fedora 4.4 M DEBUG util.py:399: ghostscript-devel x86_64 9.16-3.fc23 fedora 56 k DEBUG util.py:399: ghostscript-fonts noarch 5.50-34.fc23 fedora 329 k DEBUG util.py:399: ghostscript-x11 x86_64 9.16-3.fc23 fedora 73 k DEBUG util.py:399: gl-manpages noarch 1.1-10.20140424.fc23 fedora 1.0 M DEBUG util.py:399: graphite2 x86_64 1.2.4-5.fc23 fedora 89 k DEBUG util.py:399: groff-base x86_64 1.22.3-6.fc23 fedora 1.0 M DEBUG util.py:399: harfbuzz x86_64 1.1.3-1.fc24 fedora 184 k DEBUG util.py:399: hwdata noarch 0.285-2.fc24 fedora 1.4 M DEBUG util.py:399: ilmbase x86_64 2.2.0-4.fc23 fedora 106 k DEBUG util.py:399: ilmbase-devel x86_64 2.2.0-4.fc23 fedora 91 k DEBUG util.py:399: iptables x86_64 1.4.21-15.fc23 fedora 426 k DEBUG util.py:399: jasper-devel x86_64 1.900.1-31.fc23 fedora 379 k DEBUG util.py:399: jasper-libs x86_64 1.900.1-31.fc23 fedora 150 k DEBUG util.py:399: jbigkit-libs x86_64 2.1-4.fc23 fedora 51 k DEBUG util.py:399: kmod x86_64 22-2.fc24 fedora 112 k DEBUG util.py:399: kmod-libs x86_64 22-2.fc24 fedora 61 k DEBUG util.py:399: lcms2 x86_64 2.7-2.fc23 fedora 155 k DEBUG util.py:399: lcms2-devel x86_64 2.7-2.fc23 fedora 2.1 M DEBUG util.py:399: libICE x86_64 1.0.9-3.fc23 fedora 70 k DEBUG util.py:399: libICE-devel x86_64 1.0.9-3.fc23 fedora 54 k DEBUG util.py:399: libSM x86_64 1.2.2-3.fc23 fedora 43 k DEBUG util.py:399: libSM-devel x86_64 1.2.2-3.fc23 fedora 17 k DEBUG util.py:399: libX11 x86_64 1.6.3-2.fc23 fedora 608 k DEBUG util.py:399: libX11-common noarch 1.6.3-2.fc23 fedora 166 k DEBUG util.py:399: libX11-devel x86_64 1.6.3-2.fc23 fedora 984 k DEBUG util.py:399: libXau x86_64 1.0.8-5.fc23 fedora 33 k DEBUG util.py:399: libXau-devel x86_64 1.0.8-5.fc23 fedora 19 k DEBUG util.py:399: libXdamage x86_64 1.1.4-7.fc23 fedora 25 k DEBUG util.py:399: libXdamage-devel x86_64 1.1.4-7.fc23 fedora 14 k DEBUG util.py:399: libXext x86_64 1.3.3-3.fc23 fedora 42 k DEBUG util.py:399: libXext-devel x86_64 1.3.3-3.fc23 fedora 79 k DEBUG util.py:399: libXfixes x86_64 5.0.1-5.fc23 fedora 22 k DEBUG util.py:399: libXfixes-devel x86_64 5.0.1-5.fc23 fedora 17 k DEBUG util.py:399: libXfont x86_64 1.5.1-3.fc24 fedora 153 k DEBUG util.py:399: libXft x86_64 2.3.2-3.fc23 fedora 63 k DEBUG util.py:399: libXrandr x86_64 1.5.0-2.fc23 fedora 30 k DEBUG util.py:399: libXrandr-devel x86_64 1.5.0-2.fc23 fedora 25 k DEBUG util.py:399: libXrender x86_64 0.9.9-2.fc23 fedora 30 k DEBUG util.py:399: libXrender-devel x86_64 0.9.9-2.fc23 fedora 21 k DEBUG util.py:399: libXt x86_64 1.1.5-2.fc23 fedora 178 k DEBUG util.py:399: libXt-devel x86_64 1.1.5-2.fc23 fedora 450 k DEBUG util.py:399: libXxf86vm x86_64 1.1.4-2.fc23 fedora 22 k DEBUG util.py:399: libXxf86vm-devel x86_64 1.1.4-2.fc23 fedora 23 k DEBUG util.py:399: libcroco x86_64 0.6.11-1.fc24 fedora 108 k DEBUG util.py:399: libdatrie x86_64 0.2.9-1.fc24 fedora 31 k DEBUG util.py:399: libdrm x86_64 2.4.66-1.fc24 fedora 144 k DEBUG util.py:399: libdrm-devel x86_64 2.4.66-1.fc24 fedora 116 k DEBUG util.py:399: libedit x86_64 3.1-13.20150325cvs.fc23 fedora 99 k DEBUG util.py:399: libfontenc x86_64 1.1.3-2.fc23 fedora 35 k DEBUG util.py:399: libjpeg-turbo x86_64 1.4.2-2.fc24 fedora 147 k DEBUG util.py:399: libjpeg-turbo-devel x86_64 1.4.2-2.fc24 fedora 104 k DEBUG util.py:399: libmnl x86_64 1.0.3-10.fc23 fedora 28 k DEBUG util.py:399: libnetfilter_conntrack x86_64 1.0.4-5.fc23 fedora 56 k DEBUG util.py:399: libnfnetlink x86_64 1.0.1-7.fc23 fedora 30 k DEBUG util.py:399: libpciaccess x86_64 0.13.4-2.fc23 fedora 30 k DEBUG util.py:399: libpng x86_64 2:1.6.21-1.fc24 fedora 118 k DEBUG util.py:399: libpng-devel x86_64 2:1.6.21-1.fc24 fedora 313 k DEBUG util.py:399: librsvg2 x86_64 2.40.13-1.fc24 fedora 134 k DEBUG util.py:399: libthai x86_64 0.1.21-2.fc23 fedora 192 k DEBUG util.py:399: libtiff x86_64 4.0.6-1.fc24 fedora 173 k DEBUG util.py:399: libtiff-devel x86_64 4.0.6-1.fc24 fedora 493 k DEBUG util.py:399: libwayland-client x86_64 1.9.91-1.fc24 fedora 32 k DEBUG util.py:399: libwayland-server x86_64 1.9.91-1.fc24 fedora 37 k DEBUG util.py:399: libwebp x86_64 0.5.0-1.fc24 fedora 239 k DEBUG util.py:399: libwebp-devel x86_64 0.5.0-1.fc24 fedora 35 k DEBUG util.py:399: libwmf-lite x86_64 0.2.8.4-47.fc24 fedora 73 k DEBUG util.py:399: libxcb x86_64 1.11.1-1.fc24 fedora 193 k DEBUG util.py:399: libxcb-devel x86_64 1.11.1-1.fc24 fedora 1.1 M DEBUG util.py:399: libxkbcommon x86_64 0.5.0-3.fc24 fedora 112 k DEBUG util.py:399: libxshmfence x86_64 1.2-2.fc23 fedora 11 k DEBUG util.py:399: m4 x86_64 1.4.17-8.fc23 fedora 266 k DEBUG util.py:399: mesa-libEGL x86_64 11.2.0-0.devel.7.24ea81a.fc24 fedora 107 k DEBUG util.py:399: mesa-libGL x86_64 11.2.0-0.devel.7.24ea81a.fc24 fedora 170 k DEBUG util.py:399: mesa-libGL-devel x86_64 11.2.0-0.devel.7.24ea81a.fc24 fedora 163 k DEBUG util.py:399: mesa-libGLU x86_64 9.0.0-9.fc23 fedora 180 k DEBUG util.py:399: mesa-libGLU-devel x86_64 9.0.0-9.fc23 fedora 14 k DEBUG util.py:399: mesa-libgbm x86_64 11.2.0-0.devel.7.24ea81a.fc24 fedora 57 k DEBUG util.py:399: mesa-libglapi x86_64 11.2.0-0.devel.7.24ea81a.fc24 fedora 63 k DEBUG util.py:399: openjpeg2 x86_64 2.1.0-7.fc24 fedora 108 k DEBUG util.py:399: pango x86_64 1.39.0-1.fc24 fedora 284 k DEBUG util.py:399: pcre-devel x86_64 8.38-6.fc24 fedora 542 k DEBUG util.py:399: perl-Data-Dumper x86_64 2.158-347.fc23 fedora 55 k DEBUG util.py:399: perl-Encode x86_64 3:2.79-3.fc24 fedora 1.5 M DEBUG util.py:399: perl-File-Temp noarch 0.23.04-346.fc23 fedora 61 k DEBUG util.py:399: perl-Getopt-Long noarch 2.48-1.fc24 fedora 61 k DEBUG util.py:399: perl-HTTP-Tiny noarch 0.056-3.fc23 fedora 53 k DEBUG util.py:399: perl-MIME-Base64 x86_64 3.15-348.fc23 fedora 29 k DEBUG util.py:399: perl-Pod-Escapes noarch 1:1.07-348.fc23 fedora 19 k DEBUG util.py:399: perl-Pod-Perldoc noarch 3.25-348.fc24 fedora 85 k DEBUG util.py:399: perl-Pod-Simple noarch 1:3.32-2.fc24 fedora 212 k DEBUG util.py:399: perl-Pod-Usage noarch 4:1.68-1.fc24 fedora 33 k DEBUG util.py:399: perl-Term-ANSIColor noarch 4.03-346.fc23 fedora 45 k DEBUG util.py:399: perl-Term-Cap noarch 1.17-1.fc24 fedora 22 k DEBUG util.py:399: perl-Text-ParseWords noarch 3.30-346.fc23 fedora 17 k DEBUG util.py:399: perl-Thread-Queue noarch 3.07-1.fc24 fedora 22 k DEBUG util.py:399: perl-Time-Local noarch 1.2300-346.fc23 fedora 29 k DEBUG util.py:399: perl-podlators noarch 4.05-1.fc24 fedora 112 k DEBUG util.py:399: php-cli x86_64 5.6.18-0.1.RC1.fc24 fedora 4.0 M DEBUG util.py:399: php-common x86_64 5.6.18-0.1.RC1.fc24 fedora 1.1 M DEBUG util.py:399: php-devel x86_64 5.6.18-0.1.RC1.fc24 fedora 986 k DEBUG util.py:399: php-pecl-jsonc x86_64 1.3.9-1.fc24 fedora 58 k DEBUG util.py:399: php-pecl-jsonc-devel x86_64 1.3.9-1.fc24 fedora 36 k DEBUG util.py:399: pixman x86_64 0.33.6-1.fc24 fedora 255 k DEBUG util.py:399: poppler-data noarch 0.4.7-4.fc23 fedora 2.2 M DEBUG util.py:399: python x86_64 2.7.11-3.fc24 fedora 95 k DEBUG util.py:399: python-devel x86_64 2.7.11-3.fc24 fedora 398 k DEBUG util.py:399: python-libs x86_64 2.7.11-3.fc24 fedora 5.8 M DEBUG util.py:399: python-pip noarch 7.1.0-3.fc24 fedora 1.5 M DEBUG util.py:399: python-rpm-macros noarch 3-6.fc24 fedora 8.7 k DEBUG util.py:399: python2-rpm-macros noarch 3-6.fc24 fedora 8.1 k DEBUG util.py:399: python2-setuptools noarch 19.4-1.fc24 fedora 415 k DEBUG util.py:399: qrencode-libs x86_64 3.4.2-5.fc23 fedora 55 k DEBUG util.py:399: ruby x86_64 2.3.0-53.fc24 fedora 76 k DEBUG util.py:399: ruby-devel x86_64 2.3.0-53.fc24 fedora 112 k DEBUG util.py:399: ruby-libs x86_64 2.3.0-53.fc24 fedora 2.9 M DEBUG util.py:399: systemd x86_64 228-7.gite35a787.fc24 fedora 6.6 M DEBUG util.py:399: urw-fonts noarch 3:2.4-21.fc23 fedora 3.0 M DEBUG util.py:399: xkeyboard-config noarch 2.16-2.fc24 fedora 761 k DEBUG util.py:399: xorg-x11-font-utils x86_64 1:7.5-30.fc24 fedora 82 k DEBUG util.py:399: xorg-x11-proto-devel noarch 7.7-16.fc23 fedora 287 k DEBUG util.py:399: zlib-devel x86_64 1.2.8-9.fc24 fedora 55 k DEBUG util.py:399: Skipping packages with conflicts: DEBUG util.py:399: (add '--best --allowerasing' to command line to force their upgrade): DEBUG util.py:399: libyaml x86_64 0.1.6-7.fc23 fedora 58 k DEBUG util.py:399: ruby-irb noarch 2.3.0-53.fc24 fedora 94 k DEBUG util.py:399: rubygem-bigdecimal x86_64 1.2.8-53.fc24 fedora 87 k DEBUG util.py:399: rubygem-did_you_mean x86_64 1.0.0-53.fc24 fedora 219 k DEBUG util.py:399: rubygem-io-console x86_64 0.4.5-53.fc24 fedora 58 k DEBUG util.py:399: rubygem-json x86_64 1.8.3-101.fc24 fedora 65 k DEBUG util.py:399: rubygem-psych x86_64 2.0.17-53.fc24 fedora 87 k DEBUG util.py:399: rubygem-rdoc noarch 4.2.1-53.fc24 fedora 482 k DEBUG util.py:399: rubygems noarch 2.5.1-53.fc24 fedora 280 k DEBUG util.py:399: rubypick noarch 1.1.1-4.fc24 fedora 11 k DEBUG util.py:399: Transaction Summary DEBUG util.py:399: ====================================================================================================================================================================== DEBUG util.py:399: Install 153 Packages DEBUG util.py:399: Skip 10 Packages DEBUG util.py:399: Total size: 66 M DEBUG util.py:399: Total download size: 39 M DEBUG util.py:399: Installed size: 247 M please see "Skipping packages with conflicts:", the result is "ruby not found" during configure process. This is what we saw also in arm64 and s390(x) rebuilds. After specifying the deps explicitly, they are installed. Interestingly a scratch build doesn't have this problem - http://koji.fedoraproject.org/koji/taskinfo?taskID=12689292 Did something change in the last day in rawhide?
Decided to try commands from comment 0 on x86-64. Fetched koji mock configuration: "koji mock-config --task 12676677 >koji.cfg" and then started mock: $ mock -r ./koji.cfg clean $ mock -r ./koji.cfg init $ mock -r ./koji.cfg install dnf $ mock -r ./koji.cfg shell <mock-chroot>sh-4.3# rpm --provides -qp ruby-2.3.0-53.fc24.x86_64.rpm ruby = 2.3.0-53.fc24 ruby(runtime_executable) = 2.3.0 ruby(x86-64) = 2.3.0-53.fc24 <mock-chroot>sh-4.3# rpm --suggests -qp ruby-2.3.0-53.fc24.x86_64.rpm rubypick <mock-chroot>sh-4.3# rpm --requires -qp rubypick-1.1.1-4.fc24.noarch.rpm /usr/bin/bash rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 ruby(runtime_executable) <mock-chroot>sh-4.3# rpm --suggests -qp rubypick-1.1.1-4.fc24.noarch.rpm ruby <mock-chroot>sh-4.3# dnf --assumeno install ruby Last metadata expiration check performed 0:03:20 ago on Tue Jan 26 12:56:59 2016. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libyaml x86_64 0.1.6-7.fc23 build 57 k ruby x86_64 2.3.0-53.fc24 build 75 k ruby-irb noarch 2.3.0-53.fc24 build 93 k ruby-libs x86_64 2.3.0-53.fc24 build 2.9 M rubygem-bigdecimal x86_64 1.2.8-53.fc24 build 86 k rubygem-did_you_mean x86_64 1.0.0-53.fc24 build 218 k rubygem-io-console x86_64 0.4.5-53.fc24 build 57 k rubygem-json x86_64 1.8.3-101.fc24 build 64 k rubygem-psych x86_64 2.0.17-53.fc24 build 86 k rubygem-rdoc noarch 4.2.1-53.fc24 build 481 k rubygems noarch 2.5.1-53.fc24 build 279 k rubypick noarch 1.1.1-4.fc24 build 9.7 k Transaction Summary ================================================================================ Install 12 Packages Total size: 4.3 M Installed size: 14 M Operation aborted. <mock-chroot>sh-4.3# dnf --assumeno install rubypick Last metadata expiration check performed 0:05:36 ago on Tue Jan 26 12:56:59 2016. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libyaml x86_64 0.1.6-7.fc23 build 57 k ruby x86_64 2.3.0-53.fc24 build 75 k ruby-irb noarch 2.3.0-53.fc24 build 93 k ruby-libs x86_64 2.3.0-53.fc24 build 2.9 M rubygem-bigdecimal x86_64 1.2.8-53.fc24 build 86 k rubygem-did_you_mean x86_64 1.0.0-53.fc24 build 218 k rubygem-io-console x86_64 0.4.5-53.fc24 build 57 k rubygem-json x86_64 1.8.3-101.fc24 build 64 k rubygem-psych x86_64 2.0.17-53.fc24 build 86 k rubygem-rdoc noarch 4.2.1-53.fc24 build 481 k rubygems noarch 2.5.1-53.fc24 build 279 k rubypick noarch 1.1.1-4.fc24 build 9.7 k Transaction Summary ================================================================================ Install 12 Packages Total size: 4.3 M Installed size: 14 M Operation aborted. Will attach x86-64 logs and debugdata.
Created attachment 1118438 [details] debugdata from x86-64 <mock-chroot>sh-4.3# rpm -q dnf libsolv hawkey librepo rpm dnf-1.1.5-1.fc24.noarch libsolv-0.6.15-5.fc24.x86_64 hawkey-0.6.2-3.fc24.x86_64 librepo-1.7.17-2.fc24.x86_64 rpm-4.13.0-0.rc1.18.fc24.x86_64
Created attachment 1118439 [details] dnf.librepo.log from x86-64
(In reply to Dan Horák from comment #9) > I've got into similar situation when rebuilding libdmtx (last time rebuilt > in F-24 2016-01-12 in the Ruby rebuild) in current Rawhide x86_64 mock. Yes, in mock config you have "install_weak_deps=0", while this option is not used on primary Koji builders as far as I understand it.
(In reply to Jan Silhan from comment #7) > (In reply to Dennis Gilmore from comment #6) > > however it seems install_weak_deps=0 while not explicitly set. > > How do you know that? Because the transaction had the same packages as if install_weak_deps=0 was set. note that the behaviour is different between arches. aarch64, s390, and s390x seem to be defaulting to install_weak_deps=0 while i686, x86_64, armv7hl, ppc64 and ppc64le seem to be defaulting to install_weak_deps=1 I am going to get clarification and guidelines on the expected behaviour of weak dependencies in a buildroo. > (In reply to Marcin Juszkiewicz from comment #0) > > # dnf --assumeno install ruby --setopt install_weak_deps=True > > Last metadata expiration check performed 0:45:55 ago on Thu Jan 21 12:20:23 > > 2016. > > Dependencies resolved. > > ============================================================================= > > ==== > > Package Arch Version Repository > > Size > > ============================================================================= > > ==== > > Installing: > > ruby aarch64 2.3.0-52.fc24 build > > 75 k > > > > Transaction Summary > > ============================================================================= > > ==== > > Install 1 Package > > > > Total size: 75 k > > Installed size: 129 k > > Operation aborted. > > > > > > As you see weak dependencies were ignored. > > This is 100% correct. Ruby only Suggests rubypick [1] - it should be > installed only if some package REQUIRES rubypick feature in transaction. If > you want it to behave differently consider changing Suggest to Recommends in > ruby spec file. it does not do that on i686, x86_64, armv7hl, ppc64 and ppc64le > > # dnf --assumeno install rubypick > > ... > > jruby noarch 1.7.22-1.fc24 build 9.9 M > > ... > > > > Hmm... "rubypick" suggests "ruby" but dnf installs "jruby"? > > Only this case seems to be weird although I believe depsolver picked it for > good reason. > > [1] https://fedoraproject.org/wiki/PackagingDrafts/WeakDependencies#Hints this bug has nothing to do with jruby. it is to do with dnf's default behaviour being different on different architectures.
(In reply to Vít Ondruch from comment #8) > Dennis, could you please check what are the versions of following libraries > on builders? > > > libsolv > > hawkey > > dnf > > Are they in the same version? rpm -q libsolv hawkey dnf libsolv-0.6.14-7.fc23.aarch64 hawkey-0.6.2-3.fc23.aarch64 dnf-1.1.4-2.fc23.noarch rpm -q libsolv hawkey dnf libsolv-0.6.14-7.fc23.x86_64 hawkey-0.6.2-3.fc23.x86_64 dnf-1.1.4-2.fc23.noarch
(In reply to Vít Ondruch from comment #13) > (In reply to Dan Horák from comment #9) > > I've got into similar situation when rebuilding libdmtx (last time rebuilt > > in F-24 2016-01-12 in the Ruby rebuild) in current Rawhide x86_64 mock. > > Yes, in mock config you have "install_weak_deps=0", while this option is not > used on primary Koji builders as far as I understand it. correct, mock took it to set options that had not been decided what the correct behaviour should be. It means that you get different behaviour in koji as mock locally and buils that work in koji will fail locally. I do want a resolution to this quickly. We have a mass rebuild due this week. if builds fail on secondary they will have to get extra builds done. Short term I want to make sure that aarch64, s390 and s390x behave the same as primary, longer term we need a policy that states how weak dependencies should be treated in the buildroot
ping, we need this resolved before the mass rebuild starting tuesday.
(In reply to Dennis Gilmore from comment #14) > (In reply to Jan Silhan from comment #7) > > (In reply to Dennis Gilmore from comment #6) > > > however it seems install_weak_deps=0 while not explicitly set. > > > > How do you know that? > > Because the transaction had the same packages as if install_weak_deps=0 was > set. note that the behaviour is different between arches. aarch64, s390, and > s390x seem to be defaulting to install_weak_deps=0 while i686, x86_64, > armv7hl, ppc64 and ppc64le seem to be defaulting to install_weak_deps=1 It doesn't mean the weak deps are handled differently. The repos for different arches contains different set of packages so the packages in the transaction may differ. Debugdata for comment 10 looks good. rubypick is in the transaction when install_weak_deps is set or not - it's requirement of another package. The behavior of Suggests tag does not get into transaction any package directly no matter what value install_weak_deps has. In Debugdata attached to comment 4 looks like in the metadata there were no weak dependencies. Are the metadata generated the same way as for other arches in mash? > I am going to get clarification and guidelines on the expected behaviour of > weak dependencies in a buildroo. Then we should create FESCo ticket, set the install_weak_deps the same way in mock and koji based on verdict and close this.
@Dennis: so what repoquery is used for example? Is it of the same version? What is the difference between the builders? TBH, I am quite unhappy that you (Peter precisely speaking) are touching Ruby due to this.
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle. Changing version to '24'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase
This was discussed with Dennis a few weeks before. TBH we haven't found the root of the issue. AFAIR `install_weak_deps` flag should have been set to the same value in koji as in mock. There were a few other issues found which were fixed and could be the cause (bug 1303991). If you still experience this issue, please reopen and assign debug data (packages in buildroots, what package is missing during transaction, dnf debugdata, is install_weak_deps set?, request from comment 19, etc.)
The problem is still here. [sharkcz@devel10 ~]$ rpm -q dnf hawkey libsolv ruby rubypick dnf-1.1.6-2.fc24.noarch hawkey-0.6.2-4.fc24.s390x libsolv-0.6.15-6.fc24.s390x package ruby is not installed package rubypick is not installed [sharkcz@devel10 ~]$ rpm -qp --suggests http://s390.koji.fedoraproject.org/kojifiles/packages/ruby/2.3.0/54.fc24/s390x/ruby-2.3.0-54.fc24.s390x.rpm rubypick [sharkcz@devel10 ~]$ sudo dnf --best --allowerasing --disablerepo=updates* --disablerepo=fedora --enablerepo=koji install ruby [sudo] password for sharkcz: Last metadata expiration check performed 0:11:05 ago on Wed Mar 2 05:32:20 2016. Dependencies resolved. ====================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================== Installing: ruby s390x 2.3.0-54.fc24 koji 75 k ruby-libs s390x 2.3.0-54.fc24 koji 2.8 M Transaction Summary ====================================================================================================================================================================== Install 2 Packages Total download size: 2.9 M Installed size: 11 M Is this ok [y/N]: This is all on F-24 based s390x host. repodata are from http://s390.koji.fedoraproject.org/repos/f24-build/355106/s390x/
Created attachment 1132249 [details] debugdata for comment 22
What doesn't get installed is the suggested rubypick package and its deps.
> repodata are from > http://s390.koji.fedoraproject.org/repos/f24-build/355106/s390x/ ^^ created by createrepo_c retested with http://s390.koji.fedoraproject.org/repos/f24-build/355124/s390x/ which was created by the classic python createrepo and no change in behaviour
updating to dnf-1.1.7-1.fc24 also didn't make any difference
Because we are still stuck with this issue, I would propose to create a minimal reproducer with - packages a, b, c, d that replicate the weak deps setup of ruby & co - create a repo from them - try This should confirm that either the weak deps as rpm feature generally work or they do not. The real use case in Fedora could be influenced by something else in repo, but which is not visible (yet). Or don't already rpm & co have such real world test case?
I checked a issue on s390-f24 machine and I think in this case the problem is with packaging of ruby in koji repo. I have compared version in fedora repo with package in koji repo (both ruby-2.3.0-54.fc24.s390x) with following main differences : Recommends: | Fedora | Koji | | ruby(rubygems) >= 2.5.1 | | | rubygem(bigdecimal) >= 1.2.8 | | | rubygem(did_you_mean) >= 1.0.0 | | Sugestss: | Fedora | Koji | | rubypick | | That mean that koji version only install packages to satisfy dependencies described in Requires (ruby-libs). If fedora version is installed it installs 12 packages (dnf --disablerepo=* --enablerepo=fedora --setopt install_weak_deps=True install ruby) because it also try to install Recommends and if more options are available it prefers Suggests: =============================================================== Package Arch Version Repository Size =============================================================== Installing: libyaml s390x 0.1.6-8.fc24 fedora 51 k ruby s390x 2.3.0-54.fc24 fedora 76 k ruby-irb noarch 2.3.0-54.fc24 fedora 94 k ruby-libs s390x 2.3.0-54.fc24 fedora 2.8 M rubygem-bigdecimal s390x 1.2.8-54.fc24 fedora 87 k rubygem-did_you_mean s390x 1.0.0-54.fc24 fedora 219 k rubygem-io-console s390x 0.4.5-54.fc24 fedora 58 k rubygem-json s390x 1.8.3-102.fc24 fedora 63 k rubygem-psych s390x 2.0.17-54.fc24 fedora 87 k rubygem-rdoc noarch 4.2.1-54.fc24 fedora 482 k rubygems noarch 2.5.1-54.fc24 fedora 280 k rubypick noarch 1.1.1-5.fc24 fedora 9.9 k Transaction Summary =============================================================== Install 12 Packages If weak dependency are excluded it install 2 packages and 10 packages are skipped (dnf --disablerepo=* --enablerepo=fedora --setopt install_weak_deps=False install ruby): =============================================================== Package Arch Version Repository Size =============================================================== Installing: ruby s390x 2.3.0-54.fc24 fedora 76 k ruby-libs s390x 2.3.0-54.fc24 fedora 2.8 M Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): libyaml s390x 0.1.6-8.fc24 fedora 51 k ruby-irb noarch 2.3.0-54.fc24 fedora 94 k rubygem-bigdecimal s390x 1.2.8-54.fc24 fedora 87 k rubygem-did_you_mean s390x 1.0.0-54.fc24 fedora 219 k rubygem-io-console s390x 0.4.5-54.fc24 fedora 58 k rubygem-json s390x 1.8.3-102.fc24 fedora 63 k rubygem-psych s390x 2.0.17-54.fc24 fedora 87 k rubygem-rdoc noarch 4.2.1-54.fc24 fedora 482 k rubygems noarch 2.5.1-54.fc24 fedora 280 k rubypick noarch 1.1.1-5.fc24 fedora 9.9 k Transaction Summary =============================================================== Install 2 Packages Skip 10 Packages
Finally it looks like that the problem was caused due to metadata were built on machine with rpm that doesn't handle weak dependency or with tool that doesn't support it (see bellow). We strongly recommend to build metadata on machine with fedora 23, due to support of weak and rich dependencies. Metadata from http://s390.koji.fedoraproject.org/mash/rawhide/s390x/os/repodata/ contains correctly Suggests and Recommends: <location href="Packages/r/ruby-2.3.0-54.fc24.s390.rpm"/> <format> <rpm:license>(Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD</rpm:license> <rpm:vendor>Fedora Project</rpm:vendor> <rpm:group>Development/Languages</rpm:group> <rpm:buildhost>fedora4.s390.bos.redhat.com</rpm:buildhost> <rpm:sourcerpm>ruby-2.3.0-54.fc24.src.rpm</rpm:sourcerpm> <rpm:header-range start="5496" end="51670"/> <rpm:provides> <rpm:entry name="ruby" flags="EQ" epoch="0" ver="2.3.0" rel="54.fc24"/> <rpm:entry name="ruby(runtime_executable)" flags="EQ" epoch="0" ver="2.3.0"/> <rpm:entry name="ruby(s390-32)" flags="EQ" epoch="0" ver="2.3.0" rel="54.fc24"/> </rpm:provides> <rpm:requires> <rpm:entry name="libc.so.6(GLIBC_2.1.3)"/> <rpm:entry name="libcrypt.so.1"/> <rpm:entry name="libdl.so.2"/> <rpm:entry name="libm.so.6"/> <rpm:entry name="libpthread.so.0"/> <rpm:entry name="libruby.so.2.3"/> <rpm:entry name="rtld(GNU_HASH)"/> <rpm:entry name="ruby-libs(s390-32)" flags="EQ" epoch="0" ver="2.3.0" rel="54.fc24"/> </rpm:requires> <rpm:suggests> <rpm:entry name="rubypick"/> </rpm:suggests> <rpm:recommends> <rpm:entry name="ruby(rubygems)" flags="GE" epoch="0" ver="2.5.1"/> <rpm:entry name="rubygem(bigdecimal)" flags="GE" epoch="0" ver="1.2.8"/> <rpm:entry name="rubygem(did_you_mean)" flags="GE" epoch="0" ver="1.0.0"/> </rpm:recommends> <file>/usr/bin/erb</file> <file>/usr/bin/ruby-mri</file> </format> </package> But metadata from http://s390.koji.fedoraproject.org/repos/f24-build/latest/s390/repodata/ doesn't have Suggests and Recommends. <package type="rpm"> <name>ruby</name> <arch>s390</arch> <version epoch="0" ver="2.3.0" rel="54.fc24"/> <checksum type="sha256" pkgid="YES">72993591f1cc1a36db71c65f15d8021243b835bb6ec88db0d58b6725063a9430</checksum> <summary>An interpreter of object-oriented scripting language</summary> <description>Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible.</description> <packager>Fedora Project</packager> <url>http://ruby-lang.org/</url> <time file="1454517672" build="1454517633"/> <size package="77038" installed="69844" archive="71344"/> <location href="toplink/packages/ruby/2.3.0/54.fc24/s390/ruby-2.3.0-54.fc24.s390.rpm"/> <format> <rpm:license>(Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD</rpm:license> <rpm:vendor>Fedora Project</rpm:vendor> <rpm:group>Development/Languages</rpm:group> <rpm:buildhost>fedora4.s390.bos.redhat.com</rpm:buildhost> <rpm:sourcerpm>ruby-2.3.0-54.fc24.src.rpm</rpm:sourcerpm> <rpm:header-range start="4392" end="50566"/> <rpm:provides> <rpm:entry name="ruby" flags="EQ" epoch="0" ver="2.3.0" rel="54.fc24"/> <rpm:entry name="ruby(runtime_executable)" flags="EQ" epoch="0" ver="2.3.0"/> <rpm:entry name="ruby(s390-32)" flags="EQ" epoch="0" ver="2.3.0" rel="54.fc24"/> </rpm:provides> <rpm:requires> <rpm:entry name="libc.so.6(GLIBC_2.1.3)"/> <rpm:entry name="libcrypt.so.1"/> <rpm:entry name="libdl.so.2"/> <rpm:entry name="libm.so.6"/> <rpm:entry name="libpthread.so.0"/> <rpm:entry name="libruby.so.2.3"/> <rpm:entry name="rtld(GNU_HASH)"/> <rpm:entry name="ruby-libs(s390-32)" flags="EQ" epoch="0" ver="2.3.0" rel="54.fc24"/> </rpm:requires> <file>/usr/bin/erb</file> <file>/usr/bin/ruby-mri</file> </format> </package>
Thanks for the investigation, it makes sense to me. The repos are created on a EL-7 host (the koji hub), because only this one has access to /mnt/koji share. It also explain why the issue went silently away on aarch64 (likely the builders were moved to F-23 in the meantime). So instead of being a koji issue it's an infrastructure issue. I'll work with Fedora infra to fix that.
ticket created as https://fedorahosted.org/fedora-infrastructure/ticket/5199
Shouldn't repo creation fail if it gets rpms with unknown attributes instead of silently ignoring them?
I don't read whole tread, but just few notes about weak deps and createrepo. Weak deps are just another tags in RPM header. Current version of RPM has about 280 various tags in header and Createrepo looks at only small subset of them and don't care about others. This is a correct approach, which maintain forward compatibility of createrepo, because a new tag definitely shouldn't break repodata generation because new tags are seldom important for repodata generation (afaik the weak deps are tags which which required some modification in createrepo and even unmodified version is still able to work correctly). If you want weak deps in your repodata, you must be sure that you have both rpmlib and createrepo which support them.
Closing as infrastructure problem when EL-7 based builder was used to generate repodata for Fedora repos.