ZSVO - ZOVOS Software Versioning Operator, пакетный менеджер для дистрибутива ZOV OS
Find a file
2026-03-13 07:23:30 +00:00
cmd параша 2026-03-13 10:21:38 +03:00
pkg параша 2026-03-13 10:21:38 +03:00
recipes кал много кала......просто огромное количество кала.... 2026-03-13 00:37:11 +03:00
.gitignore кал много кала......просто огромное количество кала.... 2026-03-13 00:37:11 +03:00
go.mod кал много кала......просто огромное количество кала.... 2026-03-13 00:37:11 +03:00
go.sum кал много кала......просто огромное количество кала.... 2026-03-13 00:37:11 +03:00
LICENSE Initial commit 2026-03-09 16:25:30 +00:00
main.go параша 2026-03-13 10:21:38 +03:00
pkg-manager кал 2026-03-09 22:40:05 +03:00
README.md Обновить README.md 2026-03-13 07:23:30 +00:00
zsvo параша 2026-03-13 10:21:38 +03:00

ZSVO Package Manager

zsvo — source-based package manager.

Pipeline:

recipe -> download source -> extract -> build -> install into DESTDIR -> create package -> install package

Commands

# Build package from recipe
zsvo build recipes/zlib.yaml

# Install package built by zsvo
zsvo install /path/to/name-version.pkg.tar.zst

# Auto-build from Debian source and install
zsvo install neofetch

# Install to custom root
zsvo install --root /mnt/root /path/to/name-version.pkg.tar.zst

# Remove package(s)
zsvo remove bash
zsvo remove -c libfoo   # cascade
zsvo remove -n bash     # dry-run

# List installed / orphan packages
zsvo list
zsvo list --orphans

# Show package metadata
zsvo info bash

Recipe Format (YAML)

name: bash
version: "5.2"

description: GNU Bourne Again SHell

source:
  url: https://ftp.gnu.org/gnu/bash/bash-5.2.tar.gz
  sha256: examplehash

build:
  - ./configure --prefix=/usr
  - make -j$(nproc)

install:
  - make DESTDIR={{pkgdir}} install

deps:
  - glibc
  - readline

Debian upstream source mode:

name: bash
version: "5.2"

source:
  debian_dsc: https://deb.debian.org/debian/pool/main/b/bash/bash_5.2.37-2.dsc
  # optional: sha256 of the .dsc file itself
  # sha256: <dsc-sha256>

Notes:

  • deps are simple package names (no version solver yet).
  • {{pkgdir}} (and ${pkgdir}) points to staging DESTDIR.
  • If source.debian_dsc (or .dsc URL) is used, zsvo downloads only *.orig*.tar.* archives from that source package and ignores Debian patch archives (debian.tar.* / diff.gz).
  • zsvo install <name> auto-resolves Debian source over HTTP from Debian Sources indexes, builds package in --work-dir and installs it.
  • Package metadata is stored in .zsvo.yml (not .PKGINFO).

Architecture

  • pkg/recipe — YAML recipe parser.
  • pkg/fetcher — download + checksum + extract + patch apply.
  • pkg/builder — build/install pipeline in isolated workdir.
  • pkg/packager — create/read name-version.pkg.tar.zst from staging.
  • pkg/installer — install/remove packages into --root with file safety checks and rollback.

короче бляяяя для тестов go build -o zsvo . ./zsvo install fastfetch --work-dir /tmp/zsvo-work --root /tmp/zsvo-root find /tmp/zsvo-work/packages -name '*.pkg.tar.zst' find /tmp/zsvo-root/var/lib/pkgdb -maxdepth 3 -type f