<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p>Hi.</p>
<p>I hope you are well.</p>
<p>I did approach Ubuntu a few years ago about a concept to install
devices not supported by apt without having to git clone and build
repositories into machine code before inserting them into the kernel.</p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">I've rewritten it in python, I've made it possible to install software not available via apt in Linux at 1 key press.</span></p><span style="color:rgb(0,0,0)">
</span><div style="max-width:800px"><span style="color:rgb(0,0,0)">
</span><div><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">No
more searching for GitHub repositories and dkms install, it's a
wrapper around dkms GitHub repositories which allows the user to
install software from the best repository as rated in GitHub stars for
their device.</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">It supports multiple platforms and multiple architectures.</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)"><strong>How do developers submit their code:</strong></span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">They add a file in their repository called tuxconfig.conf listing:</span></p><span style="color:rgb(0,0,0)">
</span><ul><li><p><span style="color:rgb(0,0,0)">The supported USB / pci ids.</span></p></li><li><p><span style="color:rgb(0,0,0)">The architecture supported, eg. i386, x86_64, BCM2711 for raspberry pi 4.</span></p></li><li><p><span style="color:rgb(0,0,0)">The install file location.</span></p></li><li><p><span style="color:rgb(0,0,0)">The dkms module name.</span></p></li><li><p><span style="color:rgb(0,0,0)">A test script which exits with "0" should the device be detected as installed properly.</span></p></li><li><p><span style="color:rgb(0,0,0)">They link their repository to our system</span></p></li></ul><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)"><strong>What about dodgy code being imported?</strong></span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">We have a vetting console for each repository, it requires 3 sign offs to ensure each repository is safe to install.</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)"><strong>What if the "best" repository doesn't work?</strong></span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">The system offers the next best one.</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)"><strong>Why should I contribute repositories?</strong></span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">If a device is installed successfully we provide details of the user who contributed and signed off on it, free publicity :)</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">It's available at <a href="http://www.tuxconfig.com/" rel="noopener nofollow ugc noreferrer" target="_blank">www.tuxconfig.com</a><br></span>
</p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">If the Ubuntu developers would like to work on this, not just for Ubuntu but all Linux distributions, please get in touch.</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">The main differences between my original submission are:</span></p><span style="color:rgb(0,0,0)">
</span><ul><li><span style="color:rgb(0,0,0)">We rate the quality of device drivers using GitHub stars.</span></li><li><span style="color:rgb(0,0,0)">We don't rely on the user to see if a device is installed correctly, we ascertain that using a test script.</span></li><li><span style="color:rgb(0,0,0)">It's rewritten in Python.</span></li><li><span style="color:rgb(0,0,0)">We check previous instals with future ones on the client
device, as these change in time. Previously the second best voted
submission would be pulled from the server, in this version the client
compares the rating of their submission against what is now available.</span></li><li><span style="color:rgb(0,0,0)">Static libraries are not missing.<br></span></li></ul><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">Please get in touch if you have
any channels to contribute to this, including a UI, and the coverage
needed to to encourage developers to submit repositories to the system.</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)">Thanks,</span></p><span style="color:rgb(0,0,0)">
</span><p><span style="color:rgb(0,0,0)"> Rob Brew.</span></p>
</div>
</div>
</div>
</blockquote></div></div></div>