Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/myitcv/var-sym-fs
A fuse-based implementation of variant symlinks (WIP)
https://github.com/myitcv/var-sym-fs
Last synced: 15 days ago
JSON representation
A fuse-based implementation of variant symlinks (WIP)
- Host: GitHub
- URL: https://github.com/myitcv/var-sym-fs
- Owner: myitcv
- License: other
- Created: 2014-03-18T10:36:30.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-03-18T18:39:33.000Z (almost 11 years ago)
- Last Synced: 2024-11-07T11:09:30.419Z (2 months ago)
- Language: Go
- Size: 137 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ** IMPORTANT **
This code is unmaintained and more significantly, does not work. It is here for historical purposes only.
## var-sym-fs
A very basic and rough implementation of [variant symlinks](https://wiki.freebsd.org/200808DevSummit?action=AttachFile&do=get&target=variant-symlinks-for-freebsd.pdf) using [`go-fuse`](https://github.com/hanwen/go-fuse)
With time this will accept mount requests of the form:
```
var-sym-fs
```So for example:
```
var-sym-fs /home/myitcv/.gos GO_VERSION /home/myitcv/go
```with the command:
```bash
GO_VERSION=go1.2.1 ls /home/myitcv/go
```would list the contents of `/home/myitcv/.gos/go1.2.1`.
Furthermore (and this is potentially the most powerful use case), `PATH`, `GOPATH` etc could be defined to include paths
that are variant symlinks. This would do away with the need for [`gvm`](https://github.com/moovweb/gvm),
[`rbenv`](https://github.com/sstephenson/rbenv) and other such version managers. Indeed it would also do away with the
need for many package managers (slight caveat here because there are some important use cases `var-sym-fs` would not
handle that `gvm pkgset` does, for example local `pkgset`'s)# Status
Work in progress. Currently blocked on two *critical* items:
* Cannot `execve` a file on the mount. Blocked on [an answer from the LKML](https://lkml.org/lkml/2014/3/17/492)
* A slight change to [`github.com/hanwen/go-fuse`](https://github.com/hanwen/go-fuse/pull/21)# License
See the top-level `LICENSE` file