A very high percentage of developer tools that provide packaged releases (~99%) can be categorized into a finite set of formats that can be installed with a finite set of rules - probably around 6 for unpacking, and 6 for type of contents.
We should be able to create almost all (80%+) installers from a set of rules.
Rules
Typically we're dealing with one of these package styles:
A very high percentage of developer tools that provide packaged releases (~99%) can be categorized into a finite set of formats that can be installed with a finite set of rules - probably around 6 for unpacking, and 6 for type of contents.
We should be able to create almost all (80%+) installers from a set of rules.
Rules
Typically we're dealing with one of these package styles:
Once unpacked, the directory structure almost always falls into one of these hierarchies:
We should always know the exact name of the command that will be installed.
We should be able to determine if there are other files or just the one.
We should be able to tell if the
manpage
file exists or not.Exceptions
If we detect extra loose files outside the opt directory structure, we can "best guess it" flag it for manual review.
bin
dirs)bin
on Windows)Notes
we probably shouldn't attempt this in shell, but...