No description
Find a file
2025-01-05 15:32:59 +01:00
include fix some bugs with updating repo cache 2025-01-05 14:38:16 +01:00
src fix some bugs with updating repo cache 2025-01-05 14:38:16 +01:00
.gitignore static linking 2025-01-05 15:29:19 +01:00
build_curl.sh static linking 2025-01-05 15:29:19 +01:00
CMakeLists.txt static linking 2025-01-05 15:29:19 +01:00
LICENSE initial 2025-01-05 14:22:47 +01:00
README.md readme update 2025-01-05 15:32:59 +01:00

YNS Package Manager

Simple package manager for Linux. Uses JSON for package definitions.

Build

Install dependencies:

sudo apt-get install build-essential cmake libssl-dev zlib1g-dev nlohmann-json3-dev

We build our own curl because the system's libcurl is usually only available as a dynamic library. Building our own lets us:

  • Create a static binary that works everywhere
  • Include only the features we need (HTTP support)
  • Avoid dependency problems during static linking

Build steps:

# Get the code
git clone https://github.com/spitkov/ynspkg.git
cd ynspkg

# Build static curl
chmod +x build_curl.sh
./build_curl.sh

# Build yns
mkdir build && cd build
cmake ..
make

Usage

yns update              # Update package cache
yns install <package>   # Install package
yns remove <package>    # Remove package
yns upgrade <package>   # Upgrade package
yns list               # List packages
yns debug              # Show debug info
yns interactive        # Interactive mode

Package Format

{
  "packages": {
    "package-name": {
      "version": "1.0.0",
      "description": "Package description",
      "install_script": "#!/bin/bash\n# Installation commands"
    }
  }
}