Make Sedot installable as a system utility
Isn't it beautiful if we can apt-get install sedot? :-)
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Some works need to be done before it can happen.
- Make sure all directories under sedot directory are addressed using SEDOT_BASE (also known as BASE) prefix.
- Core and additional components are need to be defined. This will determine the packet dependencies.
- Add default hostname.
- etc
Sedot packet has to follow target distribution standard. For example: all configuration files are placed under /etc/, logs are under /var/log/, etc.
To make this takes less effort, we can use symlink to help dealing with directories at different places. Example structure:
- Sedot directory (SEDOT_BASE) is at /usr/share/sedot
- The pkgs directory is at /etc/sedot/pkgs
- A symlink is created /usr/share/
- Therefore, the Sedot script doesn't need to be changed since it will find pkgs directory under SEDOT_BASE, which will be a symlink.
- This also applies to the log and report directories
We also have to think about hostname. Sedot is designed to be able to be run on multiple machines with the same (shared) code. That is why you will find node/[hostname] and hostname -f things. This is actually a problem when you only use Sedot on one machine but the hostname is changing frequently (think DHCP!) or if you forget to change the directory when you change the machine's hostname. Should we keep this?
One possible solution for that is by following Drupal's approach. There is a default directory called "default" that will be looked at when the specific configuration directory for hostname that is being used is not found. I think we have to make a function that will return a host specific configuration directory. If directory that matches with the hostname is found, then that directory is returned. Otherwise, the default directory is returned.
Actually there is another thing that is "host dependant". The configuration file is also determined by the hostname. Check lib/init.sh to see the code that is being discussed here. If a file called etc/conf.