Bug 1400714

Summary: implement alwaysprompt=no option
Product: [Fedora] Fedora Reporter: Georg Sauthoff <fedora>
Component: dnfAssignee: Jaroslav Rohel <jrohel>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: low    
Version: 25CC: jrohel, mluscon, packaging-team-maint, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-2.5.1-1.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-16 13:19:01 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 Georg Sauthoff 2016-12-01 22:34:36 UTC
Description of problem:
Yum has this option `--setopt=alwaysprompt=no` to suppress some prompting. As expected, dnf understands this option as well but when using it, dnf fails with a Python exception.

Version-Release number of selected component (if applicable):


How reproducible:
always

Steps to Reproduce:
1. make sure that xonsh isn't installed
2. dnf install --setopt=alwaysprompt=no xonsh
3.

Actual results:
Last metadata expiration check: 2:52:44 ago on Thu Dec  1 20:28:10 2016.
Dependencies resolved.
================================================================================
 Package                     Arch        Version              Repository   Size
================================================================================
Installing:
 python3-ply                 noarch      3.8-2.fc25           fedora      108 k
 python3-prompt_toolkit      noarch      1.0.0-2.fc25         fedora      402 k
 python3-setproctitle        x86_64      1.1.9-4.fc25         fedora       20 k
 python3-wcwidth             noarch      0.1.6-4.fc25         fedora       30 k
 xonsh                       noarch      0.4.6-1.fc25         fedora      994 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 1.5 M
Installed size: 11 M
Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 174, in user_main
    errcode = main(args)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 60, in main
    return _main(base, args)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 120, in _main
    ret = resolving(cli, base)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 149, in resolving
    base.do_transaction(display=displays)
  File "/usr/lib/python3.5/site-packages/dnf/cli/cli.py", line 199, in do_transaction
    if self._promptWanted():
  File "/usr/lib/python3.5/site-packages/dnf/cli/cli.py", line 552, in _promptWanted
    for txmbr in self.tsInfo.getMembers():
  File "/usr/lib/python3.5/site-packages/dnf/util.py", line 79, in __getattr__
    % (C.__name__, name))
AttributeError: 'Base' object has no attribute 'tsInfo'

Expected results:
Just the installation of xonsh with its dependencies and without any prompting. 

In case something 'bad' happens that normally would require a prompt - e.g. a non-imported gpg key, a failed package verification - the command shouldn't continue with the install and abort.

Additional info:
It seems that the dnf manual doesn't document the `alwaysprompt` option, yet. At least I couldn't find it in http://dnf.readthedocs.io/en/latest/conf_ref.html

Comment 1 Jaroslav Rohel 2017-05-30 11:29:17 UTC
status DNF:
- 'alwaysprompt=no' option is not implemented (there is only a piece of unusable crashing code)

status of YUM:
Implemented and documented. But the option and documentation is confusing. 

Documentation:
Either '1' or '0'. When set to '0', yum will not prompt for confirmation when the list of packages to be installed exactly matches those given on the command line. Unless 'assumeyes' is enabled, it will prompt when additional packages need to be installed to fulfill dependencies regardless of this setting. Note that older versions of yum would also always prompt for package removal, and that is no longer true. Default is '1'.

Result:

1. You expect this results:
Just the installation of xonsh with its dependencies and without any prompting. 

But according to the yum documentation it must prompt (and it prompts in my test). Because the dependcy packages was not given on command line. So 'allwayspromt=no' is useless for that case.

2. How about removal of packages. Documentation says it depends on yum version. And what about upgraded and downgraded packages given on command line? And theirs dependencies? What about obsoleted packages during upgrade?

There are many possibilities. And as I wrote at point 1. the option 'alwaysprompt=no' is useless for your case.

So we decided to fix this bug by removing the option 'alwaysprompt' completely.

PR: https://github.com/rpm-software-management/dnf/pull/830

Comment 2 Fedora Update System 2017-06-12 15:30:34 UTC
dnf-plugins-core-2.1.1-1.fc26 libdnf-0.9.1-1.fc26 dnf-2.5.1-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c87c47dccb

Comment 3 Fedora Update System 2017-06-14 01:36:05 UTC
dnf-2.5.1-1.fc26, dnf-plugins-core-2.1.1-1.fc26, libdnf-0.9.1-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-c87c47dccb

Comment 4 Fedora Update System 2017-06-14 05:34:30 UTC
dnf-2.5.1-1.fc26 dnf-plugins-core-2.1.1-1.fc26 dnfdaemon-0.3.18-3.fc26 libdnf-0.9.1-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c87c47dccb

Comment 5 Fedora Update System 2017-06-15 13:56:13 UTC
dnf-2.5.1-1.fc26, dnf-plugins-core-2.1.1-1.fc26, dnfdaemon-0.3.18-3.fc26, libdnf-0.9.1-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-c87c47dccb

Comment 6 Fedora Update System 2017-06-16 13:19:01 UTC
dnf-2.5.1-1.fc26, dnf-plugins-core-2.1.1-1.fc26, dnfdaemon-0.3.18-3.fc26, libdnf-0.9.1-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.