update: small wiki fixes and minor tweaks
This commit is contained in:
parent
0ff4366363
commit
2269f448ed
@ -14,7 +14,7 @@ body:
|
|||||||
id: extra
|
id: extra
|
||||||
attributes:
|
attributes:
|
||||||
label: Extra
|
label: Extra
|
||||||
description: Any extra thing you want to say
|
description: Anything you want to add
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
|
@ -21,7 +21,7 @@ body:
|
|||||||
id: extra
|
id: extra
|
||||||
attributes:
|
attributes:
|
||||||
label: Extra
|
label: Extra
|
||||||
description: Any extra thing you want to say
|
description: Anything you want to add
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
List of configuration packages (dotfiles) for MatterLinux. These simple configurations allow you to easily set up
|
List of configuration packages (dotfiles) for MatterLinux. These simple configurations allow you to easily set up
|
||||||
your desktop and they create a baseline for all of your own configurations. You can install these configurations
|
your desktop and they create a baseline for all of your own configurations. You can install these configurations
|
||||||
using the `mc` tool. [Learn more](/wiki/mc).
|
using the `confer` tool. [Learn more](/wiki/confer).
|
||||||
|
13
index.md
13
index.md
@ -1,7 +1,7 @@
|
|||||||
## Details
|
## Details
|
||||||
MatterLinux is a tiny, independent, [free/libre](https://www.gnu.org/philosophy/free-sw.html) and
|
MatterLinux is a tiny, independent, [free/libre](https://www.gnu.org/philosophy/free-sw.html) and
|
||||||
[open source](https://opensource.com/resources/what-open-source) GNU/Linux distribution
|
[open source](https://opensource.com/resources/what-open-source) GNU/Linux distribution
|
||||||
for `x86_64` (or `amd64`) systems. It has its own package management system and its own package repos.
|
for `x86_64` (or `amd64`) systems. It has its own package management system and its own package pools.
|
||||||
All source code for MatterLinux is licensed under GPLv3 and available on the
|
All source code for MatterLinux is licensed under GPLv3 and available on the
|
||||||
[MatterLinux Gitea](https://git.matterlinux.xyz/Matter).
|
[MatterLinux Gitea](https://git.matterlinux.xyz/Matter).
|
||||||
|
|
||||||
@ -14,15 +14,16 @@ contributors. If you are interested you can follow the development of the projec
|
|||||||
here is a rough roadmap:
|
here is a rough roadmap:
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><k class="blue">>>></k> Package system</li>
|
<li><k class="green">>>></k> Package system</li>
|
||||||
<li><k class="green">>>></k> Website</li>
|
<li><k class="green">>>></k> Website</li>
|
||||||
<li><k class="blue">>>></k> Official repos (<code>base</code> and <code>desktop</code>)</li>
|
<li><k class="blue">>>></k> Official pools (<code>base</code> and <code>desktop</code>)</li>
|
||||||
<li><k class="green">>>></k> Wiki/documentation</li>
|
<li><k class="green">>>></k> Wiki/documentation</li>
|
||||||
<li><k class="green">>>></k> First release</li>
|
<li><k class="green">>>></k> First release</li>
|
||||||
<li><k class="green">>>></k> Expanding <code>desktop</code> repo (100 packages)</li>
|
<li><k class="blue">>>></k> Server pool</li>
|
||||||
<li><k class="green">>>></k> Expanding <code>desktop</code> repo (300 packages)</li>
|
<li><k class="green">>>></k> Expanding <code>desktop</code> pool (100 packages)</li>
|
||||||
|
<li><k class="green">>>></k> Expanding <code>desktop</code> pool (300 packages)</li>
|
||||||
<li><k class="blue">>>></k> Expanding the wiki</li>
|
<li><k class="blue">>>></k> Expanding the wiki</li>
|
||||||
<li><k class="blue">>>></k> Expanding <code>desktop</code> repo (500 packages)</li>
|
<li><k class="blue">>>></k> Expanding <code>desktop</code> pool (500 packages)</li>
|
||||||
<li><k class="red">>>></k> TUI/GUI installer</li>
|
<li><k class="red">>>></k> TUI/GUI installer</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
28
wiki/main.md
28
wiki/main.md
@ -6,7 +6,6 @@ edit a page or create a new page, make a [pull request](/wiki/contribute) to [co
|
|||||||
> Due to ongoing package system rework, the `Packaging` section is currently in a messy state
|
> Due to ongoing package system rework, the `Packaging` section is currently in a messy state
|
||||||
> and may contain misinformation or missing links, [please see this post](/news/important_update).
|
> and may contain misinformation or missing links, [please see this post](/news/important_update).
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --------------------------------------- | ----------------------------------------------- |
|
| --------------------------------------- | ----------------------------------------------- |
|
||||||
@ -14,24 +13,33 @@ edit a page or create a new page, make a [pull request](/wiki/contribute) to [co
|
|||||||
| [Installation](/wiki/install) | Learn how to install a base MatterLinux system |
|
| [Installation](/wiki/install) | Learn how to install a base MatterLinux system |
|
||||||
| [Post-installation](/wiki/post_install) | Make your system (somewhat) usable |
|
| [Post-installation](/wiki/post_install) | Make your system (somewhat) usable |
|
||||||
|
|
||||||
|
## Tools/libraries
|
||||||
|
| Name | Description |
|
||||||
|
| --------------------------------------------- | ------------------------------------------------------------------------------ |
|
||||||
|
| [Working with matt](/wiki/matt) | Learn how to manage packages with MatterLinux package manager (`matt`) |
|
||||||
|
| [Working with libmp](/wiki/libmp) | Learn how to use the MatterLinux package library (`libmp`) |
|
||||||
|
| [Working with confer](/wiki/confer) | Learn how to manage your configs MatterLinux configuration manager (`confer`) |
|
||||||
|
|
||||||
## Packaging
|
## Packaging
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --------------------------------------------- | ------------------------------------------------------------------------------ |
|
| --------------------------------------------- | ------------------------------------------------------------------------------ |
|
||||||
| [Releases](/wiki/releases) | Learn about MatterLinux release cycle |
|
|
||||||
| [Packages](/wiki/packages) | Learn about MatterLinux packages |
|
| [Packages](/wiki/packages) | Learn about MatterLinux packages |
|
||||||
|
| [Creating packages](/wiki/create) | Learn how you can create and add a package to the official pools |
|
||||||
|
|
||||||
|
## Pools
|
||||||
|
| Name | Description |
|
||||||
|
| --------------------------------------------- | ------------------------------------------------------------------------------ |
|
||||||
| [Pools](/wiki/pools) | Learn about MatterLinux package pools |
|
| [Pools](/wiki/pools) | Learn about MatterLinux package pools |
|
||||||
| [Mirrors](/wiki/mirrors) | Discover pool mirros and learn how you can setup your own |
|
| [Mirrors](/wiki/mirrors) | Discover pool mirros and learn how you can setup your own |
|
||||||
| [Pool guidelines](/wiki/pool_guides) | Package guidelines for the official pools |
|
| [Pool guidelines](/wiki/pool_guides) | Package guidelines for the official pools |
|
||||||
| [Creating packages](/wiki/create) | Learn how you can create and add a package to the official pools |
|
|
||||||
| [Working with matt](/wiki/matt) | Learn how to manage packages with MatterLinux package manager (`matt`) |
|
## Contribute
|
||||||
| [Working with libmp](/wiki/libmp) | Learn how to use the MatterLinux package library (`libmp`) |
|
| [Chat](/wiki/chat) | Learn how you can contact developers and contributers |
|
||||||
| [Understanding MPTP](/wiki/mptp) | Learn about MatterLinux package transfer protocol (MPTP) |
|
| [Contributing](/wiki/contribute) | Learn how you can contribute to MatterLinux |
|
||||||
| [Working with confer](/wiki/confer) | Learn how to manage your configs MatterLinux configuration manager (`confer`) |
|
| [Bugs](/wiki/bugs) | Learn how you can report bugs/issues |
|
||||||
|
|
||||||
## Other
|
## Other
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| -------------------------------- | ------------------------------------------------------- |
|
| -------------------------------- | ------------------------------------------------------- |
|
||||||
| [Chat](/wiki/chat) | Learn how you can contact developers and contributers |
|
| [Releases](/wiki/releases) | Learn about MatterLinux release cycle |
|
||||||
| [Contributing](/wiki/contribute) | Learn how you can contribute to MatterLinux |
|
|
||||||
| [Bugs](/wiki/bugs) | Learn how you can report bugs/issues |
|
|
||||||
| [Licensing](/wiki/licensing) | Licensing for the MatterLinux repositories and software |
|
| [Licensing](/wiki/licensing) | Licensing for the MatterLinux repositories and software |
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
All of the MatterLinux software and the tools are available on
|
All of the MatterLinux software and the tools are available on
|
||||||
[MatterLinux Git Server](https://git.matterlinux.xyz) and they are licensed under
|
[MatterLinux Git Server](https://git.matterlinux.xyz) and they are licensed under
|
||||||
[GNU General Public License Version 3](https://www.gnu.org/licenses/gpl-3.0.en.html).
|
[GNU General Public License Version 3](https://www.gnu.org/licenses/gpl-3.0.en.html).
|
||||||
A copy of this license can be found in every repository, in the `LICENSE.txt` file.
|
A copy of this license can be found in every git repository, in the `LICENSE.txt` file.
|
||||||
|
|
||||||
MatterLinux software and the tools are distributed as [free/libre](https://www.gnu.org/philosophy/free-sw.en.html) and
|
MatterLinux software and the tools are distributed as [free/libre](https://www.gnu.org/philosophy/free-sw.en.html) and
|
||||||
[open source](https://opensource.com/resources/what-open-source) software. This means anybody can:
|
[open source](https://opensource.com/resources/what-open-source) software. This means anybody can freely:
|
||||||
|
|
||||||
- Use MatterLinux software and tools
|
- Use MatterLinux software and tools
|
||||||
- Distribute copies of MatterLinux software and tools
|
- Distribute copies of MatterLinux software and tools
|
||||||
|
@ -7,13 +7,15 @@ then you get a new release. So its expected to have a release or once a month.
|
|||||||
|
|
||||||
### Package updates
|
### Package updates
|
||||||
MatterLinux follows a slow rolling release cycle for all the packages. Packages update every
|
MatterLinux follows a slow rolling release cycle for all the packages. Packages update every
|
||||||
once in a while, generally to fix security issues. Packages get tested on a development repo,
|
once in a while, generally to fix security issues. Packages get tested on a development pool,
|
||||||
[next.matterlinux.xyz](https://next.matterlinux.xyz) before they get pushed into the main repos.
|
[next.matterlinux.xyz](https://next.matterlinux.xyz) before they get pushed into the main pools.
|
||||||
This way we can maintain a stable experience.
|
This way we can maintain a stable experience.
|
||||||
|
|
||||||
### ISOs and release archives
|
### ISOs and release archives
|
||||||
- ISO: A bootable disk image
|
With each release, project releases two new files, an **ISO** and a **Release Archive**:
|
||||||
- Release Archive: An archive used during the installation of a release
|
|
||||||
|
- **ISO**: A bootable disk image
|
||||||
|
- **Release Archive**: An archive used during the installation of a release
|
||||||
|
|
||||||
With new release, a new ISO and a release archive will be published. This way
|
With new release, a new ISO and a release archive will be published. This way
|
||||||
the packages in these ISO and archive files will always be up-to-date.
|
the packages in these ISO and archive files will always be up-to-date.
|
||||||
@ -27,17 +29,18 @@ out the `/etc/os-release` file:
|
|||||||
|
|
||||||
## Version numbering
|
## Version numbering
|
||||||
MatterLinux and all it's projects are version numbered after the year.
|
MatterLinux and all it's projects are version numbered after the year.
|
||||||
For example MatterLinux release for the year 2024 is versioned "MatterLinux 24".
|
For example MatterLinux release for the year 2024 is versioned "*MatterLinux 24*".
|
||||||
|
|
||||||
Minor numbers may be added for other releases. For example the 2nd release of the
|
Minor numbers may be added for other releases. For example the 2nd release of the
|
||||||
MatterLinux 24 ISO would be named "MatterLinux 24.01".
|
MatterLinux 24 ISO would be named "*MatterLinux 24.01*".
|
||||||
|
|
||||||
Similarly 15th release of the MatterLinux package manager for the year 2024
|
Similarly 15th release of the MatterLinux package manager for the year 2024
|
||||||
is versioned "24.14".
|
is versioned "*24.14*".
|
||||||
|
|
||||||
## Building releases
|
## Building releases
|
||||||
You can build an up-to-date ISO and a release archives using [MatterLinux tools](https://git.matterlinux.xyz/matter/tools).
|
You can build an up-to-date ISO and a release archives using [`mtsc`](https://git.matterlinux.xyz/matter/mtsc).
|
||||||
These tools also can be installed with the `tools` package.
|
`mtsc` can be found the in the [`base` pool](/wiki/pools), and can be installed using
|
||||||
|
the [package manager](/wiki/matt).
|
||||||
|
|
||||||
> **Important**
|
> **Important**
|
||||||
>
|
>
|
||||||
@ -63,8 +66,8 @@ directory to this tool, you can create an ISO image.
|
|||||||
As the configuration directory, you can clone the [official ISO configuration](https://git.matterlinux.xyz/Matter/iso).
|
As the configuration directory, you can clone the [official ISO configuration](https://git.matterlinux.xyz/Matter/iso).
|
||||||
Or you can use your own custom configuration.
|
Or you can use your own custom configuration.
|
||||||
|
|
||||||
To build the ISO with the release archive that we created on the previous example, using the configuration directory
|
To build the ISO with the release archive that we created on the previous example, using the configuration
|
||||||
located at `./iso`:
|
directory located at `./iso`:
|
||||||
```
|
```
|
||||||
# matter-iso matterlinux_example-build.tar.gz iso
|
# matter-iso matterlinux_example-build.tar.gz iso
|
||||||
```
|
```
|
@ -14,31 +14,39 @@ check the [official pool guidelines](/wiki/pool_guides). Make sure
|
|||||||
that your package follows the guidelines or your pull request may be
|
that your package follows the guidelines or your pull request may be
|
||||||
rejected.
|
rejected.
|
||||||
|
|
||||||
Also create an account on Gitea server and configure your editor
|
Also, create an account on Gitea server and configure your editor
|
||||||
as specified in the [contribution guide](/wiki/contribute).
|
as specified in the [contribution guide](/wiki/contribute).
|
||||||
|
|
||||||
|
## Install requirements
|
||||||
|
To follow this tutorial you will need a working MatterLinux installation
|
||||||
|
(minimum version 24.05). You also need to install the following packages
|
||||||
|
from the [`base` pool](/wiki/pools):
|
||||||
|
|
||||||
|
- an editor (`vim` and `nano` is avaliable on the `base` pool)
|
||||||
|
- build-essential
|
||||||
|
- [mtsc](https://git.matterlinux.xyz/matter/mtsc)
|
||||||
|
- git
|
||||||
|
|
||||||
## Selecting a pool
|
## Selecting a pool
|
||||||
If you want to add a new package to the official pools, you should
|
If you want to add a new package to the official pools, you should
|
||||||
first choose the pool you want to add the package to. If you are
|
first choose the pool you want to add the package to. You should check
|
||||||
packaging a software that is fundamental to the OS, such as a kernel,
|
the [list of official pools](/wiki/pools), and figure out which pool
|
||||||
or a C library, you should add your package to the `base` pool.
|
your package belongs to.
|
||||||
|
|
||||||
If the software is mainly targeted for server use, you should add the package
|
|
||||||
to the `server` pool.
|
|
||||||
|
|
||||||
If none of these is the case then you should add the package to the `desktop`
|
|
||||||
pool.
|
|
||||||
|
|
||||||
## Fork the pool
|
## Fork the pool
|
||||||
After selecting the pool, fork it on Gitea and clone it to MatterLinux
|
After selecting the pool, fork it on Gitea and clone it to MatterLinux
|
||||||
system:
|
system:
|
||||||
```
|
```
|
||||||
$ git clone <git repo url>
|
$ git clone <git repository url>
|
||||||
|
```
|
||||||
|
Create a new branch for your package:
|
||||||
|
```
|
||||||
|
$ git branch -m new-package
|
||||||
```
|
```
|
||||||
|
|
||||||
## Install requirements
|
|
||||||
To build and create packages, you should install the `build-essential` package from the
|
To build and create packages, you should install the `build-essential` package from the
|
||||||
`base` pool. This package will provide you with all the scripts and the tools required.
|
[`base` pool](/wiki/pools). This package will provide you with all the base tools
|
||||||
|
required, such as the GNU C compiler. You will also need
|
||||||
|
|
||||||
## Create the package template
|
## Create the package template
|
||||||
Change directory into the `src` folder of the pool you cloned, and use the `mp-new`
|
Change directory into the `src` folder of the pool you cloned, and use the `mp-new`
|
||||||
@ -65,7 +73,7 @@ $ mp-new lxterminal_0.4.0
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Modify the package script
|
## Modify the package script
|
||||||
`mp-temp` will create a directory for the new package, which will contain a `pkg.sh` script.
|
`mp-new` will create a directory for the new package, named after the package, which will contain a `pkg.sh` script.
|
||||||
This script is called the **package script**. Open this script with the configured editor:
|
This script is called the **package script**. Open this script with the configured editor:
|
||||||
```
|
```
|
||||||
# general info
|
# general info
|
||||||
@ -191,7 +199,7 @@ HASHES=("7938dbd50e3826c11f4735a742b278d3")
|
|||||||
|
|
||||||
# install and build depends
|
# install and build depends
|
||||||
DEPENDS=("vte")
|
DEPENDS=("vte")
|
||||||
BUILD=()
|
BUILD=("intltool")
|
||||||
|
|
||||||
PACKAGE() {
|
PACKAGE() {
|
||||||
tar xf "${NAME}-${VERSION}.tar.xz"
|
tar xf "${NAME}-${VERSION}.tar.xz"
|
||||||
@ -213,33 +221,54 @@ When you are done, format the package script following these rules:
|
|||||||
- Prevent using `&&` unless it's absolutely necessary, it usually ends up messing the error checking
|
- Prevent using `&&` unless it's absolutely necessary, it usually ends up messing the error checking
|
||||||
- Split unrelated instructions with a newline
|
- Split unrelated instructions with a newline
|
||||||
|
|
||||||
|
You can use the `mp-check` script to automatically check for some of these issues:
|
||||||
|
```
|
||||||
|
$ mp-check lxterminal
|
||||||
|
```
|
||||||
|
|
||||||
## Building the package
|
## Building the package
|
||||||
To build the newly created package, run the following in the `src` directory:
|
To build the newly created package, run the following in the `src` directory:
|
||||||
```
|
```
|
||||||
$ mp-build --no-sign <package name>
|
$ mp-build --no-sign lxterminal
|
||||||
```
|
```
|
||||||
This will install all the required dependencies, and only build the specified package.
|
This will install all the required dependencies, and only build the specified package.
|
||||||
|
|
||||||
## Testing the package
|
## Testing the package
|
||||||
When the package is built, check out the newly created root directory inside the package directory
|
When build is completed, you will have a new `.mpf` package archive in the `dist` directory
|
||||||
to make sure that everything is placed where it should be:
|
of the package directory. You can check this archive for any potential issues using `mp-check`
|
||||||
|
again:
|
||||||
```
|
```
|
||||||
$ tree <pacakge_name>/root
|
$ mp-check lxterminal/dist/lxterminal_0.4.0.mpf
|
||||||
|
```
|
||||||
|
After fixing any potential issues and warnings, you can install your newly created package using
|
||||||
|
the [package manager](/wiki/matt) and test it out:
|
||||||
|
```
|
||||||
|
# matt install --yes lxterminal/dist/lxterminal_0.4.0.mpf
|
||||||
|
$ lxterminal
|
||||||
```
|
```
|
||||||
|
|
||||||
## Staging and commit your changes
|
## Stage and commit your changes
|
||||||
After making sure that the package is working as intended, go back to the root of the pool source directory,
|
After making sure that the package is working as intended, go back to the root of the pool source directory,
|
||||||
and use `git add .` to stage all the changes. Then use `git commit -m <message>` to commit them. For the
|
and use `git add .` to stage all the changes. Then use `git commit -m <message>` command to commit them. For the
|
||||||
commit message, follow the guidelines on the [contribution page](/wiki/contribute). For our example, the following
|
commit message, follow the guidelines on the [contribution page](/wiki/contribute). For our example, the following
|
||||||
message should be fine:
|
message should be fine:
|
||||||
```
|
```
|
||||||
$ git commit -m "new: add lxterminal package"
|
$ git commit -m "new: lxterminal package"
|
||||||
```
|
```
|
||||||
Then push your changes:
|
Then push your branch to the remote:
|
||||||
```
|
```
|
||||||
$ git push -u origin main
|
$ git push -u origin new-package
|
||||||
```
|
```
|
||||||
|
|
||||||
## Creating a pull request
|
## Creating a pull request
|
||||||
Back on the Gitea, create a pull request to the official repository. Provide information about
|
Back on the Gitea, create a pull request to the official repository. Provide information about
|
||||||
the package you added, and explain why you think its important to include this package.
|
the package you added, and explain why you think its important to include this package.
|
||||||
|
|
||||||
|
Please patiently wait for a response from the maintainer(s) after creating your pull request,
|
||||||
|
if find out any problems with your package after creating the pull request, fix them and make more commits
|
||||||
|
to your new branch, they should automatically be added to the pull request.
|
||||||
|
|
||||||
|
## You are done!
|
||||||
|
If you follow every step correctly your pull request will be merged. After the merge, your package will
|
||||||
|
be added to the [development (next) pools](/wiki/pools) and after some testing it will make it's way to
|
||||||
|
the stable pools.
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "mptp",
|
|
||||||
"title": "Working with mptp",
|
|
||||||
"author": "ngn",
|
|
||||||
"date": "14/08/24"
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
This page is currently under development.
|
|
@ -6,14 +6,14 @@ configuration file (`/etc/matt/config.ini`).
|
|||||||
|
|
||||||
### Creating a mirror
|
### Creating a mirror
|
||||||
To create a mirror you can use the [`mirp` tool](https://git.matterlinux.xyz/matter/mirp).
|
To create a mirror you can use the [`mirp` tool](https://git.matterlinux.xyz/matter/mirp).
|
||||||
This package can be installed from the `server` pool.
|
This package can be installed from the [`server` pool](/wiki/pools).
|
||||||
|
|
||||||
After installing `mirp`, specify an URL and an output directory (files will be downloaded
|
After installing `mirp`, specify an URL and an output directory (files will be downloaded
|
||||||
into the output directory). For example to mirror the `base` pool from `https://pkgs.matterlinux.xyz/base`
|
into the output directory). For example to mirror the `base` pool from `https://stable.matterlinux.xyz/base`
|
||||||
to `base_mirror` directory:
|
to `base_mirror` directory:
|
||||||
```
|
```
|
||||||
$ mkdir base_mirror
|
$ mkdir base_mirror
|
||||||
$ mirp mptp://pkgs.matterlinux.xyz/base base_mirror
|
$ mirp mptp://stable.matterlinux.xyz/base base_mirror
|
||||||
```
|
```
|
||||||
|
|
||||||
To serve the mirror, you can setup [`pooler`](https://git.matterlinux.xyz/matter/pooler).
|
To serve the mirror, you can setup [`pooler`](https://git.matterlinux.xyz/matter/pooler).
|
||||||
@ -39,10 +39,10 @@ that you can use. To add your mirror to this list get in contact with the mainta
|
|||||||
|
|
||||||
### Official pools
|
### Official pools
|
||||||
| Pool | MPTP | HTTP(S) | Location |
|
| Pool | MPTP | HTTP(S) | Location |
|
||||||
| -------------- | ---------------------------------------- | ----------------------------------------- | ----------- |
|
| ---------------- | ---------------------------------------- | ----------------------------------------- | ----------- |
|
||||||
| base | `mptp://stable.matterlinux.xyz/base` | `https://stable.matterlinux.xyz/base` | 🇹🇷 Turkey |
|
| base (stable) | `mptp://stable.matterlinux.xyz/base` | `https://stable.matterlinux.xyz/base` | 🇹🇷 Turkey |
|
||||||
| desktop | `mptp://stable.matterlinux.xyz/desktop` | `https://stable.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
|
| desktop (stable) | `mptp://stable.matterlinux.xyz/desktop` | `https://stable.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
|
||||||
| server | `mptp://stable.matterlinux.xyz/server` | `https://stable.matterlinux.xyz/server` | 🇹🇷 Turkey |
|
| server (stable) | `mptp://stable.matterlinux.xyz/server` | `https://stable.matterlinux.xyz/server` | 🇹🇷 Turkey |
|
||||||
| base (next) | `mptp://next.matterlinux.xyz/base` | `https://next.matterlinux.xyz/base` | 🇹🇷 Turkey |
|
| base (next) | `mptp://next.matterlinux.xyz/base` | `https://next.matterlinux.xyz/base` | 🇹🇷 Turkey |
|
||||||
| desktop (next) | `mptp://next.matterlinux.xyz/desktop` | `https://next.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
|
| desktop (next) | `mptp://next.matterlinux.xyz/desktop` | `https://next.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
|
||||||
| server (next) | `mptp://next.matterlinux.xyz/server` | `https://next.matterlinux.xyz/server` | 🇹🇷 Turkey |
|
| server (next) | `mptp://next.matterlinux.xyz/server` | `https://next.matterlinux.xyz/server` | 🇹🇷 Turkey |
|
@ -3,18 +3,22 @@ Packages in the official MatterLinux pools (should) follow these guidelines:
|
|||||||
- **Packaged software should be free or/and open source**: Proprietary software won't be included
|
- **Packaged software should be free or/and open source**: Proprietary software won't be included
|
||||||
to the pools. No exceptions. If you find a proprietary software package in the official pools,
|
to the pools. No exceptions. If you find a proprietary software package in the official pools,
|
||||||
please create an issue or a pull request on the related Git repository to remove the package.
|
please create an issue or a pull request on the related Git repository to remove the package.
|
||||||
|
We also prioritize free/libre software over open source software.
|
||||||
|
|
||||||
- **Packaged software should be stable**: Software known to be unstable will not packaged,
|
- **Packaged software should be stable**: Software known to be unstable will not packaged,
|
||||||
if the stability is related to the version of the software, we may package a different/patched
|
if the stability is related to the version of the software, we may package a different/patched
|
||||||
version of the software.
|
version of the software.
|
||||||
|
|
||||||
- **Packaged software should be secure**: Outdated software that has critical vulnerabilities
|
- **Packaged software should be secure**: Outdated software that has critical vulnerabilities
|
||||||
will not be packaged.
|
will not be packaged.
|
||||||
|
|
||||||
- **Packaged software should be (somewhat) popular**: No, we are not gonna package some random window
|
- **Packaged software should be (somewhat) popular**: No, we are not gonna package some random window
|
||||||
manager that only has 3 users and was last updated in 1993.
|
manager that only has 3 users and was last updated in 1993.
|
||||||
|
|
||||||
The following software packages will **NOT** be added, so do not waste your time with PRs or issues:
|
The following software packages will **NOT** be added, so do not waste your time with pull requests or issues:
|
||||||
- DWM or other Suckless tools that are configured using header files
|
- DWM or other Suckless tools that are configured using header files
|
||||||
- Any Wayland only window managers ("compositors"), status bars, terminals etc. We only have Weston which used for testing the Wayland environment
|
- Any Wayland only window managers ("compositors"), status bars, terminals etc. We only have weston which used for testing the Wayland environment
|
||||||
- Other init systems (`dinit`, `runit` etc.)
|
- Other init systems (`dinit`, `runit` etc.)
|
||||||
- Non-libre kernel
|
- Non-libre Linux kernel
|
||||||
- Other third-party package managers (apt, dnf, pacman etc.), however containerized package managers can
|
- Other third-party package managers (apt, dnf, pacman etc.), however containerized package managers can
|
||||||
be packaged (except for snap, f*%#! snap)
|
be packaged, except for snap (I don't like snap)
|
@ -1,5 +1,34 @@
|
|||||||
On this page, you will find information about MatterLinux package pools.
|
On this page, you will find information about MatterLinux package pools.
|
||||||
|
|
||||||
|
# List
|
||||||
|
Here is a list of all the official MatterLinux software package pools, you can
|
||||||
|
find URL(s) for these pools in the [mirrors page](/wiki/mirrors).
|
||||||
|
|
||||||
|
# Base
|
||||||
|
- **Name**: base
|
||||||
|
- **Signed with**: `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D`
|
||||||
|
- **Maintainer**: ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D)
|
||||||
|
|
||||||
|
Contains software packages for the core system (for example `glibc`, `grub`),
|
||||||
|
so you need these packages in order to have a bootable system, however the base
|
||||||
|
pool alone won't get you further from a simple installation.
|
||||||
|
|
||||||
|
# Desktop
|
||||||
|
- **Name**: desktop
|
||||||
|
- **Signed with**: `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D`
|
||||||
|
- **Maintainer**: ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D)
|
||||||
|
|
||||||
|
Contains software packages for your desktop needs (for example `xorg`, `xfce4`),
|
||||||
|
however they are not necessarily needed for a simple installation.
|
||||||
|
|
||||||
|
# Server
|
||||||
|
- **Name**: desktop
|
||||||
|
- **Signed with**: `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D`
|
||||||
|
- **Maintainer**: ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D)
|
||||||
|
|
||||||
|
Contains software packages for your server needs (for example `apache`, `nginx`),
|
||||||
|
similar to the `desktop` pool, you do not necessarily need these for a simple installation.
|
||||||
|
|
||||||
# Structure
|
# Structure
|
||||||
A pool contains:
|
A pool contains:
|
||||||
|
|
||||||
@ -97,39 +126,38 @@ These pools can provide packages for users, these packages can be managed using
|
|||||||
|
|
||||||
### Building an already existing pool
|
### Building an already existing pool
|
||||||
To build an already existing pool, such as the `base` or the `desktop` pool, first you will need to
|
To build an already existing pool, such as the `base` or the `desktop` pool, first you will need to
|
||||||
download the pool's source. Source for the `base` and the `desktop` pool can be found on [MatterLinux Git Server](https://git.matterlinux.xyz/matter).
|
download the pool's source. Source for the `base`, `desktop` and `server` pool can be found on [MatterLinux Git Server](https://git.matterlinux.xyz/matter).
|
||||||
|
|
||||||
After downloading the pool source, you will need to install the `mp-pool` tool, which is the tool
|
After downloading the pool source, you will need to install the `mp-pool` tool, which is the tool
|
||||||
used for building MatterLinux pools. To do so please follow the steps [here](https://git.matterlinux.xyz/Matter/mp-pool#installation).
|
used for building MatterLinux pools. To do so please you can simply install the [`mtsc`](https://git.matterlinux.xyz/matter/mtsc)
|
||||||
|
package from the `base` pool.
|
||||||
|
|
||||||
Finally to build the pool:
|
Finally to build the pool:
|
||||||
```
|
```
|
||||||
$ mp-pool <pool dir>
|
$ mp-pool <pool dir>
|
||||||
```
|
```
|
||||||
|
|
||||||
You will mostly likely want to disable package signing though, as you are probably not the
|
You will mostly likely want to disable package signing though, as you are probably don't have the
|
||||||
owner of the pool:
|
PGP keys for the official pools:
|
||||||
```
|
```
|
||||||
$ mp-pool --no-sign <pool dir>
|
$ mp-pool --no-sign <pool dir>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Hosting pools
|
### Hosting pools
|
||||||
Unlike most of the package managers, `mp` does not use HTTP, FTP or RSYNC to communicate with the pools. It has it's own
|
Unlike most of the package managers, `matt` does not use HTTP, FTP or RSYNC to communicate with the pools. It has it's own
|
||||||
custom protocol named [MPTP](/wiki/mptp). Pools are hosted over this protocol using [pooler](https://git.matterlinux.xyz/matter/pooler).
|
custom protocol named [MPTP](/wiki/libmp). Pools are hosted over this protocol using [pooler](https://git.matterlinux.xyz/matter/pooler).
|
||||||
|
|
||||||
To get host a pool using `pooler`, download and install the `pooler` by following the instructions on the [README](https://git.matterlinux.xyz/matter/pooler). It's also in the official pools so you can install it with `matt` as well.
|
To host a pool using `pooler`, download and install the `pooler` by following the instructions on the [README](https://git.matterlinux.xyz/matter/pooler). It's also in the `server` pool so you can install it with `matt` as well.
|
||||||
|
|
||||||
After installing it, you'll need to create/edit the configuration file (`/etc/pooler/config.ini`).
|
After installing it, you'll need to create/edit the configuration file (`/etc/pooler/config.ini`).
|
||||||
Here is an example configuration file:
|
Here is an example configuration file:
|
||||||
```
|
```
|
||||||
# location for the pooler log file
|
|
||||||
log = /var/log/pooler.log
|
|
||||||
|
|
||||||
# address to host the MPTP server on
|
# address to host the MPTP server on
|
||||||
addr = 0.0.0.0:5858
|
addr = 0.0.0.0:5858
|
||||||
|
|
||||||
# pool name
|
# pool name
|
||||||
[my-pool]
|
[my-pool]
|
||||||
|
|
||||||
# pool directory
|
# pool directory
|
||||||
dir = /srv/my-pool
|
dir = /srv/my-pool
|
||||||
|
|
||||||
@ -141,7 +169,7 @@ After editing this configuration for your needs, you can run pooler with the con
|
|||||||
$ pooler /etc/pooler/config.ini
|
$ pooler /etc/pooler/config.ini
|
||||||
```
|
```
|
||||||
After running this command, pooler should start hosting your pool over MPTP on port 5858. If you experience
|
After running this command, pooler should start hosting your pool over MPTP on port 5858. If you experience
|
||||||
any issues, you should check the log file for any errors.
|
any issues, you should check the error logs.
|
||||||
|
|
||||||
### Creating a new pool
|
### Creating a new pool
|
||||||
If you want to create an unofficial pool, setup the directory structure for the source pool as
|
If you want to create an unofficial pool, setup the directory structure for the source pool as
|
@ -5,10 +5,10 @@ On this page you will learn how you can use MatterLinux configuration manager.
|
|||||||
known as "dotfiles".
|
known as "dotfiles".
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
`confer` can be installed with `matt` (MatterLinux package manager), it's located in the desktop
|
`confer` can be installed with the [package manager](/wiki/matt), it's located in the [`desktop
|
||||||
pool:
|
pool](/wiki/pools):
|
||||||
```
|
```
|
||||||
# matt install --yes mc
|
# matt install --yes confer
|
||||||
```
|
```
|
||||||
In order to run `confer` as a non-root user, you will need to [install and configure `doas` or `sudo`](/wiki/post_install).
|
In order to run `confer` as a non-root user, you will need to [install and configure `doas` or `sudo`](/wiki/post_install).
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ the repository's path
|
|||||||
After adding all the targets, run the `gen` command, specifying the local path to the git repository
|
After adding all the targets, run the `gen` command, specifying the local path to the git repository
|
||||||
that contain the `confer.ini` file:
|
that contain the `confer.ini` file:
|
||||||
```
|
```
|
||||||
$ confer gen /path/to/your/repo
|
$ confer gen /path/to/your/repository
|
||||||
```
|
```
|
||||||
`confer` will copy all the target files/directories from the `dst` to the
|
`confer` will copy all the target files/directories from the `dst` to the
|
||||||
`src`. When you are done, feel free to publish the git repository and share it.
|
`src`. When you are done, feel free to publish the git repository and share it.
|
||||||
@ -79,4 +79,5 @@ After the installation `confer` will install all the requirements using `matt`,
|
|||||||
|
|
||||||
### Config Hub
|
### Config Hub
|
||||||
MatterLinux offers a simple [configuration hub](/hub), that you can use to find official configuration packages.
|
MatterLinux offers a simple [configuration hub](/hub), that you can use to find official configuration packages.
|
||||||
You can also add your own configuration to the config hub, just create a issue or a pull request in the [website content repository](https://git.matterlinux.xyz/Matter/content/issues).
|
You can also add your own configuration to the config hub, just create a issue or a pull request in the
|
||||||
|
[website content git repository](https://git.matterlinux.xyz/Matter/content/issues).
|
@ -3,7 +3,7 @@ On GNU/Linux systems, package management is usually done with a package manager.
|
|||||||
|
|
||||||
# MatterLinux Package Manager
|
# MatterLinux Package Manager
|
||||||
In a Matter system, package management is generally done with the MatterLinux Package Manager (`matt`).
|
In a Matter system, package management is generally done with the MatterLinux Package Manager (`matt`).
|
||||||
`matt` lets you install, remove, update and search different MatterLinux packages across different pools.
|
`matt` lets you install, remove, update and search different MatterLinux packages across different [pools](/wiki/pools).
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
`matt` should be already installed on a MatterLinux system. However if you want to install `matt` from
|
`matt` should be already installed on a MatterLinux system. However if you want to install `matt` from
|
||||||
@ -137,9 +137,7 @@ You can list all the installed packages with the `list` command:
|
|||||||
|
|
||||||
# Other package managers
|
# Other package managers
|
||||||
It's a really bad idea to use multiple package managers as they may conflict and may result in an
|
It's a really bad idea to use multiple package managers as they may conflict and may result in an
|
||||||
unstable system. However package managers such as flatpak and snap offer containerized packages,
|
unstable system. However package managers such as `flatpak` and `snap` offer containerized packages,
|
||||||
making them possible to use with other package managers.
|
making them possible to use with other package managers. However currently none of these package
|
||||||
|
managers are available in the official pools. If you want to use them, you will need to install them
|
||||||
- Flatpak will be added to `desktop` pool in the future. Currently the only way to use flatpak is to
|
from the source.
|
||||||
install it from the source.
|
|
||||||
- Snap will never be added to any official pool, so only way to use it is to install it from the source.
|
|
Loading…
Reference in New Issue
Block a user