Skip to content

Commit

Permalink
Merge pull request #1 from Soviet-Linux/stuff
Browse files Browse the repository at this point in the history
Mostly spell fixes
  • Loading branch information
JohnVictoryz authored Feb 27, 2024
2 parents ab31527 + a113935 commit 965359e
Show file tree
Hide file tree
Showing 10 changed files with 153 additions and 148 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ This is the home of the official Soviet-Linux Docs
2. Clone your fork
3. Install requirements.txt using pip
4. Run `mkdocs serve`
<<<<<<< HEAD
5. Make your changes
=======
5. Make your changes
>>>>>>> main
6. Stage and commit
7. Open PR
97 changes: 97 additions & 0 deletions docs/Developer Documentation/Creating Packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Creating Packages for Soviet-Linux

Creating packages for [OUR Repository](https://github.com/Soviet-Linux/OUR) is highly appreciated. Below are the details on how to create them.

## Details about Packages

Each package is created using the [.ecmp file format](ECMP.md).

## 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](https://github.com/Soviet-Linux/spm-utils/blob/main/mkspm) is a Python file that is part of [spm-utils](https://github.com/Soviet-Linux/spm-utils/). It can be obtained by downloading [this](https://raw.githubusercontent.com/Soviet-Linux/spm-utils/main/mkspm).

1. Download [mkspm](https://github.com/Soviet-Linux/spm-utils/blob/main/mkspm).
2. 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`

3. 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](ECMP.md).

### Making it from scratch

To make an .ecmp file from scratch, see the [.ecmp file format documentation](ECMP.md). 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](https://github.com/Soviet-Linux/spm-utils/blob/main/spm-test) from [spm-utils](https://github.com/Soviet-Linux/spm-utils/).

You can test a package by running:
```
spm-test <package file>
```
## Commiting and Contributing to OUR

### Prequisites

- [Github Account](https://github.com/)
- [Git](https://git-scm.com/) or any other git client
- Basic knowledge of git

### Contributing

1. Fork the repository
2. Clone your fork: \
To clone your fork you can use:

```
git clone linktoyourrepo
```
3. Make your changes (recommended make a new branch when making changes)
4. Rebuild the database using ```./mkall```
5. 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
```
git add <file>
```
Or for every every file you changed:
```
git add -A
```
Then to commit the changes(it is preffered to sign the commit so they are verified you can visit [this](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) for more information)
Without signing:
```
git commit
```
Signing:
```
git commit -S
```
6. Push your changes: \
To push your changes use:
```
git push
```
7. Open PR(Pull Request)
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# ECMP Files

## What are .ecmp files
## What are .ecmp files?

.ecmp files are file used to create packages that are installed using [CCCP](http://github.com/Soviet-Linux/CCCP) and [libspm](https://github.com/Soviet-Linux/libspm)
.ecmp files are used to create packages that are installed using [CCCP](http://github.com/Soviet-Linux/CCCP) and [libspm](https://github.com/Soviet-Linux/libspm).

## Structure

.ecmp files use a [toml](https://en.wikipedia.org/wiki/TOML) like syntaxt to identify themselfs.
.ecmp files use a [toml](https://toml.io) like syntax to identify themselves.

Example of an .ecmp file:

```
```toml
[info]
name = example
version = 1.0.0
Expand Down Expand Up @@ -104,3 +104,4 @@ This Variable contains the package URL (The URL is get by the [`[info]` Section]
5. $BUILD_ROOT Variable
This Variable contains a fake installation directory given by [CCCP](https://github.com/Soviet-Linux/CCCP) and [libspm](https://github.com/Soviet-Linux/libspm)


94 changes: 0 additions & 94 deletions docs/Developer Documentation/Making Packages.md

This file was deleted.

20 changes: 9 additions & 11 deletions docs/Developer Documentation/Standard Conventions.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# Standars
# Standards

## Sites to get details about how to build a package
## Sites for Package Building Details
The following are some resources to consult when learning how to build a package:

The following are some sites that you should go and see how the install a package:

- The Site and documentation of the maker of the package that you make (For example, If you want to make a package about python you should look at [python.org](https://python.org) for how to build it and install it from scratch)
- The site and documentation of the package maker (For example, if you want to make a Python package, you should refer to [python.org](https://python.org) for instructions on how to build and install it from scratch)
- [Beyond Linux From Scratch (A.K.A BLFS)](https://linuxfromscratch.org/blfs/)
- [Google](https://www.google.com/) or any other Search Engine For example, [DuckDuckGo](https://duckduckgo.com/)

## Standard tools for packages to use
- Search engines like [Google](https://www.google.com/) or [DuckDuckGo](https://duckduckgo.com/)
## Standard Tools for Packages

***WIP(Work In Progress)*** currently there aren't any standar tools to use in the packages
***Work In Progress (WIP)*** - Currently, there are no standard tools recommended for use in packages.

## Standard downloader
## Standard Downloader

(currently a [github issue](https://github.com/Soviet-Linux/OUR/issues/71), yet to be resolved)
(Currently under discussion in this [github issue](https://github.com/Soviet-Linux/OUR/issues/71))
10 changes: 5 additions & 5 deletions docs/Developer Documentation/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Developer Docs for Soviet-Linux
# Developer Documentation for Soviet-Linux

This is the developer documentation for [Soviet-Linux](https://github.com/Soviet-Linux)
This is the developer documentation for [Soviet-Linux](https://github.com/Soviet-Linux).

## Page Index for developer documentation
## Page Index for Developer Documentation

- [Making Packages](Making%20Packages.md)
- [Creating Packages](Creating%20Packages.md)
- [Standard Conventions](Standard%20Conventions.md)
- [ecmp files](ecmp.md)
- [ECMP Files](ECMP.md)
36 changes: 18 additions & 18 deletions docs/User Documentation/CCCP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,32 @@

## What is CCCP

[CCCP](https://github.com/Soviet-Linux/CCCP) is our custom package manager build in [The C Programming Language](https://en.wikipedia.org/wiki/C_(programming_language))
and it is desinged to make your life easier dealing with packages using the [OUR package repository](https://github.com/Soviet-Linux/OUR).
[CCCP](https://github.com/Soviet-Linux/CCCP) is our custom package manager built in [The C Programming Language](https://en.wikipedia.org/wiki/C_(programming_language)).
It is designed to simplify your interaction with packages using the [OUR package repository](https://github.com/Soviet-Linux/OUR).

## How to use CCCP

[CCCP](https://github.com/Soviet-Linux/CCCP) is a command line tool, so you need to know how to use the terminal to use it. Don't worry it's not that bad since we designed
it to be as simple as possible.
[CCCP](https://github.com/Soviet-Linux/CCCP) is a command line tool, so you need to be familiar with the terminal to use it. We've designed
it to be as user-friendly as possible.

### Commands

- Everyday Options:
- `-h` or `--help` this prints a help message
- `-v` or `--version` this prints the version of the package manager
- `-i` or `--install` followed by the package name this installs a package from OUR repo
- `-r` or `--remove` followed by the package name this removes a package from the system
- `-l` or `--list` this lists all the packages that are installed in your system
- `-s` or `--search` followed by the package name/query to find a package
- `--update` checks for any updates in your system
- `--upgrade` upgrades all the packages that are installed in your system
- `-h` or `--help`: Prints a help message
- `-v` or `--version`: Prints the version of the package manager
- `-i` or `--install` followed by the package name: Installs a package from OUR repo
- `-r` or `--remove` followed by the package name: Removes a package from the system
- `-l` or `--list`: Lists all the packages that are installed on your system
- `-s` or `--search` followed by the package name/query: Finds a package
- `--update`: Checks for any updates in your system
- `--upgrade`: Upgrades all the packages that are installed in your system

- Advanced Options:
- `-Yy` or `-Nn` to automatically accept or decline the prompts acordingly
- `--no-checksum` to skip the checksum verification
- `-ow` or `--overwrite` this overwrites installed packages
- `-dbg` or `--debug` followed by a number from 0 to 4 to indicate the debug level
- `--verbose` this swtiches to verbose output
- `-pkg` or `--package` followed by a path to an [.ecmp file](../Developer%20Documentation/Making Packages.md) to install directly from the file
- `-Yy` or `-Nn`: Automatically accept or decline the prompts accordingly
- `--no-checksum`: Skips the checksum verification
- `-ow` or `--overwrite`: Overwrites installed packages
- `-dbg` or `--debug` followed by a number from 0 to 4: Indicates the debug level
- `--verbose`: Switches to verbose output
- `-pkg` or `--package` followed by a path to an [.ecmp file](../Developer Documentation/Creating Packages.md): Installs directly from the file

*Advanced Options should only be used if you know what you are doing*
4 changes: 2 additions & 2 deletions docs/User Documentation/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# User Documentation

This is the User Documentation for [Soviet-Linux](https://github.com/Soviet-Linux) this is used by people who just want to operate [Soviet-Linux](https://github.com/Soviet-Linux)
This is the User Documentation for [Soviet-Linux](https://github.com/Soviet-Linux). It is intended for users who want to operate [Soviet-Linux](https://github.com/Soviet-Linux).

## Page Index for user documentation
## Page Index for User Documentation

- [Installation](installation.md)
- [CCCP](CCCP.md)
19 changes: 6 additions & 13 deletions docs/User Documentation/installation.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,22 @@
# Installation Insturctions
# Installation Instructions

**[Soviet-Linux](https://github.com/Soviet-Linux) is not suitable for daily use but you can try it out by using the following instructions** \
You can try to install [Soviet-Linux](https://github.com/Soviet-Linux) using this three diffrent ways
**[Soviet-Linux](https://github.com/Soviet-Linux) is not suitable for daily use. However, you can test it by following the instructions below.**
You can try out [Soviet-Linux](https://github.com/Soviet-Linux) in three different ways.

## 1. Using Docker

### Prequisites
### Prerequisites

1. Podman or Docker (Podman Recommended)
1. Podman or Docker (Podman is recommended)

### Running the container

>Note: If you want this container to preserve changes you've made, remove `--rm`.
For Docker:

```bash
docker run -it --rm ghcr.io/soviet-linux/soviet:latest /bin/bash
```

For Podman:

```bash
podman run -it --rm ghcr.io/soviet-linux/soviet:latest /bin/bash
```

## 2. Using chroot

1. Download the image
Expand Down Expand Up @@ -71,3 +63,4 @@ podman run -it --rm ghcr.io/soviet-linux/soviet:latest /bin/bash
- Username: root
- Password: sovietlinux
8 changes: 7 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ extra:
- icon: fontawesome/brands/discord
link: https://discord.gg/P95xPM9KZY
name: Soviet-Linux Discord Server
<<<<<<< HEAD
copyright: This is under the GPL-3.0 license.
repo_url: https://github.com/Soviet-Linux/Soviet-Docs/
repo_name: Soviet Docs
=======
copyright: This is licensed under the GPL-3.0 license.
repo_url: https://github.com/Soviet-Linux/
repo_name: Soviet Linux
repo_name: Soviet Linux
>>>>>>> main

0 comments on commit 965359e

Please sign in to comment.