== Summary ==
Currently the apt package in Fedora actually installs apt-rpm,
starting with Fedora 32 it will provide the regular apt software
backed by DPKG.
== Owner ==
* Name: [[User:dridi| Dridi Boukelmoune]], [[User:ngompa | Neal Gompa]]
* Email: dridi(a)fedoraproject.org, ngompa13(a)gmail.com
== Detailed Description ==
The apt package in Fedora does not ship the mainline apt software from
Debian, but rather the apt-rpm fork instead. This allows a user to
copy and paste apt or apt-get commands often found in "Linux"
tutorials. This will usually work, apt-rpm will resolve dependencies
from the Yum/DNF repositories and since our package naming guidelines
often lead to the same package names as apt-based distributions like
Debian and Ubuntu.
The apt-rpm software is dead upstream and doesn't support rich
dependencies or modules. It also has known vulnerabilities and
according to its author other bugs that are never going to be fixed.
== Benefit to Fedora ==
By switching the Fedora apt package from apt-rpm to regular apt we
move from a dead to a living upstream. We also close security holes
and introduce a critical dependency for more packages from the DPKG
ecosystem. It is already possible to build Deb packages in Fedora,
including with pbuilder, an equivalent for mock in the DPKG ecosystem,
however pbuilder uses debootstrap to provision a build environment.
While we may lose the ability to "apt-get install" Fedora packages
from the command line, we also open the gate for sbuild, another mock
equivalent to build Debs in a clean environment. This change offers
more options to target Debian and derivative systems without leaving
the Fedora comfort zone.
== Scope ==
* Proposal owners: re-review of the apt package with the proper
RH#1764813]), and optionally more dependent packages.
* Other developers: N/A (not a System Wide Change)
* Release engineering: N/A (not needed for this Change)
* Policies and guidelines: As apt would conflict with DNF for the host
system, we may want to ship it without pre-configured repositories.
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
Any user actively relying on apt-rpm will lose functionality that
cannot be replaced. Because apt-rpm's version is much lower than the
current apt version, this change will follow the natural upgrade path.
== How To Test ==
If sbuild is packaged in time for the beta, performing builds with
sbuild should be enough to confirm that apt was able to provision a
== User Experience ==
Anyone used to paste apt-get commands in a terminal will no longer be
able to install or remove Fedora packages this way.
On the other hand anyone needing regular apt tooling will be able to
work with it directly from Fedora.
== Dependencies ==
Apt shouldn't bring more dependencies, it will be the dependency for
more packages from the DPKG ecosystem.
== Contingency Plan ==
* Contingency mechanism: Simply retire apt (apt-rpm)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)
* Blocks product? N/A
== Documentation ==
Once installed, apt ships multiple manual pages available in several
languages. There will no longer be any references in the shipped apt
package documentation of handling RPMs.
== Release Notes ==
The apt package has been rebased from apt-rpm to Debian's apt. This
means that apt no longer supports handling RPMs or managing RPM-based
systems. Please use dnf for software management of RPM-based systems
He / Him / His
Fedora Program Manager