Congrats on starting to get involved in packaging. I noticed that you are using the "explicitly named" packages versus the appropriate use of pkgconfigs. I'd suggest you read https://getsol.us/articles/packaging/packaging-practices/en/#build-dependencies and also be mindful of dependencies of packages you are adding as builddeps, so as to not unnecessary list builddeps which are being pulled in by other listed packages.
Solus Packaging
JoshStrobl Thank you for the feedback! Is there a way to find that through the command line for all packages? Or would Google be my best bet if it's not listed? It works flawlessly in the libgtk-3-devel
package in the example, but this is the output I get when I run eopkg info karchive-devel
Package found in Solus repository:
Name : karchive-devel, version: 5.80.0, release: 50
Summary : Development files for karchive
Description : Reading, creating, and manipulating file archives.
Licenses : LGPL-2.0-or-later
Component : programming.devel
Dependencies : karchive extra-cmake-modules qt5-tools-devel
Distribution : Solus, Dist. Release: 1
Architecture : x86_64, Installed Size: 487.00 KB, Package Size: 256.00 KB
Reverse Dependencies: mailimporter-devel kdelibs4support-devel
It's a similar message for eopkg info karchive
, does not show the Provides: field.
Brucehankins In my opinion kbackup
looks fine.
does not show the Provides: field.
In this case you have to use the -devel
package.
Brucehankins Good question. If a package does not provide a .pc
file (pkgconfig file), then it won't have a "Provides" listed with it. In those instances, the package name itself (e.g. k-archive-devel
) is appropriate. Just continue to be mindful of the dependencies, and also note that you only ever need to include one pkgconfig from a single package. So for libgtk-3-devel, you'd only need to provide pkgconfig(gtk+-3.0)
and not list all of them. It doesn't matter which one you use, they also just pull in the same package. If a piece of software says you need both glib-2.0 and gio, for example, you'd only need one of them in Solus land.
About featherpad
.
- License: should be
GPL-3.0-or-later
. For correct names of licenses you will find in this page: https://spdx.org/licenses/ - Summary: I think it should be something short like
Lightweight Qt Plain-Text Editor
- Builddeps: Replace
-devel
withpkgconfig()
qt5-svg-devel
withpkgconfig(Qt5Svg)
,qt5-x11extras-devel
withpkgconfig(Qt5X11Extras)
,libx11-devel
withpkgconfig(x11)
libhunspell-devel
withpkgconfig(hunspell)
In this case:
The order should bebuilddeps : - pkgconfig(Qt5Svg) - pkgconfig(Qt5X11Extras) - pkgconfig(hunspell) - pkgconfig(x11)
0-9
,A-Z
a-z
.- Homepage: is optional but usually I like to add the homepage detail, because it adds this option in Software Center:
algent Thank you for the feedback! I'll update the package and commit the changes as soon as I can.
I'm still learning the licensing also, and as it seems almost none are compatible, I'm just using the same license information I can find on the source code websites and including that for individual packages rather than the whole repository.
Brucehankins You don't need to apply any license on the packaging scripts, you only need to document the license(s) of the source code of the thing you are packaging via the license key. None of our source repos on Solus, with package instructions, have any licensing. It's effectively public domain.
algent How do I add the homepage? I'd like to do that, but I'm unsure how it's done.
Brucehankins For example like this.
At featherpad
replace license : GNU GPL-3.0-or-later
with license : GPL-3.0-or-later
. Remove GNU.
- Edited
Brucehankins Also for builddeps , be careful for indentation. It should be 4 not 8 like your case.
algent corrected the indentation and the licensing portion of the package.yml file and pushed to git. You sir are amazing for being so thorough and helpful.
Sakura terminal emulator has been packaged and tested against Shannon stable repo for anyone who is interested.
Note If you are not running the most recent update for Solus, you will only be able to install with unstable repos.
- Edited
Brucehankins Note If you are not running the most recent update for Solus
I am running the most recent update for Solus Plasma, and could not install this or search the repo for information about it (like a package name). I was looking for something called sakura.
Is there a different package name we should be asking for? Or does "packaged and tested against Shannon stable repo" not mean that it's actually in the repo, but something else instead?
EDIT: I assumed that if eopkg it sakura
didn't install anything, eopkg sr sakura
would give me the information I needed to get it right the next time.
WetGeek it's not in the Solus repos. The package build spec and package.yml file are on my personal github.
If you're interested in trying it, you can contact me off site and I can get you the completed eopkg. You'll have to set up your own local repository to install it. It's like a version of Gnome terminal went on a diet.
Side note for anyone, is there a reason I shouldn't host my own personally created eopkg packages on github? It was mentioned on the dev site, but I honestly didn't inquire too much as why it shouldn't be there.
WetGeek probably should have added that this is more of a learning/passion project for me. Compiling and packaging software I like or find useful, that can't be found as a snap or Flatpak, as an eopkg. It helps me learn Linux, learn git, learn the CLI, and learn more about Solus as I go.
Nothing hosted on my github is endorsed, sponsored, or otherwise affiliated with Solus or the team. Some like @algent have been extremely helpful with comments, helping me understand when I've include redundant build deps and troubleshoot problems. And honestly, I wouldn't have even been able to do it without Josh's youtube video.
Brucehankins Nice work! Sounds like I have a similar background as you (not a coder/programmer and no idea what I'd be doing), and also interested in learning Solus packaging. Seems like a challenging yet rewarding journey. Thanks for sharing some of your learning experiences here!
h3o Thanks for the kind words! I'm always up for a challenge, so if there's something you'd like to packaged that isn't available via repos, snap, or Flatpak like Sakura, Featherpad, or KBackup, let me know and I'll give it a shot. Contact info is on my github and in my forum bio.
Brucehankins KBackup
is in the repos now as kbackup
.
Brucehankins it's not in the Solus repos
Sorry ... I misunderstood your post. No worries at all, I was just curious about trying a new terminal emulator. I'm actually very satisfied with bash.
WetGeek I added the .eopkg file to my github and some disclaimers go along with using unofficial software.
It's a new project for me, so feel free to check it out and make any comments you wish. I always like feedback on how I can improve.