Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
| Date | Stars |
|---|---|
| 2026-07-24 | 294 |
| 2026-07-25 | 295 |
| 2026-07-28 | 295 |
| 2026-07-30 | 295 |
| 2026-08-06 | 295 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Awesome Package Maintainer *or How to Become a Packager* Hint: Use GitHubs TOC icon at the upper right corner of this Readme for easier navigation. Goals: * short general introduction on what are packages and why we have them * general collection of tools and processes that packagers use and follow * general collection of tips, snippets and best practises useful for packagers of all distributions and systems * distribution/system specific cheat sheets, HOWTOs, walk throughs and hints This guide will (for now) focus on traditional packaging, not on containerized applications. # Introduction ## Eating your own sushi It helps tremendously if you, as a maintainer, are using the software yourself. If you stop using the software, it's best to let someone else that actively uses it to maintain it. This will make your contributions more reliable and more meaningful for yourself. More importantly, it will feel less of a job and be more of a rewarding experience -- you keep software you need in updated state and at the same time, you are keeping the entire distribution updated and bug-free. ## Software *This will not be an accurate history lesson. We just want to give you some ideas.* In the early days people were sitting in front of their Slackware machine and when they wanted to install a new piece of software they had to do this by hand. They got a tarball with the sources from a website, via email or mailing list, from an (FTP) server, from CVS and so on. They inspected the sources and learned how to build the software. Some of this software even had Makefiles and were configured with Autotools. As an example, let's do this now: ``` wget https://github.com/jubalh/nudoku/archive/refs/tags/2.1.0.tar.gz tar xfv 2.1.0.tar.gz cd nudoku-2.1.0 autoreconf -fi ./configure make ``` And at that point you probably get an error because one of the dependencies of Nudoku is not installed. In this example that will be `ncurses`. So now you stop the install process and go find the sources for ncurses and compile and install that first. And if that `ncurses` has additional missing dependencies? You guessed it! ## What are packages? Linux distributions provide packages to make this process much easier. Packages contains * the upstream source files * instructions how to build them * listing the dependencies and build dependencies * doing additional work like transforming configuration files, restart services, etc. If you are using a package manager and tell it to install such a package, it will install all the packages that are a dependency of this package as well. Some dependencies are needed for building the software while others only for running it. So you have build-time and runtime requirements. After you build the package, you will notice that there are parts that do different things. Some parts can be used for building other software while others are used at runtime. So being a clever maintainer, you create multiple binary packages - `ncurses` for the runtime part and a `ncurses-devel` package for development headers. Distributions have different naming regulations regarding such packages. Some distributions don't split packages up in development files (eg. Arch), some call them `-dev` (Debian) some call them `-devel` (openSUSE). Some distributions and systems provide build recipes (Gentoo, pkgsrc, AUR) while others ship built binaries (Debian, Fedora, openSUSE) ready to be used. Some distributions require the packager to build and upload the binaries on their own machine while others use build systems. To maintain integrity of packages, today these will be usually signed and signatures are verified prior to installation. For example the Open Build Service will check whether the tarball that is in a project actually is the same as the upstream tarball (if you use the URL in the spec file), it can then also check a hash (if provided) and also the author in case upstream signed the tarball with their GPG key. It then build
Excerpt of 58,887 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:504557b5b5435bac, topic:awesome-list, topic:tutorial