Skip to content

NyAncQt/gogentoo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoGentoo (prototype)

GoGentoo is a minimal, source-based package manager prototype written in Go, inspired by Gentoo's Portage but designed to be cross-distro.

Directory layout

  • store: installed package trees (e.g. store/foo-1.0.0)
  • src: unpacked package sources (e.g. src/foo)
  • build: build work directories (e.g. build/foo-1.0.0)
  • db: JSON database (db/packages.json) with installed package metadata

The CLI will create these directories under the current working directory if they do not exist.

Commands

  • fetch: gogentoo fetch <url> <destDir>
    • Downloads a .tar.gz/.tgz archive and unpacks it into src/<destDir> (if destDir is relative).
  • build: gogentoo build <pkgName> <srcDir> [version]
    • Copies <srcDir> into a build directory, runs make, then copies the build output into store/<pkgName>-<version>.
    • Records the package into db/packages.json.

Helper scripts

  • Linux/macOS (Bash): scripts/fetch_and_unpack.sh <url> <destDir>
  • Windows (PowerShell): scripts/fetch_and_unpack.ps1 -Url <url> -DestDir <destDir>

These are optional helpers; the Go CLI can also fetch and unpack .tar.gz archives directly.

Building

From the repository root:

go build ./cmd/gogentoo

On Windows, you can build the same command for Linux using:

set GOOS=linux
set GOARCH=amd64
go build ./cmd/gogentoo

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors