Skip to content

Commit

Permalink
New backend: IsoFS.
Browse files Browse the repository at this point in the history
  • Loading branch information
John Vilk committed Nov 20, 2016
1 parent 40f33f8 commit eb0155e
Show file tree
Hide file tree
Showing 9 changed files with 1,324 additions and 1 deletion.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ BrowserFS is highly extensible, and ships with many filesystem backends:
* `ZipFS`: Read-only zip file-backed FS. Lazily decompresses files as you access them.
* Supports DEFLATE out-of-the-box.
* Have super old zip files? [The `browserfs-zipfs-extras` package](https://github.com/jvilk/browserfs-zipfs-extras) adds support for EXPLODE, UNREDUCE, and UNSHRINK.
* `IsoFS`: Mount an .iso file into the file system.
* Supports Microsoft Joliet and Rock Ridge extensions to the ISO9660 standard.
* `WorkerFS`: Lets you mount the BrowserFS file system configured in the main thread in a WebWorker, or the other way around!
* `MountableFileSystem`: Lets you mount multiple file systems into a single directory hierarchy, as in *nix-based OSes.
* `OverlayFS`: Mount a read-only file system as read-write by overlaying a writable file system on top of it. Like Docker's overlayfs, it will only write changed files to the writable file system.
Expand Down
24 changes: 24 additions & 0 deletions scripts/make_iso_fixtures.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh
# Creates ISO files for testing the ISOFS.
# Not auto-generated during the testing process to avoid a hard
# dependency on ISO-building tools.

# package.json is included in both so the proper directory structure
# is generated.

# NOTE: -graft-points doesn't work on newer versions of Mac OSX.
# So we have a gigantic exclusion list.

# Usage: make_iso flags filename
make_iso () {
mkisofs $1 -o $2 -m 'node_modules' -m '.git' -m '.tscache' -m '.vscode' -m 'build' -m 'dist' -m 'scripts' -m 'src' -m 'tests' -m 'harness' -m '*.pem' -m '*.json' -m '*.zip' -m '*.iso' .
}

# -J: Joliet
# -D: Ignore 7 directory limit.
make_iso -JD test/fixtures/isofs/test_joliet.iso


# -hide-rr-moved:
# -R: Enable Rock Ridge
make_iso "-R -hide-rr-moved" test/fixtures/isofs/test_rock_ridge.iso
Loading

0 comments on commit eb0155e

Please sign in to comment.