trynd / wren

Linux boot platform that provides a portable, multi-system, run-in-memory Linux environment.
GNU General Public License v3.0
0 stars 1 forks source link

Move to /opt/wren #8

Closed codewithmichael closed 9 years ago

codewithmichael commented 9 years ago

Addressed by PR #12.

We should move Wren to /opt/wren/ (instead of /etc/wren/).

Wren never should have been in /etc/ in the first place. It only ended up there because, in early development, there were no associated command scripts.

Initially, it was just a set of initramfs scripts that modified the boot process which get copied into the initrd image. Configuration files started getting added in /etc/ when it became unmaintainable and unmanageable to keep everything in a compressed image script set. But then utility scripts started getting added, and they just followed along with where everything was.

Eventually, at least for Ubuntu and any other distributions we choose to support, we may want to create installable packages for common configurations. In that case we could move things into /usr/bin/, /usr/sbin, /usr/lib/, and /etc/ (configs), but for the foreseeable future we'll be distributing in a monolithic way (single directory). Software packaged as such belongs in its own directory in /opt/. Additionally, scripts vs. config should be divided into /opt/wren/bin/ and /opt/wren/etc/ (or the like).

To avoid the /opt/ vs /usr/local/ holy war (and to take advantage of the common $PATH), we could (and probably should) create a utility front-end control script — something like wrenctl — and symlink it to /usr/local/bin/ or /usr/local/sbin (depending on whether it requires root). That way we'll have less concern about renaming/moving/merging utility scripts down the line.

codewithmichael commented 9 years ago

Marking this ready. I successfully tested and committed the change as part of PR #12. Note that the rest of PR #12 is not ready yet.

codewithmichael commented 9 years ago

Removing ready status. The install base has been moved to /opt/wren/, but files have not yet been appropriately divided up into bin, etc, and lib child directories.

codewithmichael commented 9 years ago

Files have now been organized into an appropriate hierarchical structure, both within the source tree and the final installed package directory. Marked as ready.