RasppleII / a2server

AppleTalk server for Apple II computers
Other
31 stars 8 forks source link

Case-insensitive netatalk shares #43

Closed knghtbrd closed 8 years ago

knghtbrd commented 8 years ago

The problem

While GS/OS works just fine with mixed case files, ProDOS 8 and the //e does not. If files on AppleTalk are not all in uppercase (or not all accessible in uppercase), it can't handle them.

The solution

Run your netatalk shares on a case-insensitive filesystem. Any time ProDOS 8 tries to access a file, it'll do so in uppercase. And it will succeed because case-insensitive! If you have a case-insensitive filesystem, just let netatalk know and happiness ensues!

Why the solution won't work

Linux is not case-insensitive. There's a case-insensitive version of ext3 and possibly ext4, but who knows how current it is, and then you have to patch in weird 3rd party driver mods to a critical system driver on a production system. This isn't 1998 here!

The potential solution to the problem with the solution

http://www.brain-dump.org/projects/ciopfs/

FUSE driver that makes things look case-insensitive, even though the underlying filesystem actually isn't. I dunno if this is packaged in Jessie, it almost certainly isn't in Wheezy. But if it's not too complex, it might be really worth looking into.

@IvanExpert have you heard of this one before?

IvanExpert commented 8 years ago

I hadn't heard of ciopfs before, but it sounded like a potentially good solution. I tried it out, and in Linux, it performed as hoped, where the mountpoint is the visible front end to another directory that is supposed to remain unaccessed, in which all the mixed case filenames in the front end directory are stored as lowercase. Cool.

UPDATE: it works. Skip a couple comments down.

Unfortunately, when I tried to get Netatalk to share the ciopfs mountpoint, even over plain old AFP-over-TCP to my Mac, it simply didn't show up among the list of available volumes. If I then unmounted the mountpoint, the folder being used for the mountpoint appeared as a shared volume as expected, so I don't think it's a Netatalk configuration issue. I'm assuming that Netatalk just decides that that mountpoint is unsuitable for use as a share for some reason, but I was unable to find any output or log files to offer any clues (doesn't mean they're not around, somewhere, though). For reference, I added user1 (or "pi" on the Pi) to the "fuse" group, so that I could use ciopfs without needing to be root, and I moved the shares from /media/A2SHARED/A2FILES to /home/user1/A2FILES.

I think it's still worth pursuing trying to get ciopfs to work; Netatalk's got to be not sharing that mountpoint for some reason, so if that were understood maybe it could be modified or coaxed into doing so.

It also might be worth experimenting with mounting an HFS+ or NTFS disk image and using that for a share point. In an early incarnation of A2SERVER I actually was using NTFS and it may have even been working (can't remember), but Steven Hirsch talked me out of it on the grounds that it certainly would hever have been tested with Netatalk and is very different than native Unix filesystems.

Another solution might be modifying Netatalk to, if the options:prodos attribute is set, to somehow crossreference an all-caps version of the filename to the mixed case version on the actual host filesystem. This would be beyond my skill set, but not Steven Hirsch's.

IvanExpert commented 8 years ago

Ok, the problem with ciopfs and netatalk is clear: if you run ciopfs as a user, only that user can change the mountpoint's contents -- not even root can, and that's a problem for netatalk.

The ciopfs page says "Note that ciopfs is primarily designed for single user mode. It was originally developed to mount the wine program folder and provide faster case insensitive file access. If you want to give multiple users write access to the same file system, then you have to mount it as root. However in order to avoid security problems ciopfs will force fuse into single threaded mode and thus hurt performance."

I'm not that worried about performance, but running ciopfs as root doesn't seem to do anything other than block non-root users from accessing the mountpoint. (And I can't get Netatalk to accept a root login, not that it would be a good idea if I could.)

I'll keep poking at it.

IvanExpert commented 8 years ago

Ok, got it. What needs to be done is:

It's also possible to run ciopfs -o allow_other as a user, but according to the ciopfs web page and the source code it sounds like this is unsafe to do due to possible race conditions.

Preliminary tests suggest that it works! Going to try netboot next. If that works, I'd say we're golden, and I'll get this into the 1.3.0 release.

IvanExpert commented 8 years ago

Whoa. Netboot works. We have a functioning case-insensitive file system. Fan-freaking-tastic.

I haven't checked it in yet, but I have added an -lc option to cppo (on which the GS/OS installer for Linux depends) to have it extract in mixed case. However, if we can actually depend on ciopfs, I'm thinking I may make this the default, and provide a flag for uppercase conversion instead.

IvanExpert commented 8 years ago

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER install script.

knghtbrd commented 8 years ago

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755

IvanExpert commented 8 years ago

Yeah, it's super cool! Thanks for pointing me towards that!

The conversion script isn't standalone; it's now part of a2server-3-sharing.txt, and supported by lowercase support changes in a2server-5-sharing.txt and cppo.txt. It even will convert a previously existing all-caps GS/OS installation to mixed case if the file's in a known path for a standard install, which I'm pretty pleased with.

I've unit tested everything against Debian 7.9 and it works great, I now need to actually run the whole a2server-setup a Pi as a user would. If it works, then I'll commit it.

I also think that with this change the GSFILES share (which is a regular, case-sensitive share) is no longer actually necessary or even desirable (except perhaps for *nix users mounting via SMB or something), since neither Mac nor Windows clients use case-sensitive file systems, so I'm not going to set it up for new installs with GSFILES, and I'm going to remove it during the conversion if it is empty.

On Nov 29, 2015, at 11:51 PM, Joseph Carter notifications@github.com wrote:

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755 — Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160515403.

knghtbrd commented 8 years ago

Do you think that now during the conversion process is a good time to move A2SHARED if it's going to move? If so, I'll figure out tonight if it should move and if so where it ought to go tonight.

Joseph Sent via mobile

On Nov 30, 2015, at 05:07, IvanExpert notifications@github.com wrote:

Yeah, it's super cool! Thanks for pointing me towards that!

The conversion script isn't standalone; it's now part of a2server-3-sharing.txt, and supported by lowercase support changes in a2server-5-sharing.txt and cppo.txt. It even will convert a previously existing all-caps GS/OS installation to mixed case if the file's in a known path for a standard install, which I'm pretty pleased with.

I've unit tested everything against Debian 7.9 and it works great, I now need to actually run the whole a2server-setup a Pi as a user would. If it works, then I'll commit it.

I also think that with this change the GSFILES share (which is a regular, case-sensitive share) is no longer actually necessary or even desirable (except perhaps for *nix users mounting via SMB or something), since neither Mac nor Windows clients use case-sensitive file systems, so I'm not going to set it up for new installs with GSFILES, and I'm going to remove it during the conversion if it is empty.

On Nov 29, 2015, at 11:51 PM, Joseph Carter notifications@github.com wrote:

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755 — Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160515403.

— Reply to this email directly or view it on GitHub.

IvanExpert commented 8 years ago

Sure, I thought of that too. What do you think?

On Nov 30, 2015, at 5:05 PM, Joseph Carter notifications@github.com wrote:

Do you think that now during the conversion process is a good time to move A2SHARED if it's going to move? If so, I'll figure out tonight if it should move and if so where it ought to go tonight.

Joseph Sent via mobile

On Nov 30, 2015, at 05:07, IvanExpert notifications@github.com wrote:

Yeah, it's super cool! Thanks for pointing me towards that!

The conversion script isn't standalone; it's now part of a2server-3-sharing.txt, and supported by lowercase support changes in a2server-5-sharing.txt and cppo.txt. It even will convert a previously existing all-caps GS/OS installation to mixed case if the file's in a known path for a standard install, which I'm pretty pleased with.

I've unit tested everything against Debian 7.9 and it works great, I now need to actually run the whole a2server-setup a Pi as a user would. If it works, then I'll commit it.

I also think that with this change the GSFILES share (which is a regular, case-sensitive share) is no longer actually necessary or even desirable (except perhaps for *nix users mounting via SMB or something), since neither Mac nor Windows clients use case-sensitive file systems, so I'm not going to set it up for new installs with GSFILES, and I'm going to remove it during the conversion if it is empty.

On Nov 29, 2015, at 11:51 PM, Joseph Carter notifications@github.com wrote:

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755 — Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160515403.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

knghtbrd commented 8 years ago

I'll pose the question to some Debianites—I'm presently at OHSU doing the monthly cancer patient gauntlet and will probably be here another hour or two. Shouldn't take long to get an answer once I get back, I'm just gonna go ask in freenode #debian-devel. :)

Joseph Sent via mobile

On Nov 30, 2015, at 14:24, IvanExpert notifications@github.com wrote:

Sure, I thought of that too. What do you think?

On Nov 30, 2015, at 5:05 PM, Joseph Carter notifications@github.com wrote:

Do you think that now during the conversion process is a good time to move A2SHARED if it's going to move? If so, I'll figure out tonight if it should move and if so where it ought to go tonight.

Joseph Sent via mobile

On Nov 30, 2015, at 05:07, IvanExpert notifications@github.com wrote:

Yeah, it's super cool! Thanks for pointing me towards that!

The conversion script isn't standalone; it's now part of a2server-3-sharing.txt, and supported by lowercase support changes in a2server-5-sharing.txt and cppo.txt. It even will convert a previously existing all-caps GS/OS installation to mixed case if the file's in a known path for a standard install, which I'm pretty pleased with.

I've unit tested everything against Debian 7.9 and it works great, I now need to actually run the whole a2server-setup a Pi as a user would. If it works, then I'll commit it.

I also think that with this change the GSFILES share (which is a regular, case-sensitive share) is no longer actually necessary or even desirable (except perhaps for *nix users mounting via SMB or something), since neither Mac nor Windows clients use case-sensitive file systems, so I'm not going to set it up for new installs with GSFILES, and I'm going to remove it during the conversion if it is empty.

On Nov 29, 2015, at 11:51 PM, Joseph Carter notifications@github.com wrote:

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755 — Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160515403.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

knghtbrd commented 8 years ago

Okay, I've asked, and pretty much the consensus is that we're in a bit of an FHS gray area and can make it up as we go. The FHS clearly suggests /srv is the right place for this kind of data. But it also says that a distribution shouldn't delete files from /srv without user intervention. Part of that is that there isn't an established standard for organizing stuff in /srv. Debian would put a skeleton of something you could use in /var (as with /var/www) and tell the user to customize things to their liking.

OpenSuSE has started configuring their version of Apache to use /srv/www. If we created A2FILES and friends under /srv/afp that would be consistent with the FHS. Once A2FILES is created though, we shouldn't modify it without user permission. Which is fine because we already don't.

If we write a file in /usr/local/etc containing config variables for A2SERVER (A2SERVER_ROOT for sure, but later to include things like what other stuff was installed), we can one day have tools go back and change what's installed and where at the user's discretion.
Maybe you installed ZLINK but not ProTERM, let's say, and you want to change that... Easily done. Maybe a2serverrc or A2SERVER.conf?

Joseph

On Mon, Nov 30, 2015 at 03:00:03PM -0800, T. Joseph Carter wrote:

I'll pose the question to some Debianites—I'm presently at OHSU doing the monthly cancer patient gauntlet and will probably be here another hour or two. Shouldn't take long to get an answer once I get back, I'm just gonna go ask in freenode #debian-devel. :)

Joseph Sent via mobile

On Nov 30, 2015, at 14:24, IvanExpert notifications@github.com wrote:

Sure, I thought of that too. What do you think?

On Nov 30, 2015, at 5:05 PM, Joseph Carter notifications@github.com wrote:

Do you think that now during the conversion process is a good time to move A2SHARED if it's going to move? If so, I'll figure out tonight if it should move and if so where it ought to go tonight.

Joseph Sent via mobile

On Nov 30, 2015, at 05:07, IvanExpert notifications@github.com wrote:

Yeah, it's super cool! Thanks for pointing me towards that!

The conversion script isn't standalone; it's now part of a2server-3-sharing.txt, and supported by lowercase support changes in a2server-5-sharing.txt and cppo.txt. It even will convert a previously existing all-caps GS/OS installation to mixed case if the file's in a known path for a standard install, which I'm pretty pleased with.

I've unit tested everything against Debian 7.9 and it works great, I now need to actually run the whole a2server-setup a Pi as a user would. If it works, then I'll commit it.

I also think that with this change the GSFILES share (which is a regular, case-sensitive share) is no longer actually necessary or even desirable (except perhaps for *nix users mounting via SMB or something), since neither Mac nor Windows clients use case-sensitive file systems, so I'm not going to set it up for new installs with GSFILES, and I'm going to remove it during the conversion if it is empty.

On Nov 29, 2015, at 11:51 PM, Joseph Carter notifications@github.com wrote:

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755 — Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160515403.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

IvanExpert commented 8 years ago

Ok, interesting. I say let's just put in in /srv/A2FILES and /srv/GSFILES (even on Wheezy) and call it a day. (Or do you think those should remain under /srv/A2SHARED?)

I agree a2serverrc and/or a2server.conf could potentially offer flexibility in the future, though it's not something for this release. Part of the challenge with a package like A2SERVER is remembering that the target audience is by and large not people familiar with nix, so therefore, creating maximum flexibility for nix users is not something I'm focused on -- I'm just trying to make it usable. With that said, if you want to build out that kind of abstraction and configurability, I'm not opposed, so long it remains plug and go for those who just want to use it without learning Linux.

Ivan.

On Nov 30, 2015, at 10:12 PM, Joseph Carter notifications@github.com wrote:

Okay, I've asked, and pretty much the consensus is that we're in a bit of an FHS gray area and can make it up as we go. The FHS clearly suggests /srv is the right place for this kind of data. But it also says that a distribution shouldn't delete files from /srv without user intervention. Part of that is that there isn't an established standard for organizing stuff in /srv. Debian would put a skeleton of something you could use in /var (as with /var/www) and tell the user to customize things to their liking.

OpenSuSE has started configuring their version of Apache to use /srv/www. If we created A2FILES and friends under /srv/afp that would be consistent with the FHS. Once A2FILES is created though, we shouldn't modify it without user permission. Which is fine because we already don't.

If we write a file in /usr/local/etc containing config variables for A2SERVER (A2SERVER_ROOT for sure, but later to include things like what other stuff was installed), we can one day have tools go back and change what's installed and where at the user's discretion. Maybe you installed ZLINK but not ProTERM, let's say, and you want to change that... Easily done. Maybe a2serverrc or A2SERVER.conf?

Joseph

On Mon, Nov 30, 2015 at 03:00:03PM -0800, T. Joseph Carter wrote:

I'll pose the question to some Debianites—I'm presently at OHSU doing the monthly cancer patient gauntlet and will probably be here another hour or two. Shouldn't take long to get an answer once I get back, I'm just gonna go ask in freenode #debian-devel. :)

Joseph Sent via mobile

On Nov 30, 2015, at 14:24, IvanExpert notifications@github.com wrote:

Sure, I thought of that too. What do you think?

On Nov 30, 2015, at 5:05 PM, Joseph Carter notifications@github.com wrote:

Do you think that now during the conversion process is a good time to move A2SHARED if it's going to move? If so, I'll figure out tonight if it should move and if so where it ought to go tonight.

Joseph Sent via mobile

On Nov 30, 2015, at 05:07, IvanExpert notifications@github.com wrote:

Yeah, it's super cool! Thanks for pointing me towards that!

The conversion script isn't standalone; it's now part of a2server-3-sharing.txt, and supported by lowercase support changes in a2server-5-sharing.txt and cppo.txt. It even will convert a previously existing all-caps GS/OS installation to mixed case if the file's in a known path for a standard install, which I'm pretty pleased with.

I've unit tested everything against Debian 7.9 and it works great, I now need to actually run the whole a2server-setup a Pi as a user would. If it works, then I'll commit it.

I also think that with this change the GSFILES share (which is a regular, case-sensitive share) is no longer actually necessary or even desirable (except perhaps for *nix users mounting via SMB or something), since neither Mac nor Windows clients use case-sensitive file systems, so I'm not going to set it up for new installs with GSFILES, and I'm going to remove it during the conversion if it is empty.

On Nov 29, 2015, at 11:51 PM, Joseph Carter notifications@github.com wrote:

Very cool results Ivan! I'm pretty sure that lots of folks are going to appreciate mixed-case filesystems, me included! :D I noted in response to another bug (RasppleII/rasppleii#2) what I've been working on this week, but nothing I'm doing thus far should conflict with what you're doing since it's all Debianish stuff for post-1.3.0.

If you install it with so that it's found in your path (as I did with unar and others) I'll look into packaging it once I have a working package-building pipeline going for wheezy and jessie. That'll let us migrate everything to jessie and still have an easy way to maintain the wheezy version for a few months while people prepare to upgrade.

Joseph

On Sat, Nov 28, 2015 at 10:39:57PM -0800, IvanExpert wrote:

I've developed a script for converting an existing A2FILES (ext4) folder into a cpiofs folder. Basically it just writes the filename into an extended attribute called "user.filename" and then renames the file to all lowercase. This replicates what ciopfs does when referencing files in its backing folder. When done, the script renames the folder to .a2files and creates a new A2FILES folder for use as a mount point target.

I'll work this into the 1.3.0 A2SERVER release.


Reply to this email directly or view it on GitHub: https://github.com/RasppleII/a2server/issues/43#issuecomment-160385755 — Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160515403.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/RasppleII/a2server/issues/43#issuecomment-160836211.

knghtbrd commented 8 years ago

A subdirectory under /srv would be best. The recommendation I got was /srv/afp/A2FILES, but it could be /srv/A2SHARED/A2FILES just as easily. We're kind of out of the realm of either FHS or Debian policy here as neither one specifies what to do with /srv aside from the system shouldn't go removing anything a person installs there without their approval. Okay, we won't/don't. :) Problem solved.

Regarding the config file, I wasn't planning to ask the user where they wanted it because I assume a large part of the target audience doesn't know where it should go. But if our tools consult the config file in future to figure out which of the netatalk shares are for the A2 side of things, it makes our tools more robust. At some future point it could allow a debconf script to ask you where you want those files to live—but it would be a script the average user will never see because it'd be well below the debconf threshold.

Joseph

On Tue, Dec 01, 2015 at 06:46:10AM -0800, IvanExpert wrote:

Ok, interesting. I say let's just put in in /srv/A2FILES and /srv/GSFILES (even on Wheezy) and call it a day. (Or do you think those should remain under /srv/A2SHARED?)

I agree a2serverrc and/or a2server.conf could potentially offer flexibility in the future, though it's not something for this release. Part of the challenge with a package like A2SERVER is remembering that the target audience is by and large not people familiar with nix, so therefore, creating maximum flexibility for nix users is not something I'm focused on -- I'm just trying to make it usable. With that said, if you want to build out that kind of abstraction and configurability, I'm not opposed, so long it remains plug and go for those who just want to use it without learning Linux.

Ivan.

IvanExpert commented 8 years ago

Ok, I'm gonna put them under /srv/A2SERVER (not A2SHARED), so as many shares as needed can go under there, and it's perfectly obvious what they belong to.

knghtbrd commented 8 years ago

Let me know if I can do anything to help you get changes committed.

IvanExpert commented 8 years ago

I mostly just have to clean up my notes and make sure the code is debugged; I expect to commit them over the weekend,

On Dec 3, 2015, at 6:25 PM, Joseph Carter notifications@github.com wrote:

Let me know if I can do anything to help you get changes committed.

— Reply to this email directly or view it on GitHub.

knghtbrd commented 8 years ago

Fixed as of b5496b5.