Skip to content
This repository has been archived by the owner on Apr 16, 2020. It is now read-only.

Add blockers file #21

Merged
merged 2 commits into from
Mar 25, 2019
Merged

Add blockers file #21

merged 2 commits into from
Mar 25, 2019

Conversation

andrew
Copy link
Collaborator

@andrew andrew commented Mar 15, 2019

Starting to document the known issues blocking rolling out support for different categories of package manager.

Rendered preview over here: https://github.com/protocol/package-managers/blob/blockers/blockers.md

@ghost ghost assigned andrew Mar 15, 2019
@ghost ghost added the Status: In progress label Mar 15, 2019

### No easy way to directly add a directory to MFS with go-ipfs

Adding a directory of files to MFS means calling out to `ipfs files write` for every file, ideally there should be one command to write a directory of files to MFS.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically you can do

ipfs files cp /ipfs/$(ipfs add -rq dir) /some/mfs/path

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@magik6k good point, handy for the initial adding but I don't believe that doesn't help with some of the other restrictions of adding/updating some content later, although sounds like ipfs/kubo#6036 will help with that

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, updating is tricky, perhaps storing mod times with files would help with that, but it's not supported yet (https://github.com/ipfs/unixfs-v2 is what we need)

Copy link
Contributor

@momack2 momack2 Mar 22, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@djdv re needs for MFS from package managers, @warpfork re needs for unixfsv2

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For posterity, I'll mention that I'm currently working on a variant of go-ipfs that has writable access to the Files(MFS) and Name(IPNS) APIs, through the FUSE API.

While not fully viable today, I would like it to be capable of hosting a living/mutable package repo in the same way a traditional filesystem can (to the specifications our users expect).

Some issues I encountered while writing this have been resolved already, but there's a handful that are not simple fixes. Since this demand is pretty broad, I look forward to bugging collaborating with a bunch of us here to try and harmonize some of the next iterations of these APIs and formats to enable this kind of use case.

@aschmahmann's current work on IPNS will also likely have a bearing on this. I have an implementation to expose IPNS keys as writable files and directories through MFS which may be useful for package managers. It's basically an abstraction on the existing common pattern (modify a root via ipfs files -> stat changes -> name publish)


Adding a directory of files to MFS means calling out to `ipfs files write` for every file, ideally there should be one command to write a directory of files to MFS.

Alternative approach may be to mount MFS as a fuse filesystem (ala https://github.com/tableflip/ipfs-fuse)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is also a new mfs mounting feature brewing in go-ipfs - ipfs/kubo#6036

@achingbrain achingbrain merged commit c431425 into master Mar 25, 2019
@ghost ghost removed the Status: In progress label Mar 25, 2019
@achingbrain achingbrain deleted the blockers branch March 25, 2019 16:42
@andrew andrew removed their assignment Jul 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants