Update README.md

This commit is contained in:
Maxwell Jeffress 2024-10-01 11:24:26 +10:00
parent 7ff00d7cf0
commit eae8400600

View File

@ -2,7 +2,7 @@
### What is Mapm? ### What is Mapm?
Mapm is a package manager (written in Kotlin) for, you know, managing packages. So far it's VERY early in development. Mapm is designed to run on the JVM, while using a UNIX-like system. Mapm is a package manager (written in Kotlin) for, you know, managing packages. So far it's VERY early in development. Mapm is designed to run on the JVM, while using Linux system (as the packages are only compiled for Linux at present).
### Why? ### Why?
@ -18,22 +18,33 @@ Run the command `curl https://maxwellj.xyz/mapm/mapm.sh | bash`. This will run a
#### Manual #### Manual
Make directories /usr/mapm and /usr/mapm/tmp. Add /usr/mapm to path. Download the files and make sure Gradle is installed. Run `gradle distTar` to compile a Tar file with all the needed Jars in it, including mapm. Untar the archive in build/distributions. Run `./(where tar extracted to)/bin/mapm`. (or mapm.bat if you're crazy) Make directories /usr/mapm and /usr/mapm/tmp. Add /usr/mapm to path. Download the files and make sure Gradle is installed. Run `gradle distTar` to compile a Tar file with all the needed Jars in it, including mapm. Untar the archive in build/distributions. Run `./(where tar extracted to)/bin/mapm`.
### Usage ### Usage
Run mapm. For now, command line arguments aren't supported, but this is planned for a later date. Once you're in mapm, you can type `grab` and press enter. Type the thing you want and it will download. Mapm has a few options for the command line. So far these are:
* g: Grab a package from the internet.
* r: Remove a package from your system. (work in progress)
* c: Make a checksum that Mapm can reproduce and recognise.
* m: Automatically make a Mapm package (work in progress)
* h: Get help.
Some example commands:
* `mapm g mash`: Grab the package `mash` and install it.
* `mapm r mash`: Remove the package `mash` from your computer.
* `mapm c mash-0.0.2.tar.xz`: Generate a checksum for the file `mash-0.0.2.tar.xz`
### Making a mapm package ### Making a mapm package
To make a mapm package, go to https://git.maxwellj.xyz/mapm/stable and submit a pull request. Add your package's name as the file name, and the link to where your package is stored as the contents. Don't add anything more or you'll confuse mapm. Make sure the link points to a .tar.xz archive. The file structure should be like this: To make a mapm package, go to https://git.maxwellj.xyz/mapm/stable and submit a pull request. Add your package's name as the file name, and the link to where your package is stored as the contents. Don't add anything more or you'll confuse mapm. Make sure the link points to a .tar.xz archive. The file structure should be like this:
``` ```
├── (packagename) (A symbolic link to your executable in packagename.d) ├── (packagename) (Your executable)
└── (packagename).d └── (packagename).d
├── executable
└── Any other files your package needs └── Any other files your package needs
``` ```
Zip all that up into a .tar.xz file and upload it to your own server. After creating the .tar.xz, use Mapm to create a checksum for the file. Run mapm, type `checksum`, press enter and type the file path. For now, there is no polished system for package processing, so for now send an email to max AT maxwellj.xyz with the package link and hash. Zip all that up into a .tar.xz file and upload it to your own server. After creating the .tar.xz, use Mapm to create a checksum for the file. Run `mapm c (file name` to get the checksum. For now, there is no polished system for package processing, so for now send an email to max AT maxwellj.xyz with the package link, hash and all dependencies required to run your program.
**Note**: If your package requires an update, make sure to email an updated link and hash, otherwise Mapm will reject your package when it is being installed. **Note**: If your package requires an update, make sure to email an updated link and hash, otherwise Mapm will reject your package when it is being installed.