-
-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement drivers (AppStream) #243
Conversation
@donadigo Is there a way we could have both backends supported, and have a build-time option to use one or the other? |
@Conan-Kudo yes, we could use conditional compiling here. |
Is this PR still valid? Or does your other PR for the drivers supersede this? |
@Philip-Scott yes, this PR is still valid. We're waiting on having all the drivers available as AppStream data, that's why this PR is blocked and cannot be merged now. |
Could you rebase this against current master? |
@donadigo Converting to draft as has conflicts and no recent activity. Please feel free to close or request review as desired. |
Gonna close this since there hasn't been movement in a couple years |
Implements drivers and fixes #12.
After discussion on the Slack channel I decided to give AppStream implementation of drivers a go. We no longer depend on any Ubuntu / Debian specific code. Everything is based on AppStream and PackageKit, however scanning modaliases on the system is pretty much a Vala version of the UbuntuDrivers component. For more details about the code and it's design, look into the diff, I left some explanation for each driver related method.
Note that currently there is no AppStream data to test this branch with and this is kind of a problem since this feature is being asked by lots of people. So how did I test it?
The way to test this is to fool AppStream that some components are drivers. All of the compiled data is stored in
/usr/share/app-info/yaml/pantheon_xenial-main_amd64.yml.gz
file. Open this file with archive manager (with admin), and edit the .yml file inside of it. Choose some component and change it'sType
field fromdesktop-app
todriver
. Next you will need a supported modalias by your system. These can be found by e.g: executingubuntu-drivers debug
and choosing one of themodalias
strings. After that you can paste this under theProvides
field:and save the file.
Sorry if this is really complicated but this is the only way I found to test this. Perhaps Matthias knows a better way.