Bug 212180 (yummedia)

Summary: yum problem: urlopen error unknown url type: media
Product: [Fedora] Fedora Reporter: Sergio Basto <sergio>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: amit_bhutani, dakingun, daniel.ottey, dkelson, farrellj, flaks, guolin, jason_mack, jdp, kumarvikas0, lawrence.newitt, lkundrak, lystor, matt_domsch, ml-bz-dale, mrsam, silvio.ziegelwanger, tamal.nath, wart, yaneti
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 3.2.1-1.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-08-03 19:38:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 226208    
Attachments:
Description Flags
Shell script to turn the FC6 DVD image into a repository suitable for yum/pirut
none
draft of a proposed patch
none
a more serious patch none

Description Sergio Basto 2006-10-25 15:01:32 UTC
Description of problem:


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


How reproducible:


Steps to Reproduce:
1. mount -o loop ~sergio/Zod-dvd-i386/FC-6-i386-DVD.iso /mnt/disk
2. edit /etc/yum.repos.d/fedora-core.repo
and use baseurl=file:///mnt/disk
3.yum -y update
  
Actual results:
---> Downloading header for kernel to pack into transaction set.
media://1161131669.029329%231/Fedora/RPMS/kernel-2.6.18-1.2798.fc6.i686.rpm:
[Errno 4] IOError: <urlopen error unknown url type: media>


Expected results:


Additional info:
this happens when I want install kmod-ndiswrapper or kmod-ntfs from livna

Comment 1 Jeremy Katz 2006-10-25 15:07:50 UTC
yum can't directly use the repos off of the CD/DVD.  This is related to bug 188750

Comment 2 Sergio Basto 2006-10-25 16:52:06 UTC
sorry,  I use this, on FC5 DVD and Re-spin DVDs in i386 and x86_64 without any
problem 

Comment 3 Sergio Basto 2006-10-25 17:15:19 UTC
well I just found the problem , the problem is that was installed kernel-i586
after replace to kernel-i686 things work again.

so the bug is after upgrade the system, kernel should be an i686    


Comment 4 Wart 2006-10-26 18:53:02 UTC
(In reply to comment #3)
> well I just found the problem , the problem is that was installed kernel-i586
> after replace to kernel-i686 things work again.
> 
> so the bug is after upgrade the system, kernel should be an i686    

??

This comment doesn't seem related to this bug report.

I see the same problem that was originally reported, with the minor difference
that in my configuration, I also expose the mounted DVD images from the web
server so that they can be accessed from other machines.  This is a problem with
both the i386 and x86_64 DVD images.

Is this something that yum will be able to work around, or should I look for an
alternate workaround that doesn't require the DVD repodata?

Comment 5 Sergio Basto 2006-10-26 22:57:10 UTC
(In reply to comment #4)
> 
> This comment doesn't seem related to this bug report.

I thought that was the problem but isn't. 

> 
> I see the same problem that was originally reported, with the minor difference
> that in my configuration, 

where ?

> I also expose the mounted DVD images from the web
> server so that they can be accessed from other machines.  This is a problem with
> both the i386 and x86_64 DVD images.
> 
> Is this something that yum will be able to work around, or should I look for an
> alternate workaround that doesn't require the DVD repodata?

the workaround is redo the images don'tyou  think so ?

Comment 6 Sergio Basto 2006-10-28 04:42:07 UTC
mkdir /mnt/disk2
change ./mountfedoraDVD
from
mount -o loop ~sergio/filmes/Zod-dvd-i386/FC-6-i386-DVD.iso /mnt/disk
to
mount -o loop ~sergio/filmes/Zod-dvd-i386/FC-6-i386-DVD.iso /mnt/disk2

./mountfedoraDVD
cd /mnt/disk
ln -s ../disk2/Fedora/
createrepo -o . Fedora/

(this is a workaround)
rm Fedora
ln -s ../disk2/Fedora/RPMS/

and 
baseurl=file:///mnt/disk

yum works perfectly 
conclusion: repodata dir on DVD images is not correctly generated.
 

Comment 7 Yanko Kaneti 2006-10-28 06:00:29 UTC
On a related note the fc4/5 yum is perfectly capable of using a loop mounted dvd
served by apache as a core repo, now in fc6 it can't. It makes little sense not
to be able to do so.


Comment 8 josip 2006-10-28 07:47:02 UTC
I see the same problem.  This doesn't make sense.  Many users just loop mount
ISO images, since making an actual CD/DVD is a pain.  Yum ought to work when
pointed to a local loop mounted ISO image.

Comment 9 Wart 2006-10-28 17:16:52 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > I see the same problem that was originally reported, with the minor difference
> > that in my configuration, 
> 
> where ?

I'm not sure what 'where' refers to, but I also get the useless 'media' urls
from the lopoback mounted DVD images.

> > I also expose the mounted DVD images from the web
> > server so that they can be accessed from other machines.  This is a problem with
> > both the i386 and x86_64 DVD images.
> > 
> > Is this something that yum will be able to work around, or should I look for an
> > alternate workaround that doesn't require the DVD repodata?
> 
> the workaround is redo the images don'tyou  think so ?

Well, that's one possibility.  But it's a rather time consuming task.  A better
workaround would be to create usable repodata outside of the DVD images so that
it would still be possible to use the original images.

However, I noticed something odd recently that made me wonder if this is
something that really could be fixed by yum.  Previously, I was using loopback
mounted FC5 DVDs for my mock builds, which worked fine.  After upgrading to FC6,
I tried to use the same loopback mounted FC5 DVDs for mock builds.  But now I
get the invalid media urls from the FC6 yum using the repodata from the FC5 DVDs.

Is this really a bug in the DVD images, or was it caused by a change in yum?

Comment 10 Dale Stimson 2006-10-29 01:05:10 UTC
I first experienced this problem with the DVD mounted via loop-back and served
via apache/http.  The same setup that worked for FC5 failed for FC6.

It still failed when I used createrepo to generate a new repodata directory
in a directory hierarchically above where the DVD was mounted.

It still failed when I copied the entire DVD content to a regular directory
and used createrepo to replace the DVD's original repodata directory.

I tried this with versions of createrepo from both FC4 extras and FC6 extras;
they produced identical repodata directory content.



Comment 11 Sam Varshavchik 2006-10-29 02:52:21 UTC
*** Bug 212752 has been marked as a duplicate of this bug. ***

Comment 12 Seth Vidal 2006-10-29 15:21:42 UTC
The media urls are used by anaconda, not by yum. There's nothing in yum that can
handle them only in the superclass added in anaconda so it can use yum for the
depsolving component, etc.

There's no bug here. You simply cannot use the repodata on the dvd/cds by
default to install/upgrade using yum by itself.

You either have to use anaconda for the install/upgrade or you recreate the
repodata directory by running createrepo.

Comment 13 Sam Varshavchik 2006-10-29 16:45:00 UTC
And this, as corny is it sounds, is a textbook example of why, despite the
limited success of Linux on the server, no progress will ever be made on the
desktop, when you have such an attitude on display.

Nobody said anything about anaconda.  Everyone is simply running yum, and
getting back a 100% crap error message in return.

If yum can't handle this request, let it return a plain error message that
indicates something like: "sorry, can't upgrade, repodata is missing".  How hard
is that?  This is not rocket science.

Nobody cares about where precisely in the expansive yum class hierarchy this
error message gives birth.  The point, which completely went over your head, is
that nobody should be seeing it.  Whereever it came from.  I am sitting down in
front of terminal, run yum, and get this error message.  What am I supposed to
go from here, now?  What does it tell me about the problem?

Nothing.

Somebody needs to take their head out of their pile of sand, and fix this,
instead of ignoring an obvious bug.


Comment 14 Yanko Kaneti 2006-10-29 17:02:29 UTC
skvidal wrote:
> There's no bug here. You simply cannot use the repodata on the dvd/cds by
> default to install/upgrade using yum by itself.

Yet everyone that has commented on this bug so far has been using this since
fc4. You either have not read any of the comments or you are deliberately
ignoring it.

Comment 15 Dale Stimson 2006-10-29 18:43:37 UTC
It's unfortunate that using a loopback mounted FC6 DVD doesn't
"just work".  However, here is a workaround.

Put the mounted DVD image one level lower in the directory hierarchy and create
directory repodata above it.
I tested this with urltype http: instead of file:, but here is a
transliteration:
    mkdir -p /dist/iso
    mount -o ro,loop /wherever/Zod-dvd-i386/FC-6-i386-DVD.iso /dist/iso
    cd /dist
    createrepo .
    yum clean all
    # Set baseurl in appropriate yum configuration file:
    baseurl=file:///dist


Comment 16 Seth Vidal 2006-10-29 23:50:43 UTC
Just to make sure I understand the comments all you really want here is an error
string that is a bit more descriptive.

Well, the reason why we don't want to do that is b/c we intended to have the
media:// urls be functional in yum, not just anaconda. The code just didn't get
ported down.

But thanks for all the invective. I really appreciate being brow beaten.

Comment 17 Sergio Basto 2006-10-30 01:30:15 UTC
(In reply to comment #12)
> The media urls are used by anaconda, not by yum. There's nothing in yum that can
> handle them only in the superclass added in anaconda so it can use yum for the
> depsolving component, etc.

the bug is not in yum the bug is in repodata , so if anaconda generate this
buggy repo data the bug is in anaconda.

DVD of FC5 don't have this bug.

> 
> There's no bug here. You simply cannot use the repodata on the dvd/cds by
> default to install/upgrade using yum by itself.

yes we can 

Comment 18 Leon Flaks 2006-10-30 17:51:45 UTC
I have the same probelm, but I am not using loop mounted disk image. I copied it
to a separate directory and export it using nfs to other systems. In fact I have
both FC5 and FC6 in the same tree with the path
/somthing_that_auto_mount_knows/base/. There I have directories 4/ 5/ 6/ and
everything works fro FC4, FC5, but FC6 gives the same errorr as mentioned in
this bug report. I have it when I want to install package from base:
yum install mozplugger (as an example) here is output:

media://1161131669.029329%235/Fedora/RPMS/mozplugger-1.7.3-3.1.i386.rpm: [Errno
4] IOError: <urlopen error unknown url type: media>

This system was upgraded from FC5 using the same method and it went without
problem. Could it be a bug in FC6 version of yum?

Here is the line in repo file for base:
baseurl=file:///some_path/fedora/base/$releasever/$basearch/os/

It works fro FC4,5, but not FC6. For now I just change to that directory and use
yum localinstall.

Comment 19 Jean Francois Martinez 2006-11-02 19:59:40 UTC
As< a workaround, I used sqlite to "patch" the correct URL in the
/var/cache/yum/core/primary.xml.gz.sqlite file

But having to do this kind of things s..ks.

Comment 20 Răzvan Sandu 2006-11-03 01:29:19 UTC
Hello, I've experienced this too. I use a FC6 i386 DVD iso, loopmounted on a FTP
server which also contains the updates tree. When I try to use this server to
upgrade other machines, the quoted message locks me up.

It happened to me after an upgrade from FC5 to FC6, on more than one machine.
When I've tried to apply all the online updates after the DVD (local) upgrade,
the message occurs and update fails.

Is there an "elegant" way to fix this, please - such as a corrected version of
the iso DVD images?

Regards,
Razvan


Comment 21 Wart 2006-11-03 01:33:00 UTC
(In reply to comment #20)
> Is there an "elegant" way to fix this, please - such as a corrected version of
> the iso DVD images?

The workaround in comment #15 has worked well for me.  You still use the DVD
images for the packages, but create a new repodata directory with working repodata.

Comment 22 Răzvan Sandu 2006-11-03 01:42:13 UTC
Solution in comment #15 should be fine, but I just need a corrected iso image to
burn on DVD-blank and carry with me around. Does anyone from Fedora or Red Hat
bother to publish a corrected ISO image?

BTW, does anyone knows if the same can be experienced with CD ISO images, too ?


Regards,
Razvan


Comment 23 Dale Stimson 2006-11-03 16:13:23 UTC
Re: Comment #22

To make DVD image with a "corrected" repodata:
Try something like the following, where tdir is some arbitrary directory:

    yum install yum-utils           # If you don't already have createrepo
    mount -o ro,loop /wherever/Zod-dvd-i386/FC-6-i386-DVD.iso /dvd
    mkdir tdir
    cp -a /dvd tdir
    cd tdir
    createrepo .

Then, make a new .iso DVD image with directory tdir as its top-level content and
you're all set.

Re: Comment #22, second question

One would assume that the content of the CD ISO image repodata was
prepared in the same way as the DVD images.


Comment 24 Dale Stimson 2006-11-03 16:15:48 UTC
and maybe add to the above (in comment 23), right before the createrepro command:
    rm -r repodata

Comment 25 Răzvan Sandu 2006-11-07 07:00:00 UTC
Hello again,

Sorry, but IMHO this is a serious bug, because it prevents *any* user to install
a package from a loopback-mounted ISO image - one thing that users frequently
do. For an unadvised webserver administrator, this can be a problem too, because
he will loopback-mount the ISO image & publish it, making inoperable a whole
Fedora mirror...

IMHO, this worths an official bug announcement on the Fedora website *and* a
republish of the affected ISO images, with the correct sha1sums.

Comment 26 Baif 2006-11-08 07:24:47 UTC
How Can I create the repodata with group info for DVD-ISO?

Thanks.

Comment 27 josip 2006-11-23 18:51:41 UTC
I agree with comment #25 -- particularly since it is often convenient to do a
minimial install from DVD, then add other packages as needed -- but under the
current scheme, pirut(yum) has to pull added packages from the network instead
of using the DVD.  This is dumb -- why add gigabytes of downloads when the
required stuff is already on the DVD, just not configured to be easy to use???

Even if the claim that the install DVD works as intented is correct, this
architecture doesn't make sense.  The entire architecture where only anaconda
can use the install DVD is a bug.  I'm not comforted by the existence of
workarounds that involve rebuilding of the DVD, because this is not for novices
and it is too time consuming even for experts.

Please revise.

Comment 28 Jeremy Katz 2006-11-27 22:45:27 UTC
*** Bug 217227 has been marked as a duplicate of this bug. ***

Comment 29 Jeremy Katz 2006-11-29 17:02:53 UTC
*** Bug 201323 has been marked as a duplicate of this bug. ***

Comment 30 Tamal Kanti Nath 2006-11-30 05:39:07 UTC
(In reply to comment #6)
Your technique is not working. I am facing the same problem.


Comment 31 Tamal Kanti Nath 2006-11-30 06:05:41 UTC
(In reply to comment #15)
Sorry, but your technique is not working either.


Comment 32 Sergio Basto 2006-11-30 13:36:09 UTC
(In reply to comment #31)
> (In reply to comment #15)
> Sorry, but your technique is not working either.
> 

comment #23 have the right way 

Comment 33 Tamal Kanti Nath 2006-11-30 19:18:34 UTC
(In reply to comment #23)
No, this technique probably won't work. Although I didn't follow the exact
route, but I think my method is functionally same as comment #23.
# mount -o ro,loop fc6.iso /mnt/dvd
# createrepo -o . /mnt/dvd
# mount --bind repodata /mnt/dvd/repodata
The error was same.
Mounting using bind option hides comps.xml and TRANS.TBL from the original
mounted ISO, but probably those 2 shouldn't be required here. The developer of
createrepo package might help us to trace the bug.

Comment 34 Jason Mack 2006-11-30 21:26:52 UTC
We're having this problem too, in our test lab.  It seems that because of the
"unusual" protocol, media:, we're unable to (easily) set up our PXE server to
grab packages from the resultant yum repo.

We've come up with an (arduous) workaround:

1)  PXE server runs RH 7.1 (for the forseeable future) so createrepo is not an
option.  Also this server does not have enough space for DVD+CD's+'exploded'
files.  For now.

2)  To workaround 1, we've added a VM to our network named (wait for it)
'createrepo.'

3)  When we get a new distribution update, we 'explode' the DVD to an install dir.

4)  Copy the *entire* contents of the DVD's install dir to 'creatrepo.'

5)  In 'createrepo' kill off any dir known as 'repodata.'

5)  Run createrepo on *each* of the arches, and sub-dists that we need.

6)  Copy the contents of the newly created repodata dirs *back* to the proper
places on the PXE server.

So, what was a five-minute matter of making some symlinks is now a multi-hour
process for newer RH dists, RHEL Public Beta, FC6, etc.

Comment 35 Sergio Basto 2006-12-01 01:30:06 UTC
for baseurl=file:///mnt/disk

# mount -o loop ~sergio/Zod-dvd-i386/FC-6-i386-DVD.iso /mnt/disk/dvd
# cd /mnt/disk
# createrepo .

(In reply to comment #33)
> (In reply to comment #23)
> No, this technique probably won't work. Although I didn't follow the exact
> route, but I think my method is functionally same as comment #23.
> # mount -o ro,loop fc6.iso /mnt/dvd
> # createrepo -o . /mnt/dvd
> # mount --bind repodata /mnt/dvd/repodata
> The error was same.
> Mounting using bind option hides comps.xml and TRANS.TBL from the original
> mounted ISO, but probably those 2 shouldn't be required here. The developer of
> createrepo package might help us to trace the bug.

Comment 36 David Wragg 2006-12-05 17:44:25 UTC
Created attachment 142872 [details]
Shell script to turn the FC6 DVD image into a repository suitable for yum/pirut

I ran into this bug while trying to install FC6 from DVD without access to the
internet. Because there was no way for me to find out about the createrepo
program in yum-utils, I had to improvise.  So I came up with this shell script
that fixes up the FC6 DVD image without any unusual tools.

Comment 37 Sergio Basto 2006-12-05 17:56:50 UTC
(In reply to comment #36)
> Because there was no way for me to find out about the createrepo
> program in yum-utils


createrepo-0.4.4-2.fc6 is in base dvd 

Comment 38 Sergio Basto 2006-12-05 17:59:04 UTC
(In reply to comment #36)
> Because there was no way for me to find out about the createrepo
> program in yum-utils


createrepo-0.4.4-2.fc6.noarch.rpm is in base dvd 

Comment 39 David Wragg 2006-12-05 23:00:59 UTC
(In reply to comment #38)
> createrepo-0.4.4-2.fc6.noarch.rpm is in base dvd 

I know that now, and I'm sure I'll take advantage of that knowledge in the
future.  I agree that the createrepo workaround is the most straightforward one.
 But as I said, I was in the unfortunate position of installing FC6 without
access to the internet, and I'd never used createrepo (or even heard of it)
before.  The shell script might also be useful to anyone who can't use
createrepo for any other reason, such as Jason Mark above.

Comment 40 Tamal Kanti Nath 2006-12-06 16:51:40 UTC
(In reply to comment #35)
Sergio Monteiro Basto, your technique is not working. How can you be so sure
about your technique ? Please submit the version number of createrepo.
I am using createrepo-0.4.4-2.fc6

Comment 41 Sergio Basto 2006-12-06 18:40:07 UTC
(In reply to comment #40)
> (In reply to comment #35)
> Sergio Monteiro Basto, your technique is not working. How can you be so sure
> about your technique ? Please submit the version number of createrepo.
> I am using createrepo-0.4.4-2.fc6

I am using the same too, I forget to tell you , that you must do a 
yum clean all, after recreate repos . 

Comment 42 Tamal Kanti Nath 2006-12-09 16:47:05 UTC
(In reply to comment #41)
> I am using the same too, I forget to tell you , that you must do a 
> yum clean all, after recreate repos . 
No, 'yum clean all' is not helping the matter. The problem remains the same.

Comment 43 Sergio Basto 2006-12-09 20:17:30 UTC
(In reply to comment #42)
> No, 'yum clean all' is not helping the matter. The problem remains the same.

Can you describe what is your problem? because about using dvd as base-repo for
yum, nobody else you have complains, on ours techniques.

Comment 44 Tamal Kanti Nath 2006-12-12 05:02:32 UTC
(In reply to comment #43)
# cat /etc/yum.repos.d/dvd.repo 
[dvd]
name=DVD for Fedora Core $releasever - $basearch - Base
baseurl=file:///mnt/disk
enabled=0
gpgcheck=0
# mount -o loop fc6.iso /mnt/disk/dvd/
# cd /mnt/disk
# createrepo .
Saving Primary metadata
Saving file lists metadata
Saving other metadata
# yum clean all
Loading "installonlyn" plugin
Cleaning up Everything
# yum --disablerepo=core --enablerepo=dvd install emacs
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
livna                     100% |=========================| 1.1 kB    00:00     
updates                   100% |=========================| 1.2 kB    00:00     
dvd                       100% |=========================|  951 B    00:00     
extras                    100% |=========================| 1.1 kB    00:00     
Reading repository metadata in from local files
primary.xml.gz            100% |=========================|  98 kB    00:01     
################################################## 275/275
primary.xml.gz            100% |=========================| 301 kB    00:17     
################################################## 1044/1044
primary.xml.gz            100% |=========================| 1.5 MB    00:51     
################################################## 4928/4928
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for emacs to pack into transaction set.
media://1161131669.029329%233/Fedora/RPMS/emacs-21.4-17.i386.rpm: [Errno 4]
IOError: <urlopen error unknown url type: media>
Trying other mirror.
Error: failed to retrieve Fedora/RPMS/emacs-21.4-17.i386.rpm from dvd
error was [Errno 4] IOError: <urlopen error unknown url type: media>

This is my problem. As you can see, the repository was built successfully and
the primary.xml.gz was also read successfully; but the urlopen error occurs when
the header of a package is fetched.
I don't want to modify the core repository. Thats why I have created a dvd
repository.

Comment 45 Sergio Basto 2006-12-12 16:49:33 UTC
(In reply to comment #44)
> (In reply to comment #43)
> This is my problem. As you can see, the repository was built successfully and
> the primary.xml.gz was also read successfully; but the urlopen error occurs when
> the header of a package is fetched.
> I don't want to modify the core repository. Thats why I have created a dvd
> repository.

As a quick answer if you put baseurl=file:///mnt/disk on
/etc/yum.repos.d/fedora-core.repo it will work after a yum clean all. I will
test your method, could be an error on yum.

Comment 46 Tamal Kanti Nath 2006-12-12 19:52:51 UTC
(In reply to comment #45)
Ok, finally it worked for me. I think my custom repository dvd.repo was not
understood properly by yum. You probably are right. There might be be a bug in yum.

Comment 47 Jeremy Katz 2006-12-19 18:52:53 UTC
*** Bug 220084 has been marked as a duplicate of this bug. ***

Comment 48 Dax Kelson 2006-12-19 19:28:01 UTC
I haven't seen my specific scenario mentioned in these comments yet.

On a no-internet network I want to install FC6/RHEL5 via NFS and then after
install is done I want to use that same NFS share as my yum repo. I have many
machines and they get reinstalled all the time.

Basically the same directory tree needs to be useable by both Anaconda and yum
at the same time.

Comment 49 Jason Mack 2006-12-19 19:52:16 UTC
(In reply to comment #48)

Dax,

I've pretty much the same setup.  And am very much agreed with you that the same
repo should be available for each.

However, we've refined our workaround here:  After "exploding" the DVD to
install-x86_64/ we then create at the same dir level, yum-x86_64/.

Next moving to the yum dir, we *hard link* using "cp -lrav ../install-x86_64/* .".

Next we rm -f all repodata dirs in our yum dir, and finally we run createrepo on
these sub-dirs (Server, VT, etc.).

This lets us point our yum.conf on the test server to a working repo on the
install server, without taking up a ton of room on the install server.

Comment 50 Jason Mack 2007-01-17 22:11:50 UTC
Jeremy, since this is also a problem in RHEL5 public Beta, should we clone this,
or change the Product variable?

Comment 51 Amit Bhutani 2007-01-17 22:31:08 UTC
Cloning is the right thing to do here since RHEL and FC are two different
products. That's my $0.02. I will let Jeremy comment officially.

Comment 52 Tamal Kanti Nath 2007-02-01 19:14:27 UTC
The workaround of Sergio Monteiro Basto and others works for yum but it does not
work under yumex (a graphical frontend of yum found in fedora extras repository).

Comment 53 Tobias Oed 2007-02-06 12:33:21 UTC
Is this problem resolved with later versions of yum?
I can use a mounted iso or even the dvd itself with
baseurl=file:///media/FC-6%20i386%20DVD
and yum-3.0.3-1.fc6
Tobias


Comment 54 Julian Sikorski 2007-02-06 21:12:59 UTC
It does not look like it was fixed. Remember that the failure occurs when you
try to install something, metadata parsing works fine.

Comment 55 Tobias Oed 2007-02-07 14:43:40 UTC
You are correct, it's still not fixed. Bug "#227672: yum clean cache is broken"
was masking the problem for me.
Tobias


Comment 56 Sergio Basto 2007-02-07 17:04:17 UTC
(In reply to comment #53)
> Is this problem resolved with later versions of yum?
> I can use a mounted iso or even the dvd itself with
> baseurl=file:///media/FC-6%20i386%20DVD
> and yum-3.0.3-1.fc6

no , the problem is  not in yum 




Comment 57 Sergio Basto 2007-02-07 17:16:23 UTC
(In reply to comment #52)
> The workaround of Sergio Monteiro Basto and others works for yum but it does not
> work under yumex (a graphical frontend of yum found in fedora extras repository).

I just install some rpms from core repo with yumex without any problem. 

Comment 58 Matt Domsch 2007-02-07 17:24:56 UTC
Jeremy said he's working on it.

http://katzj.livejournal.com/400461.html



Comment 59 Sam Lor 2007-02-08 07:44:32 UTC
Software categories in pirut are confused so here is an immproved workaround
based on the ones supplied by others that I beleive corrects that problem.

comps.xml contains the group/categories definitions and repomd.xml must refer to it

references to "xml:base="media://1161131669.029329#1" in the original repomd.xml
on DVD must be removed to fix the original problem.

# mkdir -p /FC-6_x86_64_DVD/iso
# echo '/FC-6_x86_64_DVD.iso /FC-6_x86_64_DVD/iso iso9660 loop,ro 0 0' >> /etc/fstab
# mount -a
# yum install createrepo
# cd /FC-6_x86_64_DVD
# createrepo -o . /FC-6_x86_64_DVD/iso
# cp -a iso/repodata/comps.xml iso/repodata/TRANS.TBL repodata
# head -20 repodata/repomd.xml > repomd-tmp.xml
# tail -6 iso/repodata/repomd.xml >> repomd-tmp.xml
# head -21 repomd-tmp.xml > repodata/repomd.xml
# echo '    <location href="repodata/comps.xml"/>' >> repodata/repomd.xml
# tail -4 repomd-tmp.xml >> repodata/repomd.xml
# rm repomd-tmp.xml
# echo '/FC-6_x86_64_DVD/repodata /FC-6_x86_64_DVD/iso/repodata none bind 0 0'
>> /etc/fstab
# mount -a
# yum clean all

Comment 60 Silvio Ziegelwanger 2007-03-06 10:23:40 UTC
This still happens in RHEL5 RC1. This makes it impossible for third party
applications to resolve dependencies.
Does this also happen with the real DVD? (not that that would have any practical
importance, because no one is going to connect a DVD drive, insert DVD, mount
DVD,  install packages, unmount DVD, remove DVD, disconnect DVD drive on
something like 120 racks.)



Comment 61 Sergio Basto 2007-03-07 01:49:20 UTC
this bug is simple is between createrepo and pungi 

I think this is a double mix bug 
On Fedora Core 5createrepo do repodata not using media:// which
make repo correctly, in this particular case.
And cretarepo on Fedora Core 6 do repodata with media:// which exhibit a bug in
pungi that put media:// in createrepo command. 

Comment 62 dave phillips 2007-03-13 18:49:28 UTC
I'm a relative newbie to linux - I have used mandrake and suse in the past, and
both of them allowed me to add packages without network connections. At home I
have no internet - at work, I do.. At home I have linux, at work, a work's
windows box ...

Trying to puzzle my way through the above, I am still left with the question:
"how do I, as a non-techie user, enable installing from the DVD?" 

I've tried reading the manual, I've tried adding the referenced workarounds, non
of which are exactly user friendly, and so far no go.

Why is this not a bug but a feature? If one downloads or buys the DVD (in a book
- my particular example) what is the point of having all that without being able
to user the installer properly?

Comment 63 Deepak Kumar Mishra 2007-03-26 11:46:24 UTC
Hello People..
I am also facing this same problem.. which ihad solved in FC% but could not do 
in FC6 
I had only cd iso.. so what i did is
1. Created a dir /tmp/fc5_install and copyed all the disk files of Disk 1.iso
2. then copied all the rpms from the other disks and put those in the RPMS 
directory in the HDD.
3. then createrepo
4. Changed the baseurl variable in the .repo file
5. it worked..  so i copied the entire directory content of /tmp/fc5_install to 
a DVD
6. and then changed the .repo file accoringly so that it locates the right path 
and again it worked.. 

But this method does not work in FC6.. Dont know why .. I get 

failed to retrieve Fedora/RPMS/joe-3.4-3.i386.rpm from fedora-core-local
error was [Errno 4] IOError: <urlopen error unknown url type: media>


So i dont think it is related to media.. it is related to creating the repodata 


Comment 64 Deepak Kumar Mishra 2007-03-26 11:47:46 UTC
Hello People..
I am also facing this same problem.. which ihad solved in FC% but could not do 
in FC6 
I had only cd iso.. so what i did is
1. Created a dir /tmp/fc5_install and copyed all the disk files of Disk 1.iso
2. then copied all the rpms from the other disks and put those in the RPMS 
directory in the HDD.
3. then createrepo
4. Changed the baseurl variable in the .repo file
5. it worked..  so i copied the entire directory content of /tmp/fc5_install to 
a DVD
6. and then changed the .repo file accoringly so that it locates the right path 
and again it worked.. 

But this method does not work in FC6.. Dont know why .. I get 

failed to retrieve Fedora/RPMS/joe-3.4-3.i386.rpm from fedora-core-local
error was [Errno 4] IOError: <urlopen error unknown url type: media>


So i dont think it is related to media.. it is related to creating the repodata 


Comment 65 Jeremy Katz 2007-04-09 15:16:12 UTC
*** Bug 235520 has been marked as a duplicate of this bug. ***

Comment 66 Sergio Basto 2007-04-11 03:12:37 UTC
Created attachment 152195 [details]
draft of a proposed patch

After think that is a bug is in creation of DVD because repodata dir had
media://
A check the FC5 DVD have the same media things.
After read this links:
https://lists.dulug.duke.edu/pipermail/yum/2006-October/009240.html
http://www.fedoraforum.org/forum/archive/index.php/t-133876.html
It is hardcoded, but show how a problem could be resolved.
if we use baseurl (=file:///mnt/disk) of /etc/yum.repos.d/fedora-core.repo
the yum work again!

Comment 67 Sergio Basto 2007-04-11 03:19:53 UTC
the sqlitesack.py is on 
/usr/lib/python2.4/site-packages/yum

just patch or modify it and run yum again 

Comment 68 ali 2007-04-12 11:27:44 UTC

i have nfs running and all cds are dump there
i mount there images under /nfs/fc6
the i rum command 
creatrepo -g /nfs/fc6/repodat/repomd.xml /nfs/fc6/Fedora/RPMS
u need creatrepo rpm to get createrepo command
then go to 
etc/yum.repos.d
edit this file
fedora-core.rep
#add the follwoing lines
[fedora]
name=Fedora Core 
baseurl=file:///nfs/fc6/Fedora/RPMS
enabled=1
gpgkey=file:///nfs/fc6/RPM-GPG-KEY
gpgcheck=1


then in the same file add this follwing line in all section like in core and 
the section below the core section and put the [fedora] secion at top and this 
line
baseurl=file:///nfs/fc6/Fedora/RPMS

Comment 69 ali 2007-04-12 11:42:16 UTC
i have nfs image mount and cds is in nfs server
mount on /nfs/fc6/

then u have to run coomand 
createrepo -r /nfs/fc6/repodata/repomd.xml /nfs/fc6/Fedora/RPMS
u need createreop rpm first this command to work
 then go to /etc/yum.repos.d
and edit the follwing file 
fedora-core-repo
and place this in the top of file

[installcd]
name=Fedora Core 
baseurl=file:///nfs/fc6/Fedora/RPMS
enabled=1
gpgkey=file:///nfs/fc6/RM-GPG-KEY
gpgcheck=1
 


then put the follwing line in core  section and put this line in all section 
bewlow core section
baseurl=file:///nfs/fc6/Fedora/RPMS
if u have all cd dum in ur local hard drive this work also for local hardive
plz comment the basurl and mirror line in these files
fedora-core-repo
fedora-extra-repo
fedora-update-repoe
if u need to update ur system ucomment these line so u can download
then run yum clean all
then run yum -y update if u seen some thing working job done



Comment 70 ali 2007-04-12 11:48:50 UTC
i have nfs image mount and cds is in nfs server
mount on /nfs/fc6

then u have to run coomand 
createrepo -r /nfs/fc6/repodata/repomd.xml /nfs/fc6/Fedora/RPMS
u need createreop rpm fir this command to work
 then go to /etc/yum.repos.d
and edit the follwing file 
fedora-core-repo
and place this in the top of file

[installcd]
name=Fedora Core 
baseurl=file:///nfs/fc6/Fedora/RPMS
enabled=1
gpgkey=file:///nfs/fc6/RM-GPG-KEY
gpgcheck=1
 


then put the follwing line in core and section and put this line in all section 
bewlow core
baseurl=file:///nfs/fc6/Fedora/RPMS
if u have all cd dum in ur local hard drive this work also for local hardive
plz comment the basur and mirror line in these fiel
fedora-core-repo
fedora-extra-repo
fedora-update-repoe
if u need to update ur system ucomment these line so u can download
then run yum clean all
then run yum -y update if u seen some thing working job done



Comment 71 Sergio Basto 2007-04-12 21:52:21 UTC
-            self.simple[varname] = r[0]
+            print "db query for %s returned %s\n" % (varname, r[0])
+            aux=r[0]
+            if (varname=="basepath" and aux[:8]=="media://"):
+                self.simple[varname] = "file:///nfs/fc6/"
+            else :
+                self.simple[varname] = r[0]

if you use this patch on /usr/lib/python2.4/site-packages/yum/sqlitesack.py and
made yum clean all it will use repo of DVD correctly 

Comment 72 Sergio Basto 2007-05-09 04:16:10 UTC
Created attachment 154376 [details]
a more serious patch 

Well, still not perfect but do the work

Comment 73 Sergio Basto 2007-07-16 20:32:41 UTC
yum-3.2.0 and yum-3.2.1 seems to work again thanks! 
this bug could be close ? 

Comment 74 Seth Vidal 2007-08-03 19:38:11 UTC
closing

Comment 75 Sergio Basto 2007-08-04 05:45:17 UTC
and is fix in 3.2.0 ? 
we have a other bug in 3.2.1 that we don't on 3.2.0 

Comment 76 Seth Vidal 2007-08-04 12:40:04 UTC
well, 3.2.2 is in updates-testing - give that a shot.

Comment 77 Sergio Basto 2007-08-04 14:34:49 UTC
I already did , the problem still there.
running pungi -P

yum does not create the header(s) directory / files anymore.

INFO:pypungi.pungi:Running /usr/lib/anaconda-runtime/pkgorder
/srv/pungi/f7/7/Everything/i386/os i386 Fedora
> ERROR:pypungi.pungi:Got an error from /usr/lib/anaconda-runtime/pkgorder
> ERROR:pypungi.pungi:Traceback (most recent call last):
>   File "/usr/lib/anaconda-runtime/pkgorder", line 169, in <module>
>     addGroups(ds, ["core", "base", "text-internet"])
>   File "/usr/lib/anaconda-runtime/pkgorder", line 105, in addGroups
>     processTransaction(ds)
>   File "/usr/lib/anaconda-runtime/pkgorder", line 77, in processTransaction
>     ds.populateTs(keepold=0)
>   File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 201, in populateTs
>     self.downloadHeader(txmbr.po)
>   File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 863, in
downloadHeader
>     cache=repo.http_caching != 'none',
>   File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 599, in getHeader
>     cache=cache,
>   File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 567, in _getFile
>     http_headers=headers,
>   File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 411, in
urlgrab
>     return self._mirror_try(func, url, kw)
>   File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 397, in
_mirror_try
>     return func_ref( *(fullurl,), **kwargs )
>   File "/usr/lib/python2.5/site-packages/urlgrabber/grabber.py", line 927, in
urlgrab
>     return self._retry(opts, retryfunc, url, filename)
>   File "/usr/lib/python2.5/site-packages/urlgrabber/grabber.py", line 845, in
_retry
>     r = apply(func, (opts,) + args, {})
>   File "/usr/lib/python2.5/site-packages/urlgrabber/grabber.py", line 915, in
retryfunc
>     fo._do_grab()
>   File "/usr/lib/python2.5/site-packages/urlgrabber/grabber.py", line 1196, in
_do_grab
>     else: new_fo = open(self.filename, 'wb')
> IOError: [Errno 2] No such file or directory:
u'/var/tmp/yum-root-O3By9L/anaconda/headers/ifd-egate-0.05-17.i386.hdr'




Comment 78 Seth Vidal 2007-08-04 16:38:00 UTC
The bug you're seeing is not a yum bug - it was an issue in anaconda a little
bit ago but I believe it has been corrected.



Comment 79 Dan Schultz 2007-12-01 21:48:36 UTC
(In reply to comment #62)
> I'm a relative newbie to linux - I have used mandrake and suse in the past, and
> both of them allowed me to add packages without network connections. At home I
> have no internet - at work, I do.. At home I have linux, at work, a work's
> windows box ...


I also have no internet at home, I want to download RPM packages onto a USB
stick using a Windows machine at work and carry them home to install from the
USB device using yum. Any ideas how to do this?

Comment 80 Sergio Basto 2007-12-01 22:03:33 UTC
yum local(In reply to comment #79)
> (In reply to comment #62)
> 
> I also have no internet at home, I want to download RPM packages onto a USB
> stick using a Windows machine at work and carry them home to install from the
> USB device using yum. Any ideas how to do this?

yum localinstall 
or localupdate
if you use yum from Fc6 , you could apply the last patch on this report 
(https://bugzilla.redhat.com/attachment.cgi?id=154376)
and use file:// has location of usb as an repo