<div dir="ltr"><div dir="ltr"><div>Hi and welcome!<br></div></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le ven. 6 janv. 2023 à 15:55, Brent Mackey <<a href="mailto:bjdm.92@gmail.com">bjdm.92@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<br><br>As per the flatpak matrix channel, I've drafted a proposal for the Season of KDE project idea to package apps for Flathub.<br><br>Project type: Coding and Packaging<br>Brief explanation: We currently have Flatpaks recipes for a lot of KDE Apps (<a href="https://invent.kde.org/packaging/flatpak-kde-applications" target="_blank">https://invent.kde.org/packaging/flatpak-kde-applications</a>) but only some of them are available on Flathub (<a href="https://flathub.org/apps/search/org.kde" target="_blank">https://flathub.org/apps/search/org.kde</a>). You will work on submitting missing KDE Apps to Flathub while fixing the issues that come up during the submission review. Once you've understood the process better, you may start working on tooling to help maintain KDE Apps as Flatpaks in both Flathub and KDE CI/CD infrastructure in GitLab.<br>Expected results: Submit a couple of KDE Apps to Flathub and develop fixes for the issues found during review.<br>Knowledge Prerequisite: C++, Qt, CMake, Bash, Python (basic knowledge in at least two of those is recommended)<br>Mentor: Timothée Ravier. Reach out to <a href="https://matrix.to/#/%23flatpak:kde.org" target="_blank">https://matrix.to/#/#flatpak:kde.org</a>.<br><br>Proposal: KDE Apps packaging as Flatpak for Flathub<br>Based on my hacky python script, there are 61 apps hosted on kdeapps that are not on Flathub (see below). These applications have existing flatpak manifests on invent.k.o/packaging/flatpak-kde-applications, or their respective repository, that would need to be ported over to comply with Flathub's requirements (<a href="https://github.com/flathub/flathub/wiki/App-Requirements" target="_blank">https://github.com/flathub/flathub/wiki/App-Requirements</a>). <br><br>My understanding of this process and how I would go about it is as follows:<br> 1. Clone individual repos and test builds locally to avoid polluting merge requests and CI/CD jobs<br> 2. Determine which commit or release the flatpak should be pinned to (use release service or speak with maintainers)<br> 3. Confirm stable release builds locally, preferably using the tools at invent.kde.k.o/sysadmin/ci-utilities. Change module source to <a href="https://download.kde.org/stable/release-service/$version/src/$app-$version.tar.xz" target="_blank">https://download.kde.org/stable/release-service/$version/src/$app-$version.tar.xz</a> or appropriate<br> 4. Pin all other modules to appropriate archives or stable release<br> 5. Reconfirm build succeeds correctly using Flathub's SDK and Platform modules (I don't think this is actually necessary)<br> 6. Ensure that each app's .desktop, icon, etc. files are renamed correctly ie. org.kde.$APP.desktop<br> 7. Check conformance with Flathub AppData requirements using Flathub's fork of appstream-util<br> 8. Check desktop-file-validate<br> 9. Set required permissions and file system access using portals. Use ro where possible<br> 10. Confirm flatpak installs and runs correctly locally<br> 11. Clone flathub/flathub and create my own branch<br> 12. Create a PR against new-pr on github<br><br>If I was able to manage this, I would then go about automating the process by adding another template using flatpak.yml as a starting point, adding any additional steps required for for passing tests and ensuring builds to ci-utilities.<br><br>Some other ideas I've had are:<br> - making sure all runtimes are up to date for Flatpak builds across both plaforms<br> - A script to check that flathub builds are using the most recent stable builds<br> - Ensure reuse-lint is enabled on all repos being uploaded to Flathub to ensure future compatibility<br> - Work with flatpak packaging team to establish some best practices and script testing of conformance<br><br>If I need to include more detail of any sort or need to clarify anything, I am available on the matrix channel as bjdm or here.<br><br></div></blockquote><div><br></div><div>For information, the proposal needs to be filled in <a href="https://season.kde.org/">https://season.kde.org/</a>.</div><div><br></div><div>I'm not sure this list is the best one if you want reviews (except if your potential mentors are here). Also, it would be probably easier to write the proposal in a google doc for example so people can add comments directly in it (it would avoid "spamming" people that do not have interest in it, and follow more easily the remarks) and you can share it (in the flatpak Matrix room and I don't know which mailing list would be better suited for this as I don't think there is a specific one for Flatpak).<br></div><div><br></div><div>Also, please register to this list if you plan to do SoK, there are several information that is shared here (<a href="https://mail.kde.org/mailman/listinfo/kde-soc">https://mail.kde.org/mailman/listinfo/kde-soc</a>, you can see the archives).</div><div><br></div><div>Cheers,</div><div>Johnny<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Many thanks and I look forward to hearing from you<br>Brent<br><br>Apps on kdeapps and not flathub:<br>Arkade, AtCore Test Client, Atelier, Babe, Basket, Calindori, Gemini, Plan, Cervisia, Discover, Dragon Player, Kate, KCharSelect, kdebugsettings, KDE Connect, kdiff3-stable, kexi-stable, kexi, KFloppy, Khipu, Kirigami Gallery, Kirogi, KItinerary Command Line Extractor, KItinerary Workbench, kjournald, Klimbgrades, KMag, KMix, Kompare, Konqueror, Konsole, konversation-konvi2x, Kopete, kosmindoormap, KRename, Krfb, krita-nightly, krita-stable, KShisen, KSpaceDuel, KSystemLog, KTimer, Kube, KUserFeedback Console, MyGNUHealth, Okular Mobile, Peruse, Phonebook, Plasma Camera, PlasmaTube, portal-test-kde, Barcode Scanner, RKWard, RSI Break, Screen Record, Skanlite, Skanpage, Spectacle, Step, Trojitá, Vakzination</div>
</blockquote></div></div>