Bug 569499 - applydeltaiso/makedeltaiso man pages say nothing about using /dev/dvd as oldiso argument
Summary: applydeltaiso/makedeltaiso man pages say nothing about using /dev/dvd as oldi...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: deltarpm
Version: 19
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Jonathan Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-03-01 15:56 UTC by Andre Robatino
Modified: 2013-05-20 09:33 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-20 09:33:20 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andre Robatino 2010-03-01 15:56:00 UTC
Description of problem:
The applydeltaiso man page says nothing about the fact that an argument like /dev/dvd can be used as the oldiso argument, even though http://en.opensuse.org/Download_help#Deltaisos explicitly says it's okay, and I've used it a number of times without any problem.  This is important information.

On the other hand, I tried it with makedeltaiso with some weird results.  The makedeltaiso command appears to complete successfully, but the resulting diso is different from the one generated using an ISO file for oldiso, and when running applydeltaiso on it, it exits almost immediately when using an ISO file for oldiso, but completes successfully when using /dev/dvd.  In other words, the resulting diso is only partly functional.  In decreasing order of preference, there are 3 possible ways to prevent the creation of these half-broken disos:

1) If possible, modify makedeltaiso so it generates fully functional disos when using something like /dev/dvd as argument.

2) Modify makedeltaiso so it exits with an error message when something like /dev/dvd is used.

3) Have the makedeltaiso man page explicitly say "don't do that".  Right now it's much too easy for someone who knows about using /dev/dvd with applydeltaiso to generate one of these half-broken disos, and either not test at all, or only test using /dev/dvd with applydeltaiso, and think everything is okay.

If either 1) or 2) is possible, then I'll file a separate bug asking for makedeltaiso to be modified accordingly.  If not, then please consider 3) as part of this bug report.  Thanks.

(The behavior is probably the same in Rawhide, but it's much harder for me to test in my virtual guests than on my actual F12 hardware, so am reporting under F12.)

Version-Release number of selected component (if applicable):
deltarpm-3.5-0.4.20090913git.fc12

Comment 1 Andre Robatino 2010-03-01 15:58:23 UTC
Should also add that if option 1) is possible, then the makedeltaiso man page should explicitly describe this usage, similar to applydeltaiso.

Comment 2 Andre Robatino 2010-04-22 08:04:02 UTC
I'm fairly sure the reason for this behavior is that when makedeltaiso uses /dev/dvd as an argument, it does basically the same thing that "cat /dev/dvd" would - read as far as the OS tells it to, which may be greater than the actual size of oldiso.  This would account for all the observed behavior.  If true, it means that makedeltaiso could be fixed to work properly with /dev/dvd by doing the equivalent of what the rawread script at

http://www.troubleshooters.com/linux/coasterless.htm#rawread

does - check the oldiso header to see how big oldiso actually is, then read exactly that far.  The reason that applydeltaiso doesn't require this is that when the deltaiso is generated, it knows how big oldiso actually is (assuming that makedeltaiso was invoked using an actual oldiso file of the proper size).

However, the quick workaround is to just use the rawread script to read oldiso into a file of the proper size, then use that with makedeltaiso.  I've documented this at

https://fedoraproject.org/wiki/Delta_ISOs

but the {apply,make}deltaiso man pages should also describe the proper use of on-disc images.

Comment 3 Bug Zapper 2010-07-30 10:57:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 14 development cycle.
Changing version to '14'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Fedora End Of Life 2013-04-03 18:39:28 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 5 Jonathan Dieter 2013-05-20 09:33:20 UTC
I've currently implemented (3), as well as making it clear that you can use /dev/dvd in applydeltaiso.  If I ever have time, I'll implement (1).


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