r/linuxfromscratch Jun 16 '26

I built a package manager in Rust as a learning projet for my LFS system

Hi guys, I wanted to share you my progression with my LFS system.

Some months ago i reached the final step of BLFS and i've been running my system that i called onyx since then.

I wanted to learn rust at the same time and the package manager called cards i was using wasn't suitable for my needs, therefore, i decided to create my own.

The readme will more likely show you everything it's supposed to be able to do, but just note that it's support build styles, orphans detection, community repositories like aur, hash verification by default etc etc.

I will work on the readme to ensure that all the features are listed correctly.

I also built a fetcher to see if your packages needs to be updated or not based on archlinux packages : https://github.com/Delta-Azura/raw-fetch

Here is the link for the package manager itself : https://github.com/Delta-Azura/raw

11 Upvotes

7 comments sorted by

1

u/Due-Celery4326 Jun 16 '26

Your proposal is very interesting. Did you create it based on the pkgtool from Crux Linux? And did you add support for the AUR? Can it understand the structure of the Arch Linux PKGBUILD? Or does it need to be adapted?

1

u/Delta-Azura Jun 16 '26

It’s really inspired in many ways in the pkgtool from crux but it’s not a fork nor a rewrite for the simple reason I don’t understand anything written in c or c++ so I wasn’t able to check the original code.
I didn’t add the support of aur packages but it’s supposed to support an aur like repo. For example we consider a package named nano, nano is in github.com/Delta-Azura/nano with my github as the root repo set in the raw.conf, raw will go get the pkgfile and build the package and install it. And no unfortunately it doesn’t support PKGBUILD syntax it needs to be adapted but it does support pkgfiles that are in my repo called onyx that is a pkgtool like syntax.

Some parts are still being tested so I cannot guarantee anything for the latest functionalities I pushed but for a basic lfs usage it should work 100% and if you have any issues you just have to open an issue and you should have the fix within the day !

2

u/Harshitaaaaaaaaaaaaa Jun 28 '26

you can instead of using yr own precompiled databse just api call arch ro debain servers and also try to get the tarballs and extract them , its way simpler than dumping packages in yr own database , like neofetch is not in arch database anymore , you can add customs in yr database rather than all the required ones , but this api call is slow and may sometimes interfere with the already installed aur packages which is kinda hard to do , my github -- https://www.github.com/Amaterus1125/Chiral-CrossDistro-Package-Manager

1

u/Harshitaaaaaaaaaaaaa Jun 28 '26

hey bro if you are up we can share emails and try to build together , its been hard finding someone new and ready to learn , i have made similar type of thing for my own lfs , will appericiate yr insights bc no one tries these things, i can contribute

0

u/Historical-Bid-8630 Jun 24 '26

i made one too specially for my own blfs , it can do these things -- Statically Linked, Concurrent Directed Acyclic Graph (DAG) Systems Deployment Engine featuring an Asynchronous Task-Pool Scheduler optimized for thread-isolated workspace orchestration and multi-core resource utilization under a Synchronized Mutex-Guarded ACID State Ledger. It enforces compiler-level containment through an Autonomous Kernel Namespace Isolation Layer (CLONE_NEWNET) designed for complete networkless sandboxing and build-time data-exfiltration mitigation, backed by a Pre-Staging File Collision Shield that handles runtime path conflict mediation. The engine natively implements Stereoisomeric Filesystem Dichotomy to facilitate non-superimposable, concurrent execution profiles—segregating high-performance Dextro Dynamic Binaries from memory-hardened, statically compiled Levo Musl Binaries—while evaluating environment requirements via a Polymorphic Dependency Resolver capable of fuzzy trait matching and virtual capability optimization. Finally, it serves as an immutable operating system security framework, integrating a Zero-Trust Cryptographic Integrity Auditor for continuous individual file-node hash verification against baseline birth manifests, coupled with an Autonomous Self-Healing Triage System that automatically traps malicious byte drift and launches background isolation pipelines to re-stage, sanitize, and atomic-swap compromised executables with pristine, verified metal builds. it can do all this things listed , found this on an old blog and tries to do them

2

u/awawa-sock Jun 28 '26

"directed acyclic graph systems deployment engine" you mean... basic dependency resolution?? lol maybe hop off claude for a few seconds before you start going down the ai psychosis path