From c475fd99166cbebf967c839a5a6057f6a3a546d7 Mon Sep 17 00:00:00 2001 From: ngn Date: Wed, 21 Feb 2024 23:36:29 +0300 Subject: [PATCH] Updating the wiki and adding the new post --- index.md | 6 +++-- news/stable.json | 6 +++++ news/stable.md | 42 +++++++++++++++++++++++++++++++ wiki/other/contribute.md | 54 +++++++++++++++++++++++++++++++++++----- wiki/pkg/mirrors.md | 14 ++++++----- wiki/pkg/pkg_man.md | 6 ++--- wiki/pkg/repo.md | 15 +++++------ 7 files changed, 117 insertions(+), 26 deletions(-) create mode 100644 news/stable.json create mode 100644 news/stable.md diff --git a/index.md b/index.md index 323b6b1..a73e325 100644 --- a/index.md +++ b/index.md @@ -19,8 +19,10 @@ follow the development of the project:
  • >>> Wiki/documentation
  • >>> First release
  • >>> Expanding desktop repo (100 packages)
  • -
  • >>> Expanding desktop repo (300 packages)
  • -
  • >>> Expanding the wiki
  • +
  • >>> Expanding desktop repo (300 packages)
  • +
  • >>> Expanding the wiki
  • +
  • >>> Expanding desktop repo (500 packages)
  • +
  • >>> TUI/GUI installer
  • ## Contributing diff --git a/news/stable.json b/news/stable.json new file mode 100644 index 0000000..0fa8f52 --- /dev/null +++ b/news/stable.json @@ -0,0 +1,6 @@ +{ + "id": "stable", + "title": "Moving towards a more stable experience", + "date": "21/02/24", + "author": "ngn" +} diff --git a/news/stable.md b/news/stable.md new file mode 100644 index 0000000..23b67f4 --- /dev/null +++ b/news/stable.md @@ -0,0 +1,42 @@ +24.01 have just been released. There are bunch of new stuff to go over this time, so let's get +started! + +## A more stable experience +One of the goals of this distro was to offer a stable experience, however lately I have been using the official +repos as a testing ground. There were bunch of broken packages being shipped, so to prevent this, I have came up +with a new repo structure. + +All the "stable" packages will now be shipped in the release specific repo. For MatterLinux 24, this repo is +`https://24.matterlinux.xyz`. All the unstable development packages will be shipped in `https://next.matterlinux.xyz`. + +Unstable development packages will be moved to the stable repo when they are ready. + +For now the old URL (`pkgs.matterlinux.xyz`) points to the `24.matterlinux.xyz` to prevent breaking old systems. +If you are still using `pkgs.matterlinux.xyz` in the `mp` configuration (`/etc/mp/cfg`), then move over to `24.matterlinux.xyz` +as soon as possible. + +## Better standards for development +I have updated the [contribution wiki page](/wiki/contribute), adding better standards that every developer should follow +for a better development experience. I have also added a new wiki page for [reporting bugs](/wiki/bugs) and I have added +issue templates to the git repositories. + +## THE HOLY BAR +With the new 24.17 and 24.18 release of MatterLinux Pacakge Manager (`mp`), I have added a bar for operations such as +downloading files, extracting files, deleting files etc. I have also added initial support for internalization and fixed +some little bugs. + +## LOTS of new packages! +`desktop` repo has now more than 300 packages, these new packages include Emacs, Lightdm, XFCE4, Network Manager and more! +And there are even more packages on the way, see the [`TODO.md`](https://git.matterlinux.xyz/Matter/desktop/src/branch/main/TODO.md) +for the `desktop` repository to check whats on the way. + +## New tool: `xcfg` +I wrote a little script that is similar to the `xwmconfig` from Slackware. `xcfg` lets you install different available desktop +environments and window managers. It also adds needed `.xinitrc` configuration for the desktop of your choice. You can install +`xcfg` from the `desktop` repo. + +## What's next? +There will be bunch of new packages, that's for sure, but a part from that, I think I may start working on a GUI or TUI +based installer. Or I may configure an installer such as [Calamares](https://calamares.io/). Not really sure on that. + +Anyway, I think that will be all for now, see you in the next post! diff --git a/wiki/other/contribute.md b/wiki/other/contribute.md index 833ffee..237b822 100644 --- a/wiki/other/contribute.md +++ b/wiki/other/contribute.md @@ -10,9 +10,11 @@ page of Gitea is disabled. So in order to register an account, send a email to t for your account (second one will be used for registration if the first one is unavailable). Then wait for a reply containing further instructions. -**Important:** Do not use the Gitea instance for hosting your own projects/repositories, personal -repositories (A.K.A. repositories not forked for PRs) will be deleted. If you insist on creating -personal repositories your account will be deleted. +> **Important** +> +> Do not use the Gitea instance for hosting your own projects/repositories, personal +> repositories (A.K.A. repositories not forked for PRs) will be deleted. If you insist on creating +> personal repositories your account will be deleted. ## Issues To report a bug, to ask questions or to request a feature, first find the related repository. @@ -23,6 +25,11 @@ detailed description for the issue. Finally create the issue and patiently wait If you want to make changes and merge them to the project, first fork the related repository. Then clone the forked repository and make the changes you want. +> **Important** +> +> Do not make multiple changes in one commit, for example adding a feature and fixing a bug +> in the same commit is a bad idea. Separate different changes to different commits + **Make sure to use correct indenting!**. MatterLinux projects uses **2 spaces** for indenting. Configure your editor so it uses the same indenting. Here is an example configuration for the `vim` editor: @@ -34,9 +41,44 @@ set shiftwidth=2 set smarttab ``` -After making the changes, commit them with a descriptive message. Do not use long commit messages, -instead add a description to your commit. **Make sure the email you are using for signing the -commit matches with your Gitea account email.** +And here is a more extended configuration for general usage: +``` +set tabstop=2 +set softtabstop=0 +set expandtab +set shiftwidth=2 +set smarttab + +set fileencoding="utf-8" +set hlsearch +set ignorecase +set mouse=a +set smartcase +set smartindent +set noswapfile +set pumheight=10 +set undofile +set scrolloff=8 +set sidescrolloff=8 +set number +set relativenumber +set backspace=indent,eol,start + +if !isdirectory("/tmp/undos") + call mkdir("/tmp/undos", "", 0700) +endif +set undodir=/tmp/undos +set undofile + +syntax on +``` + +After making the changes, commit them using the following format: +``` +: +``` +Do not use long commit messages, instead add a description to your commit if needed. **Make sure the email you are +using for signing the commit matches with your Gitea account email.** After pushing your changes create a pull request (PR) to the original project. Write a detailed description for the PR, explain the changes you have made, explain why you made diff --git a/wiki/pkg/mirrors.md b/wiki/pkg/mirrors.md index fa947cb..a5625a5 100644 --- a/wiki/pkg/mirrors.md +++ b/wiki/pkg/mirrors.md @@ -11,10 +11,10 @@ package in the desktop repo. After installing `matter-mirror`, specify an URI and an output directory (files will be downloaded into the output directory). For example to mirror the `base` repo from -`https://pkgs.matterlinux.xyz/base` to `base_mirror` directory: +`https://24.matterlinux.xyz/base` to `base_mirror` directory: ``` $ mkdir base_mirror -$ matter-mirror -u https://pkgs.matterlinux.xyz/base -o base_mirror +$ matter-mirror -u https://24.matterlinux.xyz/base -o base_mirror ``` To serve the mirror, you can setup a web server such as `nginx`, or you can setup a FTP @@ -39,10 +39,12 @@ that you can use. To add your mirror to this list get in contact with the mainta > from the list. ### Official repos -| Repo | URI | Location | -| ------- | -------------------------------------- | ----------- | -| base | `https://pkgs.matterlinux.xyz/base` | 🇹🇷 Turkey | -| desktop | `https://pkgs.matterlinux.xyz/desktop` | 🇹🇷 Turkey | +| Repo | Release | URI | Location | +| ------- | ------- | -------------------------------------- | ----------- | +| base | 24 | `https://24.matterlinux.xyz/base` | 🇹🇷 Turkey | +| desktop | 24 | `https://24.matterlinux.xyz/desktop` | 🇹🇷 Turkey | +| base | none | `https://next.matterlinux.xyz/base` | 🇹🇷 Turkey | +| desktop | none | `https://next.matterlinux.xyz/desktop` | 🇹🇷 Turkey | ### Mirrors Currently there are no available mirrors. diff --git a/wiki/pkg/pkg_man.md b/wiki/pkg/pkg_man.md index bcb98bb..fc1bc03 100644 --- a/wiki/pkg/pkg_man.md +++ b/wiki/pkg/pkg_man.md @@ -18,16 +18,16 @@ from the README. Configuration file for `mp` can be found at `/etc/mp/cfg`. This file is used specify repos and configure general settings. -Here is the configuration shipped with the releases: +Here is the configuration shipped with the MatterLinux 24 releases: ``` [general] tmpdir = /tmp/mp [base] -uri = https://pkgs.matterlinux.xyz/base +uri = https://24.matterlinux.xyz/base [desktop] -uri = https://pkgs.matterlinux.xyz/desktop +uri = https://24.matterlinux.xyz/desktop ``` Lets start by breaking down the `[general]` section: diff --git a/wiki/pkg/repo.md b/wiki/pkg/repo.md index ec1abaa..65add51 100644 --- a/wiki/pkg/repo.md +++ b/wiki/pkg/repo.md @@ -18,20 +18,20 @@ Repo metadata contains information about the repo itself. Such as the repo name, author and the public key used to sign the packages. This metadata can be found in the `repo` file at the root of the repo. For example -the repo metadata for `https://pkgs.matterlinux.xyz/base` is located at -`https://pkgs.matterlinux.xyz/base/repo`. `INI` format is used for this metadata file. +the repo metadata for `https://24.matterlinux.xyz/base` is located at +`https://24.matterlinux.xyz/base/repo`. `INI` format is used for this metadata file. ### Package List A list containing all packages and all the package metadata can be found in an archive file named after the repo. For example the package list for -`https://pkgs.matterlinux.xyz/base` is located at `https://pkgs.matterlinux.xyz/base/base.tar.gz`. +`https://24.matterlinux.xyz/base` is located at `https://24.matterlinux.xyz/base/base.tar.gz`. This archive file contains a file named `pkgs`, which contains repo package list in the `INI` format. It contains the package names, descriptions, versions, sums and dependencies. ### Repo Source Source for a repo has a simple structure that also contains all the source files for the packages. -For example lets take a look the structure of the [`base`](https://pkgs.matterlinux.xyz/base) +For example lets take a look the structure of the [`base`](https://24.matterlinux.xyz/base) repo source: ``` ├── dist @@ -76,12 +76,9 @@ small script that is used to sign all the packages in the `dist` directory if th without the signatures. # Usage -MatterLinux provides 2 different official repos: +MatterLinux releases offer 2 different repos, `base` and `desktop`. There are also development/testing +`base` and `desktop` repos ("next repos"). URLs for these repos and the mirrors can be found at the [mirrors page](/wiki/mirrors). -- [`base`](https://pkgs.matterlinux.xyz/base): Contains base system packages such as `glibc`, `systemd`, -`linux` etc. -- [`desktop`](https://pkgs.matterlinux.xyz/desktop): Additional packages users may want to install -for a more ideal desktop system. This repos can provide packages for users, these packages can be managed using the [MatterLinux Package Manager (`mp`)](https://git.matterlinux.xyz/matter/mp). For more information see the page for [package management](/wiki/package_man).