Skip to content

Package Management Policy

  • glaucus uses the filesystem tree as its database to store package metadata and recipes

Cerata

Repository Layout

  • /var/cache/rad/bin (downloaded binary packages, signed)

  • /var/cache/rad/local (locally built binary packages from src, the final DESTDIR for package() of system cerata, contains sac (DESTDIR) + tarball + sum)

  • /var/cache/rad/src (source tarballs, must not be changed, remove write permissions, equals SRCD)

  • /var/lib/rad/clusters/cerata (official cluster location, equals CERD)

  • /var/lib/rad/clusters/custom (user-defined cluster location)

  • /var/lib/rad/local (used to track installed packages using another form of metadata, with checksums and files)

  • /var/log/rad (where log files are stored, equals LOGD)

  • /var/tmp/rad (where src and bld for system are, no cross and toolchain exist inside glaucus)

Terminal window
# glaucus repo layout
# Source packages (git repos only):
cerata/$cluster/$nom/{ceras, build.native}
# Binary packages
cerata/$cluster/$nom/{$nom-$ver.tar.zst, sum}

Local

  • check for additional files that need removing (vcheck already does that):
    • .a (static libraries)
    • .alias
    • .bs (perl files)
    • .la (libtool archives)
    • .packlist (perl files) (alpine removes them)
    • .pod (perl files) (void removes them)
    • .py (python files)
    • .pyc (python files) (ewe removes them)
    • .pyo (python files) (ewe removes them)
    • alias
    • charset
    • extralibs.ld (perl files)
    • locale
    • systemd
    • test (ewe removes them)

Out of Tree Builds

Toolchain:

  • binutils
  • gcc

Cross:

  • binutils
  • dash (no patches applied so no need to copy src)
  • e2fsprogs
  • gcc
  • iputils
  • less
  • lksh
  • mksh
  • musl-utils (has no package source though, as its files are in CERD)
  • which

Resources