Initial commit

This commit is contained in:
Quinten Kock 2020-08-03 22:11:59 +02:00
commit 87fc5e9559
5 changed files with 27 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/target

5
Cargo.lock generated Normal file
View File

@ -0,0 +1,5 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "pacfs"
version = "0.1.0"

9
Cargo.toml Normal file
View File

@ -0,0 +1,9 @@
[package]
name = "pacfs"
version = "0.1.0"
authors = ["quinten"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

9
README.md Normal file
View File

@ -0,0 +1,9 @@
# PacFS
PacFS is a package management experiment. It tries to be compatible with Arch Linux's `pacman` (or at least, its packages) but is different in the way that it does not extract packages onto the filesystem; rather it exposes its own file system (probably via FUSE) that 'hosts' all packages. Then, you can use something like `overlayfs` to actually turn it into a usable system. Such a setup would be very easy to backup (only the overlay and package list need to be backed up, as the PacFS filesystem can be recreated from the Arch Linux packages or its archives), as well as use with network drives or virtual machines in a very space-efficient manner.
## Implementation to-do's
- Host multiple archives as a FUSE filesystem
- Live update the archives
- Parse pacman .pkg.tar files
- Parse pacman repo files

3
src/main.rs Normal file
View File

@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}