You may start getting “Failed to fetch” error messages when updating your software sources (e.g. through “
apt-get update” or “Reload package information” in Synaptic), which may be due to a bug we’ve just cleaned up in Launchpad’s PPAs.
The error looks like this:
W: Failed to fetch http://ppa.launchpad.net/chromium-daily/ppa/ubuntu/dists/maverick/Release
Unable to find expected entry restricted/binary-i386/Packages in Meta-index file (malformed Release file?)
E: Some index files failed to download, they have been ignored, or old ones used instead.
Fixing the cause of the error
Here’s how to fix it. In your terminal, type:
sudo gedit /etc/apt/sources.list
In the editor, look for PPA sources — these are URLs that feature the ppa.launchpad.net domain. In this example, someone has set up the ~ubuntu-x-swat/x-updates PPA incorrectly:
deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu maverick main
deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu maverick restricted
deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu maverick universe
deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu maverick multiverse
All of these refer to different components within the same PPA. PPAs only have the first component, so you should delete lines for PPAs that don’t end in “main”. Watch out for lines that wrap, as with the “restricted”, “universe” and “multiverse” examples above.
You may also need to check source lists under the /etc/apt/sources.list.d directory.
Note: you should leave your standard Ubuntu sources, and any non-PPA sources, just as they are.
If you’re not sure how to do this, pop into #launchpad on freenode and one of the Launchpad community will help.
Why this has happened
The Debian-style archives used by Ubuntu are often divided into different components. With Ubuntu, you’ve probably heard of at least “main” and “universe”.
PPAs don’t use these components. However, a bug in Launchpad meant that, until December, PPAs were published with a number of different components. All of these components were empty and there was no way to publish anything to them.
Today, we started to remove these empty components from PPAs. The only impact we anticipate is that anyone whose sources.list referenced these components in a PPA will now see an error when performing an apt-get update or similar.
No packages are being deleted and anyone with a correctly defined sources.list will be able to carry on just as before.
(Originally from Julian.)