Bug 1201437

Summary: missing options enumeration
Product: [Fedora] Fedora Reporter: Jerry James <loganjerry>
Component: rpmconfAssignee: Miroslav Suchý <msuchy>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jsilhan, loganjerry, mluscon, msuchy, packaging-team-maint, pnemade, rholy, tim.lauridsen, xjakub
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-01 09:14:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jerry James 2015-03-12 17:18:29 UTC
Description of problem:
Updating my Rawhide machine today:

Upgraded:
  R.x86_64 3.1.3-1.fc23                 R-core.x86_64 3.1.3-1.fc23             
  R-core-devel.x86_64 3.1.3-1.fc23      R-devel.x86_64 3.1.3-1.fc23            
  R-java.x86_64 3.1.3-1.fc23            R-java-devel.x86_64 3.1.3-1.fc23       
  libRmath.x86_64 3.1.3-1.fc23          libRmath-devel.x86_64 3.1.3-1.fc23     
  rpy.x86_64 2.5.6-2.fc23              

local: '/var/lib/dnf/plugins/local' is not a directory
Configuration file '/usr/lib64/R/etc/Makeconf'
Your choice: 


What does that mean?  My choice of what?  What are the options I am choosing between?  What is the prompt looking for?  A number?  A letter?  One out of a possible set of options that it isn't bothering to show me?

Version-Release number of selected component (if applicable):
dnf-0.6.4-2.fc23.noarch

How reproducible:
Have not tried to reproduce.

Steps to Reproduce:
1. dnf upgrade R (today, anyway)
2.
3.

Actual results:
A mysterious prompt with no context to decipher what it means or what responses are valid.

Expected results:
At the very least, something like: "Your choice (press H for help):", or some way of finding out what the options are.

Additional info:

Comment 1 Radek Holy 2015-03-12 23:36:28 UTC
Hello, thank you for the report.
The prompt comes from "rpmconf" that is called by DNF's "rpmconf" community plugin (a package "python3-dnf-plugins-extras-rpmconf"). The issue seems weird. Looking at the source code of "rpmconf" both lines "Configuration file '/usr/lib64/R/etc/Makeconf'" and "Your choice:" are printed using "print()" as well as the text that enumerates the options and that should be displayed between these two lines. It doesn't seem that DNF or even the plugin does somehow affect rpmconf's machinery. So, if there is a bug somewhere, I believe that it must be in "rpmconf".

Anyway, if I upgrade "R", I see:
Upgraded:
  R.x86_64 3.1.3-1.fc23                 R-core.x86_64 3.1.3-1.fc23             
  R-core-devel.x86_64 3.1.3-1.fc23      R-devel.x86_64 3.1.3-1.fc23            
  R-java.x86_64 3.1.3-1.fc23            R-java-devel.x86_64 3.1.3-1.fc23       
  libRmath.x86_64 3.1.3-1.fc23          libRmath-devel.x86_64 3.1.3-1.fc23     

local: '/var/lib/dnf/plugins/local' is not a directory
snapper: connect to snapperd failed: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
Configuration file '/usr/lib64/R/etc/Makeconf'
-rw-r--r--. 1 root root 8008 Mar 12 23:57 /usr/lib64/R/etc/Makeconf.rpmsave
-rw-r--r--. 1 root root 8541 Mar 13 00:00 /usr/lib64/R/etc/Makeconf

 ==> Package distributor has shipped an updated version.
 ==> Maintainer forced upgrade. Your old version has been backed up.
   What would you like to do about it?  Your options are:
    Y or I  : install (keep) the package maintainer's version
    N or O  : return back to your original file
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep package maintainer's version.
*** aliases (Y/I/N/O/M/D/Z/S) [default=Y] ? 
Your choice:

I'm not able to get the same output as you got. So, can you tell us how did you run the update? Did you redirect any standard stream? Did you use ssh or something similar? Do you have any idea of what could cause the gap in the standard output on your machine?

Comment 2 Radek Holy 2015-03-12 23:41:48 UTC
To the maintainers of mock: Here you can find how the "rpmconf" plugin calls "rpmconf": https://github.com/rpm-software-management/dnf-plugins-extras/blob/master/plugins/rpm_conf.py#L46

Comment 3 Miroslav Suchý 2015-03-13 06:30:45 UTC
Jerry, can you please post output of:
  ls -l /usr/lib64/R/etc/Makeconf*

Comment 4 Miroslav Suchý 2015-03-13 08:14:53 UTC
Additionally: Is your output/input redirected or is it normal console?
I can not reproduce it. And reading through the code I find no flaws neither.

Comment 5 Miroslav Suchý 2015-06-01 09:14:57 UTC
No response since #3. Please reopen if you have more data.