2.0!!!!!!!!

Shit Package
Manager

крутой пакетный менеджер для linux 🤝

установка
curl -sSL https://zenusus.sbs/dl/installSPM.sh | sudo bash

Преимущества

привет как дела ✅

Blazingly shit

Мега качественный код (клянусь).

Простота

Создавать пакеты и репозитории легче чем где-либо.

Безопасно

Проверяем только хэши, и то криво

Очень круто

Гораздо хайповее других пакетников, да и сами пакеты здесь круче.

Чейнджлог

История изменений

v2.0 Текущая Последняя
  • SPM ПЕРЕПИСАН НА GO!!!!
  • Проверка хэшей sha256sum
v1.8 Ранее
  • Исправление работы от рута
  • Изменения в командах
  • No-confirm
  • Поиск
  • Прогресс загрузки
v1.7 Ранее
  • не помню

Документация

Инфа о создании пакетов и т.д

Тип 1: Бинарная установка install_type: 1

Если лень прописывать билд, закинь сам бинарник и .desktop, они автоматически будут перемещены.

Структура архива (Тип 1)
package.zip
package Бинарник → /usr/bin/
package.desktop → /usr/share/applications/
бинарник ставится в /usr/bin/{package_name}. Если файл уже существует, то он будет заменен, а старый сбекаплен

Тип 2: Из исходников install_type: 2

Норм варик, еще можно прописать дополнительные действия помимо сборки.

Структура архива (Тип 2)
package.zip
install.sh обязательно
remove.sh рекомендуется
reqs.json зависимости/span>
add-repos.json репозитроии для зависимостей
sources/ папка с исходниками
main.py
app.desktop

Пример install.sh:

bash
#!/bin/bash
echo "Устанавливаю..."
cd sources

# Проверка питона
if ! command -v python3 > /dev/null; then
    echo "Ошибка: Python3 не установлен!"
    exit 1
fi

# Установка pip и PyInstaller
if ! command -v pip3 > /dev/null; then
    curl -sS https://bootstrap.pypa.io/get-pip.py | python3
fi
if ! pip3 list | grep -q pyinstaller; then
    pip3 install pyinstaller
fi

echo "Собираю приложение..."
pyinstaller --onefile main.py --name app

# Системная инсталляция
sudo cp dist/app /usr/bin/
sudo chmod +x /usr/bin/app
sudo cp app.desktop /usr/share/applications/

echo "Готово, команда для запуска: app"
Запуск скрипта install.sh просходит из директории, где лежит скрипт. Обработка зависимостей (reqs.json, add-repos.json) происходит до запуска install.sh.

.desktop файлы

Для отображения в меню. Лежат в /usr/share/applications/.

ini
[Desktop Entry]
Name=My Application
Comment=Описание приложения
Exec=my-app
Icon=my-app
Terminal=false
Type=Application
Categories=Utility;Development;

Зависимости

Если нужно поставить зависимости

Файлы зависимостей
reqs.json Список пакетов для установки
add-repos.json Если пакеты лежат в других репозиториях

reqs.json:

json
{
  "dependencies": ["eblan-browser", "allah", "aurna"]
}

add-repos.json:

json
{
  "repos": [
    "https://example.org/repo.json",
    "https://raw.githubusercontent.com/fishcheese/spm-repo/refs/heads/main/repo.json/repo.json"
  ]
}

Создание репозитория

Два файла рядом у тебя на сервере.

Структура
https://example.com/spm/
repo.json инфа о репозитории
programs.json список пакетов

repo.json:

json
{
  "name": "halol-repo",
  "description": "описание",
  "maintainer": "автор",
  "version": "1.0"
}

programs.json:

json
{
  "programs": [
    {
      "name": "hui",
      "description": "Текстовый редактор",
      "version": "1.0",
      "install_type": 1,
      "archive_url": "https://example.com/hui.zip"
      "sha256sum": "b10cdb67d8efd9276a415fe1ae4ed46ecf3ac4468ad37a7e4cf4ca2fa244401f"
    },
    {
      "name": "eblan-office",
      "description": "Офисный пакет eblan",
      "version": "2.1",
      "install_type": 2,
      "archive_url": "https://example.com/eblan-office-src.zip"
      "sha256sum": "a5818275eb82b9cc4d095972fc6d817123e3c936abb95c2a9805343485dd4510"
    }
  ]
}

Добавление: spm add https://example.com/spm/repo.json

Получение sha256sum файла: сгенерируйте командой sha256sum package.zip

remove.sh — инструкции для правильного удаления пакета

Добавь remove.sh в корне архива для корректной процедуры удаления. Без него пакет будет удален очень криво, а скорее всего вообще не удалён.

bash
#!/bin/bash
echo "Удаляю hui..."
sudo rm -f /usr/bin/hui
sudo rm -f /usr/share/applications/hui.desktop
sudo rm -rf $HOME/.config/hui
echo "Готово!"
Каталог

Репозитории

Неоффициальные репозитории. Хочешь добавить свой — пиши на почту.

Сообщество

eblan

Репозиторий программ eblan soft

eblan soft
spm add https://twgood.serv00.net/spm/repo.json
Сообщество

huker667 repo

сука узбек репо ага✅☝️

huker667
spm add https://raw.githubusercontent.com/superisuer/spm-repository/refs/heads/main/repo.json
Сообщество

msh356 repo

репозиторий с софтом от msh356, в частности ZSoftware

msh356
spm add http://msh356.ru/spm/
Сообщество

fishcheese repo

крутой репозиторий с крутыми программами (например eblan office✅✅✅)

fishcheese
spm add https://codeberg.org/ribasyr/spm-repo/raw/branch/main/repo.json