This type handles foreign architectures on systems managed by dpkg(1). The object id is the name of the architecture accepted by dpkg, which should be added or removed.
If the architecture is not setup on the system, it adds a new architecture as a new foreign architecture in dpkg. Then, it updates the apt package index to make packages from the new architecture available.
If the architecture should be removed, it will remove it if it is not the base architecture on where the system was installed on. Before it, it will purge every package based on the "to be removed" architecture via apt to be able to remove the selected architecture.
present or absent. Defaults to present.
Added the specified architecture
Removed the specified architecture
Aborts in the following cases:
If dpkg(1) is not available. It will abort with a proper error message.
If the architecture is the same as the base architecture the system is build upon it (returned by dpkg --print-architecture) and it should be removed.
It will fail if it can not execute apt(8). It is assumed that it is already installed.
# add i386 (32 bit) architecture __dpkg_architecture i386 # remove it again :) __dpkg_architecture i386 --state absent
Multiarch on Debian systems
How to setup multiarch on Debian
dpkg(1) cdist-type__package_dpkg(7) cdist-type__package_apt(7)
# base architecture installed on this system dpkg --print-architecture # extra architectures added dpkg --print-foreign-architectures
Matthias Stecher <matthiasstecher at gmx.de>
Copyright (C) 2020 Matthias Stecher. You can redistribute it and/or modify it under the terms of the GNU General Public License as ublished by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ungleich GmbH 2021