Creating Packages for Soviet-Linux
Creating packages for OUR Repository is highly appreciated. Below are the details on how to create them.
Details about Packages
Each package is created using the .ecmp file format.
Creating a Package
There are two different ways to create a package.
Using the mkspm Program
This method is recommended as it is easier. mkspm is a Python file that is part of spm-utils. It can be obtained by downloading this.
- Download mkspm.
- Generate a template ecmp.
When you run
mkspm
, you should also provide the package name followed by a URL from where you can download the package. The full command should look like this:
mkspm nameofthepackage urltowhereyoudownloadthepackage
For example:
mkspm bash https://ftp.gnu.org/gnu/bash/bash-5.2.9.tar.gz
- Make Some Changes
When you run
mkspm
it creates a template .ecmp file, meaning that the file needs to be edited to be a valid file. For more information, see the .ecmp file format documentation.
Making it from scratch
To make an .ecmp file from scratch, see the .ecmp file format documentation. This should help you build a package file.
Testing a Package File
This is an essential step when you want to make a package, to ensure that the package actually works properly. To do this, you need spm-test from spm-utils.
You can test a package by running:
Commiting and Contributing to OUR
Prequisites
- Github Account
- Git or any other git client
- Basic knowledge of git
Contributing
- Fork the repository
-
Clone your fork:
To clone your fork you can use: -
Make your changes (recommended make a new branch when making changes)
- Rebuild the database using
./mkall
-
Commit your changes:
To commit your changes you need to stage them you can do this by running:Note: You must Stage the all.db after rebuilding the database
Or for every every file you changed:
Then to commit the changes(it is preffered to sign the commit so they are verified you can visit this for more information)
Without signing:
Signing:
-
Push your changes:
To push your changes use: -
Open PR(Pull Request)