Bug 13943

Summary: Debian-Repos: Improve update operation for architecture 'all'
Product: [Yocto Project Subprojects] opkg Reporter: Melanie <melanie>
Component: opkgAssignee: Alex Stewart <alex.stewart>
Status: ACCEPTED --- QA Contact:
Severity: normal    
Priority: Undecided CC: alex.stewart
Version: 0.4.2   
Target Milestone: next-minor   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Melanie 2020-06-14 04:26:04 UTC
With this opkg configuration:

arch all 1
arch armhf 8
dist stable http://archive.raspbian.org/raspbian main

The update operation prints the following message:

# opkg update
Downloading http://archive.raspbian.org/raspbian/dists/stable/Release.
Downloaded release files for dist stable.
Downloading http://archive.raspbian.org/raspbian/dists/stable/main/binary-all/Packages.
wget: server returned error: HTTP/1.1 404 Not Found
Downloading http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.
Collected errors:
 * opkg_download_backend: Failed to download http://archive.raspbian.org/raspbian/dists/stable/main/binary-all/Packages, wget returned 1.

The downloaded 'Release' file contains the following line:

Architectures: armhf

The debian-repo format description at [1] states the following about this field:

The presents of the architecture all in this field indicates that the architecture-specific indexes do not include information about Architecture:all packages and have instead their own index file with the architecture all. Clients must download the all index files in this case, but must not download them if the Architectures field does not include all.



Therefore from my point of view opkg should not try to download the 'all' index (unless the Architectures-field of the Release-file contains 'all').



[1] https://wiki.debian.org/DebianRepository/Format#Architectures