commit 87fc5e95590cb5c91e555d06200f914a7b0ea616 Author: Quinten Kock Date: Mon Aug 3 22:11:59 2020 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..ece37d2 --- /dev/null +++ b/Cargo.lock @@ -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" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..860dc68 --- /dev/null +++ b/Cargo.toml @@ -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] diff --git a/README.md b/README.md new file mode 100644 index 0000000..130d68a --- /dev/null +++ b/README.md @@ -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 \ No newline at end of file diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}