Aims to implement pkgfs over libalpm (pacman)
go run *.go path-to-mountpoint
I forgot whether go gets dependencies too and all that, so in case it doesn't:
go get bazil.org/fuse
go get bazil.org/fuse/fs
main.go
is the entry point. It's just in charge of parsing arguments and wiring our filesystem to FUSE.
Each of the subdirectories has its own README for your pleasure, but a concise description:
- In the
src
directory you'll find the filesystem itself, with all its directories and galore. - libalpm (Arch Linux Package Manager library) is what pacman serves as a frontend of. The
alpm
directory is my wrapping of (some) of its features.
So far, there isn't so much to the code. I expect this will change as the project ages.
- Mountpoint acts as
/pkg
, featuring bothindex/
andinstalled/
! - Each package has a description, version and size files.
- Packages have a
deps
folder with symlinks to their dependencies. - Install packages via
/pkg/index/name/install
- And uninstall via
/pkg/installed/name/uninstall
- Sync to remote with
/pkg/sync
- Installed packages have a
files/
directory, which contains the tree of files the package installed on the filesystem.