Comments (10)
Unfortunately that is a problem that comes from Fedora that does not have groups, and we need to cache info to retrieve packages from groups and viceversa.
Yes, Fedora does have groups. Yumex-dnf uses them and it takes literally no extra time to load the groups page in yumex-dnf. Dnfdaemon should already support this. https://dnf-daemon.readthedocs.io/en/latest/server.html?highlight=group looks like that too.
And if dnfdragora really needs to cache this info, how about loading it in background as soon as it starts, still allowing user interaction?
In the mean while you can can check the "Do not show groups next start up" following Options->User preferences menu. Caching will be performed as soon as groups are chosen.
Hm, that sounds like a pretty dirty hack…
from dnfdragora.
Guessing you're using Fedora, are you displaying groups or all at start-up?
from dnfdragora.
Ah yes, the Groups display is the problem.
from dnfdragora.
Unfortunately that is a problem that comes from Fedora that does not have groups, and we need to cache info to retrieve packages from groups and viceversa. So since i can't see that nothing comes from dnf side we need to find someone who implements something in dnfdaemon for that. In the mean while you can can check the "Do not show groups next start up" following Options->User preferences menu. Caching will be performed as soon as groups are chosen.
from dnfdragora.
And if dnfdragora really needs to cache this info, how about loading it in background as soon as it starts, still allowing user interaction?
I completely agree. I think there is a better possible outcome with this.
Can this be re-opened please? Perhaps tagged as an Enhancement...?
from dnfdragora.
Well,
Hm, that sounds like a pretty dirty hack…
it isn't, it just allows Fedora users to work as yumex-dnf, despite of the problem we have now.
And if dnfdragora really needs to cache this info, how about loading it in background as soon as it starts, still allowing user interaction?
We can't, we have no threads, and that's why it must be addressed to dnfdaemon.
Yes, Fedora does have groups.
Well they are not the same as other distros, but i leave @Conan-Kudo to explain what i mean.
from dnfdragora.
What @anaselli means by Groups is that Fedora doesn't actively use the RPM Groups tag anymore. dnfdragora's default configuration is parse the Group tag to organize packages. However, the Group tag is utter nonsense in Fedora since people stopped properly maintaining the organizational structure there. Well, that and the Red Hat Linux 9 groups definition is really bad compared to what SUSE and Mageia do.
Anyway... Fedora uses composition groups (what most people call "comps groups"), which are specifically a type of object from Anaconda to represent installable collections, since the RPM collections feature never really worked. SUSE's equivalent is Patterns, which we don't support at all since DNF doesn't yet.
Because comps groups are a different type of metadata, it has to be handled differently. There are also some issues in the DNF API for handling comps groups, in part because the underlying libcomps library sucks. We do some extra stuff in dnfdragora to make this not as crappy, but figuring out a way to do this sanely in dnf(daemon) so that it's not so bad is difficult.
The two fundamental issues are:
- dnfdaemon can't get the "full names" (including translated names) directly from DNF
- comps groups are an N:M relationship, so we need to reparse it multiple times to categorize things correctly
Solving (1) is tricky due to having to touch all the underlying API layers, and solving (2) is almost impossible without inducing lockups everywhere. One thing we could do is possibly have it load the group package list on-demand, but that just staggers out the load requests rather than buffering them up at the beginning. It might be an acceptable way to handle it for now, though. I'm not sure if we're already doing this, though...
from dnfdragora.
I should think the "comps" files already in /var/cache/dnf, or some existing interface to them, could be utilized.
I guess that's why
https://dnf-daemon.readthedocs.io/en/latest/server.html?highlight=group
specifically notes that Group support is Under Development. :)
from dnfdragora.
as you can see dnfdaemon is now under manatools developement since @Conan-Kudo took its ownership, so I don't know what is still valid in that documentation, I mean Under Development
means not developed by old maintainers...
from dnfdragora.
Well, it means the feature isn't fully there, which is definitely true.
from dnfdragora.
Related Issues (20)
- dnfdragora fails to query state of dnf-makecache.timer HOT 14
- Clicking to the right of a checkbox sets a remove flag even if the package isn't installed. HOT 1
- Dnfdragora require changes for latest libyui stack
- dnf Dragora constantly crashes, does not even work in wayland. HOT 2
- dnf dragora 2.1.2 won't maximize on gnome wayland on fedora 36 HOT 14
- dnfdragora 2.1.2 starts the app window with 0 width HOT 9
- Dnfdragora backend's (dnfdeamon) ignores DNF's variables HOT 3
- Fedora: dnfdragora doesn't respect /etc/dnf/vars HOT 3
- Feature Request: Clicking on Update Notification should open main GUI HOT 4
- dfndagora hang when search criterion is empty HOT 1
- feature request: add option to save column width ...
- Prepare for DNF 5 HOT 14
- dnfdragora opening as a line. HOT 8
- The app is squashed when is opened HOT 8
- 'Update information' crash dnfdragora HOT 4
- Create an rpm package from dnfdragora sources ? HOT 1
- Broken Matrix room link in README HOT 1
- Updates are available, but the updates list is empty HOT 4
- Statistics in dnfdragora
- dnfdragora-updater Won't start F40 Plasma 6 rc-1 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dnfdragora.