Η ανάπτυξη του διαχειριστή πακέτων DNF 5 και η αντικατάσταση του PackageKit έχει ξεκινήσει

Daniel Mach από την Red Hat сообщил σχετικά με την έναρξη της ανάπτυξης του διαχειριστή πακέτων DNF 5, στον οποίο η λογική DNF που υλοποιείται στην Python θα μεταφερθεί στη βιβλιοθήκη libdnf γραμμένη σε C++. Το DNF 5 σχεδιάζεται να ξεκινήσει τη δοκιμή τον Ιούνιο κατά την ανάπτυξη του Fedora 33, μετά την οποία θα προστεθεί στο αποθετήριο Rawhide τον Οκτώβριο του 2020 και θα αντικαταστήσει το DNF 2021 τον Φεβρουάριο του 4. Η συντήρηση του κλάδου DNF 4 θα συνεχιστεί ως έχει χρησιμοποιείται στο Red Hat Enterprise Linux 8.

Σημειώνεται ότι το έργο έχει φτάσει σε μια κατάσταση στην οποία είναι σχεδόν αδύνατο να συνεχιστεί η ανάπτυξη του κώδικα χωρίς διακοπή της συμβατότητας σε επίπεδο API/ABI. Αυτό οφείλεται κυρίως στο απώλεια τη συνάφεια του PackageKit και την αδυναμία ανάπτυξης του libdnf χωρίς αλλαγή του API «libhif». Ταυτόχρονα, παρά την πρόθεση αλλαγής του API, η διατήρηση της συμβατότητας προς τα πίσω στο επίπεδο της διεπαφής της γραμμής εντολών και του API λέγεται ότι είναι η κύρια προτεραιότητα.

Η υποστήριξη για το Python API στο DNF θα διατηρηθεί, αλλά η επιχειρηματική λογική που είναι γραμμένη στην Python θα μεταφερθεί στη βιβλιοθήκη libdnf (C++), η οποία θα εξασφαλίσει την ίδια λειτουργία του διαχειριστή πακέτων στη διανομή. Η ανάπτυξη θα επικεντρωθεί γύρω από το C++ API και το Python API θα δημιουργηθεί αυτόματα με τη μορφή ενός περιτυλίγματος που θα βασίζεται σε αυτό.
Δεσίματα για Go, Perl και
Ρουμπίνι. Αφού σταθεροποιηθεί το C++ API, θα προετοιμαστεί ένα C API στη βάση του, στο οποίο θα μεταφερθεί το rpm-ostree. Χάουκι Το Python API θα αφαιρεθεί και θα αντικατασταθεί με libdnf Python API.

Η βασική λειτουργικότητα του DNF θα διατηρηθεί. Λόγω της μεγάλης σουίτας δοκιμών (περίπου 1400 δοκιμές), αναμένεται ότι η εκ νέου επεξεργασία του API δεν θα επηρεάσει τη διεπαφή της γραμμής εντολών για τους τελικούς χρήστες. Η ανάλυση επιχειρημάτων και η έξοδος ενδέχεται να αλλάξουν ελαφρώς, αλλά αυτές οι αλλαγές θα είναι καλά τεκμηριωμένες. Σε απογυμνωμένη έκδοση microdnf, που χρησιμοποιείται σε κοντέινερ, σχεδιάζεται να εφαρμοστεί ένα υποσύνολο δυνατοτήτων DNF· δεν λαμβάνεται υπόψη η επίτευξη πλήρους ισοτιμίας στη λειτουργικότητα.

Αντί για Πακέτο κιτ Θα δημιουργηθεί μια νέα υπηρεσία DBus που παρέχει μια διεπαφή για τη διαχείριση πακέτων και ενημερώσεων για γραφικές εφαρμογές. Αυτή η υπηρεσία σχεδιάζεται να αναπτυχθεί από την αρχή, επομένως η δημιουργία της μπορεί να απαιτεί πολύ χρόνο. Το PackageKit δεν έχει αναπτυχθεί πρόσφατα και βρίσκεται σε λειτουργία συντήρησης από το 2014 λόγω απώλειας συνάφειας. Με την πρόοδο των συστημάτων Snaps και Flatpak, οι διανομές χάνουν το ενδιαφέρον τους για το PackageKit, για παράδειγμα, δεν είναι πλέον διαθέσιμο σε εκδόσεις Fedora Silver Blue. Το επίπεδο αφαίρεσης για τη διαχείριση πακέτων παρέχεται σε μεγάλο βαθμό από τα εγγενή Κέντρα Ελέγχου Εφαρμογών GNOME και KDE, τα οποία επιτρέπουν την εγκατάσταση πακέτων flatpak σε επίπεδο μεμονωμένου χρήστη. Το ενοποιημένο API συστήματος για τη λήψη μιας λίστας εγκατεστημένων πακέτων δεν είναι τόσο χρήσιμο όσο πριν.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο