Car is a package manager for Redrose Linux. It will also become a wrapper for other package managers to simplify package management.
- Basic functionality
- Basic versioning
- More advanced versioning
- Mirrors
- Website with all packages from official repos
- .car tarballs so installation is not only online
- if the package argument of get ends with .car, install locally
car get|delete|update|search|updatelist|init
# Examples
car get <package> [--noconfirm]
car delete <package>
car update <package>
car search <package>
car updatelist
car init- get [--noconfirm] — install a package. Use --noconfirm to skip prompts.
- delete — remove a package.
- update — update a specific package. (currently not functional)
- search — search for a package.
- updatelist — update the package list.
- init — initialize Car.
- Add the file to your .config/car/post-inst-hooks file
- create the file
- open .config/mirrors.car
- add something similar to this:
:base:
install_script = https://raw.githubusercontent.com/crust-project/car-binary-storage/main/
packagelist = https://raw.githubusercontent.com/crust-project/car/main/existing-packages.txt
:end:
Start by creating a file named install_script.
version = "0.0.1"Optional hook that runs before installation.
def beforeinst():
print("This runs before installation!")
print("DO NOT USE THIS FOR DEPENDENCIES")Declare dependencies. If none, print the exact line below.
def deps():
print(":: No dependencies required")Provide build steps. If no build is required print:
print(":: No build required")If the installation is not done in build(), do it here. You do not need to print no deps required, because installing (moving to /usr/bin/) does not take long.
Runs after installation. Place final install steps here if needed.
- Fork the
car-binary-storagerepository. - In GitHub web UI click New file then Create new file.
- Choose a package name. Naming rules:
- Use
-binfor packages that download binaries. - Use suffixes like
-nightlyor-stablefor specific build channels. - Use
-gitif the package builds from source. - No suffix for a standard package.
- Use
- Create a directory with the package name and add a file named
install_script. - Paste your
install_scriptcontent. - Submit a pull request. Wait for review and merge.