I have some cool projects that I use such as zellij and yazi that I use but aren't in the debian repos, I would like to attempt to package them myself, is there any guides on how to do such? were could I get some help learning how to package things?
I have some cool projects that I use such as zellij and yazi that I use but aren't in the debian repos, I would like to attempt to package them myself, is there any guides on how to do such? were could I get some help learning how to package things?
11 Comments
wildbus8979@sh.itjust.works · 7 pts · 212d
If the upstream resides in git, it's really easy to use git based packaging: https://wiki.debian.org/PackagingWithGit/
https://optimizedbyotto.com/post/debian-packaging-from-git/
dan@upvote.au · 7 pts · 212d
Essentially you just need to:
dpkg-debto package the files into a .deb file.lintianto check that there's no issues with the package.There's probably newer tools, but these are the core ones that have been part of Debian forever (and thus are very well-documented online).
You can then use Aptly to create a custom repo, or deb-get to install packages from Github releases.
I worked on the Debian packaging for Yarn v1. You can see the script that creates deb and rpm packages here: https://github.com/yarnpkg/yarn/blob/master/scripts/build-deb.sh (this uses fpm to build the rpm package, and the native Debian tools to build the deb package)
One thing I don't have experience with is submitting packages to the official Debian repo, so I can't help with that.
redrumBot@lemmy.ml · 4 pts · 211d
You will find some resources about packaging in the debian Mentors Faq., including about the intent to package (ITP) process.
More than a year years ago, somebody requested yazi to be packaged, and changed it to a ITP, but the bug is open (i. e. It has not been packaged or added). May be the first step should be send a email to the bug asking for the status of the bug.
Also, about packaging rust programs, you should check the documentation of the debian rust team packagers.
XTL@sopuli.xyz · 2 pts · 211d
I would love to see yazi in Debian!
homik@slrpnk.net · 1 pts · 114d
Me too. Though pipx works, it really should be in a proper package.
hobata@lemmy.ml · 2 pts · 212d
Well, that's a bit off topic, but may I ask why you want to do that? I can't imagine a scenario (for me as a single user) that would exceed the scope of checkinstall.
dan@upvote.au · 6 pts · 211d
For me, I like knowing that
apt update && apt upgradewill upgrade everything, instead of having to remember about all the special cases.On servers, I try to install everything from either Debian packages or Docker containers, to make upgrading simpler.
hobata@lemmy.ml · 1 pts · 211d
But for
apt update && apt upgradeto work, the stuff must be maintained and packaged by somebody.dan@upvote.au · 3 pts · 211d
I think that's why OP is asking how to create packages.
wildbus8979@sh.itjust.works · 4 pts · 212d
One reason might be to install the same package over multiple machines. Also make removal easier. It can also be used to keep track of checksums for security purposes.
hobata@lemmy.ml · 1 pts · 211d
that something that
checkinstallcan solve, it builds a deb package