Description of problem: The current release of coccinelle for Fedora 17 is 1.0.0-rc9 while the latest upstream release is 1.0.0-rc16. Downloading the srpm and updating the spec file to build the newest release works fine, but then when trying to install those new rpm files yum fails because it requires certain versions of ocaml modules that it only finds such in the yum repository for the older coccinelle package. E.g. (root) jobbpc:~>yum localinstall ~hlovdal/rpmbuild/001/RPMS/x86_64/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64.rpm Loaded plugins: auto-update-debuginfo, changelog, downloadonly, etckeeper, fastestmirror, langpacks, list-data, presto, refresh-packagekit, security, verify Examining /home/hlovdal/rpmbuild/001/RPMS/x86_64/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64.rpm: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 Marking /home/hlovdal/rpmbuild/001/RPMS/x86_64/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package coccinelle.x86_64 0:1.0.0-0.rc16.0.bf_fc17 will be installed --> Processing Dependency: ocaml(Ast0_cocci) = 40bed8166018981502b96bafd9d809da for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 Loading mirror speeds from cached hostfile * fedora: fedora.uib.no * fedora-debuginfo: fedora.uib.no * rpmfusion-free: fedora.uib.no * rpmfusion-free-debuginfo: fedora.uib.no * rpmfusion-free-updates: fedora.uib.no * rpmfusion-free-updates-debuginfo: fedora.uib.no * updates: fedora.uib.no * updates-debuginfo: fedora.uib.no --> Processing Dependency: ocaml(Commands) = 7da7f35253efde64cbe619c1d7423251 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Config) = 78c604daed2e1d3e4542f035662808db for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Control_flow_c) = 1db925cc57e1271197adb6b7091f7922 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Exposed_modules) = 70e4339a00e81bd9b3a4b41e44a3e198 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Externalanalysis) = 397ef23efdf555f4b466765981df6f14 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Iteration) = e9d6cf2f10fa6f65162b670b4a31319d for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Lexer_c) = 00737a2a607144a7e120490febaf59c3 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Lib_parsing_c) = 6c7d73a7f9032c70d074b074b76d6ae0 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Oassoc) = 7f1991093f23c7ab4c0efeb2c85e88ec for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Objet) = a723c7298159962ce8144886f658f5f0 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Ocollection) = 7ab5877d35763f561e8b8e7393360d30 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Ograph_extended) = b73cb07be551c1fd8763291e07b01d95 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Oset) = 8e649c43811e1df340e6f742dc6ee6e3 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Parser_c) = d51b2c1a2db2e356d98a1ce782286110 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Pretty_print_c) = b15ec7449d108fb5bd178b840d9d3c80 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Seti) = 5d18c0d6c5a7cf77b4e7f5f212d7a823 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Token_annot) = c222a8715162e4dce6c48ec8c3940745 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Processing Dependency: ocaml(Visitor_c) = f03b4b6fb26f98bd0fefbe8baf80f838 for package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 --> Finished Dependency Resolution Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Exposed_modules) = 70e4339a00e81bd9b3a4b41e44a3e198 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Oset) = 8e649c43811e1df340e6f742dc6ee6e3 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Oset) = 8e649c43811e1df340e6f742dc6ee6e3 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Lexer_c) = 00737a2a607144a7e120490febaf59c3 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Lexer_c) = 0b545dc7359d8a889eeeb8038cb0ddf7 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Iteration) = e9d6cf2f10fa6f65162b670b4a31319d Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Iteration) = e9d6cf2f10fa6f65162b670b4a31319d Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Pretty_print_c) = b15ec7449d108fb5bd178b840d9d3c80 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Pretty_print_c) = d83517d38c6a164b59eff041d8c23303 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Config) = 78c604daed2e1d3e4542f035662808db Installed: ocaml-ocamldoc-3.12.1-12.fc17.x86_64 (@updates) ocaml(Config) = e4c27b9790736236103b35b2de656168 Installed: ocaml-runtime-3.12.1-12.fc17.x86_64 (@updates) ocaml(Config) = e4c27b9790736236103b35b2de656168 Available: frama-c-1.7-3.fc17.i686 (fedora) ocaml(Config) = f871c5ddfc7dc8f084cd4c6c5a266414 Available: frama-c-devel-1.7-3.fc17.i686 (fedora) ocaml(Config) = f871c5ddfc7dc8f084cd4c6c5a266414 Available: ocaml-ocamldoc-3.12.1-1.fc17.x86_64 (fedora) ocaml(Config) = e4c27b9790736236103b35b2de656168 Available: ocaml-runtime-3.12.1-1.fc17.x86_64 (fedora) ocaml(Config) = e4c27b9790736236103b35b2de656168 Available: whenjobs-0.7.3-1.fc17.x86_64 (updates) ocaml(Config) = 22e56187c01934c5147c0c3b5e3fa721 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Parser_c) = d51b2c1a2db2e356d98a1ce782286110 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Parser_c) = d51b2c1a2db2e356d98a1ce782286110 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Objet) = a723c7298159962ce8144886f658f5f0 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Objet) = a723c7298159962ce8144886f658f5f0 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Oassoc) = 7f1991093f23c7ab4c0efeb2c85e88ec Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Oassoc) = 7f1991093f23c7ab4c0efeb2c85e88ec Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Ast0_cocci) = 40bed8166018981502b96bafd9d809da Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Ograph_extended) = b73cb07be551c1fd8763291e07b01d95 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Ograph_extended) = b73cb07be551c1fd8763291e07b01d95 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Visitor_c) = f03b4b6fb26f98bd0fefbe8baf80f838 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Visitor_c) = d7fa0c552a92854fe4ba96b6ea3c6a07 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Commands) = 7da7f35253efde64cbe619c1d7423251 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Seti) = 5d18c0d6c5a7cf77b4e7f5f212d7a823 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Seti) = 5d18c0d6c5a7cf77b4e7f5f212d7a823 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Lib_parsing_c) = 6c7d73a7f9032c70d074b074b76d6ae0 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Lib_parsing_c) = 6c7d73a7f9032c70d074b074b76d6ae0 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Token_annot) = c222a8715162e4dce6c48ec8c3940745 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Ocollection) = 7ab5877d35763f561e8b8e7393360d30 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Ocollection) = 7ab5877d35763f561e8b8e7393360d30 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Control_flow_c) = 1db925cc57e1271197adb6b7091f7922 Available: coccinelle-1.0.0-0.rc9.6.fc17.x86_64 (fedora) ocaml(Control_flow_c) = 6f585859da9adf92ffaf5a5f35647458 Error: Package: coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64 (/coccinelle-1.0.0-0.rc16.0.bf_fc17.x86_64) Requires: ocaml(Externalanalysis) = 397ef23efdf555f4b466765981df6f14 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest All those Requires dependencies are generated by /usr/lib/rpm/ocaml-find-requires.sh. Comparing it with /usr/lib/rpm/ocaml-find-provides.sh (which is ~90% identical) I see that ocaml-find-requires has the following line grep -Ev "^ocaml\((Annot|Asttypes|Outcometree|Cmo_format|Parsetree)\) which strongly smells like special coccinelle package handling in the system general script, and now that the upstream version have named some ocaml modules different than expectes it breaks... So this does not seem to be a very robust way of handling ocaml dependencies. For myself I worked around the problem by just adding Provides: ocaml(Exposed_modules) = 70e4339a00e81bd9b3a4b41e44a3e198 Provides: ocaml(Oset) = 8e649c43811e1df340e6f742dc6ee6e3 Provides: ocaml(Lexer_c) = 00737a2a607144a7e120490febaf59c3 ... manually in the spec file, but that is not a proper solution, hence this bug report.
Have a look in the spec file for a line which has lots of '-i ...' options, and add the new internal modules to that list.
This message is a reminder that Fedora 17 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 17. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '17'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 17's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 17 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 17's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed.