-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Ok, need your help here, read the whole thing:
I'm in the process of reorganizing the A2SERVER files folder (which is mostly binaries) to have more consistent names, e.g. "foo-rpi.tgz" for Raspberry Pi, "foo-debian_x86.tgz" for Debian x86, "foo-debian_x64.tgz" for Debian x64, and "foo-debian7_x86.tgz" for something specific to Debian 7 (e.g. due to some dependency on an older package not supplied in Debian 8).
Since these binaries are as important a part of the install process as the scripts, I want to add them to the repo, excluding the enormous OS distribution files, which will get a separate folder (e.g. "rasppleii/dist"). And then I want these binaries to be supported by the A2SERVER_SCRIPT_URL export. So far, so good, I can do all that.
Here's a problem I don't know quite how to resolve: Several files, e.g. unar-rpi.tgz, nulib2-rpi.tgz, and raspbian-update.txt, are shared by A2SERVER and A2CLOUD. I don't want to potentially have redundant and potentially inconsistent versions in the A2SERVER and A2CLOUD hierarchies. In the bad old pre-Github days, I logged into the web host's shell and simply made symlinks to a single file as a way to avoid this.
However, that isn't gonna fly now. My inclination is to put common files in rasppleii/common/files and then change any links in the scripts to use that. I've already started to do this. However, this poses two problems:
- As the A2SERVER_SCRIPT_URL shell variable is currently implemented, it would require ugly reach-backwards URL's like
wget -qO /tmp/somefile.tgz ${A2SERVER_SCRIPT_URL}../rasppleii/common/files/somefile.tgz
- A developer can't clone just the rasppleii/a2server project -- they also have to get rasppleii/rasppleii
The first would seem to be addressable by a more generalized A2SERVER_SCRIPT_URL, e.g. RASPPLEII_SCRIPT_URL, and then the A2SERVER URLs would all need to specify "a2server/", e.g. ${RASPPLEII_SCRIPT_URL}a2server/etc/etc.txt
The second is would seem to be addressable by indicating rasppleii/rasppleii as a dependency which can be requested during the git clone, though I don't know how to do that; or just clear instructions that the developer needs both.
Or, maybe there's another way to maintain consistent binaries in separate hierarchies in Git; if so, I don't know how to do that either.
TL;dr: What do you propose we do to make the 'files' subdirectory part of the repo but also keep things consistent for common files?
(Of course, this also confuses issues somewhat because Raspple II is being used generically as the parent of A2SERVER and A2CLOUD, even for non-Raspberry Pi setups, but that's, I think, just how things are gonna be, e.g. the name of this whole repo.)