--- image.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/image.py b/image.py index 021a0e6..5fece23 100644 --- a/image.py +++ b/image.py @@ -111,6 +111,8 @@ def findIsoImages(path, messageWindow): def getDiscNums(line): # get the disc numbers for this disc nums = line.split(",") + if nums == ['ALL']: # Treat "ALL" DVD as disc 1 + return [1] discNums = [] for num in nums: discNums.append(int(num))
On Wed, 2008-04-23 at 14:22 -0400, Jesse Keating wrote:
[PATCH] Handle the DVD having a disknumber of ALL. (443291)
Hrm, thought I put in more context here.
Anyway, right now the .discinfo file that is on the DVD has "ALL" in it. This just comes from the normal tree. When anaconda is looking for info about the iso images or discs it gets it looks at the .discinfo file to see what number it is. We used to munge the DVD and put in 1,2,3,4,etc.. for how many discs there are. This kind of sucks, 1) munging files blows. 2) requires you to know ahead of DVD creation time how many split isos it would equal. Pungi code got rearranged to where 2 isn't a trivial fix right now, and I realized that we could probably just fake anaconda into thinking that "ALL" == 1, as it's essentially the first of a single DVD sized iso set.
I've tested with an updates.img ( http://reducto.boston.redhat.com/pungi/bleed/updates.img ) and it seems to work, and resolve the above bug.
Jesse Keating (jkeating@redhat.com) said:
Hrm, thought I put in more context here.
Anyway, right now the .discinfo file that is on the DVD has "ALL" in it. This just comes from the normal tree. When anaconda is looking for info about the iso images or discs it gets it looks at the .discinfo file to see what number it is. We used to munge the DVD and put in 1,2,3,4,etc.. for how many discs there are. This kind of sucks, 1) munging files blows. 2) requires you to know ahead of DVD creation time how many split isos it would equal. Pungi code got rearranged to where 2 isn't a trivial fix right now, and I realized that we could probably just fake anaconda into thinking that "ALL" == 1, as it's essentially the first of a single DVD sized iso set.
What happens when we have multiple DVDs?
Bill
On Wed, 2008-04-23 at 14:40 -0400, Bill Nottingham wrote:
Jesse Keating (jkeating@redhat.com) said:
Hrm, thought I put in more context here.
Anyway, right now the .discinfo file that is on the DVD has "ALL" in it. This just comes from the normal tree. When anaconda is looking for info about the iso images or discs it gets it looks at the .discinfo file to see what number it is. We used to munge the DVD and put in 1,2,3,4,etc.. for how many discs there are. This kind of sucks, 1) munging files blows. 2) requires you to know ahead of DVD creation time how many split isos it would equal. Pungi code got rearranged to where 2 isn't a trivial fix right now, and I realized that we could probably just fake anaconda into thinking that "ALL" == 1, as it's essentially the first of a single DVD sized iso set.
What happens when we have multiple DVDs?
Howabout writing out what discs are included?
disc1.iso would list: * 1 of 6 disc2.iso would list: * 2 of 6 ...
DVD.iso would have: * 1 of 1
Thanks, James
Bill
Anaconda-devel-list mailing list Anaconda-devel-list@redhat.com https://www.redhat.com/mailman/listinfo/anaconda-devel-list
On Wed, 2008-04-23 at 14:40 -0400, Bill Nottingham wrote:
What happens when we have multiple DVDs?
We're going to have to change a lot more then, or we just jump to the next paradigm. Split DVD sized isos, with blu-ray sized unified iso. Or multiple runs where your split size is different each time. Doesn't change that the unified iso is always iso 1.
Jesse Keating (jkeating@redhat.com) said:
What happens when we have multiple DVDs?
We're going to have to change a lot more then, or we just jump to the next paradigm. Split DVD sized isos, with blu-ray sized unified iso. Or multiple runs where your split size is different each time. Doesn't change that the unified iso is always iso 1.
So, you're suggesting something like (in that universe):
CD: discs = 1
DVD: discs = 1,2,3,4,56
BD-ROM: discs = ALL
?
Bill
Bill Nottingham wrote:
Jesse Keating (jkeating@redhat.com) said:
What happens when we have multiple DVDs?
We're going to have to change a lot more then, or we just jump to the next paradigm. Split DVD sized isos, with blu-ray sized unified iso. Or multiple runs where your split size is different each time. Doesn't change that the unified iso is always iso 1.
So, you're suggesting something like (in that universe):
CD: discs = 1
DVD: discs = 1,2,3,4,56
BD-ROM: discs = ALL
This, or anything like this, would be very bad as one could not logically draw the line anymore... I'm in favor of Jesse's initial patch.
Kind regards,
Jeroen van Meeuwen -kanarip
On Wed, 2008-04-23 at 14:54 -0400, Bill Nottingham wrote:
So, you're suggesting something like (in that universe):
CD: discs = 1
DVD: discs = 1,2,3,4,56
BD-ROM: discs = ALL
Well, doing CDs, DVDs, and a Blu-ray would be a bit much, and somewhat difficult for anaconda to tell apart. "Which Disc 2 do you want?" Either we need to fix anaconda to know about specific sized media sets (can't use format, because you can always upscale, IE burn CD isos to DVD, or DVD isos to BD), or we stick to one iso that fits on a given media, and splits of something smaller than that. Be it 9 CDs and one Blu-Ray (again ALL on the BR, and 1; 2; 3; 4 on each successive CD), or 2 DVDs and one Blu-Ray, or...
In the mean time, I just want to move forward with the paradigm that 'ALL' really means 1, that is expect Packages/ and repodata/ to be there, and use the repodata to determine whether or not you need more discs for the install. The repodata is really what's going to trigger anaconda into thinking that it needs more/different media.
Jesse Keating wrote:
Well, doing CDs, DVDs, and a Blu-ray would be a bit much, and somewhat difficult for anaconda to tell apart. "Which Disc 2 do you want?" Either we need to fix anaconda to know about specific sized media sets (can't use format, because you can always upscale, IE burn CD isos to DVD, or DVD isos to BD), or we stick to one iso that fits on a given media, and splits of something smaller than that. Be it 9 CDs and one Blu-Ray (again ALL on the BR, and 1; 2; 3; 4 on each successive CD), or 2 DVDs and one Blu-Ray, or...
In the mean time, I just want to move forward with the paradigm that 'ALL' really means 1, that is expect Packages/ and repodata/ to be there, and use the repodata to determine whether or not you need more discs for the install. The repodata is really what's going to trigger anaconda into thinking that it needs more/different media.
Do we really need to capture cases in which anaconda asks for disc #2 (suppose you started with a CD) and you insert the wrong disc #2 (for example, a DVD)? So far, all the media has gone well, very well in fact; The Everything Spins (19 CDs, 3 DVD, or 1 DVD-BR + 1 DVD-sized ISO), never had a problem but for the case you are capturing with the patch.
Kind regards,
Jeroen van Meeuwen -kanarip
On Wed, 2008-04-23 at 23:17 +0200, Jeroen van Meeuwen wrote:
Do we really need to capture cases in which anaconda asks for disc #2 (suppose you started with a CD) and you insert the wrong disc #2 (for example, a DVD)? So far, all the media has gone well, very well in fact; The Everything Spins (19 CDs, 3 DVD, or 1 DVD-BR + 1 DVD-sized ISO), never had a problem but for the case you are capturing with the patch.
Well, I'm not sure. What happens when you get asked for Disc 2, and put in DVD 2? I would think that the media line in the repodata won't match and thus it'll just spit the disc back out at you, but what name does the UI give, and what is the interaction? I don't have an everything spin handy to test that.
On Wed, 2008-04-23 at 23:17 +0200, Jeroen van Meeuwen wrote:
Jesse Keating wrote:
Well, doing CDs, DVDs, and a Blu-ray would be a bit much, and somewhat difficult for anaconda to tell apart. "Which Disc 2 do you want?" Either we need to fix anaconda to know about specific sized media sets (can't use format, because you can always upscale, IE burn CD isos to DVD, or DVD isos to BD), or we stick to one iso that fits on a given media, and splits of something smaller than that. Be it 9 CDs and one Blu-Ray (again ALL on the BR, and 1; 2; 3; 4 on each successive CD), or 2 DVDs and one Blu-Ray, or...
In the mean time, I just want to move forward with the paradigm that 'ALL' really means 1, that is expect Packages/ and repodata/ to be there, and use the repodata to determine whether or not you need more discs for the install. The repodata is really what's going to trigger anaconda into thinking that it needs more/different media.
Do we really need to capture cases in which anaconda asks for disc #2 (suppose you started with a CD) and you insert the wrong disc #2 (for example, a DVD)? So far, all the media has gone well, very well in fact; The Everything Spins (19 CDs, 3 DVD, or 1 DVD-BR + 1 DVD-sized ISO), never had a problem but for the case you are capturing with the patch.
The original idea was that the CDs would contain a single disc number and the DVDs would contain the disc numbers of the _CDs that they contain the contents of_. Which yeah, means you can't quite fully fill the DVD but that was seen as the lesser of the evils. And then asking for CD 2 would mean "whatever contains the contents of CD2" and the DVD could be labeled with "Fedora DVD 1 (contains CDs 1, 2, 3, 4 and 5)"
Jeremy
Jeremy Katz wrote:
The original idea was that the CDs would contain a single disc number and the DVDs would contain the disc numbers of the _CDs that they contain the contents of_. Which yeah, means you can't quite fully fill the DVD but that was seen as the lesser of the evils. And then asking for CD 2 would mean "whatever contains the contents of CD2" and the DVD could be labeled with "Fedora DVD 1 (contains CDs 1, 2, 3, 4 and 5)"
Right, and that's very valid reasoning for how we release today (given we only do single DVD), and it'll apply to 99% of all cases still.
However being able to just say "ALL" I think applies to more cases then providing a series of disc numbers.
Kind regards,
Jeroen van Meeuwen -kanarip
Jesse Keating wrote:
On Wed, 2008-04-23 at 14:40 -0400, Bill Nottingham wrote:
What happens when we have multiple DVDs?
We're going to have to change a lot more then, or we just jump to the next paradigm. Split DVD sized isos, with blu-ray sized unified iso. Or multiple runs where your split size is different each time. Doesn't change that the unified iso is always iso 1.
When I did the everything spins for Fedora 7 and 8 I just used splittree with a larger disc size, it'll have 1,2 or 3 in the .discinfo; there is no problem other then the initial tree (non-split) having "ALL", and, as often is the case, that tree fitting on a single disc, but the .discinfo not being modified to reflect "1", or anaconda not being able to read "ALL" very well.
Kind regards,
Jeroen van Meeuwen -kanarip
On Wed, 2008-04-23 at 14:29 -0400, Jesse Keating wrote:
On Wed, 2008-04-23 at 14:22 -0400, Jesse Keating wrote:
[PATCH] Handle the DVD having a disknumber of ALL. (443291)
Hrm, thought I put in more context here.
Anyway, right now the .discinfo file that is on the DVD has "ALL" in it. This just comes from the normal tree. When anaconda is looking for info about the iso images or discs it gets it looks at the .discinfo file to see what number it is. We used to munge the DVD and put in 1,2,3,4,etc.. for how many discs there are. This kind of sucks, 1) munging files blows. 2) requires you to know ahead of DVD creation time how many split isos it would equal. Pungi code got rearranged to where 2 isn't a trivial fix right now, and I realized that we could probably just fake anaconda into thinking that "ALL" == 1, as it's essentially the first of a single DVD sized iso set.
Do the images for DVD vs CDs now have different metadata? They used to have identical metadata at which point it's important that ALL be equivalent to 1,2,3,4 rather than just 1. And since the only thing that knows how many ISOs there are total is pungi/distill, ..
Jeremy
On Wed, 2008-04-23 at 21:37 -0400, Jeremy Katz wrote:
Do the images for DVD vs CDs now have different metadata? They used to have identical metadata at which point it's important that ALL be equivalent to 1,2,3,4 rather than just 1. And since the only thing that knows how many ISOs there are total is pungi/distill, ..
Yes, they have different metadata. The metadata on the singleton iso does not reference any number after the media:// spew, whereas the CDs will have #1, #2, #3 according to where the package actually lives. I thought this was done around the time we were doing media.repo files but I could be wrong.
On Wed, 2008-04-23 at 22:18 -0400, Jesse Keating wrote:
On Wed, 2008-04-23 at 21:37 -0400, Jeremy Katz wrote:
Do the images for DVD vs CDs now have different metadata? They used to have identical metadata at which point it's important that ALL be equivalent to 1,2,3,4 rather than just 1. And since the only thing that knows how many ISOs there are total is pungi/distill, ..
Yes, they have different metadata. The metadata on the singleton iso does not reference any number after the media:// spew, whereas the CDs will have #1, #2, #3 according to where the package actually lives. I thought this was done around the time we were doing media.repo files but I could be wrong.
Hmmm, interesting. pirut definitely handles the comma delimited list of discs[1]. And that's still what anaconda expects to handle
Jeremy
[1] PackageKit doesn't really support installing from media in the way that we traditionally have done at all
Jeremy Katz wrote:
Do the images for DVD vs CDs now have different metadata? They used to have identical metadata at which point it's important that ALL be equivalent to 1,2,3,4 rather than just 1. And since the only thing that knows how many ISOs there are total is pungi/distill, ..
For the spins I create; yes they do have different metadata. splittree is ran twice (once for ~685MB and once for ~4.3GB).
Based on the size of the tree (from which one splits), you can determine the number of discs (given the occasional inaccuracy where 3 large -say ~400MB- packages end up on 3 discs while the total size equals 2 discs).
Kind regards,
Jeroen van Meeuwen -kanarip
diff --git a/image.py b/image.py index 021a0e6..5fece23 100644 --- a/image.py +++ b/image.py @@ -111,6 +111,8 @@ def findIsoImages(path, messageWindow): def getDiscNums(line): # get the disc numbers for this disc nums = line.split(",")
- if nums == ['ALL']: # Treat "ALL" DVD as disc 1
discNums = [] for num in nums: discNums.append(int(num))return [1]
As as been mentioned earlier, anaconda expects the comma-separated list of disc numbers. This makes sense given that discNum is a list throughout. However in the interest of airline safety, I'm okay with committing this now to fix those aggravating ISO method bugs and then revisiting this after F9's release.
I'd really like to make sure we get our stories straight between the installer and the image generating tools.
- Chris
anaconda-devel@lists.stg.fedoraproject.org