[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1104093: apt doesn't download dep11 files of a self-hosted repository



Package: apt
Version: 3.0.0
X-Debbugs-CC: mak@debian.org

I own and manage a self-hosted Debian repository (https://repo.dawn.org.in/apt). This repository implements the dep11 specification to provide metadata files for the hosted packages. I use `appstream-generator` for generating the metadata. The appstream files are stored correctly in the directory named dep11 (dists/stable/main/dep11) as per the specification. The Release and InRelease files are also updated afterwards to include these files.

However for some reason, apt never fetches the dep11 files from the repository. I checked the file access permissions on the web-server and cross checked them by manually accessing the files via `wget`. It seems that apt doesn't even try to fetch the metadata from the server. To confirm this, I manually checked /var/lib/apt/lists. There is no evidence of any appstream data downloaded from the repository. I also checked /var/lib/swcatalog. appstreamcli does not recognize the app (in this case, the repository hosts a game called wikilynx (in.org.dawn.wikilynx)). appstreamcli is able to recognize the app from Flathub metadata.

I cross checked the directory structure and Release file with Debian repositories, except for the fact that the repo does not implement fetch-by-hash method, there is no visible difference in placement of these dep11 files. I have tested this in several clients and none of them showed any difference.

Here is a sample `apt update` output on one of my systems.

$ sudo apt update
Get:1 http://deb.debian.org/debian sid InRelease [205 kB]
Get:2 http://deb.debian.org/debian sid/contrib Sources [64.6 kB]
Get:3 http://deb.debian.org/debian sid/main Sources [11.0 MB]
Get:4 https://repository.spotify.com stable InRelease [3,316 B]
Get:5 https://repo.dawn.org.in/apt stable InRelease [8,038 B]
Get:6 https://repository.spotify.com stable/non-free amd64 Packages [1,643 B]
Get:7 https://repo.dawn.org.in/apt stable/main amd64 Packages [2,984 B]
Get:8 https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium InRelease [3,411 B]
Get:9 http://deb.debian.org/debian sid/non-free-firmware Sources [7,192 B]
Get:10 https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium/main amd64 Packages [1,208 B]
Get:11 http://deb.debian.org/debian sid/non-free Sources [87.1 kB]
Get:12 http://deb.debian.org/debian sid/main amd64 Packages [10.1 MB]
Get:13 http://deb.debian.org/debian sid/main Translation-en [7,406 kB]
Get:14 http://deb.debian.org/debian sid/main amd64 Components [5,216 kB]
Get:15 http://deb.debian.org/debian sid/main Icons (48x48) [3,759 kB]
Get:16 http://deb.debian.org/debian sid/main Icons (64x64) [7,710 kB]
Get:17 http://deb.debian.org/debian sid/contrib amd64 Packages [67.6 kB]
Get:18 http://deb.debian.org/debian sid/contrib Translation-en [58.3 kB]
Get:19 http://deb.debian.org/debian sid/contrib amd64 Components [39.8 kB]
Get:20 http://deb.debian.org/debian sid/contrib Icons (48x48) [63.5 kB]
Get:21 http://deb.debian.org/debian sid/contrib Icons (64x64) [137 kB]
Get:22 http://deb.debian.org/debian sid/non-free amd64 Packages [132 kB]
Get:23 http://deb.debian.org/debian sid/non-free Translation-en [88.4 kB]
Get:24 http://deb.debian.org/debian sid/non-free amd64 Components [5,264 B]
Get:25 http://deb.debian.org/debian sid/non-free Icons (48x48) [29 B]
Get:26 http://deb.debian.org/debian sid/non-free Icons (64x64) [26.5 kB]
Get:27 http://deb.debian.org/debian sid/non-free-firmware amd64 Packages [6,984 B] Get:28 http://deb.debian.org/debian sid/non-free-firmware Translation-en [4,707 B] Get:29 http://deb.debian.org/debian sid/non-free-firmware amd64 Components [24.3 kB] Get:30 http://deb.debian.org/debian sid/non-free-firmware Icons (48x48) [29 B] Get:31 http://deb.debian.org/debian sid/non-free-firmware Icons (64x64) [29 B]
Fetched 46.3 MB in 5s (8,697 kB/s)
All packages are up to date.
$

The repository is configured like this.

sudo sh -c "curl https://repo.dawn.org.in/.keys/dawn-repo.gpg > /usr/share/keyrings/dawn-repo.gpg" sudo sh -c "echo deb [signed-by=/usr/share/keyrings/dawn-repo.gpg] https://repo.dawn.org.in/apt stable main > /etc/apt/sources.list.d/dawn.list"

For your reference, there is also a web-server to host the html, media and hints (https://metainfo.dawn.org.in).

I believe apt should fetch the dep11 files from the repository to let appstream load the downloaded metadata files.

The output given above is from Debian GNU/Linux trixie/sid, kernel 6.12.22-amd64, libc6 2.41-7, apt 3.0.0 and appstream 1.0.5-1.


Reply to: