Software Management (RPM, DNF) 2020 retrospective

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

 



Hi,
On behalf of RPM and DNF teams, I would like to highlight changes that have appeared in our packages in 2020. Thanks everyone for your bug reports and patches!


RPM
---

$ rpm --eval '%[0 < 1 ? "true" : "false"]'
* Support for complex expressions and conditionals with short-circuit logic etc in macros via %[...] and %{expr:...}

$ rpm --eval '%[v"1.10" > v"1.2"]'
  * Rpm versions as native objects in expressions, eg v"3.1-1"

$ rpmbuild
* Parametric macro dependency generators offer a lightning fast way to generate dependencies where applicable * Meta dependencies, eg Requires(meta) allow specifying dependencies without introducing ordering constraints
  * Dependency generation based on MIME types

$ rpm --rebuilddb
  * New sqlite3 backend
    * More robust than the Berkley DB backend
    * SQLite3 has also a more permissive license than the latest BDB
  * NDB backend promoted to stable
* Support for migration (reading) from BDB databases without linking to BDB


DNF
---

$ dnf needs-restarting
  * Introduced the needs-restarting.d drop-in directory

$ dnf reposync
  * Fixed modularity issues, able to sync modular repos correctly

$ dnf groups-manager
  * yum-groups-manager is back
  * Upstream only, to be released in Fedora soon
  * https://github.com/rpm-software-management/dnf-plugins-core/pull/412

$ dnf module switch-to
* Switches the module stream and also performs distro-sync on the new stream content

$ dnf history store/replay
* New commands for storing a transaction and replaying it on another system

$ dnf system-upgrade
* The code was refactored to use the store/replay feature in the background
  * Landing in Fedora now

$ dnf system-upgrade
  * Comps groups are upgraded during the system upgrades

$ dnf offline-upgrade
$ dnf offline-distrosync
  * New commands to upgrade your system on reboot


MICRODNF
--------

$ microdnf module <enable|reset|disable>
  * New commands for managing modules

$ microdnf --config
  * Microdnf reads values from dnf.conf
  * It is possible to specify a path to the config

$ microdnf --refresh
  * Force repodata refresh
  * Microdnf also honors the metadata_expire configuration option


LIBDNF
------
* Many changes to make the DNF features available in microdnf and PackageKit (and Gnome Software)


DNF 5
-----
* The goal is to remove redundant code and make sure all tools built on top libdnf work the same (DNF currently uses a different code path than microdnf and PackageKit) * We're behind the plan because we spent the time fixing DNF 4 stack instead (modularity, new features, crashes, etc.)
  * There's a COPR repo with unstable nightlies:
    * dnf copr enable rpmsoftwaremanagement/dnf5-unstable
    * dnf install microdnf5
    * dnf install python3-libdnf5 perl5-libdnf ruby-libdnf
* WARNING: Here be dragons! The software is not ready for general use yet. * The next steps are: finish the core functionality, stabilize the API and make the package available in Fedora in parallel with the DNF 4 stack
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux