Hi,
if you run “apt update” on machines with the MNT repository configured you will see the following message:
$ sudo apt update
Get:1 http://deb.debian.org/debian unstable InRelease [208 kB]
Ign:2 https://mntre.com/reform-debian-repo reform InRelease
Get:3 https://mntre.com/reform-debian-repo reform Release [7,194 B]
Error: Repository 'https://mntre.com/reform-debian-repo reform Release' changed its 'Origin' value from '' to 'MNT Research'
Notice: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N]
TLDR: this is intentional. You can safely accept this and continue.
The long story is this: Right now, the MNT Debian repository sets the following metadata values:
Label: reform
Suite: reform
Codename: reform
This means that to identify this repository to your local apt, you rely on the fact that nobody else names their repository “reform”. We also use the label (l=
) and the codename (n=
) to identify the repository for the apt pinning setting:
Package: *
Pin: release n=reform, l=reform
Pin-Priority: 990
But the name “reform” does not indicate where the package is from. It rather explains what the repository is for. It is perfectly reasonable for other parties who create Debian repositories for the MNT Reform to also name their repositories “reform” (even though reform.d.n for example does not do this). The above would probably be a bit better written using the “origin” field like this:
Package: *
Pin: origin "mntre.com"
Pin-Priority: 990
But using the label and codename has the advantage that I can now throw in repositories from the MNT gitlab CI into my sources list like this:
deb [trusted=yes arch=arm64] https://source.mnt.re/reform/reform-debian-packages/-/jobs/${PIPELINE_ID}/artifacts/raw/repo reform main
And the pinning settings would automatically apply to that repository as well even though the “origin” is source.mnt.re
.
But apt pinning is not the only place where we want repositories to have metadata. apt patterns are another area of application. For example, I might like to write: show me all packages installed from MNT repositories. So I could write this:
apt list '?narrow(?installed, ?codename(reform))'
But this assumes that nobody else uses the very general name “reform” in a repository you have configured. It would be better to be able to match on a value of who the repository is from. This information is usually part of the “Origin” field in a Release file (not to be confused with “origin” in apt preferences which is the domain name). The mapping looks like this:
Release pattern pinning Example
-------------------------------------------
Codename ?codename n= sid
Label n.a. l= Debian
Suite ?archive a= unstable
Origin ?origin o= Debian
From above table we already see that the repository’s label is not available as an apt pattern so what we would like to match on is the “Origin” field. But that field is currently not used at all.
With the latest mirror push, the value of the “Origin” field is now “MNT Research”. So you can now run something like this to figure out which packages you have installed from MNT:
$ apt list '?narrow(?installed, ?origin(MNT Research))'
flash-kernel/reform,now 3.109+reform20250506T203207Z1 arm64 [installed]
fonts-reform-iosevka-term/reform,now 2.3.0-1 all [installed,automatic]
linux-headers-6.14.6-common/reform,now 6.14.6-1~exp1+reform20250524T044902Z all [installed,automatic]
linux-headers-6.14.6-mnt-reform-arm64/reform,now 6.14.6-1~exp1+reform20250524T044902Z arm64 [installed,automatic]
linux-headers-mnt-reform-arm64/reform,now 6.14.6-1~exp1+reform20250524T044902Z arm64 [installed]
linux-image-mnt-reform-arm64/reform,now 6.14.6-1~exp1+reform20250524T044902Z arm64 [installed]
linux-kbuild-6.14.6/reform,now 6.14.6-1~exp1+reform20250524T044902Z arm64 [installed,automatic]
reform-desktop-full/reform,now 1.72-2+reform20250520T090524Z1 all [installed]
reform-desktop-minimal/reform,now 1.72-2+reform20250520T090524Z1 all [installed,automatic]
reform-tools/reform,now 1.72-2+reform20250520T090524Z1 all [installed,automatic]
reform2-lpc-dkms/reform,now 1.72-2+reform20250520T090524Z1 all [installed,automatic]
Bonus: the apt policy
output now includes the o=
field even for the MNT repo just like the Debian repositories do as well:
$ apt policy
Package files:
100 /var/lib/dpkg/status
release a=now
990 https://mntre.com/reform-debian-repo reform/main arm64 Packages
release o=MNT Research,a=reform,n=reform,l=reform,c=main,b=arm64
origin mntre.com
500 http://deb.debian.org/debian unstable/non-free-firmware arm64 Packages
release o=Debian,a=unstable,n=sid,l=Debian,c=non-free-firmware,b=arm64
origin deb.debian.org
500 http://deb.debian.org/debian unstable/main arm64 Packages
release o=Debian,a=unstable,n=sid,l=Debian,c=main,b=arm64
origin deb.debian.org
Here is an overview of how the Release file values look like for the MNT repositories and for reform.debian.net:
Release MNT reform.debian.net
-------------------------------------------
Codename reform trixie
Label reform reform.debian.net
Suite reform trixie
Origin MNT Research reform.debian.net
Sorry for the inconvenience this causes while updating your apt indices.