Bug 1458035 - [rfe] don't download delta rpm if files missing from local rpm install
Summary: [rfe] don't download delta rpm if files missing from local rpm install
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 26
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-06-01 19:59 UTC by Dusty Mabe
Modified: 2017-06-07 12:23 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-06-07 11:13:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Dusty Mabe 2017-06-01 19:59:07 UTC
Description of problem:

dnf-2.4.1-1.fc26.noarch

If there are missing local files for an rpm (i.e. missing doc files), then let's not even attempt to download deltarpms. This way we can prevent things like this from happening: `Failed Delta RPMs increased 1.5 MB of updates to 2.1 MB (-33.1% wasted)`.


[fedora@cloudhost ~]$ sudo dnf update bash -y                                                                                                                                                                     
Fedora 26 - x86_64 - Test Updates                21 MB/s |  22 MB     00:01    
Fedora 26 - x86_64 - Updates                    872  B/s | 257  B     00:00    
Fedora 26 - x86_64                              6.8 MB/s |  53 MB     00:07    
Last metadata expiration check: 0:00:00 ago on Thu Jun 01 19:52:24 2017 UTC.
Dependencies resolved.
================================================================================
 Package     Arch          Version                 Repository              Size
================================================================================
Upgrading:
 bash        x86_64        4.4.12-5.fc26           updates-testing        1.5 M

Transaction Summary
================================================================================
Upgrade  1 Package

Total download size: 1.5 M
Downloading Packages:
bash-4.4.12-4.fc26_4.4.12-5.fc26.x86_64.drpm    478 kB/s | 525 kB     00:01    
/usr/share/locale/ca/LC_MESSAGES/bash.mo: No such file or directory
cannot reconstruct rpm from disk files
Some packages were not downloaded. Retrying.
bash-4.4.12-5.fc26.x86_64.rpm                   948 kB/s | 1.5 MB     00:01    
--------------------------------------------------------------------------------
Total                                           601 kB/s | 2.1 MB     00:03     
Failed Delta RPMs increased 1.5 MB of updates to 2.1 MB (-33.1% wasted)
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Upgrading        : bash-4.4.12-5.fc26.x86_64                              1/2 
  Running scriptlet: bash-4.4.12-5.fc26.x86_64                              1/2 
  Cleanup          : bash-4.4.12-4.fc26.x86_64                              2/2 
warning: file /usr/share/locale/zh_TW/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/zh_CN/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/vi/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/uk/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/tr/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/sv/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/sr/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/sl/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/sk/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/ru/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/ro/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/pt_BR/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/pl/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/nl/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/nb/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/lt/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/ja/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/it/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/id/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/hu/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/hr/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/gl/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/ga/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/fr/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/fi/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/et/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/es/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/eo/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/en@quot/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/el/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/de/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/da/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/cs/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/ca/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/bg/LC_MESSAGES/bash.mo: remove failed: No such file or directory
warning: file /usr/share/locale/af/LC_MESSAGES/bash.mo: remove failed: No such file or directory
  Running scriptlet: bash-4.4.12-4.fc26.x86_64                              2/2 
  Verifying        : bash-4.4.12-5.fc26.x86_64                              1/2 
  Verifying        : bash-4.4.12-4.fc26.x86_64                              2/2 

Upgraded:
  bash.x86_64 4.4.12-5.fc26

Comment 1 Igor Gnatenko 2017-06-07 09:42:28 UTC
I'm not sure whether we can detect that some of local files are not installed... And moreover, it doesn't mean that in future they will be presented.

So I tend to close this as a NOTABUG.

Comment 2 Igor Gnatenko 2017-06-07 11:13:28 UTC
You could use --setopt=deltarpms=False --setopt=tsflags=nodocs to prevent this ;)

Comment 3 Dusty Mabe 2017-06-07 12:23:18 UTC
(In reply to Igor Gnatenko from comment #1)
> I'm not sure whether we can detect that some of local files are not
> installed... And moreover, it doesn't mean that in future they will be
> presented.

Sure we can - just use rpm. 

```
[root@localhost ~]# rpm -q bash
bash-4.4.12-4.fc26.x86_64
[root@localhost ~]# rpm -qV bash
missing     /usr/share/locale/af/LC_MESSAGES/bash.mo
missing     /usr/share/locale/bg/LC_MESSAGES/bash.mo
missing     /usr/share/locale/ca/LC_MESSAGES/bash.mo
missing     /usr/share/locale/cs/LC_MESSAGES/bash.mo
missing     /usr/share/locale/da/LC_MESSAGES/bash.mo
missing     /usr/share/locale/de/LC_MESSAGES/bash.mo
missing     /usr/share/locale/el/LC_MESSAGES/bash.mo
missing     /usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo
missing     /usr/share/locale/en@quot/LC_MESSAGES/bash.mo
missing     /usr/share/locale/eo/LC_MESSAGES/bash.mo
missing     /usr/share/locale/es/LC_MESSAGES/bash.mo
missing     /usr/share/locale/et/LC_MESSAGES/bash.mo
missing     /usr/share/locale/fi/LC_MESSAGES/bash.mo
missing     /usr/share/locale/fr/LC_MESSAGES/bash.mo
missing     /usr/share/locale/ga/LC_MESSAGES/bash.mo
missing     /usr/share/locale/gl/LC_MESSAGES/bash.mo
missing     /usr/share/locale/hr/LC_MESSAGES/bash.mo
missing     /usr/share/locale/hu/LC_MESSAGES/bash.mo
missing     /usr/share/locale/id/LC_MESSAGES/bash.mo
missing     /usr/share/locale/it/LC_MESSAGES/bash.mo
missing     /usr/share/locale/ja/LC_MESSAGES/bash.mo
missing     /usr/share/locale/lt/LC_MESSAGES/bash.mo
missing     /usr/share/locale/nb/LC_MESSAGES/bash.mo
missing     /usr/share/locale/nl/LC_MESSAGES/bash.mo
missing     /usr/share/locale/pl/LC_MESSAGES/bash.mo
missing     /usr/share/locale/pt_BR/LC_MESSAGES/bash.mo
missing     /usr/share/locale/ro/LC_MESSAGES/bash.mo
missing     /usr/share/locale/ru/LC_MESSAGES/bash.mo
missing     /usr/share/locale/sk/LC_MESSAGES/bash.mo
missing     /usr/share/locale/sl/LC_MESSAGES/bash.mo
missing     /usr/share/locale/sr/LC_MESSAGES/bash.mo
missing     /usr/share/locale/sv/LC_MESSAGES/bash.mo
missing     /usr/share/locale/tr/LC_MESSAGES/bash.mo
missing     /usr/share/locale/uk/LC_MESSAGES/bash.mo
missing     /usr/share/locale/vi/LC_MESSAGES/bash.mo
missing     /usr/share/locale/zh_CN/LC_MESSAGES/bash.mo
missing     /usr/share/locale/zh_TW/LC_MESSAGES/bash.mo
```

It doesn't guarantee the files will be there once the deltarpm has been downloaded and it is attempted to be reconstructed but I can bet 99.999% of the time if the file is there right before the download of the deltarpm starts, then it will be there after the download has finished. 

I would really prefer to not close this as wontfix. I opened it as RFE for a reason.


Note You need to log in before you can comment on or make changes to this bug.